Ubuntu Server 20.04.4 自动安装不再加载用户数据(打包程序)

Ubuntu Server 20.04.4 自动安装不再加载用户数据(打包程序)

所以我有一个奇怪的问题:我正在使用打包程序在 VirtualBox 中自动安装 Ubuntu Server 20.04。我遵循以下示例: https://nickcharlton.net/posts/automating-ubuntu-2004-installs-with-packer.html

昨天我第一次尝试它时,它运行得非常好,packer 甚至能够通过 SSH 连接到安装后创建的虚拟机。然后我再次尝试(略有变化),它就停止工作了。从那以后,我就无法让它再次工作了。用户数据不再加载,安装程序以 GUI 运行,询问问题,好像没有运行自动安装一样。我已经确认(通过中止安装,然后按 Alt+F2 -> curl -lshttp://10.0.2.2:PACKERPORT) 虚拟机可以访问打包程序的 http 目录,其中有用户数据和元数据文件。

怎么会这样呢,它工作了一次,然后就停止工作了?这是什么鬼?我使用的是与示例中相同的启动命令。我已确认在 vm-boot-up 期间正确设置了启动命令。我的用户数据包含以下内容:

#cloud-config
autoinstall:
  version: 1
  identity:
    hostname: test_vm
    password: $6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0
    username: testmann
  locale: de_DE.UTF-8
  keyboard:
    layout: de
  early-commands:
    # otherwise packer tries to connect and exceed max attempts:
    - systemctl stop ssh
  ssh:
    install-server: true

答案1

我最终能够通过向启动命令提供以下附加语句来修复它:

cloud-config-url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/user-data

我现在的整个 Boot-Command 是:

boot_command = [
    "<enter><wait><enter><f6><esc><wait> ",
    "autoinstall<wait>",
    " cloud-config-url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/user-data<wait>",
    " ds='nocloud-net;s=http://{{ .HTTPIP }}:{{ .HTTPPort }}/'",
    "<wait5><enter>"
  ]

相关内容