Files
ironic-python-agent/README.md
2013-09-24 20:44:46 +00:00

1.7 KiB

teeth-agent

Protocol

JSON. Line Delimitated. Bi-directional. Most messages contain:

  • version Message Version - String
  • id Message ID - String

Commands contain:

  • method Method - String
  • params Params - Hash of parameters to Method.

Success Responses contain:

  • id Original Message ID from Command - String
  • result Result from Command - Hash

Error Responses contain:

  • id Original Message ID from Command - String
  • error Result from Command - Hash, .msg contains 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.