Как запустить утилиту remote-exe c при уничтожении нескольких экземпляров - PullRequest
2 голосов
/ 14 февраля 2020

Я использую terraform для настройки роя кластера docker в OpenStack наряду с использованием Ansible для конфигурации на вновь создаваемых виртуальных машинах. Сначала я хочу выполнить docker swarm leave на ВМ, которая будет удалена, когда я уменьшу количество экземпляров (ВМ) и внесу изменения с помощью terraform apply. Это работает, когда я уничтожаю экземпляр один за другим, но когда два экземпляра одновременно, это дает ошибку.

Ошибка: цикл: module.swarm_cluster.openstack_compute_instance_v2.swarm-cluster-hosts [3] (уничтожить), module.swarm_cluster.openstack_compute_instance_v2.swarm-cluster-hosts [2] (уничтожить)

Вот скрипт:

resource "openstack_compute_instance_v2" "my_cluster"{
provisioner "remote-exec" {
       when = destroy
       inline = [ "sudo docker swarm leave" ]
}

connection {
    type = "ssh"
    user = var.ansible_user
    timeout = "3m"
    private_key = var.private_ssh_key
    host = self.access_ip_v4
  }
}

терраформ: 0,12

...