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 CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

  • 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 CLI do Google Cloud.

      Ao usar um provedor de identidade (IdP) externo, primeiro 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