From a1aa622a671082cb81649444862029098849e52e Mon Sep 17 00:00:00 2001 From: Florent David Date: Sun, 1 May 2022 15:00:06 +0200 Subject: [PATCH] Override Systemd conf when hosts is defined --- files/systemd-override.conf | 3 +++ handlers/main.yml | 4 ++++ tasks/main.yml | 25 ++++++++++++++++++++++--- 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 files/systemd-override.conf diff --git a/files/systemd-override.conf b/files/systemd-override.conf new file mode 100644 index 0000000..e7662bd --- /dev/null +++ b/files/systemd-override.conf @@ -0,0 +1,3 @@ +[Service] +ExecStart= +ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock diff --git a/handlers/main.yml b/handlers/main.yml index a173b0d..9e3749b 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -1,4 +1,8 @@ --- +- name: reload systemd + systemd: + daemon_reload: true + - name: restart docker service: "name=docker state={{ docker_restart_handler_state }}" ignore_errors: "{{ ansible_check_mode }}" diff --git a/tasks/main.yml b/tasks/main.yml index f050dd6..7759128 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -29,6 +29,25 @@ mode: 0755 when: docker_daemon_options.keys() | length > 0 +- name: Override Docker Systemd configuration. + block: + - name: Create Docker Systemd directory. + file: + path: /etc/systemd/system/docker.service.d + owner: root + group: root + mode: 0755 + state: directory + - name: Copy Systemd patch. + copy: + src: systemd-override.conf + dest: /etc/systemd/system/docker.service.d/override.conf + owner: root + group: root + mode: 0644 + notify: reload systemd + when: "'hosts' in docker_daemon_options.keys()" + - name: Configure Docker daemon options. copy: content: "{{ docker_daemon_options | to_nice_json }}" @@ -37,6 +56,9 @@ when: docker_daemon_options.keys() | length > 0 notify: restart docker +- name: Ensure handlers are notified now to avoid firewall conflicts. + meta: flush_handlers + - name: Ensure Docker is started and enabled at boot. service: name: docker @@ -44,9 +66,6 @@ enabled: "{{ docker_service_enabled }}" ignore_errors: "{{ ansible_check_mode }}" -- name: Ensure handlers are notified now to avoid firewall conflicts. - meta: flush_handlers - - include_tasks: docker-compose.yml when: docker_install_compose | bool