Resolver problemas com testes de validação

Para verificar se as imagens de VM personalizadas são inicializadas corretamente e atendem aos requisitos de configuração, o Image Builder executa testes de validação automatizados em uma VM de teste temporária. Se um desses testes falhar, o pipeline será interrompido e o Image Builder não vai publicar a imagem final.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. Com isso, você confirma sua identidade para acesso a serviços e APIs do Google Cloud . Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine selecionando uma das seguintes opções:

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console Google Cloud para acessar serviços Google Cloud e APIs, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init
  • Defina uma região e uma zona padrão.
  • REST

    Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .

Visão geral

Se as etapas de personalização forem concluídas, o orquestrador vai exportar o disco de inicialização da VM como uma imagem de teste temporária (chamada image-builder-test-image-BUILD_ID na família image-builder-test-images).

O orquestrador inicializa uma VM de teste com essa imagem e executa um conjunto de testes de sistema. O Image Builder gera os resultados do teste em um formato XML JUnit padrão diretamente nos registros do Cloud Build.

Resolver problemas de testes de validação específicos

Analise as falhas comuns e as etapas de diagnóstico de cada teste de validação:

Verificação do driver IDPF da Intel

Esse teste verifica se as instâncias de VM compatíveis carregam o driver de função de caminho de dados de infraestrutura Intel de alto desempenho (idpf) em interfaces de rede físicas.

  • Condição de falha: a validação da VM falha se ela reverter para um pacote de adaptador de rede genérico ou se o kernel convidado não tiver o módulo de driver idpf ativo.
  • Resolução:
    • Verifique se o sistema operacional de base tem uma versão do kernel compatível com IDPF.
    • Confirme se os utilitários de rede padrão não estão removendo nem bloqueando o driver.
    • Para builds de kernel personalizados, verifique se CONFIG_IDPF está configurado.

Rede e verificação do agente convidado

Esse teste afirma que a instância tem comunicações de convidado funcionando e configurações de interface de rede padronizadas.

  • Condição de falha: o teste falha em qualquer uma das seguintes condições:
    • O administrador do serviço do agente convidado SubState não mostra um status running.
    • Nenhuma interface de rede que não seja de loopback está on-line.
    • Os nomes de interface não correspondem aos padrões esperados (por exemplo, eth* ou en*).
  • Resolução:

    • Verifique se o agente convidado está instalado e configurado para iniciar na inicialização:

      systemctl is-active google-guest-agent
      
    • Verifique se as configurações de rede (como modelos netplan ou ifupdown) não desativam as interfaces virtuais principais.

Verificação da Inicialização segura

Esse teste afirma que a Inicialização segura do UEFI está ativa e que o sistema aplica a validação da assinatura do kernel do SO convidado na imagem.

  • Condição de falha: o teste falha se as variáveis UEFI do Compute Engine informarem que SecureBoot não é 1 ou que SetupMode não é 0.
  • Resolução:

    • Confirme se a imagem inclui chaves de assinatura válidas.
    • No arquivo imagebuilder.yaml, verifique se guestOsFeatures contém UEFI_COMPATIBLE no bloco de destinos:

      destinations:
        - diskImage:
            guestOsFeatures:
              - UEFI_COMPATIBLE
      

Suspender ou retomar a verificação

Esse teste suspende a VM de teste usando a API Compute Engine e afirma que, depois que a execução da VM é retomada, a conectividade é restaurada sem acionar uma reinicialização completa do convidado.

  • Condição de falha: o teste falha se a instância for reinicializada ao despertar, travar durante a suspensão ou não recuperar os pings de rede.
  • Resolução:
    • Verifique se os serviços ACPI e as políticas de energia no sistema operacional convidado estão ativados e configurados para responder a eventos ACPI.
    • Inspecione os registros do sistema convidado (/var/log/syslog ou /var/log/messages) para verificar se daemons personalizados bloqueiam solicitações de suspensão do sistema.

Pular testes de validação

Embora recomendemos que você valide as imagens de produção, é possível pular os testes de validação durante o teste definindo skipSystemTests: true no bloco spec.config do arquivo imagebuilder.yaml:

spec:
  config:
    skipSystemTests: true