qemu-guest-agent が自動インストールに失敗する

qemu-guest-agent が自動インストールに失敗する

これはここでの最初の投稿ですので、しばらくお待ちください :)

Proxmox(7.2-11) で Packer(1.8.4) を使用して Ubuntu 20.04.5 イメージを構築しようとしています。subiquity を使用して qemu-guest-agent をインストールするまで、すべて正常に動作しているようです (IP の取得、HTTP 経由の cloud-init 構成の読み取り、インストールの開始、カーネルのインストール)。インストール コマンドの実行に失敗し、クラッシュ レポートが生成され、ターミナルを取得するために Enter キーを押すように求められます。20.04.4 ISO イメージの場合、Packer でまったく同じ構成を使用してすべて正常に動作します。

cloud-init 設定:

#cloud-config
autoinstall:
  version: 1
  locale: en_US
  keyboard:
    layout: en
  network:
    version: 2
    ethernets:
      ens18:
        dhcp4: true
  ssh:
    install-server: true
    allow-pw: false
    disable_root: true
    ssh_quiet_keygen: true
    allow_public_ssh_keys: true
  packages:
    - qemu-guest-agent
    - sudo
  storage:
    swap:
      size: 0
    config:
      - {ptable: gpt, path: /dev/vda, preserve: false, name: '', grub_device: true, type: disk, id: disk-vda}
      - {type: partition, number: 1, device: disk-vda, flag: bios_grub, size: 1M, id: vda-grub}
      - {type: partition, number: 2, device: disk-vda, flag: boot, size: 1G, id: vda-boot}
      - {type: partition, number: 3, device: disk-vda, size: -1, id: vda-lvm}
      - {type: lvm_volgroup, name: vg-ubuntu, devices: [vda-lvm], id: vg-ubuntu}
      - {type: lvm_partition, volgroup: vg-ubuntu, id: lv-root, name: lv-root, size: -1}
      - {type: format, fstype: ext4, volume: vda-boot, id: vda-boot-fs}
      - {type: format, fstype: xfs, volume: lv-root, id: lv-root-fs}
      - {type: mount, path: /, id: m-root, device: lv-root-fs}
      - {type: mount, path: /boot, id: m-boot, device: vda-boot-fs}
  user-data:
    package_upgrade: true
    timezone: Europe/Bucharest
    users:
      - name: devops
        groups: [adm, sudo]
        lock-passwd: false
        sudo: ALL=(ALL) NOPASSWD:ALL
        shell: /bin/bash
        # passwd: your-password
        ssh_authorized_keys:
          - MyPublicKey

これが Ubuntu の新しい ISO から来ているのか、それとも Packer から来ているのかはわかりませんが、同じ構成が 20.04.4 でも機能するため、前回のリリースに含まれていた新しいものから来ていると思います。

同じような考えをお持ちの方、または同じ経験をされた方はいらっしゃいますか?

ご回答をよろしくお願いいたします!

答え1

どうやら、あなたの問題に対する一時的な回避策を見つけたようです...

qemu-guest-agentそれがあなたにとってうまくいくかどうか、または返品に関して同じ問題が発生するかどうかはわかりませんError 100

これが私の回避策です:

事後に実行してインストールするlate-commandsディレクティブをファイルに追加しました。user-dataapt-get updateqemu-guest-agent

以下はその抜粋ですuser-data:

#cloud-config
autoinstall:
...
  late-commands:
    - curtin in-target -- apt-get update
    - curtin in-target -- apt-get install qemu-guest-agent
...

なぜ失敗したのか、この問題を詳しく調べてみました。どうやら、qemu-guest-agentパッケージの一覧から削除すると、すべて正常に動作するようです。エラーシェル内で想定されるコマンドを実行しようとすると、qemu-guest-agentそのパッケージをインストールしようとしているときに「が見つかりません」と表示されます。これが、Ubuntuでの自動サーバーインストールのドキュメントを読み直しているときに、この解決策を思いついた理由です。ドキュメンテーションターゲット マシンでコマンドを実行する場合、curtin in-target --target=/target --ターゲット システム内でコマンドを実行する前に を追加する必要があると書かれています。この場合、ソースを更新して をインストールしたいのですqemu-guest-agentが、意図したとおりに動作しました。ディレクティブを構成するなど、これに対してもっと良い解決策があるのではないかと思いますapt。この回避策があなたのケースでも機能することを願っています...

答え2

私の環境でもあなたと非常によく似た問題が発生し、apt/snapd がインターネットにアクセスできるように企業プロキシを設定する必要があることが問題だと認識しました。

によると自動インストールリファレンスユーザーデータ ファイルに次の内容を追加する必要がありました。

    autoinstall:
    ...
      proxy: http://<proxy.url>:<port-number>
    ...

関連情報