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, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init
  • 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, lalu login ke gcloud CLI dengan identitas gabungan Anda.

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

Ringkasan

Jika langkah-langkah penyesuaian berhasil diselesaikan, orchestrator 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 serangkaian pengujian sistem. Image Builder menampilkan 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.

Verifikasi agen tamu dan jaringan

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 cocok 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, verifikasi bahwa 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 Gagal: Pengujian gagal jika instance dimulai ulang saat aktif, mengalami hang selama penangguhan, atau gagal memulihkan ping jaringan.
  • Resolusi:
    • Verifikasi bahwa 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 bawah blok spec.config dalam file imagebuilder.yaml:

spec:
  config:
    skipSystemTests: true