
Co-Authored-By: Sergii Golovatiuk <sgolovat@redhat.com> Change-Id: I9367af823058ef5f4edd5e671cdbb971f0451422
86 lines
2.4 KiB
YAML
86 lines
2.4 KiB
YAML
---
|
|
- name: register latest installed kernel version
|
|
shell: |
|
|
rpm -qa | grep ^kernel-[0-9] | sort | tail -1 | awk -F 'kernel-' {'print $2'}
|
|
register: installed_kernel
|
|
|
|
- name: register loaded kernel
|
|
command: uname -r
|
|
register: loaded_kernel
|
|
|
|
- name: register installed openvswitch package version
|
|
shell: |
|
|
rpm --queryformat %{VERSION} -q openvswitch | awk -F "." '{print $1"."$2}'
|
|
register: installed_ovs
|
|
|
|
- name: register loaded openvswitch version
|
|
shell: |
|
|
ovs-vsctl show | grep ovs_version | awk -F \" {'print $2'} | awk -F "." '{print $1"."$2}'
|
|
become: true
|
|
become_user: root
|
|
register: loaded_ovs
|
|
|
|
- name: handle undercloud reboot
|
|
block:
|
|
- name: reboot the undercloud
|
|
shell: "sleep 2 && shutdown -r now"
|
|
async: 1
|
|
poll: 0
|
|
ignore_errors: true
|
|
become: true
|
|
become_user: root
|
|
|
|
- name: wait for node to go down
|
|
become: false
|
|
command: ping -c1 {{ ansible_host }}
|
|
register: node_down
|
|
until: node_down.rc != 0
|
|
retries: 60
|
|
delay: 3
|
|
ignore_errors: true
|
|
delegate_to: localhost
|
|
when: "'hypervisor' not in groups and 'virthost' not in groups"
|
|
|
|
- name: wait for node to go down
|
|
command: ping -c1 {{ ansible_host }}
|
|
register: node_down
|
|
until: node_down.rc != 0
|
|
retries: 60
|
|
delay: 3
|
|
ignore_errors: true
|
|
delegate_to: hypervisor
|
|
when: "'hypervisor' in groups"
|
|
|
|
- name: wait for node to go down
|
|
command: ping -c1 {{ ansible_host }}
|
|
register: node_down
|
|
until: node_down.rc != 0
|
|
retries: 60
|
|
delay: 3
|
|
ignore_errors: true
|
|
delegate_to: virthost
|
|
when: "'virthost' in groups"
|
|
|
|
- name: waiting for the undercloud to be ssh-able
|
|
wait_for_connection:
|
|
connect_timeout: 5
|
|
sleep: 3
|
|
timeout: 630
|
|
|
|
- name: assert UC services started
|
|
shell: |
|
|
source {{ undercloud_rc }} ;
|
|
timeout 10 openstack stack list -f json | jq -c -r '.[]|.["Stack Name"]'
|
|
ignore_errors: true
|
|
register: oc_name
|
|
until: oc_name.stdout.find('{{ overcloud_stack_name }}') != -1
|
|
retries: "{{ service_readiness_count|default(100)|int }}"
|
|
delay: 3
|
|
when:
|
|
- not tripleo_ci
|
|
- >
|
|
undercloud_reboot or
|
|
(installed_kernel.stdout != loaded_kernel.stdout) or
|
|
(installed_ovs.stdout != loaded_ovs.stdout)
|
|
tags: undercloud_reboot
|