From 6b477445065c72844acbc4b7cdd7d8f62896d1dd Mon Sep 17 00:00:00 2001 From: Lukas Audzevicius Date: Wed, 21 Jan 2026 10:48:00 +0000 Subject: [PATCH 1/5] (CAT-2511) Test docker provisioned SLES 15 Testing SLES 15 through docker. Do not merge. --- Gemfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 4e7de031..999619c1 100644 --- a/Gemfile +++ b/Gemfile @@ -64,8 +64,7 @@ group :development, :release_prep do gem "puppet-blacksmith", '~> 7.0', require: false end group :system_tests do - gem "puppet_litmus", '~> 2.0', require: false, platforms: [:ruby, :x64_mingw] if !ENV['PUPPET_FORGE_TOKEN'].to_s.empty? - gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw] if ENV['PUPPET_FORGE_TOKEN'].to_s.empty? + gem "puppet_litmus", git: 'https://github.com/puppetlabs/puppet_litmus', branch: 'CAT-2476-Address_SLES_failures', require: false, platforms: [:ruby, :x64_mingw] gem "CFPropertyList", '< 3.0.7', require: false, platforms: [:mswin, :mingw, :x64_mingw] gem "serverspec", '~> 2.41', require: false end From 62d8c6a10b2c7ead6491c8324838f241e63b440c Mon Sep 17 00:00:00 2001 From: Lukas Audzevicius Date: Wed, 21 Jan 2026 13:06:35 +0000 Subject: [PATCH 2/5] test against release --- .github/workflows/ci.yml | 2 +- Gemfile | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2cdfc30f..454906c5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,5 +15,5 @@ jobs: needs: Spec uses: "puppetlabs/cat-github-actions/.github/workflows/module_acceptance.yml@main" with: - flags: "--nightly" + flags: "--platform-include sles-15" secrets: "inherit" diff --git a/Gemfile b/Gemfile index 999619c1..4e7de031 100644 --- a/Gemfile +++ b/Gemfile @@ -64,7 +64,8 @@ group :development, :release_prep do gem "puppet-blacksmith", '~> 7.0', require: false end group :system_tests do - gem "puppet_litmus", git: 'https://github.com/puppetlabs/puppet_litmus', branch: 'CAT-2476-Address_SLES_failures', require: false, platforms: [:ruby, :x64_mingw] + gem "puppet_litmus", '~> 2.0', require: false, platforms: [:ruby, :x64_mingw] if !ENV['PUPPET_FORGE_TOKEN'].to_s.empty? + gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw] if ENV['PUPPET_FORGE_TOKEN'].to_s.empty? gem "CFPropertyList", '< 3.0.7', require: false, platforms: [:mswin, :mingw, :x64_mingw] gem "serverspec", '~> 2.41', require: false end From e2164a34b97f9d29a2b77467912fad648fcd16f5 Mon Sep 17 00:00:00 2001 From: Lukas Audzevicius Date: Wed, 28 Jan 2026 10:21:40 +0000 Subject: [PATCH 3/5] 15 instead of 15.7 --- manifests/init.pp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 31750303..59a6801f 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -112,10 +112,10 @@ # If the OS is SLES >= 15.3, enable the legacy repo to install net-tools-deprecated package if ($facts['os']['family'] in ['SLES', 'SUSE']) and (versioncmp($facts['os']['release']['full'], '15.3') >= 0) { - exec { 'Enable legacy repos': - path => '/bin:/usr/bin/:/sbin:/usr/sbin', - command => "SUSEConnect --product sle-module-legacy/${facts['os']['release']['full']}/x86_64", - unless => "SUSEConnect --status-text | grep sle-module-legacy/${facts['os']['release']['full']}/x86_64", + exec { 'Enable legacy repos (major only)': + path => '/bin:/usr/bin:/sbin:/usr/sbin', + command => "SUSEConnect --product sle-module-legacy/${facts['os']['release']['major']}/x86_64", + unless => "SUSEConnect --list-extensions | grep -q 'Legacy Module .* (Activated)'", } } From 4ac2204321eb72a8ef42accc8abac04e8898a41a Mon Sep 17 00:00:00 2001 From: Lukas Audzevicius Date: Wed, 28 Jan 2026 11:18:15 +0000 Subject: [PATCH 4/5] prevent SUSEconnect command if missing --- manifests/init.pp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 59a6801f..01b8087b 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -111,11 +111,12 @@ } # If the OS is SLES >= 15.3, enable the legacy repo to install net-tools-deprecated package + # Only attempt this if SUSEConnect is available and the system is registered if ($facts['os']['family'] in ['SLES', 'SUSE']) and (versioncmp($facts['os']['release']['full'], '15.3') >= 0) { - exec { 'Enable legacy repos (major only)': + exec { 'Enable legacy repos': path => '/bin:/usr/bin:/sbin:/usr/sbin', command => "SUSEConnect --product sle-module-legacy/${facts['os']['release']['major']}/x86_64", - unless => "SUSEConnect --list-extensions | grep -q 'Legacy Module .* (Activated)'", + unless => "test ! -x /usr/bin/SUSEConnect || SUSEConnect --status-text | grep -qE '(Not Registered|sle-module-legacy/${facts['os']['release']['major']}/x86_64)'", } } From 0865bd59c3b38e1cd8865fdf29ed26f6171e4b9b Mon Sep 17 00:00:00 2001 From: Lukas Audzevicius Date: Wed, 28 Jan 2026 11:42:52 +0000 Subject: [PATCH 5/5] try to install devel --- manifests/init.pp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 01b8087b..310a807f 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -112,11 +112,22 @@ # If the OS is SLES >= 15.3, enable the legacy repo to install net-tools-deprecated package # Only attempt this if SUSEConnect is available and the system is registered + # Enable Legacy (already in your code) if ($facts['os']['family'] in ['SLES', 'SUSE']) and (versioncmp($facts['os']['release']['full'], '15.3') >= 0) { exec { 'Enable legacy repos': - path => '/bin:/usr/bin:/sbin:/usr/sbin', - command => "SUSEConnect --product sle-module-legacy/${facts['os']['release']['major']}/x86_64", - unless => "test ! -x /usr/bin/SUSEConnect || SUSEConnect --status-text | grep -qE '(Not Registered|sle-module-legacy/${facts['os']['release']['major']}/x86_64)'", + path => '/bin:/usr/bin:/sbin:/usr/sbin', + command => "SUSEConnect --product sle-module-legacy/${facts['os']['release']['major']}/x86_64", + unless => "test ! -x /usr/bin/SUSEConnect || SUSEConnect --status-text | grep -qE '(Not Registered|sle-module-legacy/${facts['os']['release']['major']}/x86_64)'", + logoutput => true, + } + + # NEW: enable Development Tools (for many *-devel packages, including OpenJDK 8) + exec { 'Enable development tools': + path => '/bin:/usr/bin:/sbin:/usr/sbin', + command => "SUSEConnect --product sle-module-development-tools/${facts['os']['release']['major']}/x86_64", + unless => "test ! -x /usr/bin/SUSEConnect || SUSEConnect --status-text | grep -qE '(Not Registered|sle-module-development-tools/${facts['os']['release']['major']}/x86_64)'", + logoutput => true, + require => Exec['Enable legacy repos'], } }