From 5419f8d95306efed8667936156d8081c21e068ed Mon Sep 17 00:00:00 2001 From: Dmitry Tantsur Date: Wed, 9 Jul 2025 14:02:23 +0200 Subject: [PATCH 5/5] Provide inline docs for node configuration calls Signed-off-by: Dmitry Tantsur (cherry picked from commit 778d9342747aefc8079f1ccaa6a14f83b26f28ff) --- pkg/provisioner/ironic/ironic.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/provisioner/ironic/ironic.go b/pkg/provisioner/ironic/ironic.go index b8e6d72b..166d929c 100644 --- a/pkg/provisioner/ironic/ironic.go +++ b/pkg/provisioner/ironic/ironic.go @@ -311,6 +311,10 @@ func (p *ironicProvisioner) createPXEEnabledNodePort(uuid, macAddress string) er return nil } +// configureNode configures Node properties that are not related to any specific provisioning phase. +// It populates the AutomatedClean field, as well as capabilities and architecture in Properties. +// It also calls setDeployImage to populate IPA parameters in DriverInfo and +// checks if the required PreprovisioningImage is provided and ready. func (p *ironicProvisioner) configureNode(data provisioner.ManagementAccessData, ironicNode *nodes.Node, bmcAccess bmc.AccessDetails) (result provisioner.Result, err error) { updater := clients.UpdateOptsBuilder(p.log) @@ -426,6 +430,8 @@ func setExternalURL(p *ironicProvisioner, driverInfo map[string]interface{}) map return driverInfo } +// setDeployImage configures the IPA ramdisk parameters in the Node's DriverInfo. +// It can use either the provided PreprovisioningImage or the global configuration from ironicConfig. func setDeployImage(config ironicConfig, accessDetails bmc.AccessDetails, hostImage *provisioner.PreprovisioningImage) clients.UpdateOptsData { deployImageInfo := clients.UpdateOptsData{ deployKernelKey: nil, @@ -660,6 +666,7 @@ func (p *ironicProvisioner) setCustomDeployUpdateOptsForNode(ironicNode *nodes.N SetTopLevelOpt("deploy_interface", "custom-agent", ironicNode.DeployInterface) } +// getInstanceUpdateOpts constructs InstanceInfo options required to provision a Node in Ironic. func (p *ironicProvisioner) getInstanceUpdateOpts(ironicNode *nodes.Node, data provisioner.ProvisionData) *clients.NodeUpdater { updater := clients.UpdateOptsBuilder(p.log) -- 2.50.1