From 5bb52590f0aea189967e7434dd0413a885981eb2 Mon Sep 17 00:00:00 2001 From: Steve Baker Date: Wed, 27 Oct 2021 12:48:36 +1300 Subject: [PATCH] Add parameter IronicPowerStateChangeTimeout A heat parameter ``IronicPowerStateChangeTimeout`` has been added which sets the number of seconds to wait for power operations to complete, i.e., so that a baremetal node is in the desired power state. If timed out, the power operation is considered a failure. The default is 60 seconds, which is the same as the current Ironic default. This could be backported to stable/train, where the ironic default of 30s is causing failures in CI jobs. Related-Bug: #1947403 Change-Id: I9729beac4c4e84d2619c4c629cd26eba8a26b87d (cherry picked from commit 65151adc182fbe28afc1348a1a2fb664255d5ee1) --- deployment/ironic/ironic-conductor-container-puppet.yaml | 9 ++++++++- releasenotes/notes/power_state-457f12af30b9e341.yaml | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/power_state-457f12af30b9e341.yaml diff --git a/deployment/ironic/ironic-conductor-container-puppet.yaml b/deployment/ironic/ironic-conductor-container-puppet.yaml index ed4ace693c..18ff229ee9 100644 --- a/deployment/ironic/ironic-conductor-container-puppet.yaml +++ b/deployment/ironic/ironic-conductor-container-puppet.yaml @@ -197,6 +197,13 @@ parameters: default: 60 description: iPXE timeout in second. Set to 0 for infinite timeout. type: string + IronicPowerStateChangeTimeout: + default: 60 + description: Number of seconds to wait for power operations to + complete, i.e., so that a baremetal node is in the + desired power state. If timed out, the power operation + is considered a failure. + type: string IronicPassword: description: The password for the Ironic service and db account, used by the Ironic services type: string @@ -313,7 +320,6 @@ outputs: if: - enable_architecture_ppc64le - ironic::pxe::enable_ppc64le: true - ironic::conductor::power_state_change_timeout: 60 ironic::drivers::ipmi::command_retry_timeout: 120 ironic::drivers::ipmi::min_command_interval: 15 - {} @@ -326,6 +332,7 @@ outputs: ironic::conductor::enabled_hardware_types: {get_param: IronicEnabledHardwareTypes} ironic::conductor::force_power_state_during_sync: {get_param: IronicForcePowerStateDuringSync} ironic::conductor::allow_provisioning_in_maintenance: false + ironic::conductor::power_state_change_timeout: {get_param: IronicPowerStateChangeTimeout} # We need an endpoint containing a real IP, not a VIP here ironic_conductor_http_host: str_replace: diff --git a/releasenotes/notes/power_state-457f12af30b9e341.yaml b/releasenotes/notes/power_state-457f12af30b9e341.yaml new file mode 100644 index 0000000000..eb12e68db6 --- /dev/null +++ b/releasenotes/notes/power_state-457f12af30b9e341.yaml @@ -0,0 +1,8 @@ +--- +features: + - | + A heat parameter ``IronicPowerStateChangeTimeout`` has been added which sets + the number of seconds to wait for power operations to complete, i.e., so + that a baremetal node is in the desired power state. If timed out, the power + operation is considered a failure. The default is 60 seconds, which is the + same as the current Ironic default.