update: Seperate the docker obsolete packages for debian and redhat

This commit is contained in:
Ali Mehraji 2025-01-31 01:12:14 +03:30
parent 8689c063da
commit c030c45954
4 changed files with 45 additions and 11 deletions

View File

@ -30,17 +30,37 @@ Debian/Ubuntu: `docker-{{ docker_edition }}=<VERSION>` (Note: you have to add th
You can control whether the package is installed, uninstalled, or at the latest version by setting `docker_packages_state` to `present`, `absent`, or `latest`, respectively. Note that the Docker daemon will be automatically restarted if the Docker package is updated. This is a side effect of flushing all handlers (running any of the handlers that have been notified by this and any other role up to this point in the play).
```yaml
docker_obsolete_packages:
# Used only for Debian/Ubuntu
docker_obsolete_packages_debian:
- docker
- docker.io
- docker-engine
- docker-doc
- docker-compose
- docker-compose-v2
- podman-docker
- containerd
- runc
# Used only for Fedora/CentOS/Rocky
docker_obsolete_packages_redhat:
- docker
- docker-client
- docker-client-latest
- docker-common
- docker-latest
- docker-latest-logrotate
- docker-logrotate
- docker-selinux
- docker-engine-selinux
- docker-engine
```
A list of packages to be uninstalled prior to running this role. See [Docker's installation instructions](https://docs.docker.com/engine/install/debian/#uninstall-old-versions) for an up-to-date list of old packages that should be removed.
A list of packages to be uninstalled prior to running this role. See Docker's installation instructions for an up-to-date list of old packages that should be removed:
- [Docker's installation instructions - Debian](https://docs.docker.com/engine/install/debian/#uninstall-old-versions)
- [Docker's installation instructions - Fedora](https://docs.docker.com/engine/install/fedora/#uninstall-old-versions)
```yaml
docker_service_manage: true

View File

@ -8,15 +8,30 @@ docker_packages:
- "containerd.io"
- docker-buildx-plugin
docker_packages_state: present
docker_obsolete_packages:
# Used only for Debian/Ubuntu
docker_obsolete_packages_debian:
- docker
- docker.io
- docker-engine
- docker-doc
- docker-compose
- docker-compose-v2
- podman-docker
- containerd
- runc
# Used only for Fedora/CentOS/Rocky
docker_obsolete_packages_redhat:
- docker
- docker-client
- docker-client-latest
- docker-common
- docker-latest
- docker-latest-logrotate
- docker-logrotate
- docker-engine
# Service options.
docker_service_manage: true
docker_service_state: started
@ -57,7 +72,7 @@ docker_apt_filename: "docker"
docker_yum_repo_url: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora','centos') }}/docker-{{ docker_edition }}.repo"
docker_yum_repo_enable_nightly: '0'
docker_yum_repo_enable_test: '0'
docker_yum_gpg_key: "{{ docker_repo_url }}/centos/gpg"
docker_yum_gpg_key: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora', 'centos') }}/gpg"
# A list of users who will be added to the docker group.
docker_users: []

View File

@ -19,8 +19,8 @@
- # See https://docs.docker.com/engine/install/debian/#uninstall-old-versions
name: Ensure old versions of Docker are not installed.
package:
name: "{{ docker_obsolete_packages }}"
ansible.builtin.package:
name: "{{ docker_obsolete_packages_debian }}"
state: absent
- name: Ensure dependencies are installed.

View File

@ -1,10 +1,9 @@
---
# See https://docs.docker.com/engine/install/fedora/#uninstall-old-versions
# or https://docs.docker.com/engine/install/centos/#uninstall-old-versions
- name: Ensure old versions of Docker are not installed.
package:
name:
- docker
- docker-common
- docker-engine
ansible.builtin.package:
name: "{{ docker_obsolete_packages_redhat }}"
state: absent
- name: Add Docker GPG key.