2bb9b4995a
On Centos8, during the docker-ce installation, the docker.socket service is start with a bogus state: docker.socket: Socket unit configuration has changed while unit has been running, no open socket file descriptor left. The socket unit is not functional until restarted. Later, when the `Assure docker service is running` task tries to start the service, it fails with the following error: dockerd[29743]: failed to load listeners: no sockets found via socket activation: make sure the service was started by systemd Example: https://0c7366f2ce9149f2de0c-399b55a396b5093070500a70ecbf09b9.ssl.cf1.rackcdn.com/410/c233496b96c70cfc6204e75d10116a96b08d4663/check/ansible-test-sanity-docker/787388f/ara-report/index.html Another example: https://github.com/kata-containers/tests/issues/3103 Also: Remove use of kubectl --generator=run-pod/v1 This has been deprecated since 1.17 and removed since 1.20. run-pod wound up being the only generator that did anything, so this parameter became a no-op. This has to be squashed into this commit to unbreak the gate. Change-Id: I666046fe2a3aa079643092c71573803851a67be2
64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
---
|
|
|
|
- name: Ensure "docker" group exists
|
|
group:
|
|
name: "{{ docker_group }}"
|
|
state: present
|
|
|
|
- name: Add user to docker group
|
|
user:
|
|
name: "{{ ansible_user }}"
|
|
groups:
|
|
- "{{ docker_group }}"
|
|
append: yes
|
|
|
|
- name: Update docker daemon proxy configuration
|
|
when: docker_userland_proxy is defined
|
|
include_role:
|
|
name: update-json-file
|
|
vars:
|
|
update_json_file_name: /etc/docker/daemon.json
|
|
update_json_file_combine:
|
|
userland-proxy: "{{ docker_userland_proxy }}"
|
|
update_json_file_become: true
|
|
|
|
# Docker defaults to a MTU of 1500, which causes problems when the
|
|
# main interface has a MTU less than that. Cloud environments often
|
|
# have this, one good example is OpenDev's Linaro ARM64 cloud.
|
|
# https://storyboard.openstack.org/#!/story/2008230
|
|
- name: Lower default MTU
|
|
when: ansible_default_ipv4.mtu < 1500
|
|
include_role:
|
|
name: update-json-file
|
|
vars:
|
|
update_json_file_name: /etc/docker/daemon.json
|
|
update_json_file_combine:
|
|
mtu: 1400
|
|
update_json_file_become: true
|
|
|
|
- name: Get the status of the docket.socket unit
|
|
command: systemctl is-failed docker.socket # noqa command-instead-of-module
|
|
failed_when: false
|
|
become: true
|
|
register: _docker_socket_status
|
|
|
|
- name: Get the status of the docket unit
|
|
command: systemctl is-failed docker # noqa command-instead-of-module
|
|
failed_when: false
|
|
become: true
|
|
register: _docker_status
|
|
|
|
- name: Restart docker
|
|
when: >-
|
|
(docker_userland_proxy is defined) or
|
|
(ansible_default_ipv4.mtu < 1500) or
|
|
(_docker_socket_status.stdout != 'active') or
|
|
(_docker_socket_status.stdout != 'active')
|
|
debug:
|
|
msg: 'Trigger a Docker restart'
|
|
changed_when: true
|
|
notify: Restart docker
|
|
|
|
- name: Reset ssh connection to pick up docker group
|
|
meta: reset_connection
|