nova/roles/run-evacuate-hook/tasks/main.yaml
Dan Smith bfdc99ffbb Install lxml before we need it in post-run
Change-Id: Ibf6bfde6c524821fa5dc3c01b2eb57635e587de6
Closes-Bug: #2039463
2023-10-16 08:32:56 -07:00

100 lines
2.4 KiB
YAML

- 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 n-cpu
delegate_to: compute1
become: true
systemd:
name: devstack@n-cpu
state: stopped
- name: Check if q-agt exists
shell: sudo systemctl status devstack@q-agt
ignore_errors: true
register: qagtstatus
- name: Fence subnode by stopping q-agt (if exists)
delegate_to: compute1
become: true
systemd:
name: devstack@q-agt
state: stopped
when: qagtstatus.rc | int == 0
- name: Make sure lxml is installed
delegate_to: compute1
become: true
package:
name: python3-lxml
state: present
- 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.service
- libvirtd.socket
- libvirtd-admin.socket
- libvirtd-ro.socket
- virtlogd.service
- virtlogd-admin.socket
- virtlogd.socket
- virtlockd.service
- virtlockd-admin.socket
- virtlockd.socket
- 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.service
- libvirtd.socket
- libvirtd-admin.socket
- libvirtd-ro.socket
- virtlogd.service
- virtlogd-admin.socket
- virtlogd.socket
- virtlockd.service
- virtlockd-admin.socket
- virtlockd.socket
- 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'] }}"