Skip to content

inspect-disable: fill MachineHardware from the provision boot; use it in the lab #40

Description

@tjjh89017

Correction

The skip already exists: the kezio.kojuro.date/inspect-disable: "true" annotation makes a new Machine go straight to Available without an inspection boot (internal/controller/machine_controller.go reconcileInspecting); the Machine webhook then requires spec.bootMACAddress. Documented in docs/crd-reference.md (Machine annotations table).

What is still missing

  1. No MachineHardware ever appears for such a Machine. The agent runs in the live environment during the provision boot anyway; the controller should create/refresh MachineHardware from that report when it is absent, so kubectl get machinehardware and disk-serial validation work the same for both enrolment styles.
  2. Claim-time checks that read MachineHardware (e.g. MachineClaim.spec.targetDisk.serialNumber against the inspected disks) need a defined behaviour when it is absent: either defer the check to provision time, or document that inspect-disable machines accept the claim unchecked.
  3. Lab scripts (tmp/pve-r730xd-lab/04_deploy-machines.sh) should set the annotation and bootMACAddress (the lab derives the MAC from the vmid anyway) to save one PXE + live-environment cycle (~2–3 min) per DUT per rung.
  4. kezioctl machine add could expose it as --skip-inspection with the same MAC requirement.

Observed on the pve-r730xd lab, 2026-08-26: every rung of the 32g fleet ladder pays one inspect boot per DUT before the deploy boot.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions