Files
autotest/TASKS/SOLdescribe.md
T

79 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Список задач обновлен
# Что получится из 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: с настраиваемыми сценариями, общими результатами и контролем безопасности.