qemu-guest-agent falha na instalação automática

qemu-guest-agent falha na instalação automática

Este é meu primeiro post aqui, então tenha paciência :)

Estou tentando construir uma imagem do Ubuntu 20.04.5 com Packer(1.8.4) no Proxmox(7.2-11). Tudo parece estar funcionando bem (obter IP, ler a configuração do cloud-init via HTTP, iniciar a instalação, instalar o kernel) até a instalação do qemu-guest-agent com subiquidade. Ele falha ao executar o comando de instalação, gera um relatório de falha e pede para pressionar Enter para obter um terminal. Para a imagem ISO 20.04.4 tudo funciona bem com exatamente a mesma configuração no Packer.

configuração de inicialização da nuvem:

#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

Não tenho ideia se isso vem do novo ISO ou Packer do Ubuntu, mas como a mesma configuração funciona para 20.04.4, acho que vem de algo novo que foi incluído na última versão.

Alguém tem uma ideia ou experimentou o mesmo?

Agradecemos antecipadamente por suas respostas!

Responder1

Aparentemente, encontrei uma solução alternativa para o seu problema...

Não tenho certeza se funcionaria para você ou se poderíamos ter o mesmo problema ao qemu-guest-agentretornar Error 100.

Esta é a minha solução alternativa:

Acabei de adicionar uma late-commandsdiretiva ao meu user-dataarquivo onde ele seria executado apt-get updatee instalado qemu-guest-agentapós o fato.

aqui está um trecho do user-data:

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

Analisei mais profundamente o problema e descobri por que ele falhou. Aparentemente, remover qemu-guest-agentda lista de pacotes faz tudo funcionar bem. Quando tento executar o suposto comando dentro do shell de erro, ele menciona que " qemu-guest-agentnão foi encontrado" ao tentar instalar esse pacote. É por isso que vim com esta solução enquanto relia os documentos para instalação automatizada de servidor no Ubuntu. De acordo comdocumentaçãocom relação à execução de comandos na máquina de destino, está escrito lá que você deve adicionar curtin in-target --target=/target --antes de qualquer comando para que ele seja executado dentro do sistema de destino. Nesse caso, quero atualizar as fontes e instalar qemu-guest-agent, e funcionou conforme o esperado. Sinto que poderia haver uma solução melhor para isto, como configurar a aptdirectiva e tal. Esperamos que esta solução alternativa funcione no seu caso ...

Responder2

Vi um problema muito semelhante ao seu em meu ambiente e percebi que meu problema era que eu precisava configurar meu proxy corporativo para permitir que o apt/snapd acessasse a Internet.

ConformeReferência de instalação automáticaEu precisava adicionar o seguinte ao meu arquivo de dados do usuário:

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

informação relacionada