From 0d7a34e8c7c21d18897e4821ec6b12814f89e9c8 Mon Sep 17 00:00:00 2001 From: Doug Szumski Date: Fri, 23 Aug 2019 10:32:36 +0100 Subject: [PATCH] Remove Nova legacy upgrade The rolling upgrade has been the default since Stein. The legacy upgrade has been removed because it doesn't follow the upgrade guide [1]. [1] https://docs.openstack.org/nova/latest/user/upgrade.html Change-Id: I2aa879699cb4e9955bf5c38053eada5a53fb6211 --- ansible/roles/nova/defaults/main.yml | 1 - .../roles/nova/tasks/bootstrap_service.yml | 10 ++----- ansible/roles/nova/tasks/legacy_upgrade.yml | 28 ------------------- ansible/roles/nova/tasks/precheck.yml | 8 ++++++ ansible/roles/nova/tasks/upgrade.yml | 4 --- ...-nova-legacy-upgrade-2211024fdadbd70d.yaml | 5 ++++ 6 files changed, 16 insertions(+), 40 deletions(-) delete mode 100644 ansible/roles/nova/tasks/legacy_upgrade.yml create mode 100644 releasenotes/notes/remove-nova-legacy-upgrade-2211024fdadbd70d.yaml diff --git a/ansible/roles/nova/defaults/main.yml b/ansible/roles/nova/defaults/main.yml index 282f0cf380..8517eb8ec1 100644 --- a/ansible/roles/nova/defaults/main.yml +++ b/ansible/roles/nova/defaults/main.yml @@ -359,7 +359,6 @@ nova_logging_debug: "{{ openstack_logging_debug }}" openstack_nova_auth: "{{ openstack_auth }}" nova_compute_host_rp_filter_mode: 0 -nova_enable_rolling_upgrade: "yes" nova_safety_upgrade: "no" nova_libvirt_port: "{{'16514' if libvirt_tls | bool else '16509'}}" diff --git a/ansible/roles/nova/tasks/bootstrap_service.yml b/ansible/roles/nova/tasks/bootstrap_service.yml index 295bb2ded5..e8dde5dccc 100644 --- a/ansible/roles/nova/tasks/bootstrap_service.yml +++ b/ansible/roles/nova/tasks/bootstrap_service.yml @@ -2,18 +2,14 @@ - name: Running Nova bootstrap container vars: nova_api: "{{ nova_services['nova-api'] }}" - bootstrap_environment: - KOLLA_BOOTSTRAP: - KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" - upgrade_environment: - KOLLA_UPGRADE: - KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" become: true kolla_docker: action: "start_container" common_options: "{{ docker_common_options }}" detach: False - environment: "{{ upgrade_environment if nova_enable_rolling_upgrade|bool else bootstrap_environment }}" + environment: + KOLLA_UPGRADE: + KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}" image: "{{ nova_api.image }}" labels: BOOTSTRAP: diff --git a/ansible/roles/nova/tasks/legacy_upgrade.yml b/ansible/roles/nova/tasks/legacy_upgrade.yml deleted file mode 100644 index 04c879e3bc..0000000000 --- a/ansible/roles/nova/tasks/legacy_upgrade.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -- include_tasks: config.yml - -- include_tasks: bootstrap_service.yml - -- name: Checking if conductor container needs upgrading - become: true - kolla_docker: - action: "compare_image" - common_options: "{{ docker_common_options }}" - name: "nova_conductor" - image: "{{ nova_conductor_image_full }}" - when: inventory_hostname in groups['nova-conductor'] - register: conductor_differs - -# Short downtime here, but from user perspective his call will just timeout or execute later -- name: Stopping all nova_conductor containers - become: true - kolla_docker: - action: "stop_container" - common_options: "{{ docker_common_options }}" - name: "nova_conductor" - when: - - inventory_hostname in groups['nova-conductor'] - - conductor_differs['result'] - -- name: Flush handlers - meta: flush_handlers diff --git a/ansible/roles/nova/tasks/precheck.yml b/ansible/roles/nova/tasks/precheck.yml index 3978379dfc..1fe23a8dcb 100644 --- a/ansible/roles/nova/tasks/precheck.yml +++ b/ansible/roles/nova/tasks/precheck.yml @@ -129,3 +129,11 @@ - nova_compute_virt_type in ['kvm', 'qemu'] - container_facts['nova_libvirt'] is not defined - inventory_hostname in groups[nova_libvirt.group] + +# TODO(mgoddard): Remove this task in the Ussuri cycle. +- name: Check that legacy upgrade is not enabled + fail: + msg: > + Legacy upgrade support has been removed. 'nova_enable_rolling_upgrade' + should no longer be set. + when: not nova_enable_rolling_upgrade | default(true) | bool diff --git a/ansible/roles/nova/tasks/upgrade.yml b/ansible/roles/nova/tasks/upgrade.yml index f33f11fae8..1b5dfa40be 100644 --- a/ansible/roles/nova/tasks/upgrade.yml +++ b/ansible/roles/nova/tasks/upgrade.yml @@ -15,11 +15,7 @@ first_nova_api_host: "{{ groups['nova-api'][0] }}" when: hostvars[first_nova_api_host]['nova_upgrade_check_stdout']['rc'] not in [0, 1] -- include_tasks: legacy_upgrade.yml - when: not nova_enable_rolling_upgrade | bool - - include_tasks: rolling_upgrade.yml - when: nova_enable_rolling_upgrade | bool # NOTE(jeffrey4l): Remove this task in U cycle. - name: Remove nova-consoleauth container diff --git a/releasenotes/notes/remove-nova-legacy-upgrade-2211024fdadbd70d.yaml b/releasenotes/notes/remove-nova-legacy-upgrade-2211024fdadbd70d.yaml new file mode 100644 index 0000000000..94f57bdb86 --- /dev/null +++ b/releasenotes/notes/remove-nova-legacy-upgrade-2211024fdadbd70d.yaml @@ -0,0 +1,5 @@ +--- +upgrade: + - The legacy upgrade method for Nova has been removed in favour of the + rolling upgrade which has been the default since Stein. + ``nova_enable_rolling_upgrade`` should no longer be set.