При внедрении конфигураций Terraform в качестве ресурса в vRealize Automation необходимо учитывать определенные ограничения и возможные проблемы.

Ограничения конфигураций Terraform

  • При проверке проекта с конфигурациями Terraform с помощью кнопки ТЕСТ можно проверить синтаксис vRealize Automation Cloud Assembly, но нельзя проверить синтаксис кода Terraform.

    Кроме того, при нажатии кнопки ТЕСТ не проверяются идентификаторы фрагментов commit, связанные с конфигурациями Terraform.

  • Недавно выпущенная версия Terraform 0.13 официально пока не поддерживается.
  • Чтобы клонировать облачный шаблон, включающий в себя конфигурации Terraform, в другом проекте, используйте следующее решение.
    1. В новом проекте на вкладке Интеграции скопируйте repositoryId для интеграции.
    2. Откройте шаблон-клон. В редакторе кода замените repositoryId скопированным значением.
  • В репозитории управления версиями не включайте файл состояния Terraform с файлами конфигурации. Если имеется terraform.tfstate, во время развертывания возникают ошибки.

Поддерживаемые действия по регулярному обслуживанию для родительского ресурса Terraform

Для родительского ресурса Terraform можно просмотреть или обновить файл состояния Terraform. Дополнительные сведения о действиях с файлами состояния см. в полном списке действий в разделе Какие действия можно выполнять в развертываниях vRealize Automation Cloud Assembly.

Поддерживаемые действия по регулярному обслуживанию для дочерних ресурсов

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

Для дочерних ресурсов в конфигурации Terraform поддерживается только следующий набор действий по регулярному обслуживанию. Дополнительные сведения о действиях см. в полном списке действий в разделе Какие действия можно выполнять в развертываниях vRealize Automation Cloud Assembly.

Поставщик Тип ресурса Terraform Поддерживаемые действия по регулярному обслуживанию
AWS aws_instance Включение
Выключение
Перезагрузить
Сброс
Azure azurerm_virtual_machine Включение
Выключение
Перезапуск
Приостановка
vSphere vsphere_virtual_machine Включение
Выключение
Перезагрузить
Сброс
Завершение работы
Приостановка
Создание моментальных снимков
Удаление моментального снимка
Откат моментальных снимков
GCP google_compute_instance Включение
Выключение
Создание моментальных снимков
Удаление моментального снимка

Устранение проблем с доступностью действий по регулярному обслуживанию

Если «готовые к использованию» (OOTB) действия по регулярному обслуживанию отсутствуют или деактивированы, может потребоваться устранение неполадок.

Проблема Причина Разрешение
Для ресурса Terraform в меню «Действия» отсутствует ожидаемое действие по регулярному обслуживанию, готовое к использованию.

Возможно, это действие не поддерживается для данного типа поставщика и ресурса, как указано в предыдущем списке.

Кроме того, для отображения действия может потребоваться до 20 минут, в течение которых выполняется обнаружение и кеширования ресурсов.

Проверьте тип поставщика и ресурса в проекте.

Подождите около 20 минут до завершения сбора данных.

Для ресурса Terraform отсутствует ожидаемое действие по регулярному обслуживанию даже по истечении 20 минут, которые могли потребоваться для сбора данных.

Действие не появляется из-за проблемы с обнаружением ресурсов.

Одной из проблем является ситуация, когда ресурс случайно создан в облачной зоне вне рамок проекта. Например, проект включает в себя только облачную учетную запись и облачную зону в регионе us-east-1, но конфигурация Terraform содержит блок поставщика для us-west-1, что не было изменено при проектировании.

Другая возможная проблема заключается в том, что процесс сбора данных не работает.

Проверьте соответствие облачных зон рабочего проекта и облачных зон проекта шаблона.

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

Несмотря на отсутствие очевидных проблем с состоянием ресурса и сбором данных, действие по регулярному обслуживанию деактивировано (выделено серым). Иногда возникают ошибки с временными параметрами и сбои при сборе данных. Проблему необходимо устранить в течение 20 минут.
Ошибочно деактивировано действие по регулярному обслуживанию, которое должно быть активировано в соответствии с состоянием ресурса.

Например, состояние «Выключение» активировано, а «Включение» деактивировано, несмотря на то, что ресурс был выключен с помощью интерфейса поставщика.

Период сбора данных может вызывать временное несоответствие. Если изменить состояние питания вне vRealize Automation, потребуется определенное время на ввод изменений в действие. Подождите 20 минут.

Использование настраиваемых поставщиков Terraform в vRealize Automation

Если вы создали и хотите использовать настраиваемый поставщик Terraform, выполните следующие действия.

  1. В каталоге Terraform по умолчанию в репозитории управления версиями Git добавьте следующую структуру подкаталогов.

    terraform.d/plugins/linux_amd64

  2. Добавьте двоичные файлы Go настраиваемого поставщика Terraform в каталог linux_amd64.

    По умолчанию terraform init ищет в этом каталоге подключаемые модули настраиваемого поставщика.

Примечание: В VMware зафиксированы случаи, когда настраиваемый поставщик Terraform не запускается и отправляет сообщение no such file or directory.

Если это происходит, попробуйте перекомпилировать двоичные файлы Go настраиваемого поставщика с деактивированным элементом CGo (установлено нулевое значение). CGo предназначен для пакетов Go, которые вызывают код C.