From 2f5715734bc590f6f6637266e0c4953950ee7c99 Mon Sep 17 00:00:00 2001 From: Houssem Ben Ali Date: Wed, 1 Oct 2025 17:53:33 +0200 Subject: [PATCH] Avoid docker-runc removal --- tasks/setup-Suse.yml | 23 +++++++++++------------ vars/Suse.yml | 29 +++++++++++++++++------------ 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/tasks/setup-Suse.yml b/tasks/setup-Suse.yml index 4a8b4a1..926b116 100644 --- a/tasks/setup-Suse.yml +++ b/tasks/setup-Suse.yml @@ -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 diff --git a/vars/Suse.yml b/vars/Suse.yml index d81caae..246072b 100644 --- a/vars/Suse.yml +++ b/vars/Suse.yml @@ -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