0

我正在尝试在 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}\""
  }
}

我该如何解决这个挂起的问题?

4

1 回答 1

0

推荐你使用自定义脚本扩展

于 2020-11-27T14:02:47.343 回答