python-compute/README.md

28 lines
1.7 KiB
Markdown
Raw Normal View History

2023-06-17 20:07:50 +03:00
# Node Agent
Агент для работы на ворк-нодах.
Пока взаимодействовать можно только так (через [test.py](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).