我的问题类似于这个 git hub 帖子,但不幸的是它没有解决:
https://github.com/hashicorp/terraform/issues/550
provisioner "remote-exec" { }
我想要一种简单的方法来为在我的 terraform 脚本块中运行的命令提供 sudo 权限。
我来自 ansible 背景,在我的 ansible-playbook 运行命令中sudo: yes
使用可选选项时,该选项允许任何命令 ansible 运行以 sudo 权限运行命令。--ask-sudo-pass
我想在provisioner "remote-exec"
我的 terraform 脚本块中做类似的事情。
这是provisioner "remote-exec"
我要运行的块:
provisioner "remote-exec" {
inline = [
"sudo apt-get update",
"sudo apt-get install -y curl"
]
}
当我在我的中运行它时,我terraform apply
看到以下行出现在此命令的输出中:
openstack_compute_instance_v2.test.0 (remote-exec): [sudo] password for myUserName:
openstack_compute_instance_v2.test.1 (remote-exec): [sudo] password for myUserName:
openstack_compute_instance_v2.test.2 (remote-exec): [sudo] password for myUserName:
然后它只是给了我无限数量的这些:
openstack_compute_instance_v2.test.0: Still creating...
openstack_compute_instance_v2.test.1: Still creating...
openstack_compute_instance_v2.test.2: Still creating...
那么我该如何解决这个问题并让 terraform 运行 sudo 命令呢?
注意:我的provisioner "remote-exec"
块的连接不能是 root,所以即使这是一个简单的解决方案,它也不是我可以使用的。