Azure Terraform local exec卡在“上”;仍在创造……”;使用azvmrun命令
我正在尝试在Terraform 0.13.5上运行“local exec”命令,该命令在CentOS虚拟机中运行脚本。这个脚本(我们称之为utility script.sh)只是创建一个日志文件并安装dnf。脚本末尾有一行Azure Terraform local exec卡在“上”;仍在创造……”;使用azvmrun命令,azure,terraform,terraform-provider-azure,hcl,Azure,Terraform,Terraform Provider Azure,Hcl,我正在尝试在Terraform 0.13.5上运行“local exec”命令,该命令在CentOS虚拟机中运行脚本。这个脚本(我们称之为utility script.sh)只是创建一个日志文件并安装dnf。脚本末尾有一行退出0。还尝试了killall-u${username},但仍然停留在“仍在创建…”上。azvmrun命令命令刚刚挂起。这是工作之前,但突然它只是挂起了 期望:完成此命令的执行并转到下一个命令 实际结果:控制台显示“仍在创建…”,直到Azure上的超时时间为90分钟 resou
退出0
。还尝试了killall-u${username}
,但仍然停留在“仍在创建…”上。azvmrun命令
命令刚刚挂起。这是工作之前,但突然它只是挂起了
期望:完成此命令的执行并转到下一个命令
实际结果:控制台显示“仍在创建…”,直到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}\""
}
}
如何解决此挂起问题?建议您使用。为什么不使用
远程执行
供应器而不是本地执行
?将脚本粘贴到这里。此外,如果要在目标计算机上运行此脚本,它必须是remoteexec
<代码>本地执行在控制器计算机上执行。