Metal3 DHCP less provisioning

Using virtual media for bare-metal node provisioning should allow to avoid the DHCP step which is inherited from PXE boot method. Having to configure a DHCP server and the related network and security context make the BareMetal provisioning design really complex, it can be avoided since the target is to rely on VirtualMedia within Sylva.

A discussion about this feature on the slack channel dedicated to Cluster-API-Baremetal, sum up the situation (see [1]):

  • We can use the mechanism in place for Openshift. With a dedicated controller and one image per BaremetalHost. See [2][3][4]. A custom controller need to be implemented, i'm not sure the one used by Openshift is publicly available.
  • We can use the same solution as the used in Das Shiff, with a generic IPA image, and pass the networking config as a kernel boot parameter
  • We can use a DHCP-less feature available in Ironic, with a related patch in the baremetal_host controller.

Related references

[1] https://kubernetes.slack.com/archives/CHD49TLE7/p1683296786637449

[2] https://github.com/metal3-io/metal3-docs/blob/main/design/baremetal-operator/image-builder-integration.md#custom-agent-image-controller

[3] https://github.com/metal3-io/baremetal-operator/pull/936

[4] https://docs.openshift.com/container-platform/4.12/installing/installing_bare_metal_ipi/ipi-install-expanding-the-cluster.html

Edited Aug 17, 2023 by Mathieu Rohon
Assignee Loading
Time tracking Loading