|
46 | 46 | changed_when: false
|
47 | 47 | register: running_containers
|
48 | 48 |
|
| 49 | +# APT starts Docker engine right after installation, which creates |
| 50 | +# iptables rules before we disable iptables in Docker config |
| 51 | + |
| 52 | +- name: Check if docker systemd unit exists |
| 53 | + stat: |
| 54 | + path: /etc/systemd/system/docker.service |
| 55 | + register: docker_unit_file |
| 56 | + |
| 57 | +- name: Mask the docker systemd unit on Debian/Ubuntu |
| 58 | + file: |
| 59 | + src: /dev/null |
| 60 | + dest: /etc/systemd/system/docker.service |
| 61 | + owner: root |
| 62 | + group: root |
| 63 | + state: link |
| 64 | + become: true |
| 65 | + when: |
| 66 | + - ansible_os_family == 'Debian' |
| 67 | + - not docker_unit_file.stat.exists |
| 68 | + |
49 | 69 | - name: Install apt packages
|
50 | 70 | package:
|
51 | 71 | name: "{{ (debian_pkg_install | join(' ')).split() }}"
|
|
78 | 98 | # At some point (at least on CentOS 7) Docker CE stopped starting
|
79 | 99 | # automatically after an upgrade from legacy docker . Start it manually.
|
80 | 100 | - name: Start docker
|
81 |
| - service: |
| 101 | + systemd: |
82 | 102 | name: docker
|
83 | 103 | state: started
|
84 | 104 | enabled: yes
|
| 105 | + masked: no |
85 | 106 | become: True
|
86 | 107 |
|
87 | 108 | - name: Wait for Docker to start
|
|
116 | 137 | - name: Install docker SDK for python
|
117 | 138 | pip:
|
118 | 139 | # NOTE(hrw) docker 2.4.2 is in kolla-ansible requirements
|
119 |
| - name: docker>=2.4.2 |
| 140 | + # NOTE(mnasiadka): docker 5.0.0 lacks six in deps but requires it |
| 141 | + name: docker>=2.4.2,<5.0.0 |
120 | 142 | executable: "{{ virtualenv is none | ternary('pip3', omit) }}"
|
121 | 143 | virtualenv: "{{ virtualenv is none | ternary(omit, virtualenv) }}"
|
122 | 144 | virtualenv_site_packages: "{{ virtualenv is none | ternary(omit, virtualenv_site_packages) }}"
|
|
128 | 150 | name: "{{ (ubuntu_pkg_removals | join(' ')).split() }}"
|
129 | 151 | state: absent
|
130 | 152 | become: True
|
131 |
| - when: ansible_distribution|lower == "ubuntu" |
| 153 | + when: ansible_os_family == 'Debian' |
132 | 154 |
|
133 | 155 | - name: Remove packages
|
134 | 156 | package:
|
|
0 commit comments