Стоит задача:
- есть достаточно много виртуальных машин с windows 10 на proxmox
- из-за того, что их много, а ресурсов сервера мало - они запускаются по требованию пользователя и затем уходят в suspend через некоторое время- т.е. постоянно не работают
- нужно на каждой из них запускать скрипт 2 раза в сутки(будет заходить на сайт и скачивать файлы, прочитывать уведомления)
- запуск скрипта на каждой ВМ должен быть со своими логинами-паролями
- с логинами и паролями ошибиться нельзя - тут нужен какой-то железный механизм, чтобы скрипт и автоматом и вручную запускался с верными лог и паролем. Допустить хотя бы одну ошибку - нельзя.
- результаты работы скриптов(успех/неудача/шаг на котором произошла ошибка) нужно куда-то писать, чтобы пользователь раз в день мог смотреть, на каких ВМ выполнилось, на каких нет и принимал ручные действия
Сейчас варианты реализации видится примерно такими:
Вариант 1
есть система-оркестратор, которая 2 раза в день будет стартовать процесс:
- проходится по списку ВМ, если ВМ не запущена или в суспенде - запускает
- подключается по ssh и выполняет скрипт, параметры скрипта хранятся на ВМ
- скрипт сам отдает результаты на http-сервис системы оркестратора
- система оркестратор по завершению шлет пользователю отчет с ошибками
- пользователь принимает меры
Вариант 2:
то же самое, но все управляется через http-сервис системы оркестратора, оттуда же скрипт получает лог/пароль и туда же пишет результат
Пока для создания самого скрипта ознакомился с:
- BrowserAutomationStudio
- selenium
Вопросы:
- Что можно использовать для системы оркестратора? Свой велосипед изобретать не хочется. Желательно, но не принципиально на python(его немного знаю)
- Что посоветуете для создания скриптов, которые будут автоматизировать действия в браузере. Думаю тут количество задач у бизнеса будет расти со временем?
- Видите ли вы какой-то другой оптимальный путь решения задачи запуска нескольких скриптов на большом количестве ВМ?