From 078688216f862425b59e473bc5309466a0d7429c Mon Sep 17 00:00:00 2001 From: Dominik Gedon Date: Fri, 25 Aug 2023 10:59:38 +0200 Subject: [PATCH 1/3] QE: Add systemctl reload step This adds the ability to reload systemd services which will only reload their configuration. Signed-off-by: Dominik Gedon --- testsuite/documentation/cucumber-steps.md | 1 + testsuite/features/step_definitions/command_steps.rb | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/testsuite/documentation/cucumber-steps.md b/testsuite/documentation/cucumber-steps.md index 86ab294a79c5..13e2e2edbba6 100644 --- a/testsuite/documentation/cucumber-steps.md +++ b/testsuite/documentation/cucumber-steps.md @@ -415,6 +415,7 @@ Note that the text area variant handles the new lines characters while the other Then service "bind" is enabled on "proxy" Then service "dhcpd" is running on "proxy" When I restart the "bind" service on "sle_minion" + When I reload the "apache2" service on "proxy" ``` * File removal diff --git a/testsuite/features/step_definitions/command_steps.rb b/testsuite/features/step_definitions/command_steps.rb index 178d9921fb19..46928f4e73cf 100644 --- a/testsuite/features/step_definitions/command_steps.rb +++ b/testsuite/features/step_definitions/command_steps.rb @@ -1521,6 +1521,11 @@ node.run("systemctl restart #{service}", check_errors: true) end +When(/^I reload the "([^"]*)" service on "([^"]*)"$/) do |service, minion| + node = get_target(minion) + node.run("systemctl reload #{service}", check_errors: true, verbose: true) +end + When(/^I delete the system "([^"]*)" via spacecmd$/) do |minion| node = get_system_name(minion) command = "spacecmd -u admin -p admin -y system_delete #{node}" From 961dab630c31c9d474667560be7c166f2a85af29 Mon Sep 17 00:00:00 2001 From: Dominik Gedon Date: Fri, 25 Aug 2023 11:00:52 +0200 Subject: [PATCH 2/3] QE: Add verbosity to service restart commands Signed-off-by: Dominik Gedon --- testsuite/features/step_definitions/command_steps.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/testsuite/features/step_definitions/command_steps.rb b/testsuite/features/step_definitions/command_steps.rb index 46928f4e73cf..5a8e178bead7 100644 --- a/testsuite/features/step_definitions/command_steps.rb +++ b/testsuite/features/step_definitions/command_steps.rb @@ -1042,7 +1042,7 @@ filename = File.basename(path) cmd = "configure-proxy.sh --non-interactive --rhn-user=admin --rhn-password=admin --answer-file=#{filename}" proxy_timeout = 600 - get_target('proxy').run(cmd, timeout: proxy_timeout) + get_target('proxy').run(cmd, timeout: proxy_timeout, verbose: true) end When(/^I allow all SSL protocols on the proxy's apache$/) do @@ -1050,7 +1050,7 @@ key = 'SSLProtocol' val = 'all -SSLv2 -SSLv3' get_target('proxy').run("grep '#{key}' #{file} && sed -i -e 's/#{key}.*$/#{key} #{val}/' #{file}") - get_target('proxy').run('systemctl reload apache2.service') + get_target('proxy').run('systemctl reload apache2.service', verbose: true) end When(/^I restart squid service on the proxy$/) do @@ -1518,7 +1518,7 @@ When(/^I restart the "([^"]*)" service on "([^"]*)"$/) do |service, minion| node = get_target(minion) - node.run("systemctl restart #{service}", check_errors: true) + node.run("systemctl restart #{service}", check_errors: true, verbose: true) end When(/^I reload the "([^"]*)" service on "([^"]*)"$/) do |service, minion| From 5c2b1a47aa029526c9436abbf7012bfb15d4b0ab Mon Sep 17 00:00:00 2001 From: Dominik Gedon Date: Fri, 25 Aug 2023 11:01:05 +0200 Subject: [PATCH 3/3] QE: Adapt BV code for Uyuni This will adjust the build validation test suite code for Uyuni. Major differences compared to SUMA: - Adding products via `spacewalk-common-channels` - Different channel names - no Liberty Linux 9 support Signed-off-by: Dominik Gedon --- testsuite/documentation/cucumber-steps.md | 4 +- .../alma9_minion_build_clm.feature | 33 ++ .../liberty9_minion_build_clm.feature | 1 + .../oracle9_minion_build_clm.feature | 34 ++ ...ocky8_minion_add_iso_and_build_clm.feature | 46 ++ .../rocky9_minion_build_clm.feature | 33 ++ .../init_clients/liberty9_minion.feature | 1 + .../init_clients/liberty9_ssh_minion.feature | 1 + .../init_clients/proxy.feature | 22 +- .../reposync/srv_sync_all_products.feature | 176 +++++++ .../allcli_update_activationkeys.feature | 2 +- .../proxy_register_as_minion_with_gui.feature | 2 +- ...oxy_register_as_minion_with_script.feature | 2 +- .../features/step_definitions/api_common.rb | 9 +- .../step_definitions/command_steps.rb | 6 +- .../step_definitions/navigation_steps.rb | 2 +- testsuite/features/support/constants.rb | 444 ++++++++++++------ 17 files changed, 660 insertions(+), 158 deletions(-) diff --git a/testsuite/documentation/cucumber-steps.md b/testsuite/documentation/cucumber-steps.md index 13e2e2edbba6..84fcf15ebd53 100644 --- a/testsuite/documentation/cucumber-steps.md +++ b/testsuite/documentation/cucumber-steps.md @@ -413,9 +413,9 @@ Note that the text area variant handles the new lines characters while the other When I restart the spacewalk service When I wait until "salt-minion" service is up and running on "rhlike_minion" Then service "bind" is enabled on "proxy" - Then service "dhcpd" is running on "proxy" + And service "dhcpd" is running on "proxy" When I restart the "bind" service on "sle_minion" - When I reload the "apache2" service on "proxy" + And I reload the "apache2" service on "proxy" ``` * File removal diff --git a/testsuite/features/build_validation/add_non_MU_repositories/alma9_minion_build_clm.feature b/testsuite/features/build_validation/add_non_MU_repositories/alma9_minion_build_clm.feature index 669eb231e728..354641ad8ff4 100644 --- a/testsuite/features/build_validation/add_non_MU_repositories/alma9_minion_build_clm.feature +++ b/testsuite/features/build_validation/add_non_MU_repositories/alma9_minion_build_clm.feature @@ -15,6 +15,7 @@ Feature: Add the Alma 9 distribution custom repositories Then I should see a "ruby-3.1" text And I should see a "php-8.1" text +@susemanager Scenario: Create a CLM project to remove AppStream metadata from Alma 9 When I follow the left menu "Content Lifecycle > Projects" And I follow "Create Project" @@ -44,3 +45,35 @@ Feature: Add the Alma 9 distribution custom repositories And I enter "Initial build" as "message" And I click the environment build button Then I should see a "Version 1: Initial build" text + +@uyuni + Scenario: Create a CLM project to remove AppStream metadata from Alma 9 + When I follow the left menu "Content Lifecycle > Projects" + And I follow "Create Project" + And I enter "Remove AppStream metadata from Alma 9" as "name" + And I enter "no-appstream-alma-9" as "label" + And I click on "Create" + Then I should see a "Content Lifecycle Project - Remove AppStream metadata from Alma 9" text + When I click on "Attach/Detach Sources" + And I wait until I do not see "Loading" text + And I select "AlmaLinux 9 (x86_64)" from "selectedBaseChannel" + And I check "Uyuni Client Tools for AlmaLinux 9 (x86_64)" + And I check "Custom Channel for alma9_minion" + And I check "AlmaLinux 9 AppStream (x86_64)" + And I click on "Save" + Then I should see a "AlmaLinux 9 AppStream (x86_64)" text + When I click on "Attach/Detach Filters" + And I check "php-8.1: enable module php:8.1" + And I check "ruby-3.1: enable module ruby:3.1" + And I click on "Save" + Then I should see a "php-8.1: enable module php:8.1" text + When I click on "Add Environment" + And I enter "result" as "name" + And I enter "result" as "label" + And I enter "Filtered channels without AppStream channels" as "description" + And I click on "Save" + Then I should see a "not built" text + When I click on "Build" + And I enter "Initial build" as "message" + And I click the environment build button + Then I should see a "Version 1: Initial build" text diff --git a/testsuite/features/build_validation/add_non_MU_repositories/liberty9_minion_build_clm.feature b/testsuite/features/build_validation/add_non_MU_repositories/liberty9_minion_build_clm.feature index 99cefeae7b62..38ca0fe48486 100644 --- a/testsuite/features/build_validation/add_non_MU_repositories/liberty9_minion_build_clm.feature +++ b/testsuite/features/build_validation/add_non_MU_repositories/liberty9_minion_build_clm.feature @@ -1,6 +1,7 @@ # Copyright (c) 2023 SUSE LLC # Licensed under the terms of the MIT license. +@susemanager @liberty9_minion Feature: Add the Liberty Linux 9 distribution custom repositories In order to use Liberty Linux 9 channels with Appstream modules diff --git a/testsuite/features/build_validation/add_non_MU_repositories/oracle9_minion_build_clm.feature b/testsuite/features/build_validation/add_non_MU_repositories/oracle9_minion_build_clm.feature index af46f4982f2e..898b49d5e1b8 100644 --- a/testsuite/features/build_validation/add_non_MU_repositories/oracle9_minion_build_clm.feature +++ b/testsuite/features/build_validation/add_non_MU_repositories/oracle9_minion_build_clm.feature @@ -15,6 +15,7 @@ Feature: Add the Oracle 9 distribution custom repositories Then I should see a "ruby-3.1" text And I should see a "php-8.1" text +@susemanager Scenario: Create a CLM project to remove AppStream metadata from Oracle 9 When I follow the left menu "Content Lifecycle > Projects" And I follow "Create Project" @@ -26,6 +27,7 @@ Feature: Add the Oracle 9 distribution custom repositories And I wait until I do not see "Loading" text And I select "oraclelinux9 for x86_64" from "selectedBaseChannel" # "oraclelinux9-appstream for x86_64" is already checked + And I check "Uyuni Client Tools for Oracle Linux 9 (x86_64)" And I check "Custom Channel for oracle9_minion" And I click on "Save" Then I should see a "EL9-Manager-Tools-Pool for x86_64 OL9" text @@ -44,3 +46,35 @@ Feature: Add the Oracle 9 distribution custom repositories And I enter "Initial build" as "message" And I click the environment build button Then I should see a "Version 1: Initial build" text + +@uyuni + Scenario: Create a CLM project to remove AppStream metadata from Oracle 9 + When I follow the left menu "Content Lifecycle > Projects" + And I follow "Create Project" + And I enter "Remove AppStream metadata from Oracle 9" as "name" + And I enter "no-appstream-oracle-9" as "label" + And I click on "Create" + Then I should see a "Content Lifecycle Project - Remove AppStream metadata from Oracle 9" text + When I click on "Attach/Detach Sources" + And I wait until I do not see "Loading" text + And I select "Oracle Linux 9 (x86_64)" from "selectedBaseChannel" + And I check "Uyuni Client Tools for Oracle Linux 9 (x86_64)" + And I check "Oracle Linux 9 AppStream (x86_64)" + And I check "Custom Channel for oracle9_minion" + And I click on "Save" + Then I should see a "Oracle Linux 9 AppStream (x86_64)" text + When I click on "Attach/Detach Filters" + And I check "php-8.1: enable module php:8.1" + And I check "ruby-3.1: enable module ruby:3.1" + And I click on "Save" + Then I should see a "php-8.1: enable module php:8.1" text + When I click on "Add Environment" + And I enter "result" as "name" + And I enter "result" as "label" + And I enter "Filtered channels without AppStream channels" as "description" + And I click on "Save" + Then I should see a "not built" text + When I click on "Build" + And I enter "Initial build" as "message" + And I click the environment build button + Then I should see a "Version 1: Initial build" text diff --git a/testsuite/features/build_validation/add_non_MU_repositories/rocky8_minion_add_iso_and_build_clm.feature b/testsuite/features/build_validation/add_non_MU_repositories/rocky8_minion_add_iso_and_build_clm.feature index 24ff8ca97c17..3c7a614551dd 100644 --- a/testsuite/features/build_validation/add_non_MU_repositories/rocky8_minion_add_iso_and_build_clm.feature +++ b/testsuite/features/build_validation/add_non_MU_repositories/rocky8_minion_add_iso_and_build_clm.feature @@ -13,6 +13,7 @@ Feature: Add the Rocky 8 distribution custom repositories Scenario: Log in as admin user Given I am authorized for the "Admin" section +@susemanager Scenario: Add a child channel for Rocky 8 DVD repositories When I follow the left menu "Software > Manage > Channels" And I follow "Create Channel" @@ -23,6 +24,17 @@ Feature: Add the Rocky 8 distribution custom repositories And I click on "Create Channel" Then I should see a "Channel Custom Channel for Rocky 8 DVD created" text +@uyuni + Scenario: Add a child channel for Rocky 8 DVD repositories + When I follow the left menu "Software > Manage > Channels" + And I follow "Create Channel" + And I enter "Custom Channel for Rocky 8 DVD" as "Channel Name" + And I enter "rocky-8-iso" as "Channel Label" + And I select "Rocky Linux 8 (x86_64)" from "Parent Channel" + And I enter "Custom channel" as "Channel Summary" + And I click on "Create Channel" + Then I should see a "Channel Custom Channel for Rocky 8 DVD created" text + Scenario: Add the Rocky 8 Appstream DVD repository When I follow the left menu "Software > Manage > Repositories" And I follow "Create Repository" @@ -66,6 +78,7 @@ Feature: Add the Rocky 8 distribution custom repositories Then I should see a "ruby-2.7" text And I should see a "python-3.6" text +@susemanager Scenario: Create a CLM project to remove AppStream metadata from Rocky 8 When I follow the left menu "Content Lifecycle > Projects" And I follow "Create Project" @@ -96,3 +109,36 @@ Feature: Add the Rocky 8 distribution custom repositories And I enter "Initial build" as "message" And I click the environment build button Then I should see a "Version 1: Initial build" text + +@uyuni + Scenario: Create a CLM project to remove AppStream metadata from Rocky 8 + When I follow the left menu "Content Lifecycle > Projects" + And I follow "Create Project" + And I enter "Remove AppStream metadata from Rocky 8" as "name" + And I enter "no-appstream-8" as "label" + And I click on "Create" + Then I should see a "Content Lifecycle Project - Remove AppStream metadata from Rocky 8" text + When I click on "Attach/Detach Sources" + And I wait until I do not see "Loading" text + And I select "Rocky Linux 8 (x86_64)" from "selectedBaseChannel" + And I check "Uyuni Client Tools for Rocky Linux 8 (x86_64)" + And I check "Rocky Linux 8 - AppStream (x86_64)" + And I check "Custom Channel for Rocky 8 DVD" + And I check "Custom Channel for rocky8_minion" + And I click on "Save" + Then I should see a "Custom Channel for Rocky 8 DVD" text + When I click on "Attach/Detach Filters" + And I check "python-3.6: enable module python36:3.6" + And I check "ruby-2.7: enable module ruby:2.7" + And I click on "Save" + Then I should see a "python-3.6: enable module python36:3.6" text + When I click on "Add Environment" + And I enter "result" as "name" + And I enter "result" as "label" + And I enter "Filtered channels without AppStream channels" as "description" + And I click on "Save" + Then I should see a "not built" text + When I click on "Build" + And I enter "Initial build" as "message" + And I click the environment build button + Then I should see a "Version 1: Initial build" text diff --git a/testsuite/features/build_validation/add_non_MU_repositories/rocky9_minion_build_clm.feature b/testsuite/features/build_validation/add_non_MU_repositories/rocky9_minion_build_clm.feature index 6ee86b5dad10..ba0da2f126f5 100644 --- a/testsuite/features/build_validation/add_non_MU_repositories/rocky9_minion_build_clm.feature +++ b/testsuite/features/build_validation/add_non_MU_repositories/rocky9_minion_build_clm.feature @@ -15,6 +15,7 @@ Feature: Add the Rocky 9 distribution custom repositories Then I should see a "ruby-3.1" text And I should see a "php-8.1" text +@susemanager Scenario: Create a CLM project to remove AppStream metadata from Rocky 9 When I follow the left menu "Content Lifecycle > Projects" And I follow "Create Project" @@ -44,3 +45,35 @@ Feature: Add the Rocky 9 distribution custom repositories And I enter "Initial build" as "message" And I click the environment build button Then I should see a "Version 1: Initial build" text + +@uyuni + Scenario: Create a CLM project to remove AppStream metadata from Rocky 9 + When I follow the left menu "Content Lifecycle > Projects" + And I follow "Create Project" + And I enter "Remove AppStream metadata from Rocky 9" as "name" + And I enter "no-appstream-9" as "label" + And I click on "Create" + Then I should see a "Content Lifecycle Project - Remove AppStream metadata from Rocky 9" text + When I click on "Attach/Detach Sources" + And I wait until I do not see "Loading" text + And I select "Rocky Linux 9 (x86_64)" from "selectedBaseChannel" + And I check "Uyuni Client Tools for Rocky Linux 9 (x86_64)" + And I check "Rocky Linux 9 AppStream (x86_64)" + And I check "Custom Channel for rocky9_minion" + And I click on "Save" + Then I should see a "Rocky Linux 9 AppStream (x86_64)" text + When I click on "Attach/Detach Filters" + And I check "php-8.1: enable module php:8.1" + And I check "ruby-3.1: enable module ruby:3.1" + And I click on "Save" + Then I should see a "php-8.1: enable module php:8.1" text + When I click on "Add Environment" + And I enter "result" as "name" + And I enter "result" as "label" + And I enter "Filtered channels without AppStream channels" as "description" + And I click on "Save" + Then I should see a "not built" text + When I click on "Build" + And I enter "Initial build" as "message" + And I click the environment build button + Then I should see a "Version 1: Initial build" text diff --git a/testsuite/features/build_validation/init_clients/liberty9_minion.feature b/testsuite/features/build_validation/init_clients/liberty9_minion.feature index 28c259f40390..823c9ec182f0 100644 --- a/testsuite/features/build_validation/init_clients/liberty9_minion.feature +++ b/testsuite/features/build_validation/init_clients/liberty9_minion.feature @@ -4,6 +4,7 @@ # 1) bootstrap a new Liberty Linux 9 minion # 2) subscribe it to a base channel for testing +@susemanager @liberty9_minion Feature: Bootstrap a Liberty Linux 9 Salt minion diff --git a/testsuite/features/build_validation/init_clients/liberty9_ssh_minion.feature b/testsuite/features/build_validation/init_clients/liberty9_ssh_minion.feature index 5b1c4e4aa64e..31df30aa6214 100644 --- a/testsuite/features/build_validation/init_clients/liberty9_ssh_minion.feature +++ b/testsuite/features/build_validation/init_clients/liberty9_ssh_minion.feature @@ -4,6 +4,7 @@ # 1) bootstrap a new Liberty Linux 9 minion via salt-ssh # 2) subscribe it to a base channel for testing +@susemanager @liberty9_ssh_minion Feature: Bootstrap a Liberty Linux 9 Salt SSH minion diff --git a/testsuite/features/build_validation/init_clients/proxy.feature b/testsuite/features/build_validation/init_clients/proxy.feature index 17acbc7f5833..5c087906e17a 100644 --- a/testsuite/features/build_validation/init_clients/proxy.feature +++ b/testsuite/features/build_validation/init_clients/proxy.feature @@ -1,4 +1,4 @@ -# Copyright (c) 2020-2022 SUSE LLC +# Copyright (c) 2020-2023 SUSE LLC # Licensed under the terms of the MIT license. # # The scenarios in this feature are skipped if there is no proxy @@ -41,17 +41,33 @@ Feature: Setup SUSE Manager proxy Scenario: Detect latest Salt changes on the proxy When I query latest Salt changes on "proxy" - Scenario: Copy the keys and configure the proxy + Scenario: Copy the server keys to the proxy When I copy server's keys to the proxy - And I configure the proxy + + Scenario: Configure the proxy + When I configure the proxy And I allow all SSL protocols on the proxy's apache + And I reload the "apache2.service" service on "proxy" + And file "/etc/sysconfig/apache2" should contain "proxy" on "proxy" + And file "/etc/sysconfig/apache2" should contain "rewrite" on "proxy" + And file "/etc/sysconfig/apache2" should contain "version" on "proxy" + And file "/etc/sysconfig/apache2" should contain "ssl" on "proxy" + And file "/etc/sysconfig/apache2" should contain "access_compat" on "proxy" + And file "/etc/sysconfig/apache2" should contain "wsgi" on "proxy" Then I should see "proxy" via spacecmd And service "salt-broker" is active on "proxy" +@susemanager Scenario: Check proxy system details When I am on the Systems overview page of this "proxy" Then I should see "proxy" short hostname And I wait until I see "SUSE Manager Proxy" text, refreshing the page +@uyuni + Scenario: Check proxy system details + When I am on the Systems overview page of this "proxy" + Then I should see "proxy" short hostname + And I wait until I see "Uyuni Proxy" text, refreshing the page + Scenario: Check events history for failures on the proxy When I check for failed events on history event page diff --git a/testsuite/features/build_validation/reposync/srv_sync_all_products.feature b/testsuite/features/build_validation/reposync/srv_sync_all_products.feature index f72d0fd0ad20..17dda0e1e491 100644 --- a/testsuite/features/build_validation/reposync/srv_sync_all_products.feature +++ b/testsuite/features/build_validation/reposync/srv_sync_all_products.feature @@ -22,6 +22,11 @@ Feature: Synchronize products in the products page of the Setup Wizard When I click the Add Product button And I wait until I see "SUSE Linux Enterprise Server 12 SP4 x86_64" product has been added +@uyuni +@sle12sp4_minion + Scenario: Add SUSE Linux Enterprise Server 12 SP4 Uyuni Client tools + When I use spacewalk-common-channel to add channel "sles12-sp4-uyuni-client-devel" with arch "x86_64" + @sle12sp5_minion Scenario: Add SUSE Linux Enterprise Server 12 SP5 When I follow the left menu "Admin > Setup Wizard > Products" @@ -32,6 +37,11 @@ Feature: Synchronize products in the products page of the Setup Wizard When I click the Add Product button And I wait until I see "SUSE Linux Enterprise Server 12 SP5 x86_64" product has been added +@uyuni +@sle12sp5_minion + Scenario: Add SUSE Linux Enterprise Server 12 SP5 Uyuni Client tools + When I use spacewalk-common-channel to add channel "sles12-sp5-uyuni-client-devel" with arch "x86_64" + @sle15sp1_minion Scenario: Add SUSE Linux Enterprise Server 15 SP1 When I follow the left menu "Admin > Setup Wizard > Products" @@ -45,6 +55,11 @@ Feature: Synchronize products in the products page of the Setup Wizard When I click the Add Product button And I wait until I see "SUSE Linux Enterprise Server 15 SP1 x86_64" product has been added +@uyuni +@sle15sp1_minion + Scenario: Add SUSE Linux Enterprise Server 15 SP1 Uyuni Client tools + When I use spacewalk-common-channel to add channel "sles15-sp1-devel-uyuni-client" with arch "x86_64" + @sle15sp2_minion Scenario: Add SUSE Linux Enterprise Server 15 SP2 When I follow the left menu "Admin > Setup Wizard > Products" @@ -64,6 +79,11 @@ Feature: Synchronize products in the products page of the Setup Wizard When I click the Add Product button And I wait until I see "SUSE Linux Enterprise Server 15 SP2 x86_64" product has been added +@uyuni +@sle15sp2_minion + Scenario: Add SUSE Linux Enterprise Server 15 SP2 Uyuni Client tools + When I use spacewalk-common-channel to add channel "sles15-sp2-devel-uyuni-client" with arch "x86_64" + @sle15sp3_minion Scenario: Add SUSE Linux Enterprise Server 15 SP3 When I follow the left menu "Admin > Setup Wizard > Products" @@ -84,6 +104,11 @@ Feature: Synchronize products in the products page of the Setup Wizard And I wait until I see "Selected channels/products were scheduled successfully for syncing." text And I wait until I see "SUSE Linux Enterprise Server 15 SP3 x86_64" product has been added +@uyuni +@sle15sp3_minion + Scenario: Add SUSE Linux Enterprise Server 15 SP3 Uyuni Client tools + When I use spacewalk-common-channel to add channel "sles15-sp3-devel-uyuni-client" with arch "x86_64" + @sle15sp4_minion Scenario: Add SUSE Linux Enterprise Server 15 SP4 When I follow the left menu "Admin > Setup Wizard > Products" @@ -102,6 +127,11 @@ Feature: Synchronize products in the products page of the Setup Wizard And I wait until I see "Selected channels/products were scheduled successfully for syncing." text And I wait until I see "SUSE Linux Enterprise Server 15 SP4 x86_64" product has been added +@uyuni +@sle15sp4_minion + Scenario: Add SUSE Linux Enterprise Server 15 SP4 Uyuni Client tools + When I use spacewalk-common-channel to add channel "sles15-sp4-devel-uyuni-client" with arch "x86_64" + @sle15sp5_minion Scenario: Add SUSE Linux Enterprise Server 15 SP5 When I follow the left menu "Admin > Setup Wizard > Products" @@ -120,6 +150,12 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 And I wait until I see "Selected channels/products were scheduled successfully for syncing." text And I wait until I see "SUSE Linux Enterprise Server 15 SP5 x86_64" product has been added +@uyuni +@sle15sp5_minion + Scenario: Add SUSE Linux Enterprise Server 15 SP5 Uyuni Client tools + When I use spacewalk-common-channel to add channel "sles15-sp5-devel-uyuni-client" with arch "x86_64" + +@susemanager @slemicro51_minion Scenario: Add SUSE Linux Enterprise Micro 5.1 When I follow the left menu "Admin > Setup Wizard > Products" @@ -134,6 +170,24 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 And I wait until I see "Selected channels/products were scheduled successfully for syncing." text And I wait until I see "SUSE Linux Enterprise Micro 5.1 x86_64" product has been added +@uyuni +@slemicro51_minion + Scenario: Add SUSE Linux Enterprise Micro 5.1 + When I follow the left menu "Admin > Setup Wizard > Products" + And I wait until I do not see "Loading" text + And I enter "SUSE Linux Enterprise Micro 5.1" as the filtered product description + And I select "SUSE Linux Enterprise Micro 5.1 x86_64" as a product + Then I should see the "SUSE Linux Enterprise Micro 5.1 x86_64" selected + When I click the Add Product button + And I wait until I see "Selected channels/products were scheduled successfully for syncing." text + And I wait until I see "SUSE Linux Enterprise Micro 5.1 x86_64" product has been added + +@uyuni +@slemicro51_minion + Scenario: Add SUSE Linux Enterprise Micro 5.1 Uyuni Client tools + When I use spacewalk-common-channel to add channel "suse-microos-5.1-pool-x86_64 suse-microos-5.1-devel-uyuni-client" with arch "x86_64" + +@susemanager @slemicro52_minion Scenario: Add SUSE Linux Enterprise Micro 5.2 When I follow the left menu "Admin > Setup Wizard > Products" @@ -148,6 +202,24 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 And I wait until I see "Selected channels/products were scheduled successfully for syncing." text And I wait until I see "SUSE Linux Enterprise Micro 5.2 x86_64" product has been added +@uyuyni +@slemicro52_minion + Scenario: Add SUSE Linux Enterprise Micro 5.2 + When I follow the left menu "Admin > Setup Wizard > Products" + And I wait until I do not see "Loading" text + And I enter "SUSE Linux Enterprise Micro 5.2" as the filtered product description + And I select "SUSE Linux Enterprise Micro 5.2 x86_64" as a product + Then I should see the "SUSE Linux Enterprise Micro 5.2 x86_64" selected + When I click the Add Product button + And I wait until I see "Selected channels/products were scheduled successfully for syncing." text + And I wait until I see "SUSE Linux Enterprise Micro 5.2 x86_64" product has been added + +@uyuni +@slemicro52_minion + Scenario: Add SUSE Linux Enterprise Micro 5.2 Uyuni Client tools + When I use spacewalk-common-channel to add channel "suse-microos-5.2-pool-x86_64 suse-microos-5.2-devel-uyuni-client" with arch "x86_64" + +@susemanager @slemicro53_minion Scenario: Add SUSE Linux Enterprise Micro 5.3 When I follow the left menu "Admin > Setup Wizard > Products" @@ -162,6 +234,24 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 And I wait until I see "Selected channels/products were scheduled successfully for syncing." text And I wait until I see "SUSE Linux Enterprise Micro 5.3 x86_64" product has been added +@uyuni +@slemicro53_minion + Scenario: Add SUSE Linux Enterprise Micro 5.3 + When I follow the left menu "Admin > Setup Wizard > Products" + And I wait until I do not see "Loading" text + And I enter "SUSE Linux Enterprise Micro 5.3" as the filtered product description + And I select "SUSE Linux Enterprise Micro 5.3 x86_64" as a product + Then I should see the "SUSE Linux Enterprise Micro 5.3 x86_64" selected + When I click the Add Product button + And I wait until I see "Selected channels/products were scheduled successfully for syncing." text + And I wait until I see "SUSE Linux Enterprise Micro 5.3 x86_64" product has been added + +@uyuni +@slemicro53_minion + Scenario: Add SUSE Linux Enterprise Micro 5.3 Uyuni Client tools + When I use spacewalk-common-channel to add channel "sle-micro-5.3-pool-x86_64 sle-micro-5.3-devel-uyuni-client" with arch "x86_64" + +@susemanager @slemicro54_minion Scenario: Add SUSE Linux Enterprise Micro 5.4 When I follow the left menu "Admin > Setup Wizard > Products" @@ -176,6 +266,25 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 And I wait until I see "Selected channels/products were scheduled successfully for syncing." text And I wait until I see "SUSE Linux Enterprise Micro 5.4 x86_64" product has been added +# disabled until a new Uyuni version will be released +# @uyuni +# @slemicro54_minion +# Scenario: Add SUSE Linux Enterprise Micro 5.4 +# When I follow the left menu "Admin > Setup Wizard > Products" +# And I wait until I do not see "Loading" text +# And I enter "SUSE Linux Enterprise Micro 5.4" as the filtered product description +# And I select "SUSE Linux Enterprise Micro 5.4 x86_64" as a product +# Then I should see the "SUSE Linux Enterprise Micro 5.4 x86_64" selected +# When I click the Add Product button +# And I wait until I see "Selected channels/products were scheduled successfully for syncing." text +# And I wait until I see "SUSE Linux Enterprise Micro 5.4 x86_64" product has been added + +# @uyuni +# @slemicro54_minion +# Scenario: Add SUSE Linux Enterprise Micro 5.4 Uyuni Client tools +# When I use spacewalk-common-channel to add channel "sle-micro-5.4-pool-x86_64 sle-micro-5.4-devel-uyuni-client" with arch "x86_64" + +@susemanager @opensuse154arm_minion Scenario: Add openSUSE 15.4 for ARM When I follow the left menu "Admin > Setup Wizard > Products" @@ -187,6 +296,12 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 And I wait until I see "Selected channels/products were scheduled successfully for syncing." text And I wait until I see "openSUSE Leap 15.4 aarch64" product has been added +@uyuni +@opensuse154arm_minion + Scenario: Add openSUSE 15.4 for ARM Uyuni Client tools + When I use spacewalk-common-channel to add channel "opensuse_leap15_4 opensuse_leap15_4-backports-updates opensuse_leap15_4-non-oss opensuse_leap15_4-non-oss-updates opensuse_leap15_4-sle-updates opensuse_leap15_4-updates opensuse_leap15_4-uyuni-client-devel" with arch "aarch64" + +@susemanager @opensuse155arm_minion Scenario: Add openSUSE 15.5 for ARM When I follow the left menu "Admin > Setup Wizard > Products" @@ -198,6 +313,12 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 And I wait until I see "Selected channels/products were scheduled successfully for syncing." text And I wait until I see "openSUSE Leap 15.5 aarch64" product has been added +@uyuni +@opensuse155arm_minion + Scenario: Add openSUSE 15.5 for ARM Uyuni Client tools + When I use spacewalk-common-channel to add channel "opensuse_leap15_5 opensuse_leap15_5-backports-updates opensuse_leap15_5-non-oss opensuse_leap15_5-non-oss-updates opensuse_leap15_5-sle-updates opensuse_leap15_5-updates opensuse_leap15_5-uyuni-client-devel" with arch "aarch64" + +@susemanager @alma9_minion Scenario: Add Alma Linux 9 When I follow the left menu "Admin > Setup Wizard > Products" @@ -208,6 +329,12 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 When I click the Add Product button And I wait until I see "AlmaLinux 9 x86_64" product has been added +@uyuni +@alma9_minion + Scenario: Add Alma Linux 9 + When I use spacewalk-common-channel to add channel "almalinux9 almalinux9-appstream almalinux9-extras almalinux9-uyuni-client-devel" with arch "x86_64" + +@susemanager @centos7_minion Scenario: Add SUSE Linux Enterprise Server with Expanded Support 7 When I follow the left menu "Admin > Setup Wizard > Products" @@ -218,6 +345,12 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 When I click the Add Product button And I wait until I see "SUSE Linux Enterprise Server with Expanded Support 7" product has been added +@uyuni +@centos7_minion + Scenario: Add CentOS 7 + When I use spacewalk-common-channel to add channel "centos7 centos7-extras centos7-uyuni-client-devel" with arch "x86_64" + +@susemanager @liberty9_minion Scenario: Add Liberty Linux 9 When I follow the left menu "Admin > Setup Wizard > Products" @@ -233,6 +366,7 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 When I click the Add Product button And I wait until I see "SUSE Liberty Linux 9" product has been added +@susemanager @oracle9_minion Scenario: Add Oracle Linux 9 When I follow the left menu "Admin > Setup Wizard > Products" @@ -243,6 +377,11 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 When I click the Add Product button And I wait until I see "Oracle Linux 9 x86_64" product has been added +@uyuni +@oracle9_minion + Scenario: Add Oracle Linux 9 + When I use spacewalk-common-channel to add channel "oraclelinux9 oraclelinux9-appstream oraclelinux9-uyuni-client-devel" with arch "x86_64" + @rhel9_minion Scenario: Add RHEL 9 When I follow the left menu "Admin > Setup Wizard > Products" @@ -253,6 +392,7 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 When I click the Add Product button And I wait until I see "RHEL and Liberty 9 Base" product has been added +@susemanager @rocky8_minion Scenario: Add SUSE Linux Enterprise Server with Expanded Support 8 When I follow the left menu "Admin > Setup Wizard > Products" @@ -266,6 +406,12 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 When I click the Add Product button And I wait until I see "RHEL or SLES ES or CentOS 8 Base" product has been added +@uyuni +@rocky8_minion + Scenario: Add Rocky Linux 8 + When I use spacewalk-common-channel to add channel "rockylinux8 rockylinux8-appstream rockylinux8-extras rockylinux8-uyuni-client-devel" with arch "x86_64" + +@susemanager @rocky9_minion Scenario: Add Rocky Linux 9 When I follow the left menu "Admin > Setup Wizard > Products" @@ -286,6 +432,12 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 When I click the Add Product button And I wait until I see "Ubuntu 20.04" product has been added +@uyuni +@ubuntu2004_minion + Scenario: Add Ubuntu 20.04 + When I use spacewalk-common-channel to add channel "ubuntu-2004-pool-amd64-uyuni ubuntu-2004-amd64-main-uyuni ubuntu-2004-amd64-main-updates-uyuni ubuntu-2004-amd64-main-security-uyuni ubuntu-2004-amd64-universe-uyuni ubuntu-2004-amd64-universe-updates-uyuni ubuntu-2004-amd64-universe-security-uyuni ubuntu-2004-amd64-universe-backports-uyuni ubuntu-2004-amd64-uyuni-client-devel" with arch "amd64-deb" + +@susemanager @ubuntu2204_minion Scenario: Add Ubuntu 22.04 When I follow the left menu "Admin > Setup Wizard > Products" @@ -296,6 +448,12 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 When I click the Add Product button And I wait until I see "Ubuntu 22.04" product has been added +@uyuni +@ubuntu2204_minion + Scenario: Add Ubuntu 22.04 + When I use spacewalk-common-channel to add channel "ubuntu-2204-pool-amd64-uyuni ubuntu-2204-amd64-main-uyuni ubuntu-2204-amd64-main-updates-uyuni ubuntu-2204-amd64-main-security-uyuni ubuntu-2204-amd64-universe-uyuni ubuntu-2204-amd64-universe-updates-uyuni ubuntu-2204-amd64-universe-security-uyuni ubuntu-2204-amd64-universe-backports-uyuni ubuntu-2204-amd64-uyuni-client-devel" with arch "amd64-deb" + +@susemanager @debian10_minion Scenario: Add Debian 10 When I follow the left menu "Admin > Setup Wizard > Products" @@ -306,6 +464,12 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 When I click the Add Product button And I wait until I see "Debian 10" product has been added +@uyuni +@debian10_minion + Scenario: Add Debian 10 + When I use spacewalk-common-channel to add channel "debian-10-pool-amd64-uyuni debian-10-amd64-main-updates-uyuni debian-10-amd64-main-security-uyuni debian-10-amd64-uyuni-client-devel" with arch "amd64-deb" + +@susemanager @debian11_minion Scenario: Add Debian 11 When I follow the left menu "Admin > Setup Wizard > Products" @@ -316,6 +480,12 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 When I click the Add Product button And I wait until I see "Debian 11" product has been added +@uyuni +@debian11_minion + Scenario: Add Debian 11 + When I use spacewalk-common-channel to add channel "debian-11-pool-amd64-uyuni debian-11-amd64-main-updates-uyuni debian-11-amd64-main-security-uyuni debian-11-amd64-uyuni-client-devel" with arch "amd64-deb" + +@susemanager @proxy Scenario: Add SUSE Manager Proxy 4.3 When I follow the left menu "Admin > Setup Wizard > Products" @@ -327,6 +497,12 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5 And I wait until I see "Selected channels/products were scheduled successfully for syncing." text And I wait until I see "SUSE Manager Proxy 4.3 x86_64" product has been added +@uyuni +@proxy + Scenario: Add Uyuni Leap 15.4 Proxy, inlcuding Uyuni Client Tools + When I use spacewalk-common-channel to add channel "opensuse_leap15_4 opensuse_leap15_4-non-oss opensuse_leap15_4-non-oss-updates opensuse_leap15_4-updates opensuse_leap15_4-backports-updates opensuse_leap15_4-sle-updates uyuni-proxy-stable-leap-154 opensuse_leap15_4-uyuni-client-devel" with arch "x86_64" + +@susemanager @proxy Scenario: Add SUSE Manager Retail Branch Server 4.3 When I follow the left menu "Admin > Setup Wizard > Products" diff --git a/testsuite/features/init_clients/allcli_update_activationkeys.feature b/testsuite/features/init_clients/allcli_update_activationkeys.feature index a14bc78b6146..f6873a318002 100644 --- a/testsuite/features/init_clients/allcli_update_activationkeys.feature +++ b/testsuite/features/init_clients/allcli_update_activationkeys.feature @@ -185,6 +185,6 @@ Feature: Update activation keys And I check "Update repository of openSUSE Leap 15.4 Backports (x86_64)" And I check "Update repository with updates from SUSE Linux Enterprise 15 for openSUSE Leap 15.4 (x86_64)" And I check "Uyuni Client Tools for openSUSE Leap 15.4 (x86_64)" - And I check "Uyuni Proxy Devel for openSUSE Leap 15.4 (x86_64) (Development)" + And I check "Uyuni Proxy Devel for openSUSE Leap 15.4 (x86_64)" When I click on "Update Activation Key" Then I should see a "Activation key Proxy Key x86_64 has been modified" text diff --git a/testsuite/features/init_clients/proxy_register_as_minion_with_gui.feature b/testsuite/features/init_clients/proxy_register_as_minion_with_gui.feature index c36e9b885705..33d5d596d30a 100644 --- a/testsuite/features/init_clients/proxy_register_as_minion_with_gui.feature +++ b/testsuite/features/init_clients/proxy_register_as_minion_with_gui.feature @@ -78,7 +78,7 @@ Feature: Setup Uyuni proxy And I check "Update repository of openSUSE Leap 15.4 Backports (x86_64)" And I check "Update repository with updates from SUSE Linux Enterprise 15 for openSUSE Leap 15.4 (x86_64)" And I check "Uyuni Client Tools for openSUSE Leap 15.4 (x86_64)" - And I check "Uyuni Proxy Devel for openSUSE Leap 15.4 (x86_64) (Development)" + And I check "Uyuni Proxy Devel for openSUSE Leap 15.4 (x86_64)" And I click on "Next" Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" diff --git a/testsuite/features/init_clients/proxy_register_as_minion_with_script.feature b/testsuite/features/init_clients/proxy_register_as_minion_with_script.feature index bf299a016091..88ba88fe6c2b 100644 --- a/testsuite/features/init_clients/proxy_register_as_minion_with_script.feature +++ b/testsuite/features/init_clients/proxy_register_as_minion_with_script.feature @@ -88,7 +88,7 @@ Feature: Setup Uyuni proxy And I check "Update repository of openSUSE Leap 15.4 Backports (x86_64)" And I check "Update repository with updates from SUSE Linux Enterprise 15 for openSUSE Leap 15.4 (x86_64)" And I check "Uyuni Client Tools for openSUSE Leap 15.4 (x86_64)" - And I check "Uyuni Proxy Devel for openSUSE Leap 15.4 (x86_64) (Development)" + And I check "Uyuni Proxy Devel for openSUSE Leap 15.4 (x86_64)" And I click on "Next" Then I should see a "Confirm Software Channel Change" text When I click on "Confirm" diff --git a/testsuite/features/step_definitions/api_common.rb b/testsuite/features/step_definitions/api_common.rb index bc99b93885b5..0e196ee1b360 100644 --- a/testsuite/features/step_definitions/api_common.rb +++ b/testsuite/features/step_definitions/api_common.rb @@ -238,18 +238,19 @@ When(/^I create an activation key including custom channels for "([^"]*)" via API$/) do |client| # Create a key with the base channel for this client id = description = "#{client}_key" - base_channel = LABEL_BY_BASE_CHANNEL[BASE_CHANNEL_BY_CLIENT[client]] - key = $api_test.activationkey.create(id, description, base_channel, 100) + base_channel = BASE_CHANNEL_BY_CLIENT[product][client] + base_channel_label = LABEL_BY_BASE_CHANNEL[product][base_channel] + key = $api_test.activationkey.create(id, description, base_channel_label, 100) raise StandardError, 'Error creating activation key via the API' if key.nil? STDOUT.puts "Activation key #{key} created" unless key.nil? is_ssh_minion = client.include? 'ssh_minion' - $api_test.activationkey.set_details(key, description, base_channel, 100, is_ssh_minion ? 'ssh-push' : 'default') + $api_test.activationkey.set_details(key, description, base_channel_label, 100, is_ssh_minion ? 'ssh-push' : 'default') entitlements = client.include?('buildhost') ? ['osimage_build_host'] : '' $api_test.activationkey.set_entitlement(key, entitlements) unless entitlements.empty? # Get the list of child channels for this base channel - child_channels = $api_test.channel.software.list_child_channels(base_channel) + child_channels = $api_test.channel.software.list_child_channels(base_channel_label) # Filter out the custom channels # This is needed because we might have both a traditional custom channel and a Salt custom channel diff --git a/testsuite/features/step_definitions/command_steps.rb b/testsuite/features/step_definitions/command_steps.rb index 5a8e178bead7..8931575170da 100644 --- a/testsuite/features/step_definitions/command_steps.rb +++ b/testsuite/features/step_definitions/command_steps.rb @@ -966,9 +966,9 @@ end When(/^I create the bootstrap repository for "([^"]*)" on the server$/) do |host| - base_channel = BASE_CHANNEL_BY_CLIENT[host] - channel = CHANNEL_TO_SYNC_BY_BASE_CHANNEL[base_channel] - parent_channel = PARENT_CHANNEL_TO_SYNC_BY_BASE_CHANNEL[base_channel] + base_channel = BASE_CHANNEL_BY_CLIENT[product][host] + channel = CHANNEL_TO_SYNC_BY_BASE_CHANNEL[product][base_channel] + parent_channel = PARENT_CHANNEL_TO_SYNC_BY_BASE_CHANNEL[product][base_channel] get_target('server').wait_while_process_running('mgr-create-bootstrap-repo') cmd = if parent_channel.nil? "mgr-create-bootstrap-repo --create #{channel} --with-custom-channels --flush" diff --git a/testsuite/features/step_definitions/navigation_steps.rb b/testsuite/features/step_definitions/navigation_steps.rb index 454ccc153aac..ffde67de425f 100644 --- a/testsuite/features/step_definitions/navigation_steps.rb +++ b/testsuite/features/step_definitions/navigation_steps.rb @@ -202,7 +202,7 @@ end When(/^I select the parent channel for the "([^"]*)" from "([^"]*)"$/) do |client, from| - select(BASE_CHANNEL_BY_CLIENT[client], from: from, exact: false) + select(BASE_CHANNEL_BY_CLIENT[product][client], from: from, exact: false) end When(/^I select "([^"]*)" from drop-down in table line with "([^"]*)"$/) do |value, line| diff --git a/testsuite/features/support/constants.rb b/testsuite/features/support/constants.rb index 085b00f2b6a3..f51791132312 100644 --- a/testsuite/features/support/constants.rb +++ b/testsuite/features/support/constants.rb @@ -196,166 +196,326 @@ sle_base_channel = if ENV['PROVIDER'].include? 'podman' 'Fake Base Channel' + elsif ENV['SERVER'].include?('uyuni') || ENV['SERVER'].include?('suma-pr') elsif ENV['SERVER'].include?('uyuni') || ENV['SERVER'].include?('suma-pr') 'openSUSE Leap 15.4 (x86_64)' else 'SLES15-SP4-Pool' end -proxy_base_channel = - if ENV['SERVER'].include?('uyuni') || ENV['SERVER'].include?('suma-pr') - 'openSUSE Leap 15.4 (x86_64)' - else - 'SLE-Product-SUSE-Manager-Proxy-4.3-Pool' - end - -BASE_CHANNEL_BY_CLIENT = { 'proxy' => proxy_base_channel, - 'sle_minion' => sle_base_channel, - 'ssh_minion' => 'SLES15-SP4-Pool', - 'rhlike_minion' => 'RHEL8-Pool for x86_64', - 'deblike_minion' => 'ubuntu-2004-amd64-main', - 'sle12sp4_minion' => 'SLES12-SP4-Pool', - 'sle12sp4_ssh_minion' => 'SLES12-SP4-Pool', - 'sle12sp5_minion' => 'SLES12-SP5-Pool', - 'sle12sp5_ssh_minion' => 'SLES12-SP5-Pool', - 'sle12sp5_buildhost' => 'SLES12-SP5-Pool', - 'sle12sp5_terminal' => 'SLES12-SP5-Pool', - 'sle15sp1_minion' => 'SLES15-SP1-Pool', - 'sle15sp1_ssh_minion' => 'SLES15-SP1-Pool', - 'sle15sp2_minion' => 'SLES15-SP2-Pool', - 'sle15sp2_ssh_minion' => 'SLES15-SP2-Pool', - 'sle15sp3_minion' => 'SLES15-SP3-Pool', - 'sle15sp3_ssh_minion' => 'SLES15-SP3-Pool', - 'sle15sp4_minion' => 'SLES15-SP4-Pool', - 'sle15sp4_ssh_minion' => 'SLES15-SP4-Pool', - 'sle15sp5_minion' => 'SLES15-SP5-Pool', - 'sle15sp5_ssh_minion' => 'SLES15-SP5-Pool', - 'slemicro51_minion' => 'SUSE-MicroOS-5.1-Pool for x86_64', - 'slemicro51_ssh_minion' => 'SUSE-MicroOS-5.1-Pool for x86_64', - 'slemicro52_minion' => 'SUSE-MicroOS-5.2-Pool for x86_64', - 'slemicro52_ssh_minion' => 'SUSE-MicroOS-5.2-Pool for x86_64', - 'slemicro53_minion' => 'SLE-Micro-5.3-Pool for x86_64', - 'slemicro53_ssh_minion' => 'SLE-Micro-5.3-Pool for x86_64', - 'slemicro54_minion' => 'SLE-Micro-5.4-Pool for x86_64', - 'slemicro54_ssh_minion' => 'SLE-Micro-5.4-Pool for x86_64', - 'sle15sp4_buildhost' => 'SLES15-SP4-Pool', - 'monitoring_server' => 'SLES15-SP4-Pool', - 'sle15sp4_terminal' => 'SLES15-SP4-Pool', - 'alma9_minion' => 'almalinux9 for x86_64', - 'alma9_ssh_minion' => 'almalinux9 for x86_64', - 'centos7_minion' => 'RHEL x86_64 Server 7', - 'centos7_ssh_minion' => 'RHEL x86_64 Server 7', - 'liberty9_minion' => 'EL9-Pool for x86_64', - 'liberty9_ssh_minion' => 'EL9-Pool for x86_64', - 'oracle9_minion' => 'oraclelinux9 for x86_64', - 'oracle9_ssh_minion' => 'oraclelinux9 for x86_64', - 'rhel9_minion' => 'EL9-Pool for x86_64', - 'rhel9_ssh_minion' => 'EL9-Pool for x86_64', - 'rocky8_minion' => 'RHEL8-Pool for x86_64', - 'rocky8_ssh_minion' => 'RHEL8-Pool for x86_64', - 'rocky9_minion' => 'rockylinux-9 for x86_64', - 'rocky9_ssh_minion' => 'rockylinux-9 for x86_64', - 'ubuntu2004_minion' => 'ubuntu-2004-amd64-main', - 'ubuntu2004_ssh_minion' => 'ubuntu-2004-amd64-main', - 'ubuntu2204_minion' => 'ubuntu-2204-amd64-main', - 'ubuntu2204_ssh_minion' => 'ubuntu-2204-amd64-main', - 'debian10_minion' => 'debian-10-pool', - 'debian10_ssh_minion' => 'debian-10-pool', - 'debian11_minion' => 'debian-11-pool', - 'debian11_ssh_minion' => 'debian-11-pool', - 'opensuse154arm_minion' => 'openSUSE-Leap-15.4-Pool for aarch64', - 'opensuse154arm_ssh_minion' => 'openSUSE-Leap-15.4-Pool for aarch64', - 'opensuse155arm_minion' => 'openSUSE-Leap-15.5-Pool for aarch64', - 'opensuse155arm_ssh_minion' => 'openSUSE-Leap-15.5-Pool for aarch64' }.freeze +# Names of our base/parent channels +# The keys are the Twopence targets +# The values can be found in the webUI under Software -> Manage -> Channels -> Create Channel +# Then have a look at the the Parent Channel selections +BASE_CHANNEL_BY_CLIENT = { 'SUSE Manager' => + { + 'proxy' => 'SLE-Product-SUSE-Manager-Proxy-4.3-Pool', + 'sle_minion' => sle_base_channel, + 'ssh_minion' => 'SLES15-SP4-Pool', + 'rhlike_minion' => 'RHEL8-Pool for x86_64', + 'deblike_minion' => 'ubuntu-2004-amd64-main', + 'sle12sp4_minion' => 'SLES12-SP4-Pool', + 'sle12sp4_ssh_minion' => 'SLES12-SP4-Pool', + 'sle12sp5_minion' => 'SLES12-SP5-Pool', + 'sle12sp5_ssh_minion' => 'SLES12-SP5-Pool', + 'sle12sp5_buildhost' => 'SLES12-SP5-Pool', + 'sle12sp5_terminal' => 'SLES12-SP5-Pool', + 'sle15sp1_minion' => 'SLES15-SP1-Pool', + 'sle15sp1_ssh_minion' => 'SLES15-SP1-Pool', + 'sle15sp2_minion' => 'SLES15-SP2-Pool', + 'sle15sp2_ssh_minion' => 'SLES15-SP2-Pool', + 'sle15sp3_minion' => 'SLES15-SP3-Pool', + 'sle15sp3_ssh_minion' => 'SLES15-SP3-Pool', + 'sle15sp4_minion' => 'SLES15-SP4-Pool', + 'sle15sp4_ssh_minion' => 'SLES15-SP4-Pool', + 'sle15sp5_minion' => 'SLES15-SP5-Pool', + 'sle15sp5_ssh_minion' => 'SLES15-SP5-Pool', + 'slemicro51_minion' => 'SUSE-MicroOS-5.1-Pool for x86_64', + 'slemicro51_ssh_minion' => 'SUSE-MicroOS-5.1-Pool for x86_64', + 'slemicro52_minion' => 'SUSE-MicroOS-5.2-Pool for x86_64', + 'slemicro52_ssh_minion' => 'SUSE-MicroOS-5.2-Pool for x86_64', + 'slemicro53_minion' => 'SLE-Micro-5.3-Pool for x86_64', + 'slemicro53_ssh_minion' => 'SLE-Micro-5.3-Pool for x86_64', + 'slemicro54_minion' => 'SLE-Micro-5.4-Pool for x86_64', + 'slemicro54_ssh_minion' => 'SLE-Micro-5.4-Pool for x86_64', + 'sle15sp4_buildhost' => 'SLES15-SP4-Pool', + 'monitoring_server' => 'SLES15-SP4-Pool', + 'sle15sp4_terminal' => 'SLES15-SP4-Pool', + 'alma9_minion' => 'almalinux9 for x86_64', + 'alma9_ssh_minion' => 'almalinux9 for x86_64', + 'centos7_minion' => 'RHEL x86_64 Server 7', + 'centos7_ssh_minion' => 'RHEL x86_64 Server 7', + 'liberty9_minion' => 'EL9-Pool for x86_64', + 'liberty9_ssh_minion' => 'EL9-Pool for x86_64', + 'oracle9_minion' => 'oraclelinux9 for x86_64', + 'oracle9_ssh_minion' => 'oraclelinux9 for x86_64', + 'rhel9_minion' => 'EL9-Pool for x86_64', + 'rhel9_ssh_minion' => 'EL9-Pool for x86_64', + 'rocky8_minion' => 'RHEL8-Pool for x86_64', + 'rocky8_ssh_minion' => 'RHEL8-Pool for x86_64', + 'rocky9_minion' => 'rockylinux-9 for x86_64', + 'rocky9_ssh_minion' => 'rockylinux-9 for x86_64', + 'ubuntu2004_minion' => 'ubuntu-2004-amd64-main', + 'ubuntu2004_ssh_minion' => 'ubuntu-2004-amd64-main', + 'ubuntu2204_minion' => 'ubuntu-2204-amd64-main', + 'ubuntu2204_ssh_minion' => 'ubuntu-2204-amd64-main', + 'debian10_minion' => 'debian-10-pool', + 'debian10_ssh_minion' => 'debian-10-pool', + 'debian11_minion' => 'debian-11-pool', + 'debian11_ssh_minion' => 'debian-11-pool', + 'opensuse154arm_minion' => 'openSUSE-Leap-15.4-Pool for aarch64', + 'opensuse154arm_ssh_minion' => 'openSUSE-Leap-15.4-Pool for aarch64', + 'opensuse155arm_minion' => 'openSUSE-Leap-15.5-Pool for aarch64', + 'opensuse155arm_ssh_minion' => 'openSUSE-Leap-15.5-Pool for aarch64' + }, + 'Uyuni' => + { + 'proxy' => 'openSUSE Leap 15.4 (x86_64)', + 'sle_minion' => sle_base_channel, + 'ssh_minion' => 'SLES15-SP4-Pool', + 'rhlike_minion' => 'RHEL8-Pool for x86_64', + 'deblike_minion' => 'ubuntu-2004-amd64-main', + 'sle12sp4_minion' => 'SLES12-SP4-Pool', + 'sle12sp4_ssh_minion' => 'SLES12-SP4-Pool', + 'sle12sp5_minion' => 'SLES12-SP5-Pool', + 'sle12sp5_ssh_minion' => 'SLES12-SP5-Pool', + 'sle12sp5_buildhost' => 'SLES12-SP5-Pool', + 'sle12sp5_terminal' => 'SLES12-SP5-Pool', + 'sle15sp1_minion' => 'SLES15-SP1-Pool', + 'sle15sp1_ssh_minion' => 'SLES15-SP1-Pool', + 'sle15sp2_minion' => 'SLES15-SP2-Pool', + 'sle15sp2_ssh_minion' => 'SLES15-SP2-Pool', + 'sle15sp3_minion' => 'SLES15-SP3-Pool', + 'sle15sp3_ssh_minion' => 'SLES15-SP3-Pool', + 'sle15sp4_minion' => 'SLES15-SP4-Pool', + 'sle15sp4_ssh_minion' => 'SLES15-SP4-Pool', + 'sle15sp5_minion' => 'SLES15-SP5-Pool', + 'sle15sp5_ssh_minion' => 'SLES15-SP5-Pool', + 'slemicro51_minion' => 'SUSE-MicroOS-5.1-Pool for x86_64', + 'slemicro51_ssh_minion' => 'SUSE-MicroOS-5.1-Pool for x86_64', + 'slemicro52_minion' => 'SUSE-MicroOS-5.2-Pool for x86_64', + 'slemicro52_ssh_minion' => 'SUSE-MicroOS-5.2-Pool for x86_64', + 'slemicro53_minion' => 'SLE-Micro-5.3-Pool for x86_64', + 'slemicro53_ssh_minion' => 'SLE-Micro-5.3-Pool for x86_64', + 'slemicro54_minion' => 'SLE-Micro-5.4-Pool for x86_64', + 'slemicro54_ssh_minion' => 'SLE-Micro-5.4-Pool for x86_64', + 'sle15sp4_buildhost' => 'SLES15-SP4-Pool', + 'monitoring_server' => 'SLES15-SP4-Pool', + 'sle15sp4_terminal' => 'SLES15-SP4-Pool', + 'alma9_minion' => 'AlmaLinux 9 (x86_64)', + 'alma9_ssh_minion' => 'AlmaLinux 9 (x86_64)', + 'centos7_minion' => 'CentOS 7 (x86_64)', + 'centos7_ssh_minion' => 'CentOS 7 (x86_64)', + 'liberty9_minion' => 'EL9-Pool for x86_64', + 'liberty9_ssh_minion' => 'EL9-Pool for x86_64', + 'oracle9_minion' => 'Oracle Linux 9 (x86_64)', + 'oracle9_ssh_minion' => 'Oracle Linux 9 (x86_64)', + 'rhel9_minion' => 'EL9-Pool for x86_64', + 'rhel9_ssh_minion' => 'EL9-Pool for x86_64', + 'rocky8_minion' => 'Rocky Linux 8 (x86_64)', + 'rocky8_ssh_minion' => 'Rocky Linux 8 (x86_64)', + 'rocky9_minion' => 'Rocky Linux 9 (x86_64)', + 'rocky9_ssh_minion' => 'Rocky Linux 9 (x86_64)', + 'ubuntu2004_minion' => 'Ubuntu 20.04 LTS AMD64 Base for Uyuni', + 'ubuntu2004_ssh_minion' => 'Ubuntu 20.04 LTS AMD64 Base for Uyuni', + 'ubuntu2204_minion' => 'Ubuntu 22.04 LTS AMD64 Base for Uyuni', + 'ubuntu2204_ssh_minion' => 'Ubuntu 22.04 LTS AMD64 Base for Uyuni', + 'debian10_minion' => 'Debian 10 (buster) pool for amd64 for Uyuni', + 'debian10_ssh_minion' => 'Debian 10 (buster) pool for amd64 for Uyuni', + 'debian11_minion' => 'Debian 11 (bullseye) pool for amd64 for Uyuni', + 'debian11_ssh_minion' => 'Debian 11 (bullseye) pool for amd64 for Uyuni', + 'opensuse154arm_minion' => 'openSUSE Leap 15.4 (aarch64)', + 'opensuse154arm_ssh_minion' => 'openSUSE Leap 15.4 (aarch64)', + 'opensuse155arm_minion' => 'openSUSE Leap 15.5 (aarch64)', + 'opensuse155arm_ssh_minion' => 'openSUSE Leap 15.5 (aarch64)' + } }.freeze # Used for creating activation keys -# The values can be found under Admin -> Setup Wizard -> Products +# The keys are the values of BASE_CHANNEL_BY_CLIENT +# The values can be found under Admin -> Setup Wizard -> Products for SUMA # Select the desired product and have a look at its product channels # The required product has to be synced before. -LABEL_BY_BASE_CHANNEL = { 'SLE-Product-SUSE-Manager-Proxy-4.3-Pool' => 'sle-product-suse-manager-proxy-4.3-pool-x86_64', - 'SLES12-SP4-Pool' => 'sles12-sp4-pool-x86_64', - 'SLES12-SP5-Pool' => 'sles12-sp5-pool-x86_64', - 'SLES15-SP1-Pool' => 'sle-product-sles15-sp1-pool-x86_64', - 'SLES15-SP2-Pool' => 'sle-product-sles15-sp2-pool-x86_64', - 'SLES15-SP3-Pool' => 'sle-product-sles15-sp3-pool-x86_64', - 'SLES15-SP4-Pool' => 'sle-product-sles15-sp4-pool-x86_64', - 'SLES15-SP5-Pool' => 'sle-product-sles15-sp5-pool-x86_64', - 'SUSE-MicroOS-5.1-Pool for x86_64' => 'suse-microos-5.1-pool-x86_64', - 'SUSE-MicroOS-5.2-Pool for x86_64' => 'suse-microos-5.2-pool-x86_64', - 'SLE-Micro-5.3-Pool for x86_64' => 'sle-micro-5.3-pool-x86_64', - 'SLE-Micro-5.4-Pool for x86_64' => 'sle-micro-5.4-pool-x86_64', - 'almalinux9 for x86_64' => 'no-appstream-alma-9-result-almalinux9-x86_64', - 'Fake Base Channel' => 'fake_base_channel', - 'RHEL x86_64 Server 7' => 'rhel-x86_64-server-7', - 'EL9-Pool for x86_64' => 'no-appstream-liberty-9-result-el9-pool-x86_64', - 'oraclelinux9 for x86_64' => 'no-appstream-oracle-9-result-oraclelinux9-x86_64', - 'RHEL8-Pool for x86_64' => 'no-appstream-8-result-rhel8-pool-x86_64', - 'rockylinux-9 for x86_64' => 'no-appstream-9-result-rockylinux-9-x86_64', - 'ubuntu-2004-amd64-main' => 'ubuntu-2004-amd64-main-amd64', - 'ubuntu-2204-amd64-main' => 'ubuntu-2204-amd64-main-amd64', - 'debian-10-pool' => 'debian-10-pool-amd64', - 'debian-11-pool' => 'debian-11-pool-amd64', - 'openSUSE-Leap-15.4-Pool for aarch64' => 'opensuse-leap-15.4-pool-aarch64', - 'openSUSE-Leap-15.5-Pool for aarch64' => 'opensuse-leap-15.5-pool-aarch64' }.freeze +# For Uyuni, you have to use `spacewalk-common-channels -l` to get the proper values +LABEL_BY_BASE_CHANNEL = { 'SUSE Manager' => + { + 'SLE-Product-SUSE-Manager-Proxy-4.3-Pool' => 'sle-product-suse-manager-proxy-4.3-pool-x86_64', + 'SLES12-SP4-Pool' => 'sles12-sp4-pool-x86_64', + 'SLES12-SP5-Pool' => 'sles12-sp5-pool-x86_64', + 'SLES15-SP1-Pool' => 'sle-product-sles15-sp1-pool-x86_64', + 'SLES15-SP2-Pool' => 'sle-product-sles15-sp2-pool-x86_64', + 'SLES15-SP3-Pool' => 'sle-product-sles15-sp3-pool-x86_64', + 'SLES15-SP4-Pool' => 'sle-product-sles15-sp4-pool-x86_64', + 'SLES15-SP5-Pool' => 'sle-product-sles15-sp5-pool-x86_64', + 'SUSE-MicroOS-5.1-Pool for x86_64' => 'suse-microos-5.1-pool-x86_64', + 'SUSE-MicroOS-5.2-Pool for x86_64' => 'suse-microos-5.2-pool-x86_64', + 'SLE-Micro-5.3-Pool for x86_64' => 'sle-micro-5.3-pool-x86_64', + 'SLE-Micro-5.4-Pool for x86_64' => 'sle-micro-5.4-pool-x86_64', + 'almalinux9 for x86_64' => 'no-appstream-alma-9-result-almalinux9-x86_64', + 'Fake Base Channel' => 'fake_base_channel', + 'RHEL x86_64 Server 7' => 'rhel-x86_64-server-7', + 'EL9-Pool for x86_64' => 'no-appstream-liberty-9-result-el9-pool-x86_64', + 'oraclelinux9 for x86_64' => 'no-appstream-oracle-9-result-oraclelinux9-x86_64', + 'RHEL8-Pool for x86_64' => 'no-appstream-8-result-rhel8-pool-x86_64', + 'rockylinux-9 for x86_64' => 'no-appstream-9-result-rockylinux-9-x86_64', + 'ubuntu-2004-amd64-main' => 'ubuntu-2004-amd64-main-amd64', + 'ubuntu-2204-amd64-main' => 'ubuntu-2204-amd64-main-amd64', + 'debian-10-pool' => 'debian-10-pool-amd64', + 'debian-11-pool' => 'debian-11-pool-amd64', + 'openSUSE-Leap-15.4-Pool for aarch64' => 'opensuse-leap-15.4-pool-aarch64', + 'openSUSE-Leap-15.5-Pool for aarch64' => 'opensuse-leap-15.5-pool-aarch64' + }, + 'Uyuni' => + { + 'openSUSE Leap 15.4 (x86_64)' => 'opensuse_leap15_4-x86_64', + 'SLES12-SP4-Pool' => 'sles12-sp4-pool-x86_64', + 'SLES12-SP5-Pool' => 'sles12-sp5-pool-x86_64', + 'SLES15-SP1-Pool' => 'sle-product-sles15-sp1-pool-x86_64', + 'SLES15-SP2-Pool' => 'sle-product-sles15-sp2-pool-x86_64', + 'SLES15-SP3-Pool' => 'sle-product-sles15-sp3-pool-x86_64', + 'SLES15-SP4-Pool' => 'sle-product-sles15-sp4-pool-x86_64', + 'SLES15-SP5-Pool' => 'sle-product-sles15-sp5-pool-x86_64', + 'SUSE-MicroOS-5.1-Pool for x86_64' => 'suse-microos-5.1-pool-x86_64', + 'SUSE-MicroOS-5.2-Pool for x86_64' => 'suse-microos-5.2-pool-x86_64', + 'SLE-Micro-5.3-Pool for x86_64' => 'sle-micro-5.3-pool-x86_64', + 'SLE-Micro-5.4-Pool for x86_64' => 'sle-micro-5.4-pool-x86_64', + 'AlmaLinux 9 (x86_64)' => 'no-appstream-alma-9-result-almalinux9-x86_64', + 'Fake Base Channel' => 'fake_base_channel', + 'CentOS 7 (x86_64)' => 'centos7-x86_64', + 'EL9-Pool for x86_64' => 'no-appstream-liberty-9-result-el9-pool-x86_64', + 'Oracle Linux 9 (x86_64)' => 'no-appstream-oracle-9-result-oraclelinux9-x86_64', + 'Rocky Linux 8 (x86_64)' => 'no-appstream-8-result-rockylinux8-x86_64', + 'Rocky Linux 9 (x86_64)' => 'no-appstream-9-result-rockylinux9-x86_64', + 'Ubuntu 20.04 LTS AMD64 Base for Uyuni' => 'ubuntu-20.04-pool-amd64-uyuni', + 'Ubuntu 22.04 LTS AMD64 Base for Uyuni' => 'ubuntu-22.04-pool-amd64-uyuni', + 'Debian 10 (buster) pool for amd64 for Uyuni' => 'debian-10-pool-amd64-uyuni', + 'Debian 11 (bullseye) pool for amd64 for Uyuni' => 'debian-11-pool-amd64-uyuni', + 'openSUSE Leap 15.4 (aarch64)' => 'opensuse_leap15_4-aarch64', + 'openSUSE Leap 15.5 (aarch64)' => 'opensuse_leap15_5-aarch64' + } }.freeze # Used for creating bootstrap repositories +# The keys are the values of BASE_CHANNEL_BY_CLIENT # The values can be found out on the server by running 'mgr-create-bootstrap-repo' # Then select the correct name for the product you want -CHANNEL_TO_SYNC_BY_BASE_CHANNEL = { 'SLE-Product-SUSE-Manager-Proxy-4.3-Pool' => 'SUMA-43-PROXY-x86_64', - 'SLES12-SP4-Pool' => 'SLE-12-SP4-x86_64', - 'SLES12-SP5-Pool' => 'SLE-12-SP5-x86_64', - 'SLES15-SP1-Pool' => 'SLE-15-SP1-x86_64', - 'SLES15-SP2-Pool' => 'SLE-15-SP2-x86_64', - 'SLES15-SP3-Pool' => 'SLE-15-SP3-x86_64', - 'SLES15-SP4-Pool' => 'SLE-15-SP4-x86_64', - 'SLES15-SP5-Pool' => 'SLE-15-SP5-x86_64', - 'SUSE-MicroOS-5.1-Pool for x86_64' => 'SLE-MICRO-5.1-x86_64', - 'SUSE-MicroOS-5.2-Pool for x86_64' => 'SLE-MICRO-5.2-x86_64', - 'SLE-Micro-5.3-Pool for x86_64' => 'SLE-MICRO-5.3-x86_64', - 'SLE-Micro-5.4-Pool for x86_64' => 'SLE-MICRO-5.4-x86_64', - 'almalinux9 for x86_64' => 'almalinux-9-x86_64', - 'Fake Base Channel' => 'fake_base_channel-x86_64', - 'RHEL x86_64 Server 7' => 'RES7-x86_64', - 'EL9-Pool for x86_64' => 'SUSE-LibertyLinux9-x86_64', - 'oraclelinux9 for x86_64' => 'oracle-9-x86_64', - 'RHEL8-Pool for x86_64' => 'SLE-ES8-x86_64', - 'rockylinux-9 for x86_64' => 'rockylinux-9-x86_64', - 'ubuntu-2004-amd64-main' => 'ubuntu-20.04-amd64', - 'ubuntu-2204-amd64-main' => 'ubuntu-22.04-amd64', - 'debian-10-pool' => 'debian10-amd64', - 'debian-11-pool' => 'debian11-amd64', - 'openSUSE-Leap-15.4-Pool for aarch64' => 'openSUSE-Leap-15.4-aarch64', - 'openSUSE-Leap-15.5-Pool for aarch64' => 'openSUSE-Leap-15.5-aarch64' }.freeze +CHANNEL_TO_SYNC_BY_BASE_CHANNEL = { 'SUSE Manager' => + { + 'SLE-Product-SUSE-Manager-Proxy-4.3-Pool' => 'SUMA-43-PROXY-x86_64', + 'SLES12-SP4-Pool' => 'SLE-12-SP4-x86_64', + 'SLES12-SP5-Pool' => 'SLE-12-SP5-x86_64', + 'SLES15-SP1-Pool' => 'SLE-15-SP1-x86_64', + 'SLES15-SP2-Pool' => 'SLE-15-SP2-x86_64', + 'SLES15-SP3-Pool' => 'SLE-15-SP3-x86_64', + 'SLES15-SP4-Pool' => 'SLE-15-SP4-x86_64', + 'SLES15-SP5-Pool' => 'SLE-15-SP5-x86_64', + 'SUSE-MicroOS-5.1-Pool for x86_64' => 'SLE-MICRO-5.1-x86_64', + 'SUSE-MicroOS-5.2-Pool for x86_64' => 'SLE-MICRO-5.2-x86_64', + 'SLE-Micro-5.3-Pool for x86_64' => 'SLE-MICRO-5.3-x86_64', + 'SLE-Micro-5.4-Pool for x86_64' => 'SLE-MICRO-5.4-x86_64', + 'almalinux9 for x86_64' => 'almalinux-9-x86_64', + 'Fake Base Channel' => 'fake_base_channel-x86_64', + 'RHEL x86_64 Server 7' => 'RES7-x86_64', + 'EL9-Pool for x86_64' => 'SUSE-LibertyLinux9-x86_64', + 'oraclelinux9 for x86_64' => 'oracle-9-x86_64', + 'RHEL8-Pool for x86_64' => 'SLE-ES8-x86_64', + 'rockylinux-9 for x86_64' => 'rockylinux-9-x86_64', + 'ubuntu-2004-amd64-main' => 'ubuntu-20.04-amd64', + 'ubuntu-2204-amd64-main' => 'ubuntu-22.04-amd64', + 'debian-10-pool' => 'debian10-amd64', + 'debian-11-pool' => 'debian11-amd64', + 'openSUSE-Leap-15.4-Pool for aarch64' => 'openSUSE-Leap-15.4-aarch64', + 'openSUSE-Leap-15.5-Pool for aarch64' => 'openSUSE-Leap-15.5-aarch64' + }, + 'Uyuni' => + { + 'openSUSE Leap 15.4 (x86_64)' => 'openSUSE-Leap-15.4-x86_64-uyuni', + 'SLES12-SP4-Pool' => 'SLE-12-SP4-x86_64', + 'SLES12-SP5-Pool' => 'SLE-12-SP5-x86_64', + 'SLES15-SP1-Pool' => 'SLE-15-SP1-x86_64', + 'SLES15-SP2-Pool' => 'SLE-15-SP2-x86_64', + 'SLES15-SP3-Pool' => 'SLE-15-SP3-x86_64', + 'SLES15-SP4-Pool' => 'SLE-15-SP4-x86_64', + 'SLES15-SP5-Pool' => 'SLE-15-SP5-x86_64', + 'SUSE-MicroOS-5.1-Pool for x86_64' => 'SLE-MICRO-5.1-x86_64', + 'SUSE-MicroOS-5.2-Pool for x86_64' => 'SLE-MICRO-5.2-x86_64', + 'SLE-Micro-5.3-Pool for x86_64' => 'SLE-MICRO-5.3-x86_64', + 'SLE-Micro-5.4-Pool for x86_64' => 'SLE-MICRO-5.4-x86_64', + 'AlmaLinux 9 (x86_64)' => 'almalinux-9-x86_64-uyuni', + 'Fake Base Channel' => 'fake_base_channel-x86_64', + 'CentOS 7 (x86_64)' => 'centos-7-x86_64-uyuni', + 'EL9-Pool for x86_64' => 'SUSE-LibertyLinux9-x86_64', + 'Oracle Linux 9 (x86_64)' => 'oracle-9-x86_64-uyuni', + 'Rocky Linux 8 (x86_64)' => 'rockylinux-8-x86_64-uyuni', + 'Rocky Linux 9 (x86_64)' => 'rockylinux-9-x86_64-uyuni', + 'Ubuntu 20.04 LTS AMD64 Base for Uyuni' => 'ubuntu-20.04-amd64-uyuni', + 'Ubuntu 22.04 LTS AMD64 Base for Uyuni' => 'ubuntu-22.04-amd64-uyuni', + 'Debian 10 (buster) pool for amd64 for Uyuni' => 'debian10-amd64-uyuni', + 'Debian 11 (bullseye) pool for amd64 for Uyuni' => 'debian11-amd64-uyuni', + 'openSUSE Leap 15.4 (aarch64)' => 'openSUSE-Leap-15.4-aarch64-uyuni', + 'openSUSE Leap 15.5 (aarch64)' => 'openSUSE-Leap-15.5-aarch64-uyuni' + } }.freeze # Used for creating bootstrap repositories -# The values can be found under Admin -> Setup Wizard -> Products +# The values can be found under Admin -> Setup Wizard -> Products for SUMA # Select the desired product and have a look at its product channels # The required product has to be synced before. -PARENT_CHANNEL_TO_SYNC_BY_BASE_CHANNEL = { 'SLE-Product-SUSE-Manager-Proxy-4.3-Pool' => 'sle-product-suse-manager-proxy-4.3-pool-x86_64', - 'SLES12-SP4-Pool' => nil, - 'SLES12-SP5-Pool' => nil, - 'SLES15-SP1-Pool' => 'sle-product-sles15-sp1-pool-x86_64', - 'SLES15-SP2-Pool' => 'sle-product-sles15-sp2-pool-x86_64', - 'SLES15-SP3-Pool' => 'sle-product-sles15-sp3-pool-x86_64', - 'SLES15-SP4-Pool' => 'sle-product-sles15-sp4-pool-x86_64', - 'SLES15-SP5-Pool' => 'sle-product-sles15-sp5-pool-x86_64', - 'SUSE-MicroOS-5.1-Pool for x86_64' => 'suse-microos-5.1-pool-x86_64', - 'SUSE-MicroOS-5.2-Pool for x86_64' => 'suse-microos-5.2-pool-x86_64', - 'SLE-Micro-5.3-Pool for x86_64' => 'sle-micro-5.3-pool-x86_64', - 'SLE-Micro-5.4-Pool for x86_64' => 'sle-micro-5.4-pool-x86_64', - 'almalinux9 for x86_64' => nil, - 'Fake Base Channel' => nil, - 'RHEL x86_64 Server 7' => 'rhel-x86_64-server-7', - 'EL9-Pool for x86_64' => 'el9-pool-x86_64', - 'oraclelinux9 for x86_64' => nil, - 'RHEL8-Pool for x86_64' => nil, - 'rockylinux-9 for x86_64' => nil, - 'ubuntu-2004-amd64-main' => nil, - 'ubuntu-2204-amd64-main' => nil, - 'debian-10-pool' => 'debian-10-pool-amd64', - 'debian-11-pool' => 'debian-11-pool-amd64', - 'openSUSE-Leap-15.4-Pool for aarch64' => nil, - 'openSUSE-Leap-15.5-Pool for aarch64' => nil }.freeze +# For Uyuni, you have to use `spacewalk-common-channels -l` with the appended architecture +# e.g. almalinux9 -> almalinux9-x86_64 +PARENT_CHANNEL_TO_SYNC_BY_BASE_CHANNEL = { 'SUSE Manager' => + { + 'SLE-Product-SUSE-Manager-Proxy-4.3-Pool' => 'sle-product-suse-manager-proxy-4.3-pool-x86_64', + 'SLES12-SP4-Pool' => nil, + 'SLES12-SP5-Pool' => nil, + 'SLES15-SP1-Pool' => 'sle-product-sles15-sp1-pool-x86_64', + 'SLES15-SP2-Pool' => 'sle-product-sles15-sp2-pool-x86_64', + 'SLES15-SP3-Pool' => 'sle-product-sles15-sp3-pool-x86_64', + 'SLES15-SP4-Pool' => 'sle-product-sles15-sp4-pool-x86_64', + 'SLES15-SP5-Pool' => 'sle-product-sles15-sp5-pool-x86_64', + 'SUSE-MicroOS-5.1-Pool for x86_64' => 'suse-microos-5.1-pool-x86_64', + 'SUSE-MicroOS-5.2-Pool for x86_64' => 'suse-microos-5.2-pool-x86_64', + 'SLE-Micro-5.3-Pool for x86_64' => 'sle-micro-5.3-pool-x86_64', + 'SLE-Micro-5.4-Pool for x86_64' => 'sle-micro-5.4-pool-x86_64', + 'almalinux9 for x86_64' => nil, + 'Fake Base Channel' => nil, + 'RHEL x86_64 Server 7' => 'rhel-x86_64-server-7', + 'EL9-Pool for x86_64' => 'el9-pool-x86_64', + 'oraclelinux9 for x86_64' => nil, + 'RHEL8-Pool for x86_64' => nil, + 'rockylinux-9 for x86_64' => nil, + 'ubuntu-2004-amd64-main' => nil, + 'ubuntu-2204-amd64-main' => nil, + 'debian-10-pool' => 'debian-10-pool-amd64', + 'debian-11-pool' => 'debian-11-pool-amd64', + 'openSUSE-Leap-15.4-Pool for aarch64' => nil, + 'openSUSE-Leap-15.5-Pool for aarch64' => nil + }, + 'Uyuni' => + { + 'openSUSE Leap 15.4 (x86_64)' => nil, + 'SLES12-SP4-Pool' => nil, + 'SLES12-SP5-Pool' => nil, + 'SLES15-SP1-Pool' => 'sle-product-sles15-sp1-pool-x86_64', + 'SLES15-SP2-Pool' => 'sle-product-sles15-sp2-pool-x86_64', + 'SLES15-SP3-Pool' => 'sle-product-sles15-sp3-pool-x86_64', + 'SLES15-SP4-Pool' => 'sle-product-sles15-sp4-pool-x86_64', + 'SLES15-SP5-Pool' => 'sle-product-sles15-sp5-pool-x86_64', + 'SUSE-MicroOS-5.1-Pool for x86_64' => 'suse-microos-5.1-pool-x86_64', + 'SUSE-MicroOS-5.2-Pool for x86_64' => 'suse-microos-5.2-pool-x86_64', + 'SLE-Micro-5.3-Pool for x86_64' => 'sle-micro-5.3-pool-x86_64', + 'SLE-Micro-5.4-Pool for x86_64' => 'sle-micro-5.4-pool-x86_64', + 'almalinux9 for x86_64' => nil, + 'Fake Base Channel' => nil, + 'RHEL x86_64 Server 7' => 'centos-7-x86_64-uyuni', + 'EL9-Pool for x86_64' => 'el9-pool-x86_64', + 'oraclelinux9 for x86_64' => nil, + 'RHEL8-Pool for x86_64' => nil, + 'rockylinux-9 for x86_64' => nil, + 'ubuntu-2004-amd64-main' => nil, + 'ubuntu-2204-amd64-main' => nil, + 'debian-10-pool' => 'debian10-amd64-uyuni', + 'debian-11-pool' => 'debian11-amd64-uyuni', + 'openSUSE-Leap-15.4-Pool for aarch64' => nil, + 'openSUSE-Leap-15.5-Pool for aarch64' => nil + } }.freeze PKGARCH_BY_CLIENT = { 'proxy' => 'x86_64', 'sle_minion' => 'x86_64',