Support the installation of a specific version.

This commit is contained in:
Andrea Dell'Amico 2023-05-26 19:59:26 +02:00
parent 32e997f1f7
commit c033608ec9
Signed by: adellam
GPG Key ID: 147ABE6CEB9E20FF
5 changed files with 69 additions and 29 deletions

3
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"ansible.python.interpreterPath": "/opt/local/bin/python3.10"
}

View File

@ -1,5 +1,7 @@
--- ---
docker_install: true docker_install: true
docker_specific_package_ver: false
docker_pkg_version: "5:24.0.1"
# Swarm # Swarm
docker_swarm: false docker_swarm: false
docker_swarm_manager: false docker_swarm_manager: false

View File

@ -1,13 +1,12 @@
galaxy_info: galaxy_info:
author: Andrea Dell'Amico author: Andrea Dell'Amico
description: Systems Architect namespace: adellam
role_name: docker
description: Role that installs Docker from their repository
company: ISTI-CNR company: ISTI-CNR
issue_tracker_url: https://redmine-s2i2s.isti.cnr.it/projects/provisioning
license: EUPL 1.2+ license: EUPL 1.2+
min_ansible_version: 2.8 min_ansible_version: "2.9"
# To view available platforms and versions (or releases), visit: # To view available platforms and versions (or releases), visit:
# https://galaxy.ansible.com/api/v1/platforms/ # https://galaxy.ansible.com/api/v1/platforms/
@ -16,13 +15,12 @@ galaxy_info:
- name: Ubuntu - name: Ubuntu
versions: versions:
- bionic - bionic
- name: EL - focal
versions: - jammy
- 7
- 8
galaxy_tags: galaxy_tags:
- users - docker
- containers
dependencies: dependencies:
- src: git+https://gitea-s2i2s.isti.cnr.it/ISTI-ansible-roles/ansible-role-python3-environment.git - src: git+https://gitea-s2i2s.isti.cnr.it/ISTI-ansible-roles/ansible-role-python3-environment.git

View File

@ -1,37 +1,67 @@
--- ---
- block: - name: Docker.com repository
when: docker_install | bool
tags: [docker,docker_pkg]
block:
- name: Add the Docker repository key - name: Add the Docker repository key
#apt_key: keyserver={{ docker_repo_keyserver }} id={{ docker_repo_key }} state=present ansible.builtin.apt_key:
apt_key: url={{ docker_deb_repo_key_url }} state=present url: "{{ docker_deb_repo_key_url }}"
state: present
- name: Remove the old docker packages, from the old distribution method - name: Remove the old docker packages, from the old distribution method
apt: pkg={{ docker_deb_old_packages }} state=absent ansible.builtin.apt:
pkg: "{{ docker_deb_old_packages }}"
state: absent
- name: Remove the obsolete docker repository - name: Remove the obsolete docker repository
apt_repository: repo='{{ docker_deb_repo_old }}' state=absent update_cache=yes ansible.builtin.apt_repository:
repo: "{{ docker_deb_repo_old }}"
state: absent
update_cache: true
- name: Add the Docker repository - name: Add the Docker repository
apt_repository: repo='{{ docker_deb_repo }}' update_cache=yes ansible.builtin.apt_repository:
repo: "{{ docker_deb_repo }}"
update_cache: true
- name: Install Docker - name: Install the latest Docker package available
apt: pkg={{ docker_deb_packages }} state={{ docker_pkg_status }} update_cache=yes cache_valid_time=3600 ansible.builtin.apt:
pkg: "{{ docker_deb_packages }}"
state: "{{ docker_pkg_status }}"
cache_valid_time: 3600
when: not docker_specific_package_ver
when: docker_install | bool - name: Install a specific Docker package version
tags: docker ansible.builtin.apt:
pkg: "{{ docker_versioned_deb_packages }}"
state: "{{ docker_pkg_status }}"
cache_valid_time: 3600
force: true
when: docker_specific_package_ver
- block: - name: Remove the docker packages and repository
when: not docker_install | bool
tags: [docker,docker_pkg]
block:
- name: Ensure that the service is stopped and disabled - name: Ensure that the service is stopped and disabled
service: name=docker state=stopped enabled=no ansible.builtin.service:
ignore_errors: True name: docker
state: stopped
enabled: false
ignore_errors: true
- name: Remove the Docker package - name: Remove the Docker package
apt: pkg={{ docker_deb_packages }} state=absent ansible.builtin.apt:
pkg: "{{ docker_deb_packages }}"
state: absent
- name: Remove the Docker repository key - name: Remove the Docker repository key
apt_key: id={{ docker_deb_repo_key }} state=absent ansible.builtin.apt_key:
id: "{{ docker_deb_repo_key }}"
state: absent
- name: Remove the Docker repository - name: Remove the Docker repository
apt_repository: repo='{{ docker_deb_repo }}' state=absent update_cache=yes ansible.builtin.apt_repository:
repo: "{{ docker_deb_repo }}"
when: not docker_install | bool state: absent
tags: docker update_cache: true

View File

@ -17,6 +17,13 @@ docker_pkg_status: present
docker_deb_packages: docker_deb_packages:
- docker-ce - docker-ce
- docker-ce-cli - docker-ce-cli
- docker-ce-rootless-extras
- containerd.io
docker_versioned_deb_packages:
- "docker-ce={{ docker_pkg_version }}"
- "docker-ce-cli{{ docker_pkg_version }}"
- "docker-ce-rootless-extras{{ docker_pkg_version }}"
- containerd.io - containerd.io
docker_deb_old_packages: docker_deb_old_packages: