我正在尝试在 Terraform 0.13.5 上运行一个“local-exec”命令,该命令在 CentOS VM 中运行一个脚本。这个脚本(我们称之为utility-script.sh)只是创建一个日志文件并安装dnf。在脚本的末尾有exit 0
一行。也尝试过killall -u ${username}
,但它仍然停留在“仍在创建..”上。该az vm run-command
命令只是挂起。这以前有效,但现在突然挂起。
期望:完成执行此命令并进入下一个。
实际结果:控制台显示“仍在创建...”,直到超时,在 Azure 上为 90 分钟。
resource "null_resource" "run-utility-script" {
# Script execution happens after download
depends_on = [
null_resource.script-download
]
# Create for each centos VM
count = length(var.centos-vm-ids)
triggers = {
current_instance_id = var.centos-vm-ids[count.index]
}
provisioner "local-exec" {
command = "az vm run-command invoke --command-id RunShellScript --name ${var.centos-vm-names[count.index]} -g ${var.resource_group} --scripts \"echo ${var.password} | sudo -S chmod +x ${local.utility_script} ; echo ${var.password} | sudo bash ${local.utility_script}\""
}
}
我该如何解决这个挂起的问题?