Terraform 1.17.2 обновил генерацию конфигурации и исправил предупреждения init

Terraform 1.17.2 обновил генерацию конфигурации и исправил предупреждения init
Содержание статьи

11 ноября опубликован стабильный Terraform 1.17.2. Релиз улучшает генерацию конфигурации из крупных запросов HCP Terraform и исправляет две ошибки. На Mentoring.digital объясняем, какие рабочие сценарии затронуты и как проверить обновление без ненужного применения изменений.

Генерация конфигурации из запросов HCP Terraform

Команда terraform query ищет существующие ресурсы по описанию в файлах .tfquery.hcl. Параметр -generate-config-out позволяет получить конфигурацию для последующего импорта.

В версии 1.17.2 улучшены производительность и использование памяти при генерации конфигурации из крупных запросов HCP Terraform. В соответствующем изменении повторное соединение строк заменено накоплением данных отдельными построителями строк для адресов ресурсов.

Это изменение конкретного этапа подготовки конфигурации. Оно не означает, что любой plan или apply станет быстрее. В своём сценарии сравнивайте время генерации и полученный файл при одинаковых входных данных.

Предупреждения init и цикл ссылок

Исправлены повторяющиеся предупреждения о недоступной схеме провайдера в журнале terraform init. Во время инициализации контекст ещё не содержит загруженных провайдеров, и лишняя попытка поиска их функций создавала такие сообщения. Обновление устраняет эту причину повторов.

Другая правка касается цикла зависимостей при ссылке провайдера на управляемый ресурс, который выводится из учёта с destroy = false. В блоке removed такой режим нужен, чтобы убрать ресурс из состояния Terraform, сохранив сам объект инфраструктуры.

Изменение состояния и удаление реального объекта имеют разные последствия. Перед такой операцией проверьте план и ожидаемую судьбу ресурса, даже если обновление устраняет прежнюю ошибку построения графа.

Как проверить переход на новую версию

Сначала подтвердите версию CLI в рабочем окружении и CI. Для затронутого проекта сравните журнал инициализации, генерацию конфигурации и план в подходящем тестовом окружении. Проверьте, что не появились неожиданные изменения ресурсов.

Для проверки генерации не требуется применять полученный файл к рабочей инфраструктуре. Сложные зависимости и порядок перехода можно обсудить с ментором по DevOps, подготовив конфигурацию без секретов и обезличенный журнал ошибки.

Похожие статьи по данной теме