112 lines
3.6 KiB
YAML
112 lines
3.6 KiB
YAML
---
|
|
- name: Something
|
|
hosts: all
|
|
become: false
|
|
gather_facts: true
|
|
|
|
vars:
|
|
bigboot_docker_service: docker.service
|
|
bigboot_docker_running: stopped
|
|
bigboot_docker_enabled: false
|
|
|
|
|
|
tasks:
|
|
- name: Get the list of services on the host
|
|
ansible.builtin.service_facts:
|
|
|
|
# - name: Debug services
|
|
# ansible.builtin.debug:
|
|
# var: ansible_facts['services']
|
|
|
|
- name: Show docker.service infos
|
|
ansible.builtin.debug:
|
|
msg: "{{ ansible_facts['services'][bigboot_docker_service] }}"
|
|
when:
|
|
- "'docker.service' in ansible_facts['services']"
|
|
|
|
# - name: Set Docker environemnt
|
|
# ansible.builtin.set_fact:
|
|
# bigboot_docker_data: "{{ bigboot_docker_data | default({}) |
|
|
# combine({inventory_hostname:
|
|
# {
|
|
# 'bigboot_docker_running': ansible_facts['services'][bigboot_docker_service]['state'],
|
|
# 'bigboot_docker_enabled': ansible_facts['services'][bigboot_docker_service]['status']
|
|
# }
|
|
# }) }}"
|
|
|
|
# - name: Set Docker running state
|
|
# ansible.builtin.set_fact:
|
|
# bigboot_docker_running: started
|
|
# when:
|
|
# - ansible_facts['services'][bigboot_docker_service] is defined
|
|
# - ansible_facts['services'][bigboot_docker_service]['state'] == "running"
|
|
|
|
# - name: Set Docker enabled state
|
|
# ansible.builtin.set_fact:
|
|
# bigboot_docker_enabled: true
|
|
# when:
|
|
# - ansible_facts['services'][bigboot_docker_service] is defined
|
|
# - ansible_facts['services'][bigboot_docker_service]['status'] == "enabled"
|
|
|
|
- name: Manage Docker state if required
|
|
when:
|
|
- ansible_facts['services'][bigboot_docker_service] is defined
|
|
block:
|
|
- name: Set Docker running state
|
|
ansible.builtin.set_fact:
|
|
bigboot_docker_running: started
|
|
when:
|
|
- ansible_facts['services'][bigboot_docker_service]['state'] == "running"
|
|
|
|
- name: Set Docker enabled state
|
|
ansible.builtin.set_fact:
|
|
bigboot_docker_enabled: true
|
|
when:
|
|
- ansible_facts['services'][bigboot_docker_service]['status'] == "enabled"
|
|
|
|
- name: Debug bigboot_docker_running
|
|
ansible.builtin.debug:
|
|
msg: "{{ bigboot_docker_running }}"
|
|
|
|
- name: Debug bigboot_docker_enabled
|
|
ansible.builtin.debug:
|
|
msg: "{{ bigboot_docker_enabled }}"
|
|
|
|
- name: Stop Docker service due to incompatibility
|
|
ansible.builtin.service:
|
|
name: "{{ bigboot_docker_service }}"
|
|
state: stopped
|
|
enabled: false
|
|
when:
|
|
- ansible_facts['services'][bigboot_docker_service] is defined
|
|
- ansible_facts['services'][bigboot_docker_service]['state'] == "running"
|
|
|
|
- name: Sleep for 30 seconds
|
|
ansible.builtin.pause:
|
|
seconds: 30
|
|
|
|
- name: Restore Docker service to its pre-Bigboot state
|
|
ansible.builtin.service:
|
|
name: "{{ bigboot_docker_service }}"
|
|
state: "{{ bigboot_docker_running }}"
|
|
enabled: "{{ bigboot_docker_enabled }}"
|
|
when:
|
|
- ansible_facts['services'][bigboot_docker_service] is defined
|
|
|
|
# - name: Re-enable Docker service
|
|
# ansible.builtin.service:
|
|
# name: docker.service
|
|
# state: started
|
|
# enabled: true
|
|
# when:
|
|
# - "'docker.service' in ansible_facts['services']"
|
|
|
|
|
|
# - name: Stop Docker service due to incompatibility
|
|
# ansible.builtin.service:
|
|
# name: "{{ bigboot_docker_service }}"
|
|
# state: stopped
|
|
# when:
|
|
# - ansible_facts['services'][bigboot_docker_service] is defined
|
|
# - ansible_facts['services'][bigboot_docker_service]['state'] == "running"
|