CVD update
Sep. 12th, 2026 11:57 amРабота над CVD продолжается.
(Я его ещё толком не аносировал - замена молекулы без молекулярных прибабахов, возможно, в будущем, с поддержкой terraform -> ansible inventory и генерации kube.conf). Смотреть пока рано, так что даже ссылку не даю. CVD = create-verify-destroy.
И вот мне пришла в голову фантастическая идея по решению одного большого неудобства.
Проблема:
в нормальном режиме, когда мы создаём инфру, мы хотим подчистить её после тестов. Если что-то пошло не так у оператора, иногда мы хотим оставить инфру для отладки.
Обычно это делается с помощью --keep флага (или --destroy=never) и т.д.
Проблема с флагом состоит в том, что мы хотим сохранить именно эту сессию (вдруг нам не повезло в этот раз и повезёт в следующий? Будет грустно получить красный тест с destroy, а потом зелёный тест с --keep - пол-дня на воспроизведение).
Идея:
SIGUSR1 включает keep режим на ходу. Даже когда бежит ансибл или pytest, можно послать сигнал и оставить сетап живым.
SIGUSR2 аналогично выключает --keep режим на ходу.
Вторая идея: если упали тесты, известный sleep перед destroy, где можно нажать кнопку и отменить.
Третья идея: pre-signed links на которые можно послать "вкл/выкл" просто кликнув на ссылку в выводе CI сервера (не будет хорошо работать, если DNAT).
Четвёртая идея: во время sleep перед destroy, возможный поллинг внешнего ресурса на тему "удалять или нет?" (позвляет что-то сделать на внешней системе и сказать "не удаляй").
(Я его ещё толком не аносировал - замена молекулы без молекулярных прибабахов, возможно, в будущем, с поддержкой terraform -> ansible inventory и генерации kube.conf). Смотреть пока рано, так что даже ссылку не даю. CVD = create-verify-destroy.
И вот мне пришла в голову фантастическая идея по решению одного большого неудобства.
Проблема:
в нормальном режиме, когда мы создаём инфру, мы хотим подчистить её после тестов. Если что-то пошло не так у оператора, иногда мы хотим оставить инфру для отладки.
Обычно это делается с помощью --keep флага (или --destroy=never) и т.д.
Проблема с флагом состоит в том, что мы хотим сохранить именно эту сессию (вдруг нам не повезло в этот раз и повезёт в следующий? Будет грустно получить красный тест с destroy, а потом зелёный тест с --keep - пол-дня на воспроизведение).
Идея:
SIGUSR1 включает keep режим на ходу. Даже когда бежит ансибл или pytest, можно послать сигнал и оставить сетап живым.
SIGUSR2 аналогично выключает --keep режим на ходу.
Вторая идея: если упали тесты, известный sleep перед destroy, где можно нажать кнопку и отменить.
Третья идея: pre-signed links на которые можно послать "вкл/выкл" просто кликнув на ссылку в выводе CI сервера (не будет хорошо работать, если DNAT).
Четвёртая идея: во время sleep перед destroy, возможный поллинг внешнего ресурса на тему "удалять или нет?" (позвляет что-то сделать на внешней системе и сказать "не удаляй").