quick_test/docker_disable.yml

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"