node_agent | ||
.gitignore | ||
configuration.toml | ||
Makefile | ||
pyproject.toml | ||
README.md | ||
test.py |
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).