Memecahkan masalah pengujian validasi

Untuk memverifikasi bahwa image VM kustom di-boot dengan benar dan memenuhi persyaratan konfigurasi, Image Builder menjalankan pengujian validasi otomatis pada VM pengujian sementara. Jika salah satu pengujian ini gagal, pipeline akan berhenti dan Image Builder tidak akan memublikasikan image akhir.

Sebelum memulai

  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan konsol Google Cloud untuk mengakses layanan Google Cloud dan API, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init

      Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  • Tetapkan region dan zona default.
  • REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI.

      Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .

Ringkasan

Jika langkah-langkah penyesuaian berhasil diselesaikan, orkestrator akan mengekspor boot disk VM sebagai image pengujian sementara (bernama image-builder-test-image-BUILD_ID dalam kelompok image-builder-test-images).

Orchestrator melakukan booting VM pengujian dari image ini dan menjalankan rangkaian pengujian sistem. Image Builder menghasilkan hasil pengujian dalam format XML JUnit standar langsung ke log Cloud Build.

Memecahkan masalah pengujian validasi tertentu

Tinjau kegagalan umum dan langkah-langkah diagnostik untuk setiap pengujian validasi:

Verifikasi driver Intel IDPF

Pengujian ini memverifikasi bahwa instance VM yang didukung memuat driver Fungsi Jalur Data Infrastruktur Intel (idpf) berperforma tinggi pada antarmuka jaringan fisik.

  • Kondisi Kegagalan: VM gagal divalidasi jika kembali ke paket adaptor jaringan generik atau jika kernel tamu tidak memiliki modul driver idpf aktif.
  • Resolusi:
    • Pastikan sistem operasi dasar Anda memiliki versi kernel yang kompatibel dengan IDPF.
    • Pastikan utilitas jaringan standar tidak menghapus atau memblokir driver.
    • Untuk build kernel kustom, pastikan CONFIG_IDPF dikonfigurasi.

Jaringan dan verifikasi agen tamu

Pengujian ini menegaskan bahwa instance memiliki komunikasi tamu yang berfungsi dan konfigurasi antarmuka jaringan yang standar.

  • Kondisi Kegagalan: Pengujian gagal dalam kondisi berikut:
    • Pengelola layanan agen tamu SubState tidak menampilkan status running.
    • Tidak ada antarmuka jaringan non-loopback yang online.
    • Nama antarmuka tidak sesuai dengan pola standar yang diharapkan (misalnya, eth* atau en*).
  • Resolusi:

    • Pastikan agen tamu diinstal dan dikonfigurasi untuk dimulai saat booting:

      systemctl is-active google-guest-agent
      
    • Pastikan konfigurasi jaringan Anda (seperti template netplan atau ifupdown) tidak menonaktifkan antarmuka virtual utama.

Verifikasi Booting Aman

Pengujian ini menegaskan bahwa Booting Aman UEFI aktif dan sistem menerapkan validasi tanda tangan kernel OS tamu pada image.

  • Kondisi Kegagalan: Pengujian gagal jika variabel UEFI Compute Engine melaporkan SecureBoot bukan 1 atau SetupMode bukan 0.
  • Resolusi:

    • Pastikan gambar Anda menyertakan kunci tanda tangan yang valid.
    • Di file imagebuilder.yaml, pastikan guestOsFeatures berisi UEFI_COMPATIBLE di bagian blok tujuan Anda:

      destinations:
        - diskImage:
            guestOsFeatures:
              - UEFI_COMPATIBLE
      

Menangguhkan atau melanjutkan verifikasi

Pengujian ini menangguhkan VM pengujian menggunakan Compute Engine API dan menegaskan bahwa setelah eksekusi VM dilanjutkan, konektivitas dipulihkan tanpa memicu reboot tamu penuh.

  • Kondisi Kegagalan: Pengujian gagal jika instance dimulai ulang saat diaktifkan, mengalami hang selama penangguhan, atau gagal memulihkan ping jaringan.
  • Resolusi:
    • Pastikan layanan ACPI dan kebijakan daya di sistem operasi tamu diaktifkan dan dikonfigurasi untuk merespons peristiwa ACPI.
    • Periksa log sistem tamu (/var/log/syslog atau /var/log/messages) untuk memeriksa apakah daemon kustom memblokir permintaan tidur sistem.

Melewati uji validasi

Meskipun sebaiknya Anda memvalidasi image produksi, Anda dapat melewati pengujian validasi selama pengujian dengan menyetel skipSystemTests: true di bagian blok spec.config dalam file imagebuilder.yaml:

spec:
  config:
    skipSystemTests: true