Ubuntu Server 20.04.4 の自動インストールでユーザーデータが読み込まれなくなりました (packer)

Ubuntu Server 20.04.4 の自動インストールでユーザーデータが読み込まれなくなりました (packer)

奇妙な問題が発生しました。VirtualBox に Ubuntu Server 20.04 を自動インストールするために packer を使用しています。次の例に従っています。 https://nickcharlton.net/posts/automating-ubuntu-2004-installs-with-packer.html

昨日初めて試したときは、うまくいきました。packer はインストール後に作成された VM に SSH 経由で接続することさえできました。その後、(少し変更を加えて)もう一度試してみたところ、動作しなくなりました。それ以来、再び動作させることができません。ユーザーデータはもうロードされず、インストーラーは GUI で実行され、自動インストールが実行されなかったかのように質問します。インストールを中止してから Alt+F2 -> curl -ls を実行して確認しました。http://10.0.2.2:パッカーポート) パッカーの http ディレクトリに VM からアクセスでき、そこにユーザー データ ファイルとメタデータ ファイルがあることを確認します。

一度は動作していたのに、その後動作しなくなったのはなぜでしょうか? 一体何なのでしょうか? 例と同じブート コマンドを使用しています。ブート コマンドが 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>"
  ]

関連情報