summaryrefslogtreecommitdiff
path: root/roles/run-evacuate-hook/tasks/main.yaml
diff options
context:
space:
mode:
authorLee Yarwood <lyarwood@redhat.com>2020-03-06 11:00:49 +0000
committerElod Illes <elod.illes@est.tech>2021-06-25 11:16:33 +0200
commit341ba7aa175a0a082fec6e5360ae3afa2596ca95 (patch)
tree1b3903307a46af116c6aed103446725ecbb91d03 /roles/run-evacuate-hook/tasks/main.yaml
parentba6789e458f5da1e7b792866120128c609ca8537 (diff)
downloadnova-341ba7aa175a0a082fec6e5360ae3afa2596ca95.tar.gz
[CI] Fix gate by using zuulv3 live migration and grenade jobs
This patch is a combination of several legacy-to-zuulv3 job patches to unblock the gate: with the latest Ceph release the legacy grenade jobs started to fail with the following erros (back till ussuri): 'Error EPERM: configuring pool size as 1 is disabled by default.' The patch contains almost a clean backport of the job configuration. Conflicts: gate/live_migration/hooks/run_tests.sh roles/run-evacuate-hook/tasks/main.yaml NOTE(melwitt): The conflict is because change I67255fa1b919a27e92028da95d71ddd4bf53edc1 (lower-constraints: Bump packaging to 20.4) is not in Ussuri. NOTE(lyarwood): An additional change was required to the run-evacuate-hook as we are now running against Bionic based hosts. These hosts only have a single libvirtd service running so stop and start only this during an evacuation run. List of included patches: 1. zuul: Start to migrate nova-live-migration to zuulv3 2. zuul: Replace nova-live-migration with zuulv3 jobs Closes-Bug: #1901739 Change-Id: Ib342e2d3c395830b4667a60de7e492d3b9de2f0a (cherry picked from commit 4ac4a04d1843b0450e8d6d80189ce3e85253dcd0) (cherry picked from commit 478be6f4fbbbc7b05becd5dd92a27f0c4e8f8ef8) 3. zuul: Replace grenade and nova-grenade-multinode with grenade-multinode Change-Id: I02b2b851a74f24816d2f782a66d94de81ee527b0 (cherry picked from commit 91e53e4c2b90ea57aeac4ec522dd7c8c54961d09) (cherry picked from commit c45bedd98d50af865d727b7456c974c8e27bff8b) (cherry picked from commit 2af08fb5ead8ca1fa4d6b8ea00f3c5c3d26e562c) Change-Id: Ibbb3930a6e629e93a424b3ae048f599f11923be3 (cherry picked from commit 1c733d973015999ee692ed48fb10a282c50fdc49)
Diffstat (limited to 'roles/run-evacuate-hook/tasks/main.yaml')
-rw-r--r--roles/run-evacuate-hook/tasks/main.yaml64
1 files changed, 64 insertions, 0 deletions
diff --git a/roles/run-evacuate-hook/tasks/main.yaml b/roles/run-evacuate-hook/tasks/main.yaml
new file mode 100644
index 0000000000..f6c80bcb6b
--- /dev/null
+++ b/roles/run-evacuate-hook/tasks/main.yaml
@@ -0,0 +1,64 @@
+- name: Setup resources and mark the subnode as forced down
+ become: true
+ become_user: stack
+ shell: "/opt/stack/nova/roles/run-evacuate-hook/files/setup_evacuate_resources.sh"
+ environment:
+ SUBNODE_HOSTNAME: "{{ hostvars['compute1']['ansible_hostname'] }}"
+
+- name: Fence subnode by stopping q-agt and n-cpu
+ delegate_to: compute1
+ become: true
+ systemd:
+ name: "{{ item }}"
+ state: stopped
+ with_items:
+ - devstack@q-agt
+ - devstack@n-cpu
+
+- name: Register running domains on subnode
+ delegate_to: compute1
+ become: true
+ virt:
+ command: list_vms
+ state: running
+ register: subnode_vms
+
+- name: Destroy running domains on subnode
+ delegate_to: compute1
+ become: true
+ virt:
+ name: "{{ item }}"
+ state: destroyed
+ with_items: "{{ subnode_vms.list_vms }}"
+
+- name: Stop libvirtd on "{{ inventory_hostname }}"
+ become: true
+ systemd:
+ name: "{{ item }}"
+ state: stopped
+ enabled: no
+ with_items:
+ - libvirtd
+
+- name: Run negative evacuate tests
+ become: true
+ become_user: stack
+ shell: "/opt/stack/nova/roles/run-evacuate-hook/files/test_negative_evacuate.sh"
+ environment:
+ CONTROLLER_HOSTNAME: "{{ hostvars['controller']['ansible_hostname'] }}"
+
+- name: Start libvirtd on "{{ inventory_hostname }}"
+ become: true
+ systemd:
+ name: "{{ item }}"
+ state: started
+ enabled: yes
+ with_items:
+ - libvirtd
+
+- name: Run evacuate tests
+ become: true
+ become_user: stack
+ shell: "/opt/stack/nova/roles/run-evacuate-hook/files/test_evacuate.sh"
+ environment:
+ CONTROLLER_HOSTNAME: "{{ hostvars['controller']['ansible_hostname'] }}"