b608d882656cdee939a6c78f77f835eaea167d5e
Node Agent
Агент для работы на ворк-нодах.
Пока взаимодействовать можно только так (через test.py):
sudo env NODEAGENT_CONFIG_FILE=$PWD/configuration.toml python test.py
Модули
Основной класс тут NodeAgent. Через него осуществляется доступ ко всем методам.
baseтут базовый класс.mainтут объявленNodeAgent.exceptionsтут исключения.configтут понятно.vmтут объявлен классVirtualMachineс базовыми методами для виртуалок. Генерацию XML для дефайна ВМ следует сделать в отдельном модуле.
TODO
Нужно что-то придумать с обработкой ошибок. Сейчас на неожиданности я вызываю исключения, нужно некритичные из них обработать, чтобы приложение не падало при обращении к несуществующему домену или нефатальных ошибок при работе с существующими доменами.
Как это должно выглядеть
node-agent должен быть обычным DEB-пакетом. В пакете само приложение, sysyemd-сервис, конфиг. Бонусом можно доложить консольные утилиты (пока не реализованы): nodeagent-vmctl (чтобы напрямую дергать методы виртуалок), guest-cmd (обёртка над virsh quest-agent-command).
Description
Languages
Python
92.7%
Shell
3.8%
Makefile
2.8%
Dockerfile
0.7%