1.7 KiB
1.7 KiB
teeth-agent
Protocol
JSON. Line Delimitated. Bi-directional. Most messages contain:
versionMessage Version - StringidMessage ID - String
Commands contain:
methodMethod - StringparamsParams - Hash of parameters to Method.
Success Responses contain:
idOriginal Message ID from Command - StringresultResult from Command - Hash
Error Responses contain:
idOriginal Message ID from Command - StringerrorResult from Command - Hash,.msgcontains human readable error. Other fields might come later.
Fatal Error:
fatal_error- String - Fatal error message; Connection should be closed.
Commands
All Protocol Implementations.
ping: (All) Params are echo'ed back as results.
Agent specific Commands
log: (Agent->Server) Log a structured message from the Agent.status: (Server->Agent) Uptime, version, and other fields reported.
Decommission
decom.disk_erase: (Server->Agent) Erase all attached block devices securely.decom.firmware_secure: (Server->Agent) Update Firmwares/BIOS versions and settings.decom.qc: (Server->Agent) Run quality control checks on chassis model. Includes sending specifications of chassis (cpu types, disks, etc)
Standbye
standbye.cache_images: (Server->Agent) Cache an set of image UUID on local storage. Ordered in priority, chassis may only cache a subset depending on local storage.standbye.prepare_image: (Server->Agent) Prepare a image UUID to be ran.standbye.run_image: (Server->Agent) Run an image UUID. Must include Config Drive Settings. Agent will write config drive, and setup grub. If the Agent can detect a viable kexec target it will kexec into it, otherwise reboot.