47 lines
2.3 KiB
Diff
47 lines
2.3 KiB
Diff
From 5419f8d95306efed8667936156d8081c21e068ed Mon Sep 17 00:00:00 2001
|
|
From: Dmitry Tantsur <dtantsur@protonmail.com>
|
|
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 <dtantsur@protonmail.com>
|
|
(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
|
|
|