Avoid docker-runc removal

This commit is contained in:
Houssem Ben Ali 2025-10-01 17:53:33 +02:00
parent a6f361f39f
commit 2f5715734b
No known key found for this signature in database
GPG Key ID: 049BFBE52CB08FC1
2 changed files with 28 additions and 24 deletions

View File

@ -1,27 +1,26 @@
---
- name: Ensure old versions of Docker are not installed.
# Remove old or conflicting Docker packages
- name: Ensure old versions of Docker are not installed
package:
name:
- docker
- docker-engine
- docker.io
- docker-ce
- docker-ce-cli
name: "{{ docker_obsolete_packages }}"
state: absent
- name: Add Docker repository (openSUSE / SLES).
# Add Docker repository (openSUSE / SLES)
- name: Add Docker repository
zypper_repository:
name: "docker-ce"
repo: "{{ docker_zypper_repo_url }}"
state: present
auto_import_keys: yes
when: docker_add_repo | bool == true
when: docker_add_repo | bool
- name: Refresh zypper repositories.
# Refresh zypper repositories to pick up the new Docker repo
- name: Refresh zypper repositories
command: zypper --non-interactive refresh
when: docker_add_repo | bool == true
when: docker_add_repo | bool
- name: Ensure Docker packages are installed.
# Install Docker packages
- name: Ensure Docker packages are installed
ansible.legacy.zypper:
name: "{{ docker_packages }}"
state: present

View File

@ -1,8 +1,9 @@
---
# Used only for openSUSE / SLES (Suse OS-Family)
# Used only for openSUSE / SLES (SUSE OS-Family)
# https://en.opensuse.org/Docker
# https://docs.docker.com/engine/install/binaries/
# Packages to remove if present (old or conflicting Docker packages)
docker_obsolete_packages:
- docker-engine
- docker.io
@ -13,24 +14,28 @@ docker_obsolete_packages:
- containerd.io
- runc
# SUSE provides a monolithic "docker" package and companions.
# Packages to install on openSUSE / SLES
# Use 'runc' from repo, not 'docker-runc' (avoids conflicts on Leap 15.6)
docker_packages:
- docker
- containerd
- docker-runc
- runc
# Map SUSE releases to Docker repository paths
docker_suse_release: >-
{{ 'openSUSE_Leap_15.5'
if ansible_distribution_version is match('15\.5')
else 'openSUSE_Leap_15.4'
if ansible_distribution_version is match('15\.4')
else 'openSUSE_Tumbleweed'
if ansible_distribution == 'openSUSE Tumbleweed'
else 'openSUSE_Leap_' + ansible_distribution_version }}
{% if ansible_distribution_version is match('15\\.6') %}
openSUSE_Leap_15.6
{% elif ansible_distribution_version is match('15\\.5') %}
openSUSE_Leap_15.5
{% elif ansible_distribution_version is match('15\\.4') %}
openSUSE_Leap_15.4
{% else %}
openSUSE_Tumbleweed
{% endif %}
# Official repo for openSUSE Leap (adjust $releasever if needed)
# Official Docker repo URL for openSUSE Leap
docker_zypper_repo_url: >-
https://download.opensuse.org/repositories/Virtualization:/containers/{{ docker_suse_release }}/
# Control whether to add the Docker repository
docker_add_repo: true