【问题标题】:Terraform remote-exec returning 401 error at endTerraform remote-exec 最后返回 401 错误
【发布时间】:2019-05-06 15:46:01
【问题描述】:

我正在尝试使用 Terraform 创建 Windows 10 虚拟机,并使用“配置器”功能推送到新虚拟机并在新虚拟机上执行配置脚本。这似乎工作正常,因为我已经正确配置了 winrm,并且配置程序作为新创建的本地管理员帐户连接。这是一个相当广泛的配置,需要很长时间才能运行(整个过程从开始到结束大约需要 30 分钟)。脚本中的最后一步是运行 Sysprep 以概括 VM,以便可以使用它来创建 Azure 托管映像(我们将从该映像创建 VM 以用于实际所需的工作)。似乎所有配置步骤都已成功执行,但 Terraform 正在退出并出现 HTTP 401 错误:

Error: Error applying plan: 1 error(s) occurred: * azurerm_virtual_machine.newimage: error executing "C:/Temp/terraform_467018566.cmd": http response error: 401 - invalid content type

据我所知,它确实有效,所以我不确定是什么触发了退出状态。可能是因为 VM 在运行 Sysprep 后关闭,Terraform(或者可能是 winrm)认为出了点问题?这是 remote-exec 正在运行的脚本中的最后一个命令:

%WINDIR%\system32\sysprep\sysprep.exe /generalize /shutdown /oobe

【问题讨论】:

    标签: azure terraform


    【解决方案1】:

    我同意你的意见。我认为 Terraform remote-exec 正在运行并且需要来自 VM 的响应。当脚本命令关闭 VM 时,VM 没有响应。所以 Terraform remote-exec 退出并出现 401 错误。

    【讨论】:

      【解决方案2】:

      我无法找到任何书面确认证明这是正在发生的事情,但这是我目前最好的猜测。我要尝试的解决方法是让脚本的最后一步由 remote-exec 运行,而不是安排一个任务在 15-30 秒后运行,以执行 Sysprep/shutdown 步骤,这有望允许 Terraform看到配置进程已成功完成。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多