Skip to content

Commit fad8353

Browse files
committed
Fixed #121 etc
1 parent 245a60e commit fad8353

File tree

6 files changed

+94
-63
lines changed

6 files changed

+94
-63
lines changed

.gitattributes

+4
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,7 @@
66
*.yml text eol=lf
77
*.json text eol=lf
88
*.j2 text eol=lf
9+
10+
# Do not export github and test related files to archive
11+
.github/ export-ignore
12+
tests/ export-ignore

CHANGELOG.md

+9
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## [Unreleased](../../releases/tag/X.Y.Z)
99

10+
### Changed
11+
12+
- Update default docker-compose version to 1.26.2
13+
- Changed `docker_x_ssl_match_hostname` to true and detection if missing
14+
15+
### Fixed
16+
17+
- No module named shutil_get_terminal_size ([#121](../../issues/121))
18+
1019
### Added
1120

1221
- Add missing audit rules which are defined in CIS Docker Benchmark 1.2.0 ([#120](../../issues/120))

README.md

+19-20
Original file line numberDiff line numberDiff line change
@@ -164,19 +164,18 @@ Here is the latest test results of the automated test which is located in the te
164164

165165
Note! All distributions listed in test matrix below does not provided the latest released Docker CE version.
166166

167-
**Last run:** 2020-07-03 (Latest possible Docker CE release 19.03.9, Run with Ansible 2.8.12)
167+
**Last run:** 2020-08-08 (Latest possible Docker CE release 19.03.9, Run with Ansible 2.8.13)
168168

169169
### Test Suites
170170

171171
| Suite | ID | Comment |
172172
|-------|------------------------|--------------------------------------------------------------------------------------|
173173
| s-1 | t_config | |
174-
| s-2 | t_channel | These tests might fail because it might not be any nightly Docker CE build available |
174+
| s-2 | t_channel | Fail sometime since it might not be any nightly Docker CE build available |
175175
| s-3 | t_postinstall | |
176-
| s-4 | t_old_docker | |
177-
| s-5 | t_devicemapper_config | |
178-
| s-6 | t_auditd | |
179-
| s-7 | t_docker_compatibility |
176+
| s-4 | t_devicemapper_config | |
177+
| s-5 | t_auditd | |
178+
| s-6 | t_docker_compatibility |
180179

181180
### Test Matrix
182181

@@ -186,20 +185,20 @@ Note! All distributions listed in test matrix below does not provided the latest
186185
| :x: | At least one test failed |
187186
| :heavy_minus_sign: | No test done / Not yet tested |
188187

189-
| # | s-1 | s-2 | s-3 | s-4 | s-5 | s-6 | s-7 |
190-
|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|
191-
| centos/7 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
192-
| centos/8 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
193-
| generic/ubuntu1604 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
194-
| generic/ubuntu1804 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
195-
| generic/ubuntu2004 | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
196-
| generic/debian8 | :x: | :x: | :x: | :heavy_minus_sign: | :x: | :x: | :heavy_minus_sign: |
197-
| generic/debian9 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
198-
| generic/debian10 | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
199-
| generic/fedora30 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
200-
| generic/fedora31 | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
201-
| rhel/7 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
202-
| rhel/8 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
188+
| # | s-1 | s-2 | s-3 | s-5 | s-6 | s-7 |
189+
|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|--------------------|
190+
| centos/7 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
191+
| centos/8 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
192+
| generic/ubuntu1604 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
193+
| generic/ubuntu1804 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
194+
| generic/ubuntu2004 | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
195+
| generic/debian8 | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
196+
| generic/debian9 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
197+
| generic/debian10 | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
198+
| generic/fedora30 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
199+
| generic/fedora31 | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
200+
| rhel/7 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
201+
| rhel/8 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
203202

204203
## License
205204

defaults/main.yml

+5-2
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ docker_compose_no_pip: false
113113
# Uses Github API to lookup latest version of docker compose
114114
docker_compose_no_pip_detect_version: true
115115
# Docker compose version to use if no automatic lookup is used
116-
docker_compose_no_pip_version: 1.26.0
116+
docker_compose_no_pip_version: 1.26.2
117117
# Ensures dependencies are installed so that 'docker_stack' Ansible module will work.
118118
docker_stack: false
119119
# Additional PiP packages to install after Docker is configured and started.
@@ -136,10 +136,13 @@ docker_pip_sudo: true
136136

137137
# Workaround for - No module named ssl_match_hostname
138138
# https://github.com/docker/docker-py/issues/1502
139-
docker_x_ssl_match_hostname: false
139+
docker_x_ssl_match_hostname: true
140140
# Workaround for - No module named zipp
141141
# https://github.com/haxorof/ansible-role-docker-ce/issues/112
142142
docker_x_fix_no_zipp_module: true
143+
# Workaround for - No module named shutil_get_terminal_size
144+
# https://github.com/haxorof/ansible-role-docker-ce/issues/121
145+
docker_x_shutil_get_terminal_size: true
143146

144147
################################################################################
145148
# Docker removal configuration

tasks/postinstall.yml

+57-35
Original file line numberDiff line numberDiff line change
@@ -151,12 +151,40 @@
151151

152152
# https://github.com/docker/docker-py/issues/1502
153153
- name: Workaround for issue - No module named ssl_match_hostname (Python 2.7)
154-
become: yes
155-
command: cp -r /usr/local/lib/python2.7/dist-packages/backports/ssl_match_hostname/ /usr/lib/python2.7/dist-packages/backports
154+
block:
155+
- name: Test if module ssl_match_hostname exists
156+
command: python -c "import backports.ssl_match_hostname"
157+
register: _docker_check_smh
158+
changed_when: no
159+
failed_when: _docker_check_smh.rc > 1
160+
check_mode: no
161+
162+
- name: Apply workaround for issue - No module named ssl_match_hostname (Python 2.7)
163+
become: yes
164+
command: cp -r /usr/local/lib/python2.7/dist-packages/backports/ssl_match_hostname/ /usr/lib/python2.7/dist-packages/backports
165+
when: _docker_check_smh.rc == 1
156166
when:
157167
- docker_x_ssl_match_hostname | bool
168+
- not _docker_python3 | bool
158169
- _docker_additional_packages_pip | length > 0
170+
171+
- name: Workaround for issue - No module named shutil_get_terminal_size (Python 2.7)
172+
block:
173+
- name: Test if module shutil_get_terminal_size exists
174+
command: python -c "import backports.shutil_get_terminal_size"
175+
register: _docker_check_shutil
176+
changed_when: no
177+
failed_when: _docker_check_shutil.rc > 1
178+
check_mode: no
179+
180+
- name: Apply workaround for issue - No module named shutil_get_terminal_size (Python 2.7)
181+
become: yes
182+
command: cp -r /usr/local/lib/python2.7/dist-packages/backports/shutil_get_terminal_size/ /usr/lib/python2.7/dist-packages/backports
183+
when: _docker_check_shutil.rc == 1
184+
when:
185+
- docker_x_shutil_get_terminal_size | bool
159186
- not _docker_python3 | bool
187+
- _docker_additional_packages_pip | length > 0
160188

161189
- name: Stat /usr/bin/docker-compose
162190
stat:
@@ -192,42 +220,36 @@
192220
when:
193221
- not docker_compose_no_pip_detect_version | bool
194222

195-
- name: Fetch docker-compose SHA265 sum file
196-
get_url:
197-
url: "https://github.com/docker/compose/releases/download/\
198-
{{ _docker_compose_version }}/docker-compose-{{ ansible_system }}-{{ ansible_architecture }}.sha256"
199-
dest: "/tmp/ansible.docker-compose-sha256"
200-
register: _github_docker_compose_shasum_file
201-
changed_when: false
202-
until: _github_docker_compose_shasum_file.status_code == 200
203-
retries: 10
204-
check_mode: no
223+
- name: Fetch SHA256 of docker-compose
224+
block:
225+
- name: Fetch docker-compose SHA265 sum file
226+
get_url:
227+
url: "https://github.com/docker/compose/releases/download/\
228+
{{ _docker_compose_version }}/docker-compose-{{ ansible_system }}-{{ ansible_architecture }}.sha256"
229+
dest: "/tmp/ansible.docker-compose-sha256"
230+
register: _github_docker_compose_shasum_file
231+
changed_when: false
232+
until: _github_docker_compose_shasum_file.status_code == 200
233+
retries: 10
234+
check_mode: no
205235

206-
- name: Dump SHA256 file contents to variable
207-
command: cat /tmp/ansible.docker-compose-sha256
208-
register: _github_docker_compose_shasum
209-
changed_when: false
210-
check_mode: no
236+
- name: Dump SHA256 file contents to variable
237+
command: cat /tmp/ansible.docker-compose-sha256
238+
register: _github_docker_compose_shasum
239+
changed_when: false
240+
check_mode: no
211241

212-
- name: Remove temporary file for SHA256 sum
213-
file:
214-
path: "/tmp/ansible.docker-compose-sha256"
215-
state: absent
216-
changed_when: false
217-
check_mode: no
242+
- name: Remove temporary file for SHA256 sum
243+
file:
244+
path: "/tmp/ansible.docker-compose-sha256"
245+
state: absent
246+
changed_when: false
247+
check_mode: no
218248

219-
- name: Set SHA256 facts related to docker-compose
220-
set_fact:
221-
_docker_compose_checksum: "sha256:{{ _github_docker_compose_shasum.stdout | \
222-
regex_replace('^([0-9a-zA-Z]*)[\\s\\t]+.+', '\\1') }}"
223-
224-
# Use when moving to Ansible 2.7 as minimum version
225-
# - name: Set SHA256 facts related to docker-compose (Ansible >= 2.7)
226-
# set_fact:
227-
# _docker_compose_checksum: "sha256:https://github.com/docker/compose/releases/download/\
228-
# {{ _github_docker_compose.json.tag_name }}/\
229-
# docker-compose-{{ ansible_system }}-{{ ansible_architecture }}.sha256"
230-
# when: ansible_version.full is version_compare('2.7', '>=')
249+
- name: Set SHA256 facts related to docker-compose
250+
set_fact:
251+
_docker_compose_checksum: "sha256:{{ _github_docker_compose_shasum.stdout | \
252+
regex_replace('^([0-9a-zA-Z]*)[\\s\\t]+.+', '\\1') }}"
231253

232254
- name: Install docker-compose {{ _docker_compose_version }} (Linux)
233255
become: true

tests/test_postinstall.yml

-6
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,6 @@
2525
hosts: test-host
2626
vars:
2727
tasks:
28-
- name: Enable experimental workarounds (Debian Buster)
29-
set_fact:
30-
docker_x_ssl_match_hostname: true
31-
when:
32-
- ansible_distribution == "Debian" and ansible_distribution_major_version == 'buster/sid'
33-
3428
- name: Install Docker SDK using PiP
3529
include_role:
3630
name: haxorof.docker_ce

0 commit comments

Comments
 (0)