[SRU][J:linux-gcp/N:linux-gcp/Q:linux-gcp/R:linux-gcp][PATCH 0/1] Make idpf built-in

Ian Whitfield ian.whitfield at canonical.com
Thu Apr 9 20:21:58 UTC 2026


BugLink: https://bugs.launchpad.net/bugs/2144694

[ Impact ]

* On Google bare metal instances, cloud-init may fail to detect the correct
  datasource during the local init stage if the kernel hasn’t initialized the
  NIC in time. This can prevent metadata fetching and block SSH on first boot.

* Users of these instances may be unable to log in immediately after first
  boot, breaking automated deployments, cloud-init-based provisioning, and
  scripts relying on metadata.

* Including `IDPF` as built-in would minimize the race condition between cloud-
  init local and the kernel initilizing the NIC, allowing the NIC to come
  up early enough for cloud-init local to be able to successfully detect the
  correct datasource.

[ Test Plan ]

 * 1. Launch a Questing c3-standard-192-metal machine on Google cloud.

 * 2. Wait several minutes after the instance reaches running, then attempt to
      SSH into the instance. You will see this error:
      Permission denied (publickey).

 * 3. Switch disks to one where the kernel has IDPF built-in

 * 4. Reboot the machine and check the following:

      * SSH works immediately

      * Check the journal logs with the following command:
        journalctl -b 0 -o short-monotonic |
        grep -E "cloud-init|idpf|enp5s0f0|wait-online"

      * In the journal logs, the NIC should come up before
        cloud-init local finishes running

      * In the journal logs, the NIC should have LINK UP,
        gained carrier, and DCHP aquired before Net device
        info is printed

      * `cloud-init status --long` should show the
         correct datasource (DataSourceGCELocal)

[ Where problems could occur ]

 * Making `IDPF` built-in does not address the underlying race condition between
   cloud-init local and the kernel finishing NIC initialization. It simply
   minimizes it enough to "fix" the issue as a temporary workaround.

 * Problems may occur if `IDPF` needs to support features that rely on loadable
   drivers, such as RDMA.

[ Other Info ]

 * We can try and revisit modularization once the cloud-init first-boot races
   are fully resolved.

cloud-init bug: https://github.com/canonical/cloud-init/issues/6737

SF: 00424355



Ian Whitfield (1):
  UBUNTU: [Config] gcp: Make idpf built-in

 debian.gcp/config/annotations | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.43.0




More information about the kernel-team mailing list