79 lines
4.5 KiB
Markdown
79 lines
4.5 KiB
Markdown
Список задач обновлен
|
||
|
||
# Что получится из Autotest
|
||
|
||
**Autotest** станет веб-приложением для автоматической проверки операций облачных сервисов Nubes.
|
||
|
||
Сейчас приложение позволяет вручную создавать, изменять и удалять инстансы. Следующий этап — запуск готовых автоматических сценариев, например:
|
||
|
||
```text
|
||
Создать PostgreSQL → изменить параметры → проверить результат → удалить
|
||
```
|
||
|
||
## Как это будет работать
|
||
|
||
1. В конфигурационном YAML-файле задаётся:
|
||
- какие сервисы проверять;
|
||
- какие операции выполнять;
|
||
- в какой последовательности;
|
||
- какие параметры использовать;
|
||
- нужно ли удалять созданный инстанс.
|
||
|
||
2. Пользователь открывает приложение, выбирает сценарий и стенд, нажимает **«Запустить»**.
|
||
|
||
3. Приложение последовательно выполняет операции и показывает:
|
||
- текущий шаг;
|
||
- созданный инстанс;
|
||
- продолжительность;
|
||
- успешный или неуспешный результат;
|
||
- причину ошибки.
|
||
|
||
4. Результаты сохраняются в PostgreSQL и доступны всем тестировщикам в общей истории.
|
||
|
||
## Архитектура
|
||
|
||
```text
|
||
YAML-сценарии в Git
|
||
↓
|
||
Flask-приложение
|
||
↓
|
||
Исполнитель сценариев
|
||
↓
|
||
Nubes API
|
||
↓
|
||
PostgreSQL: запуски, шаги, результаты и ошибки
|
||
```
|
||
|
||
Ручные операции и автоматические сценарии будут использовать один и тот же механизм работы с Nubes API. Благодаря этому автоматический тест будет выполнять операцию так же, как текущий ручной интерфейс и UI облака.
|
||
|
||
Для каждого стенда используется отдельный технический токен. Токен пользователя нужен только для ручных операций.
|
||
|
||
## Первый рабочий релиз
|
||
|
||
В MVP войдут:
|
||
|
||
- YAML-сценарии, хранящиеся и проверяемые через Git;
|
||
- ручной запуск сценария из веб-интерфейса;
|
||
- последовательное выполнение операций;
|
||
- поддержка dev и test;
|
||
- сценарии с временными и постоянными тестовыми инстансами;
|
||
- отображение выполнения по шагам;
|
||
- общая история всех запусков;
|
||
- сохранение результатов и ошибок в PostgreSQL;
|
||
- защита от одновременного запуска нескольких сценариев на одном стенде.
|
||
|
||
Prod на первом этапе будет заблокирован. После проверки на dev и test добавим отдельные правила безопасности для тестовой организации, карантина и разрешённых операций.
|
||
|
||
## Дальнейшее развитие
|
||
|
||
После MVP можно добавить:
|
||
|
||
- запуск по расписанию;
|
||
- уведомления о падениях;
|
||
- регулярные проверки выбранных сервисов;
|
||
- статистику успешности и длительности операций;
|
||
- безопасный запуск на prod;
|
||
- настройку сценариев через веб-интерфейс;
|
||
- impersonation и проверку операций от разных пользователей.
|
||
|
||
**Итог:** это будет не копия UI облака, а централизованный инструмент для регулярной проверки работоспособности операций Nubes: с настраиваемыми сценариями, общими результатами и контролем безопасности. |