docker: restart docker and containerd in handlers

This is more efficient when there are no changes.

Change-Id: I50ef8ea28e7d83e2788e1ceaee93c97765031a15
This commit is contained in:
Mark Goddard 2021-12-08 16:51:33 +00:00 committed by Radosław Piliszek
parent 5471da12b1
commit 137d7643e6
4 changed files with 49 additions and 47 deletions

View File

@ -0,0 +1,21 @@
---
- name: Reload docker service file
become: True
systemd:
name: docker
daemon_reload: yes
notify:
- Restart docker
- name: Restart docker
systemd:
name: docker
state: restarted
masked: no
become: True
- name: Restart containerd
service:
name: containerd
state: restarted
become: True

View File

@ -35,7 +35,8 @@
content: "{{ docker_config | to_nice_json }}"
dest: /etc/docker/daemon.json
mode: 0644
register: docker_configured
notify:
- Restart docker
- name: Remove old docker options file
become: True
@ -47,6 +48,8 @@
- not docker_http_proxy
- not docker_https_proxy
- not docker_no_proxy
notify:
- Reload docker service file
- name: Ensure docker service directory exists
become: True
@ -70,32 +73,16 @@
docker_http_proxy | length > 0 or
docker_https_proxy | length > 0 or
docker_no_proxy | length > 0
notify:
- Reload docker service file
- name: Reload docker service file
become: True
systemd:
name: docker
daemon_reload: yes
register: docker_reloaded
- name: Flush handlers
meta: flush_handlers
- name: Start docker
- name: Start and enable docker
systemd:
name: docker
state: started
masked: no
become: True
- name: Restart docker
systemd:
name: docker
state: restarted
masked: no
become: True
when: docker_configured.changed or docker_reloaded.changed
- name: Enable docker
systemd:
name: docker
enabled: yes
masked: no
become: True

View File

@ -16,7 +16,8 @@
owner: "{{ config_owner_user }}"
group: "{{ config_owner_group }}"
become: True
register: cni_configured
notify:
- Restart containerd
- name: Ensuring CNI bin directory exist
file:
@ -40,11 +41,5 @@
dest: "/etc/containerd/config.toml"
mode: "0660"
become: true
register: containerd_configured
- name: Restart containerd
service:
name: containerd
state: restarted
become: True
when: cni_configured.changed or containerd_configured.changed
notify:
- Restart containerd

View File

@ -12,23 +12,22 @@
# APT starts Docker engine right after installation, which creates
# iptables rules before we disable iptables in Docker config
- block:
- name: Check if docker systemd unit exists
stat:
path: /etc/systemd/system/docker.service
register: docker_unit_file
- name: Check if docker systemd unit exists
stat:
path: /etc/systemd/system/docker.service
register: docker_unit_file
- name: Mask the docker systemd unit on Debian/Ubuntu
file:
src: /dev/null
dest: /etc/systemd/system/docker.service
owner: root
group: root
state: link
become: true
when:
- ansible_facts.os_family == 'Debian'
- not docker_unit_file.stat.exists
- name: Mask the docker systemd unit on Debian/Ubuntu
file:
src: /dev/null
dest: /etc/systemd/system/docker.service
owner: root
group: root
state: link
become: true
when: not docker_unit_file.stat.exists
when: ansible_facts.os_family == 'Debian'
- name: Install packages
package: