From e3b75f1dbf3cedaab2c07988d7c3249ad9021e4f Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Sat, 5 Sep 2020 18:13:27 +0900 Subject: [PATCH] Stop ironic services in unupgraded controllers This change makes ironic services on unupgrade controller nodes get stopped, because all services in the unupgraded controllers should be stopped before we start the upgraded controller[1]. [1] 8529ce60da84d2aa1e1c9e6994303678261b09da Change-Id: Iedddb02c4a27195d0f89bc4b9dfb12ffba054ae5 (cherry picked from commit 099badda3caa6304416b35c826d972866097a26b) --- .../ironic/ironic-api-container-puppet.yaml | 14 ++++++++++++++ .../ironic-conductor-container-puppet.yaml | 15 +++++++++++++++ .../ironic-inspector-container-puppet.yaml | 16 ++++++++++++++++ .../ironic/ironic-pxe-container-puppet.yaml | 16 ++++++++++++++++ .../nova/nova-ironic-container-puppet.yaml | 15 +++++++++++++++ 5 files changed, 76 insertions(+) diff --git a/deployment/ironic/ironic-api-container-puppet.yaml b/deployment/ironic/ironic-api-container-puppet.yaml index 35fd1573fb..3ae92222cf 100644 --- a/deployment/ironic/ironic-api-container-puppet.yaml +++ b/deployment/ironic/ironic-api-container-puppet.yaml @@ -300,6 +300,20 @@ outputs: tags: - online_upgrade - online_upgrade_ironic + - when: + - step|int == 1 + tags: + - never + - system_upgrade_transfer_data + - system_upgrade_stop_services + block: + - name: Stop ironic api container + import_role: + name: tripleo_container_stop + vars: + tripleo_containers_to_stop: + - ironic_api + tripleo_delegate_to: "{{ groups['ironic_api'] | default([]) }}" external_update_tasks: - when: step|int == 1 block: *ironic_online_db_migration diff --git a/deployment/ironic/ironic-conductor-container-puppet.yaml b/deployment/ironic/ironic-conductor-container-puppet.yaml index f602ba9921..e7d1e933bb 100644 --- a/deployment/ironic/ironic-conductor-container-puppet.yaml +++ b/deployment/ironic/ironic-conductor-container-puppet.yaml @@ -646,3 +646,18 @@ outputs: - step|int == 0 tags: common block: *ironic_config_data_cleanup + external_upgrade_tasks: + - when: + - step|int == 1 + tags: + - never + - system_upgrade_transfer_data + - system_upgrade_stop_services + block: + - name: Stop ironic conductor container + import_role: + name: tripleo_container_stop + vars: + tripleo_containers_to_stop: + - ironic_conductor + tripleo_delegate_to: "{{ groups['ironic_conductor'] | default([]) }}" diff --git a/deployment/ironic/ironic-inspector-container-puppet.yaml b/deployment/ironic/ironic-inspector-container-puppet.yaml index 720cf967a4..88c7f6fa44 100644 --- a/deployment/ironic/ironic-inspector-container-puppet.yaml +++ b/deployment/ironic/ironic-inspector-container-puppet.yaml @@ -528,3 +528,19 @@ outputs: - step|int == 0 tags: common block: *ironic_config_data_cleanup + external_upgrade_tasks: + - when: + - step|int == 1 + tags: + - never + - system_upgrade_transfer_data + - system_upgrade_stop_services + block: + - name: Stop ironic inspector container + import_role: + name: tripleo_container_stop + vars: + tripleo_containers_to_stop: + - ironic_inspector + - ironic_inspector_dnsmasq + tripleo_delegate_to: "{{ groups['ironic_inspector'] | default([]) }}" diff --git a/deployment/ironic/ironic-pxe-container-puppet.yaml b/deployment/ironic/ironic-pxe-container-puppet.yaml index ef74180c4b..01c504c110 100644 --- a/deployment/ironic/ironic-pxe-container-puppet.yaml +++ b/deployment/ironic/ironic-pxe-container-puppet.yaml @@ -177,3 +177,19 @@ outputs: - { 'path': /var/lib/ironic, 'setype': container_file_t, 'mode': 'g+s' } - { 'path': /var/log/containers/ironic, 'setype': container_file_t, 'mode': '0750' } - { 'path': /var/log/containers/httpd/ironic-pxe, 'setype': container_file_t, 'mode': '0750' } + external_upgrade_tasks: + - when: + - step|int == 1 + tags: + - never + - system_upgrade_transfer_data + - system_upgrade_stop_services + block: + - name: Stop ironic pxe container + import_role: + name: tripleo_container_stop + vars: + tripleo_containers_to_stop: + - ironic_pxe_tftp + - ironic_pxe_http + tripleo_delegate_to: "{{ groups['ironic_pxe'] | default([]) }}" diff --git a/deployment/nova/nova-ironic-container-puppet.yaml b/deployment/nova/nova-ironic-container-puppet.yaml index 5bd4a9c9ae..d3a5a933e0 100644 --- a/deployment/nova/nova-ironic-container-puppet.yaml +++ b/deployment/nova/nova-ironic-container-puppet.yaml @@ -227,3 +227,18 @@ outputs: persistent: yes state: yes external_post_deploy_tasks: {get_attr: [NovaComputeCommon, nova_compute_common_deploy_steps_tasks]} + external_upgrade_tasks: + - when: + - step|int == 1 + tags: + - never + - system_upgrade_transfer_data + - system_upgrade_stop_services + block: + - name: Stop nova ironic container + import_role: + name: tripleo_container_stop + vars: + tripleo_containers_to_stop: + - nova_compute + tripleo_delegate_to: "{{ groups['nova_ironic'] | default([]) }}"