From 768b8f3964cb655fdc09c29cee554e6402b7e9f9 Mon Sep 17 00:00:00 2001 From: Bogdan Dobrelya Date: Mon, 12 Dec 2022 14:36:24 +0100 Subject: [PATCH] Role-spec NovaComputeStartupDelay Make it role-specific for other compute roles, like HCI, to work with it Follow-up Ie7ad2d835c1762dc4b9341e305e6a428cb087935 Signed-off-by: Bogdan Dobrelya Change-Id: I7d5c01d21af34df5e9fa8842f46aa435975a2ace --- .../nova/nova-compute-container-puppet.yaml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/deployment/nova/nova-compute-container-puppet.yaml b/deployment/nova/nova-compute-container-puppet.yaml index 074e16fa24..622b258acc 100644 --- a/deployment/nova/nova-compute-container-puppet.yaml +++ b/deployment/nova/nova-compute-container-puppet.yaml @@ -100,6 +100,8 @@ parameters: type: number constraints: - range: { min: 0, max: 600 } + tags: + - role_specific EnableInstanceHA: default: false description: Whether to enable an Instance Ha configuration or not. @@ -859,8 +861,13 @@ conditions: not: {equals: [{get_param: AuthCloudName}, ""]} compute_startup_delay: and: - - not: {equals: [{get_param: NovaComputeStartupDelay}, 0]} - not: {get_param: EnableInstanceHA} + - not: + and: + - {equals: [{get_param: NovaComputeStartupDelay}, 0]} + - or: + - {equals: [{get_param: [RoleParameters, NovaComputeStartupDelay]}, 0]} + - {equals: [{get_param: [RoleParameters, NovaComputeStartupDelay]}, '']} libvirt_file_backed_memory_enabled: #not (P = 0 and (R = 0 or R = ")) not: @@ -981,6 +988,7 @@ resources: nova::compute::libvirt::cpu_models: NovaLibvirtCPUModels nova::compute::libvirt::cpu_model_extra_flags: NovaLibvirtCPUModelExtraFlags nova_compute_opt_volumes: NovaComputeOptVolumes + nova_compute_startup_delay: NovaComputeStartupDelay nova_compute_opt_env_vars: NovaComputeOptEnvVars nova::workarounds::never_download_image_if_on_rbd: NovaDisableImageDownloadToRbd nova::compute::image_type_exclude_list: NovaImageTypeExcludeList @@ -1084,6 +1092,7 @@ resources: NovaLibvirtCPUModels: {get_param: NovaLibvirtCPUModels} NovaLibvirtCPUModelExtraFlags: {get_param: NovaLibvirtCPUModelExtraFlags} NovaComputeOptVolumes: {get_param: NovaComputeOptVolumes} + NovaComputeStartupDelay: {get_param: NovaComputeStartupDelay} NovaComputeOptEnvVars: {get_param: NovaComputeOptEnvVars} NovaDisableImageDownloadToRbd: {get_param: NovaDisableImageDownloadToRbd} NovaImageTypeExcludeList: {get_param: NovaImageTypeExcludeList} @@ -1268,7 +1277,7 @@ outputs: - compute_startup_delay - str_replace: template: '/var/lib/nova/delay-nova-compute --delay DELAY --nova-binary' - params: { DELAY: {get_param: NovaComputeStartupDelay} } + params: { DELAY: {get_attr: [RoleParametersValue, value, nova_compute_startup_delay]} } - if: - {get_param: EnableInstanceHA} - /var/lib/nova/instanceha/check-run-nova-compute @@ -1573,7 +1582,7 @@ outputs: when: "'compute_instanceha' in service_names" - name: Do we prepend nova startup with a delay set_fact: - nova_compute_delay: {get_param: NovaComputeStartupDelay} + nova_compute_delay: {get_attr: [RoleParametersValue, value, nova_compute_startup_delay]} - name: install nova-compute delay wrapper script copy: content: {get_file: ../../scripts/delay-nova-compute}