Risolvere i problemi relativi ai test di convalida

Per verificare che le immagini VM personalizzate si avviano correttamente e soddisfino i requisiti di configurazione, Image Builder esegue test di convalida automatizzati su una VM di test temporanea. Se uno di questi test non riesce, la pipeline si arresta e Image Builder non pubblica l'immagine finale.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    Seleziona la scheda relativa a come prevedi di utilizzare gli esempi in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

  • Imposta una regione e una zona predefinite.
  • REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI.

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .

Panoramica

Se i passaggi di personalizzazione vengono completati correttamente, l'orchestratore esporta il disco di avvio della VM come immagine di test temporanea (denominata image-builder-test-image-BUILD_ID nella famiglia image-builder-test-images).

L'orchestratore avvia una VM di test da questa immagine ed esegue una suite di test di sistema. Image Builder restituisce i risultati del test in un formato XML JUnit standard direttamente nei log di Cloud Build.

Risolvere i problemi relativi a test di convalida specifici

Esamina gli errori comuni e i passaggi diagnostici per ogni test di convalida:

Verifica del driver Intel IDPF

Questo test verifica che le istanze VM supportate carichino il driver Intel Infrastructure Data Path Function (idpf) ad alte prestazioni sulle interfacce di rete fisiche.

  • Condizione di errore: la convalida della VM non va a buon fine se viene ripristinato un pacchetto di schede di rete generico o se il kernel guest non dispone del modulo del driver idpf attivo.
  • Risoluzione:
    • Assicurati che il sistema operativo di base abbia una versione kernel compatibile con IDPF.
    • Verifica che le utilità di rete standard non stiano rimuovendo o inserendo nella lista bloccata il driver.
    • Per le build del kernel personalizzate, verifica che CONFIG_IDPF sia configurato.

Networking e verifica dell'agente guest

Questo test verifica che l'istanza abbia comunicazioni guest funzionanti e configurazioni di interfaccia di rete standardizzate.

  • Condizione di errore: il test non va a buon fine in una delle seguenti condizioni:
    • Il gestore del servizio agente ospite SubState non mostra lo stato running.
    • Nessuna interfaccia di rete non loopback è online.
    • I nomi delle interfacce non corrispondono ai pattern standard previsti (ad esempio, eth* o en*).
  • Risoluzione:

    • Verifica che l'agente guest sia installato e configurato per l'avvio:

      systemctl is-active google-guest-agent
      
    • Assicurati che le configurazioni di rete (come i modelli netplan o ifupdown) non disattivino le interfacce virtuali principali.

Verifica dell'avvio protetto

Questo test verifica che l'avvio protetto UEFI sia attivo e che il sistema applichi la convalida della firma del kernel del sistema operativo guest sull'immagine.

  • Condizione di errore: il test non riesce se le variabili UEFI di Compute Engine segnalano che SecureBoot non è 1 o che SetupMode non è 0.
  • Risoluzione:

    • Conferma che l'immagine includa chiavi di firma valide.
    • Nel file imagebuilder.yaml, verifica che guestOsFeatures contenga UEFI_COMPATIBLE nel blocco delle destinazioni:

      destinations:
        - diskImage:
            guestOsFeatures:
              - UEFI_COMPATIBLE
      

Sospendere o riprendere la verifica

Questo test sospende la VM di test utilizzando l'API Compute Engine e verifica che, dopo la ripresa dell'esecuzione della VM, la connettività venga ripristinata senza attivare un riavvio completo del guest.

  • Condizione di errore: il test non riesce se l'istanza si riavvia al risveglio, si blocca durante la sospensione o non riesce a recuperare i ping di rete.
  • Risoluzione:
    • Verifica che i servizi ACPI e i criteri di alimentazione sul sistema operativo guest siano abilitati e configurati per rispondere agli eventi ACPI.
    • Esamina i log di sistema guest (/var/log/syslog o /var/log/messages) per verificare se i daemon personalizzati bloccano le richieste di sospensione del sistema.

Salta i test di convalida

Sebbene ti consigliamo di convalidare le immagini di produzione, puoi saltare i test di convalida durante i test impostando skipSystemTests: true nel blocco spec.config del file imagebuilder.yaml:

spec:
  config:
    skipSystemTests: true