Автоустановка Ubuntu Server 20.04.4 больше не загружает пользовательские данные (упаковщик)

Автоустановка Ubuntu Server 20.04.4 больше не загружает пользовательские данные (упаковщик)

Итак, у меня странная проблема: я использую packer для автоматической установки Ubuntu Server 20.04 в VirtualBox. Я следую этому примеру: https://nickcharlton.net/posts/automating-ubuntu-2004-installs-with-packer.html

Вчера, когда я попробовал это в первый раз, все заработало как по маслу, упаковщик даже смог подключиться по SSH к виртуальной машине, которая была создана после установки. Затем я попробовал еще раз (с небольшими изменениями), и это просто перестало работать. Я не могу заставить это работать снова с тех пор. Пользовательские данные больше не загружаются, а установщик работает с графическим интерфейсом, задавая вопросы, как будто не было запущено никакой автоустановки. Я подтвердил (отменив установку, а затем 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 = [
    "<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>"
  ]

Связанный контент