mirror of
https://github.com/geerlingguy/ansible-role-docker.git
synced 2025-09-26 17:51:03 +02:00
Enhancement: versionlock our package
- install yum-plugin-versionlock - lock the docker-$edition package on what we installed Related: pngmbh/issues#389
This commit is contained in:
parent
79c65ff913
commit
053d6669f9
@ -1,3 +1,17 @@
|
|||||||
---
|
---
|
||||||
- name: restart docker
|
- name: restart docker
|
||||||
service: "name=docker state={{ docker_restart_handler_state }}"
|
service: "name=docker state={{ docker_restart_handler_state }}"
|
||||||
|
|
||||||
|
# some context:
|
||||||
|
# - the repo doesn't offer *all* docker-ce-cli releases
|
||||||
|
# - therefor we lock docker-ce only
|
||||||
|
# - linting:
|
||||||
|
# - we ignore linting since the PR for "versionlock" hasn't been merged in a year
|
||||||
|
# - warn: false for another Ansible warning about "command"
|
||||||
|
- name: lock docker package
|
||||||
|
command: "yum versionlock {{ docker_package }}"
|
||||||
|
args:
|
||||||
|
warn: false
|
||||||
|
changed_when: false
|
||||||
|
tags:
|
||||||
|
- skip_ansible_lint
|
||||||
|
@ -8,6 +8,14 @@ testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
|
|||||||
).get_hosts('all')
|
).get_hosts('all')
|
||||||
|
|
||||||
|
|
||||||
|
def get_docker_version():
|
||||||
|
docker_version = os.environ.get("DOCKER_VERSION_CI")
|
||||||
|
if not docker_version:
|
||||||
|
docker_version = "18.09.2"
|
||||||
|
|
||||||
|
return docker_version
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('pkg', [
|
@pytest.mark.parametrize('pkg', [
|
||||||
'docker-ce',
|
'docker-ce',
|
||||||
'docker-ce-cli',
|
'docker-ce-cli',
|
||||||
@ -26,9 +34,7 @@ def test_srv(host):
|
|||||||
|
|
||||||
|
|
||||||
def test_docker_version(host):
|
def test_docker_version(host):
|
||||||
docker_version = os.environ.get("DOCKER_VERSION_CI")
|
docker_version = get_docker_version()
|
||||||
if not docker_version:
|
|
||||||
docker_version = "18.09.2"
|
|
||||||
|
|
||||||
# docker_cli = host.check_output('docker -v')
|
# docker_cli = host.check_output('docker -v')
|
||||||
# assert docker_cli.find(docker_version) != -1
|
# assert docker_cli.find(docker_version) != -1
|
||||||
@ -37,6 +43,15 @@ def test_docker_version(host):
|
|||||||
assert docker_daemon.find(docker_version) != -1
|
assert docker_daemon.find(docker_version) != -1
|
||||||
|
|
||||||
|
|
||||||
|
def test_versionlock(host):
|
||||||
|
docker_version = get_docker_version()
|
||||||
|
|
||||||
|
version_lock = host.check_output("yum versionlock list")
|
||||||
|
assert version_lock.find("docker-ce") != -1
|
||||||
|
assert version_lock.find(docker_version) != -1
|
||||||
|
assert version_lock.find("docker-ce-" + docker_version) != -1
|
||||||
|
|
||||||
|
|
||||||
def test_hosts_file(host):
|
def test_hosts_file(host):
|
||||||
f = host.file('/etc/hosts')
|
f = host.file('/etc/hosts')
|
||||||
|
|
||||||
|
@ -3,6 +3,12 @@
|
|||||||
debug:
|
debug:
|
||||||
msg: "Package: {{ __docker_install_name }}, Is 17.03: {{ __docker_17_03 }}"
|
msg: "Package: {{ __docker_install_name }}, Is 17.03: {{ __docker_17_03 }}"
|
||||||
|
|
||||||
|
# Fixme: this should be in ansible or another role
|
||||||
|
- name: Install yum versionlock
|
||||||
|
yum:
|
||||||
|
name:
|
||||||
|
- yum-plugin-versionlock
|
||||||
|
|
||||||
- name: Install Docker 17.03 on CentOS/Redhat
|
- name: Install Docker 17.03 on CentOS/Redhat
|
||||||
when: __docker_17_03
|
when: __docker_17_03
|
||||||
yum:
|
yum:
|
||||||
@ -12,7 +18,9 @@
|
|||||||
- containerd.io
|
- containerd.io
|
||||||
conf_file: "{{ docker_yum_config }}"
|
conf_file: "{{ docker_yum_config }}"
|
||||||
state: "{{ docker_package_state }}"
|
state: "{{ docker_package_state }}"
|
||||||
notify: restart docker
|
notify:
|
||||||
|
- restart docker
|
||||||
|
- lock docker package
|
||||||
|
|
||||||
- name: Install Docker on CentOS/Redhat
|
- name: Install Docker on CentOS/Redhat
|
||||||
when: not __docker_17_03
|
when: not __docker_17_03
|
||||||
@ -21,4 +29,6 @@
|
|||||||
- "{{ __docker_install_name }}"
|
- "{{ __docker_install_name }}"
|
||||||
- containerd.io
|
- containerd.io
|
||||||
state: "{{ docker_package_state }}"
|
state: "{{ docker_package_state }}"
|
||||||
notify: restart docker
|
notify:
|
||||||
|
- restart docker
|
||||||
|
- lock docker package
|
||||||
|
Loading…
Reference in New Issue
Block a user