OpenShift 4 Installation using libvirt & terraform
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

69 lines
1.8 KiB

- name: Add the libvirt server to the inventory
hosts: localhost
gather_facts: no
tasks:
- add_host:
hostname: '{{ lookup("env", "LIBVIRT_SERVER") }}'
ansible_host: '{{ lookup("env", "LIBVIRT_SERVER") }}'
ansible_user: '{{ lookup("env", "LIBVIRT_USER") }}'
groups: hypervisor
- name: Stop the OpenShift cluster
hosts: hypervisor
gather_facts: no
become: yes
vars:
lb: '{{ nodes | selectattr("role", "eq", "lb") | first }}'
storage: '{{ nodes | selectattr("role", "eq", "storage") | first }}'
workers: '{{ nodes | selectattr("role", "eq", "worker") | list }}'
masters: '{{ nodes | selectattr("role", "eq", "master") | list }}'
tasks:
- name: Stop the workers
community.libvirt.virt:
name: '{{ item.name }}'
state: shutdown
loop: '{{ workers }}'
loop_control:
label: "{{ item.name }}"
- name: Wait for the workers to shutdown
community.libvirt.virt:
name: '{{ item.name }}'
command: info
register: vm
until: "vm[item.name].state == 'shutdown'"
retries: 48
delay: 5
loop: '{{ workers }}'
loop_control:
label: "{{ item.name }}"
- name: Stop the masters
community.libvirt.virt:
name: '{{ item.name }}'
state: shutdown
loop: '{{ masters }}'
loop_control:
label: "{{ item.name }}"
- name: Wait for the masters to shutdown
community.libvirt.virt:
name: '{{ item.name }}'
command: info
register: vm
until: "vm[item.name].state == 'shutdown'"
retries: 48
delay: 5
loop: '{{ masters }}'
loop_control:
label: "{{ item.name }}"
- name: Stop the remaining nodes
community.libvirt.virt:
name: '{{ item.name }}'
state: shutdown
loop:
- '{{ lb }}'
- '{{ storage }}'
loop_control:
label: "{{ item.name }}"