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
|
||||
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')
|
||||
|
||||
|
||||
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', [
|
||||
'docker-ce',
|
||||
'docker-ce-cli',
|
||||
@ -26,9 +34,7 @@ def test_srv(host):
|
||||
|
||||
|
||||
def test_docker_version(host):
|
||||
docker_version = os.environ.get("DOCKER_VERSION_CI")
|
||||
if not docker_version:
|
||||
docker_version = "18.09.2"
|
||||
docker_version = get_docker_version()
|
||||
|
||||
# docker_cli = host.check_output('docker -v')
|
||||
# assert docker_cli.find(docker_version) != -1
|
||||
@ -37,6 +43,15 @@ def test_docker_version(host):
|
||||
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):
|
||||
f = host.file('/etc/hosts')
|
||||
|
||||
|
@ -3,6 +3,12 @@
|
||||
debug:
|
||||
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
|
||||
when: __docker_17_03
|
||||
yum:
|
||||
@ -12,7 +18,9 @@
|
||||
- containerd.io
|
||||
conf_file: "{{ docker_yum_config }}"
|
||||
state: "{{ docker_package_state }}"
|
||||
notify: restart docker
|
||||
notify:
|
||||
- restart docker
|
||||
- lock docker package
|
||||
|
||||
- name: Install Docker on CentOS/Redhat
|
||||
when: not __docker_17_03
|
||||
@ -21,4 +29,6 @@
|
||||
- "{{ __docker_install_name }}"
|
||||
- containerd.io
|
||||
state: "{{ docker_package_state }}"
|
||||
notify: restart docker
|
||||
notify:
|
||||
- restart docker
|
||||
- lock docker package
|
||||
|
Loading…
Reference in New Issue
Block a user