diff --git a/susemanager/susemanager.changes.oholecek.fix_ci_tests b/susemanager/susemanager.changes.oholecek.fix_ci_tests deleted file mode 100644 index 9ea0cd1f2e55..000000000000 --- a/susemanager/susemanager.changes.oholecek.fix_ci_tests +++ /dev/null @@ -1 +0,0 @@ -- readd missing service stop before db changes diff --git a/testsuite/features/github_validation/init_clients/sle_minion.feature b/testsuite/features/github_validation/init_clients/sle_minion.feature index 2e3926764b3b..73dc08425472 100644 --- a/testsuite/features/github_validation/init_clients/sle_minion.feature +++ b/testsuite/features/github_validation/init_clients/sle_minion.feature @@ -16,16 +16,3 @@ Feature: Bootstrap a Salt minion via the GUI And I wait until I see the name of "sle_minion", refreshing the page Then the Salt master can reach "sle_minion" - Scenario: Subscribe the SLE minion to a base channel - Given I am on the Systems overview page of this "sle_minion" - When I follow "Software" in the content area - And I follow "Software Channels" in the content area - And I wait until I do not see "Loading..." text - And I check radio button "Fake-Base-Channel-SUSE-like" - And I wait until I do not see "Loading..." text - And I check "Fake-RPM-SUSE-Channel" - And I click on "Next" - Then I should see a "Confirm Software Channel Change" text - When I click on "Confirm" - Then I should see a "Changing the channels has been scheduled." text - And I wait until event "Subscribe channels scheduled by admin" is completed diff --git a/testsuite/features/github_validation/init_clients/sle_ssh_minion.feature b/testsuite/features/github_validation/init_clients/sle_ssh_minion.feature index cb44fb7ef960..89196713fba8 100644 --- a/testsuite/features/github_validation/init_clients/sle_ssh_minion.feature +++ b/testsuite/features/github_validation/init_clients/sle_ssh_minion.feature @@ -24,9 +24,15 @@ Feature: Bootstrap a Salt host managed via salt-ssh When I follow "Software" in the content area And I follow "Software Channels" in the content area And I wait until I do not see "Loading..." text - And I check radio button "Fake-Base-Channel-SUSE-like" + And I check radio button "openSUSE Leap 15.5 (x86_64)" And I wait until I do not see "Loading..." text And I check "Fake-RPM-SUSE-Channel" + And I check "openSUSE 15.5 non oss (x86_64)" + And I check "openSUSE Leap 15.5 non oss Updates (x86_64)" + And I check "openSUSE Leap 15.5 Updates (x86_64)" + And I check "Update repository of openSUSE Leap 15.5 Backports (x86_64)" + And I check "Update repository with updates from SUSE Linux Enterprise 15 for openSUSE Leap 15.5 (x86_64)" + And I check "Uyuni Client Tools for openSUSE Leap 15.5 (x86_64) (Development)" 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/reposync/allcli_update_activationkeys.feature b/testsuite/features/reposync/allcli_update_activationkeys.feature index 305898cc3bb5..18b4adab8ec7 100644 --- a/testsuite/features/reposync/allcli_update_activationkeys.feature +++ b/testsuite/features/reposync/allcli_update_activationkeys.feature @@ -1,7 +1,6 @@ # Copyright (c) 2022-2024 SUSE LLC # Licensed under the terms of the MIT license. -@skip_if_github_validation Feature: Update activation keys In order to register systems to the spacewalk server As admin @@ -111,7 +110,7 @@ Feature: Update activation keys And I wait until "Fake-RPM-SUSE-Channel" has been checked And I click on "Update Activation Key" Then I should see a "Activation key SUSE SSH Tunnel Test Key x86_64 has been modified" text - + @uyuni Scenario: Update openSUSE Leap SSH tunnel key with synced base product When I follow the left menu "Systems > Activation Keys" @@ -182,6 +181,7 @@ Feature: Update activation keys And I click on "Update Activation Key" Then I should see a "Activation key Proxy Key x86_64 has been modified" text +@susemanager @scc_credentials Scenario: Update build host key with synced base product When I follow the left menu "Systems > Activation Keys" @@ -205,6 +205,26 @@ Feature: Update activation keys And I click on "Update Activation Key" Then I should see a "Activation key Build host Key x86_64 has been modified" text +@uyuni +@scc_credentials + Scenario: Update build host key with synced base product + When I follow the left menu "Systems > Activation Keys" + And I follow "Build host Key x86_64" in the content area + And I wait until I do not see "Loading..." text + And I select the parent channel for the "buildhost" from "selectedBaseChannel" + And I wait until I do not see "Loading..." text + And I check "openSUSE 15.5 non oss (x86_64)" + And I check "openSUSE Leap 15.5 non oss Updates (x86_64)" + And I check "openSUSE Leap 15.5 Updates (x86_64)" + And I check "Update repository of openSUSE Leap 15.5 Backports (x86_64)" + And I check "Update repository with updates from SUSE Linux Enterprise 15 for openSUSE Leap 15.5 (x86_64)" + And I check "Uyuni Client Tools for openSUSE Leap 15.5 (x86_64) (Development)" + And I check "Fake-RPM-SUSE-Channel" + And I wait until "Fake-RPM-SUSE-Channel" has been checked + And I click on "Update Activation Key" + Then I should see a "Activation key Build host Key x86_64 has been modified" text + +@susemanager @scc_credentials Scenario: Update terminal key with synced base product When I follow the left menu "Systems > Activation Keys" @@ -226,6 +246,23 @@ Feature: Update activation keys And I click on "Update Activation Key" Then I should see a "Activation key Terminal Key x86_64 has been modified" text +@uyuni +@scc_credentials + Scenario: Update terminal key with synced base product + When I follow the left menu "Systems > Activation Keys" + And I follow "Terminal Key x86_64" in the content area + And I wait until I do not see "Loading..." text + And I select the parent channel for the "pxeboot_minion" from "selectedBaseChannel" + And I wait until I do not see "Loading..." text + And I check "openSUSE 15.5 non oss (x86_64)" + And I check "openSUSE Leap 15.5 non oss Updates (x86_64)" + And I check "openSUSE Leap 15.5 Updates (x86_64)" + And I check "Update repository of openSUSE Leap 15.5 Backports (x86_64)" + And I check "Update repository with updates from SUSE Linux Enterprise 15 for openSUSE Leap 15.5 (x86_64)" + And I check "Uyuni Client Tools for openSUSE Leap 15.5 (x86_64) (Development)" + And I click on "Update Activation Key" + Then I should see a "Activation key Terminal Key x86_64 has been modified" text + @susemanager @scc_credentials Scenario: Update terminal key with normal SUSE fake channel diff --git a/testsuite/features/reposync/srv_sync_channels.feature b/testsuite/features/reposync/srv_sync_channels.feature index 09e595c06c86..f2d60ef73d83 100644 --- a/testsuite/features/reposync/srv_sync_channels.feature +++ b/testsuite/features/reposync/srv_sync_channels.feature @@ -7,7 +7,6 @@ Feature: Be able to list available channels and enable them As root user I want to be able to list available channels and enable them -@susemanager Scenario: List available channels # Order matters here, refresh first When I refresh SCC @@ -16,20 +15,23 @@ Feature: Be able to list available channels and enable them And I should get " [ ] SLE-Product-SLES15-SP4-Updates for x86_64 SUSE Linux Enterprise Server 15 SP4 x86_64 [sle-product-sles15-sp4-updates-x86_64]" And I should get " [ ] SLE15-SP4-Installer-Updates for x86_64 SUSE Linux Enterprise Server 15 SP4 x86_64 [sle15-sp4-installer-updates-x86_64]" -@susemanager Scenario: List available mandatory channels When I execute mgr-sync "list channels -e --no-optional" Then I should get "[ ] SLE-Product-SLES15-SP4-Pool for x86_64 SUSE Linux Enterprise Server 15 SP4 x86_64 [sle-product-sles15-sp4-pool-x86_64]" And I should get " [ ] SLE-Product-SLES15-SP4-Updates for x86_64 SUSE Linux Enterprise Server 15 SP4 x86_64 [sle-product-sles15-sp4-updates-x86_64]" And I shouldn't get " [ ] SLE15-SP4-Installer-Updates for x86_64 SUSE Linux Enterprise Server 15 SP4 x86_64 [sle15-sp4-installer-updates-x86_64]" -@susemanager - Scenario: List products + Scenario: List Server product When I execute mgr-sync "list products" Then I should get "[ ] SUSE Linux Enterprise Server 15 SP4 x86_64" - And I should get "[ ] SUSE Manager Proxy 4.3 x86_64" + + @proxy + Scenario: List Proxy product + When I execute mgr-sync "list products" + Then I should get "[ ] SUSE Manager Proxy 4.3 x86_64" -@susemanager + # The SCC mirror in github validation does not contain SUSE Manager products + @skip_if_github_validation Scenario: List all products for SUSE Manager When I execute mgr-sync "list products --expand" Then I should get "[ ] SUSE Linux Enterprise Server 15 SP4 x86_64" @@ -37,13 +39,11 @@ Feature: Be able to list available channels and enable them And I should get " [ ] (R) SUSE Manager Client Tools for RHEL, Liberty and Clones 7 x86_64" And I should get " [ ] (R) SUSE Manager Client Tools for SLE 15 x86_64" -@susemanager Scenario: List products with filter When I execute mgr-sync "list products --expand --filter x86_64" Then I should get "[ ] SUSE Linux Enterprise Server 15 SP4 x86_64" And I shouldn't get "ppc64" And I shouldn't get "s390x" - Scenario: Let mgr-sync time out When I remove the mgr-sync cache file And I execute mgr-sync refresh diff --git a/testsuite/features/reposync/srv_sync_fake_channels.feature b/testsuite/features/reposync/srv_sync_fake_channels.feature index e7fe791edae3..c8719af1e8a4 100644 --- a/testsuite/features/reposync/srv_sync_fake_channels.feature +++ b/testsuite/features/reposync/srv_sync_fake_channels.feature @@ -34,7 +34,7 @@ Feature: Synchronize fake channels Scenario: Verify state of Fake-RPM-SUSE-Channel channel Then "orion-dummy-1.1-1.1.x86_64.rpm" package should have been stored And solver file for "fake-rpm-suse-channel" should reference "orion-dummy-1.1-1.1.x86_64.rpm" - +@skip_if_github_validation Scenario: Synchronize Fake-Child-Channel-i586 channel Given I am authorized for the "Admin" section When I follow the left menu "Software > Manage > Channels" diff --git a/testsuite/features/reposync/srv_sync_products.feature b/testsuite/features/reposync/srv_sync_products.feature index badbed5602a5..a009e16f4762 100644 --- a/testsuite/features/reposync/srv_sync_products.feature +++ b/testsuite/features/reposync/srv_sync_products.feature @@ -27,8 +27,7 @@ Feature: Synchronize products in the products page of the Setup Wizard Then I should see a "RHEL and Liberty 8 Base" text @scc_credentials -@susemanager - Scenario: View the channels list in the products page + Scenario: View the mandatory channels list in the products page When I follow the left menu "Admin > Setup Wizard > Products" And I wait until I do not see "currently running" text And I wait until I do not see "Loading" text @@ -36,12 +35,23 @@ Feature: Synchronize products in the products page of the Setup Wizard And I click the channel list of product "SUSE Linux Enterprise Server for SAP Applications 15 x86_64" Then I should see a "Product Channels" text And I should see a "Mandatory Channels" text + When I close the modal dialog + +# In gh the fake scc does not have optional channels +@skip_if_github_validation +@scc_credentials + Scenario: View the optional channels list in the products page + When I follow the left menu "Admin > Setup Wizard > Products" + And I wait until I do not see "currently running" text + And I wait until I do not see "Loading" text + And I enter "SUSE Linux Enterprise Server for SAP Applications 15 x86_64" as the filtered product description + And I click the channel list of product "SUSE Linux Enterprise Server for SAP Applications 15 x86_64" + Then I should see a "Product Channels" text And I should see a "Optional Channels" text When I close the modal dialog @scc_credentials -@susemanager - Scenario: Synchronize SLES 15 SP4 product with recommended sub-products, including SUMA Client Tools + Scenario: Synchronize SLES 15 SP4 product with recommended sub-products, excluding SUMA Client Tools Given I am authorized for the "Admin" section When I follow the left menu "Admin > Setup Wizard > Products" And I wait until I do not see "currently running" text @@ -51,15 +61,12 @@ Feature: Synchronize products in the products page of the Setup Wizard And I open the sub-list of the product "SUSE Linux Enterprise Server 15 SP4 x86_64" And I open the sub-list of the product "Basesystem Module 15 SP4 x86_64" And I open the sub-list of the product "Desktop Applications Module 15 SP4 x86_64" - And I open the sub-list of the product "SUSE Manager Client Tools for SLE 15 x86_64" if present Then I should see that the "Basesystem Module 15 SP4 x86_64" product is "recommended" And I should see that the "Server Applications Module 15 SP4 x86_64" product is "recommended" - And I should see that the "SUSE Manager Client Tools for SLE 15 x86_64" product is "recommended" When I select "SUSE Linux Enterprise Server 15 SP4 x86_64" as a product Then I should see the "SUSE Linux Enterprise Server 15 SP4 x86_64" selected And I should see the "Basesystem Module 15 SP4 x86_64" selected And I should see the "Server Applications Module 15 SP4 x86_64" selected - And I should see the "SUSE Manager Client Tools for SLE 15 x86_64" selected When I select "Desktop Applications Module 15 SP4 x86_64" as a product And I select "Development Tools Module 15 SP4 x86_64" as a product Then I should see the "Desktop Applications Module 15 SP4 x86_64" selected @@ -73,6 +80,21 @@ Feature: Synchronize products in the products page of the Setup Wizard Then the SLE15 SP4 product should be added When I wait until all synchronized channels for "sles15-sp4" have finished +# Fake SCC in gh does not contain SUMA client tools +@skip_if_github_validation +@scc_credentials + Scenario: Synchronize SLES 15 SP4 product with recommended sub-products, including SUMA Client Tools + Given I am authorized for the "Admin" section + When I follow the left menu "Admin > Setup Wizard > Products" + And I wait until I do not see "currently running" text + And I wait until I do not see "Loading" text + And I enter "SUSE Linux Enterprise Server 15 SP4" as the filtered product description + And I wait until I see "SUSE Linux Enterprise Server 15 SP4 x86_64" text + And I open the sub-list of the product "SUSE Manager Client Tools for SLE 15 x86_64" if present + Then I should see that the "SUSE Manager Client Tools for SLE 15 x86_64" product is "recommended" + +# in github validation, the retail feature is not tested +@skip_if_github_validation @scc_credentials @uyuni Scenario: Synchronize SLES 15 SP4 product with recommended sub-products for Retail feature @@ -170,7 +192,6 @@ Scenario: Add openSUSE Leap Micro 5.5 Proxy, including Uyuni Client Tools @scc_credentials -@susemanager Scenario: Installer update channels got enabled when products were added When I execute mgr-sync "list channels" with user "admin" and password "admin" And I should get " [I] SLE15-SP4-Installer-Updates for x86_64 SUSE Linux Enterprise Server 15 SP4 x86_64 [sle15-sp4-installer-updates-x86_64]" diff --git a/testsuite/features/secondary/allcli_action_chain.feature b/testsuite/features/secondary/allcli_action_chain.feature index fd21b448e575..d7740f7e0e71 100644 --- a/testsuite/features/secondary/allcli_action_chain.feature +++ b/testsuite/features/secondary/allcli_action_chain.feature @@ -3,7 +3,6 @@ # Skip if container because action chains fail on containers # This needs to be fixed - @ssh_minion @sle_minion @scope_action_chains diff --git a/testsuite/features/secondary/allcli_software_channels.feature b/testsuite/features/secondary/allcli_software_channels.feature index 1682f14e8860..709a5f353b22 100644 --- a/testsuite/features/secondary/allcli_software_channels.feature +++ b/testsuite/features/secondary/allcli_software_channels.feature @@ -1,6 +1,6 @@ # Copyright (c) 2018-2024 SUSE LLC # Licensed under the terms of the MIT license. - +# bootstrap channels do not work in gh validation yet @scope_changing_software_channels @scc_credentials Feature: Channel subscription via SSM diff --git a/testsuite/features/secondary/allcli_system_group.feature b/testsuite/features/secondary/allcli_system_group.feature index 7217eda969df..dd598e77d126 100644 --- a/testsuite/features/secondary/allcli_system_group.feature +++ b/testsuite/features/secondary/allcli_system_group.feature @@ -1,7 +1,6 @@ # Copyright (c) 2017-2024 SUSE LLC # Licensed under the terms of the MIT license. -@skip_if_github_validation @scope_visualization Feature: Manage a group of systems diff --git a/testsuite/features/secondary/buildhost_docker_auth_registry.feature b/testsuite/features/secondary/buildhost_docker_auth_registry.feature index 2e008815541a..6648e077f771 100644 --- a/testsuite/features/secondary/buildhost_docker_auth_registry.feature +++ b/testsuite/features/secondary/buildhost_docker_auth_registry.feature @@ -3,7 +3,7 @@ # # This feature depends on: # - features/secondary/min_docker_api.feature - +@skip_if_github_validation @buildhost @scope_building_container_images @auth_registry diff --git a/testsuite/features/secondary/buildhost_osimage_build_image.feature b/testsuite/features/secondary/buildhost_osimage_build_image.feature index ccfba30c14f6..03f7f4d51c23 100644 --- a/testsuite/features/secondary/buildhost_osimage_build_image.feature +++ b/testsuite/features/secondary/buildhost_osimage_build_image.feature @@ -14,7 +14,7 @@ # This feature leaves a JeOS image built that is used in the "PXE boot a Retail terminal" feature. # - features/secondary/srv_docker_cve_audit.feature # If the image is not created, the message shown is "There are no entries to show." - +@skip_if_github_validation @skip_if_cloud @buildhost @scope_retail diff --git a/testsuite/features/secondary/min_action_chain.feature b/testsuite/features/secondary/min_action_chain.feature index b6d3668b8a38..d93f3942e2de 100644 --- a/testsuite/features/secondary/min_action_chain.feature +++ b/testsuite/features/secondary/min_action_chain.feature @@ -6,9 +6,6 @@ # - features/secondary/allcli_action_chain.feature # If the action chain fails to be completed and run. # -# skip on container. Running actions chains fail on container. -# This needs to be fixed - @sle_minion @scope_action_chains Feature: Action chains on Salt minions @@ -118,7 +115,6 @@ Feature: Action chains on Salt minions And I click on "Continue" And I click on "Update Channel Rankings" Then I should see a "Channel Subscriptions successfully changed for" text - Scenario: Add a configuration file deployment to the action chain on Salt minion When I follow the left menu "Configuration > Channels" And I follow "Action Chain Channel" @@ -155,7 +151,6 @@ Feature: Action chains on Salt minions And I check radio button "schedule-by-action-chain" And I click on "Schedule" Then I should see a "Action has been successfully added to the Action Chain" text - Scenario: Verify the action chain list on Salt minion When I follow "Schedule" And I follow "Action Chains" diff --git a/testsuite/features/secondary/min_change_software_channel.feature b/testsuite/features/secondary/min_change_software_channel.feature index 08e8db0a324e..3c894d41cf56 100644 --- a/testsuite/features/secondary/min_change_software_channel.feature +++ b/testsuite/features/secondary/min_change_software_channel.feature @@ -5,7 +5,6 @@ # - features/secondary/allcli_software_channels.feature # If "SLE15-SP4-Installer-Updates for x86_64" fails to be unchecked -@skip_if_github_validation @scc_credentials @scope_changing_software_channels @sle_minion diff --git a/testsuite/features/secondary/min_check_patches_install.feature b/testsuite/features/secondary/min_check_patches_install.feature index ca433f742932..a294553ca9b3 100644 --- a/testsuite/features/secondary/min_check_patches_install.feature +++ b/testsuite/features/secondary/min_check_patches_install.feature @@ -1,6 +1,6 @@ # Copyright (c) 2015-2024 SUSE LLC # Licensed under the terms of the MIT license. - +@skip_if_github_validation @scope_onboarding Feature: Display patches diff --git a/testsuite/features/secondary/min_config_state_channel.feature b/testsuite/features/secondary/min_config_state_channel.feature index 855bc516a0df..d2b1a2ee7825 100644 --- a/testsuite/features/secondary/min_config_state_channel.feature +++ b/testsuite/features/secondary/min_config_state_channel.feature @@ -5,7 +5,6 @@ # - features/secondary/min_config_state_channel_subscriptions.feature # If the state channel fails to be deleted. -@skip_if_github_validation @scope_configuration_channels Feature: Configuration state channels In order to configure systems through Salt diff --git a/testsuite/features/secondary/min_config_state_channel_subscriptions.feature b/testsuite/features/secondary/min_config_state_channel_subscriptions.feature index ef124286e12b..88e8dc39aa11 100644 --- a/testsuite/features/secondary/min_config_state_channel_subscriptions.feature +++ b/testsuite/features/secondary/min_config_state_channel_subscriptions.feature @@ -1,7 +1,6 @@ # Copyright (c) 2018-2024 SUSE LLC. # Licensed under the terms of the MIT license. -@skip_if_github_validation @sle_minion @scope_configuration_channels Feature: State Configuration channels diff --git a/testsuite/features/secondary/min_cve_audit.feature b/testsuite/features/secondary/min_cve_audit.feature index 6f62d71ff21d..2e33bd411675 100644 --- a/testsuite/features/secondary/min_cve_audit.feature +++ b/testsuite/features/secondary/min_cve_audit.feature @@ -1,6 +1,6 @@ # Copyright (c) 2015-2022 SUSE LLC # Licensed under the terms of the MIT license. - +@skip_if_github_validation @sle_minion @scope_cve_audit Feature: CVE Audit on SLE Salt Minions diff --git a/testsuite/features/secondary/min_recurring_action.feature b/testsuite/features/secondary/min_recurring_action.feature index d104bb05798a..c36553652595 100644 --- a/testsuite/features/secondary/min_recurring_action.feature +++ b/testsuite/features/secondary/min_recurring_action.feature @@ -1,7 +1,6 @@ # Copyright (c) 2020-2024 SUSE LLC # Licensed under the terms of the MIT license. -@skip_if_github_validation @scope_recurring_actions Feature: Recurring Actions @@ -65,6 +64,8 @@ Feature: Recurring Actions And I follow the event "Apply recurring states [util.syncstates] scheduled" completed during last minute And I should see a "SLS: util.syncstates" text +# This fails in github actions... +@skip_if_github_validation Scenario: Cleanup: Disable IP forwarding When I follow the left menu "Salt > Remote Commands" Then I should see a "Remote Commands" text in the content area @@ -163,6 +164,8 @@ Feature: Recurring Actions Then I should see a "bunch was scheduled" text And I wait until the table contains "FINISHED" or "SKIPPED" followed by "FINISHED" in its first rows +# Skip until we have updates in the SCC fake +@skip_if_github_validation Scenario: Pre-requisite: check that there are updates available Given I am on the Systems overview page of this "sle_minion" And I wait until I see "Software Updates Available" text, refreshing the page diff --git a/testsuite/features/secondary/min_salt_install_with_staging.feature b/testsuite/features/secondary/min_salt_install_with_staging.feature index 3133af41a7e9..7e4ef1e29dbf 100644 --- a/testsuite/features/secondary/min_salt_install_with_staging.feature +++ b/testsuite/features/secondary/min_salt_install_with_staging.feature @@ -10,7 +10,6 @@ # java.salt_content_staging_advance = 0.05 (3 minutes) # which means "beetwen 3 and 1 minutes before package installation or patching" -@skip_if_github_validation @sle_minion @scope_content_staging Feature: Install a package on the SLES minion with staging enabled diff --git a/testsuite/features/secondary/min_salt_openscap_audit.feature b/testsuite/features/secondary/min_salt_openscap_audit.feature index 92c941e27b13..d32ebe71d978 100644 --- a/testsuite/features/secondary/min_salt_openscap_audit.feature +++ b/testsuite/features/secondary/min_salt_openscap_audit.feature @@ -1,7 +1,6 @@ # Copyright (c) 2017-2023 SUSE LLC # Licensed under the terms of the MIT license. -@skip_if_github_validation @scope_openscap Feature: OpenSCAP audit of Salt minion In order to audit a Salt minion diff --git a/testsuite/features/secondary/min_salt_user_states.feature b/testsuite/features/secondary/min_salt_user_states.feature index 15e196e0a624..c7b902813536 100644 --- a/testsuite/features/secondary/min_salt_user_states.feature +++ b/testsuite/features/secondary/min_salt_user_states.feature @@ -1,7 +1,6 @@ # Copyright (c) 2018-2024 SUSE LLC # Licensed under the terms of the MIT license. -@skip_if_github_validation @scope_salt Feature: Coexistence with user-defined states diff --git a/testsuite/features/secondary/minssh_ansible_control_node.feature b/testsuite/features/secondary/minssh_ansible_control_node.feature index 701229a6282a..c890d7a7f46e 100644 --- a/testsuite/features/secondary/minssh_ansible_control_node.feature +++ b/testsuite/features/secondary/minssh_ansible_control_node.feature @@ -1,7 +1,6 @@ # Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. -@skip_if_github_validation @scope_ansible @scope_salt_ssh @ssh_minion @@ -13,12 +12,14 @@ Feature: Operate an Ansible control node in SSH minion Scenario: Pre-requisite: Deploy test playbooks and inventory file When I deploy testing playbooks and inventory files to "ssh_minion" +@skip_if_github_validation @susemanager Scenario: Pre-requisite: Enable client tools repositories When I enable the repositories "tools_update_repo tools_pool_repo" on this "ssh_minion" And I refresh the metadata for "ssh_minion" # TODO: Check why tools_update_repo is not available on the openSUSE minion +@skip_if_github_validation @uyuni Scenario: Pre-requisite: Enable client tools repositories When I enable the repositories "tools_pool_repo os_pool_repo" on this "ssh_minion" @@ -92,12 +93,14 @@ Feature: Operate an Ansible control node in SSH minion And I remove package "orion-dummy" from this "ssh_minion" without error control And I remove "/tmp/file.txt" from "ssh_minion" +@skip_if_github_validation @susemanager Scenario: Cleanup: Disable client tools repositories Given I am on the Systems overview page of this "ssh_minion" When I disable the repositories "tools_update_repo tools_pool_repo" on this "ssh_minion" And I refresh the metadata for "ssh_minion" +@skip_if_github_validation @uyuni Scenario: Cleanup: Disable client tools repositories Given I am on the Systems overview page of this "ssh_minion" diff --git a/testsuite/features/secondary/srv_cobbler_sync.feature b/testsuite/features/secondary/srv_cobbler_sync.feature index eb9ef648aca6..89882697f250 100644 --- a/testsuite/features/secondary/srv_cobbler_sync.feature +++ b/testsuite/features/secondary/srv_cobbler_sync.feature @@ -1,7 +1,6 @@ # Copyright (c) 2022-2024 SUSE LLC # Licensed under the terms of the MIT license. -@skip_if_github_validation @scope_cobbler Feature: Run Cobbler Sync via WebUI diff --git a/testsuite/features/secondary/srv_docker_cve_audit.feature b/testsuite/features/secondary/srv_docker_cve_audit.feature index 8749a8a03846..1b3ac38b9424 100644 --- a/testsuite/features/secondary/srv_docker_cve_audit.feature +++ b/testsuite/features/secondary/srv_docker_cve_audit.feature @@ -4,6 +4,7 @@ # This feature depends on: # - features/secondary/buildhost_docker_build_image.feature : Due to the images listed in the CVE Audit images +@skip_if_github_validation @scope_cve_audit @no_auth_registry Feature: CVE audit for content management diff --git a/testsuite/features/secondary/srv_handle_config_channels_with_ISS_v2.feature b/testsuite/features/secondary/srv_handle_config_channels_with_ISS_v2.feature index c14587fbb9a8..68396457633a 100644 --- a/testsuite/features/secondary/srv_handle_config_channels_with_ISS_v2.feature +++ b/testsuite/features/secondary/srv_handle_config_channels_with_ISS_v2.feature @@ -1,7 +1,6 @@ # Copyright (c) 2022-2024 SUSE LLC # Licensed under the terms of the MIT license. -@skip_if_github_validation Feature: Export and import configuration channels with new ISS implementation Distribute configuration between servers Run export and import with ISS v2 diff --git a/testsuite/features/secondary/srv_handle_software_channels_with_ISS_v2.feature b/testsuite/features/secondary/srv_handle_software_channels_with_ISS_v2.feature index 9cb56e89794d..8158c7a14f7e 100644 --- a/testsuite/features/secondary/srv_handle_software_channels_with_ISS_v2.feature +++ b/testsuite/features/secondary/srv_handle_software_channels_with_ISS_v2.feature @@ -1,7 +1,6 @@ # Copyright (c) 2021-2024 SUSE LLC # Licensed under the terms of the MIT license. -@skip_if_github_validation Feature: Export and import software channels with new ISS implementation Distribute software between servers Run export and import with ISS v2 diff --git a/testsuite/features/secondary/srv_manage_channels_page.feature b/testsuite/features/secondary/srv_manage_channels_page.feature index 03a782639be5..61dffd3647f6 100644 --- a/testsuite/features/secondary/srv_manage_channels_page.feature +++ b/testsuite/features/secondary/srv_manage_channels_page.feature @@ -40,6 +40,8 @@ Feature: Managing channels And I click on "Create Channel" Then I should see a "Invalid channel name, please see the format described below" text +# Fails because this product is not in the SCC Fake mirror in gh +@skip_if_github_validation @scc_credentials Scenario: Fail when trying to use reserved names for channels When I follow the left menu "Software > Manage > Channels" @@ -50,6 +52,8 @@ Feature: Managing channels And I click on "Create Channel" Then I should see a "The channel name 'SLE-12-Cloud-Compute5-Pool for x86_64' is reserved, please enter a different name" text +# Fails because this product is not in the SCC Fake mirror in gh +@skip_if_github_validation @scc_credentials Scenario: Fail when trying to use reserved labels for channels When I follow the left menu "Software > Manage > Channels" @@ -69,6 +73,8 @@ Feature: Managing channels And I click on "Create Channel" Then I should see a "Channel aaaSLE-12-Cloud-Compute5-Pool for x86_64 created." text +# Fails because this product is not in the SCC Fake mirror in gh +@skip_if_github_validation @scc_credentials Scenario: Fail when trying to change the channel name to a reserved name When I follow the left menu "Software > Manage > Channels" diff --git a/testsuite/features/secondary/srv_push_package.feature b/testsuite/features/secondary/srv_push_package.feature index 7fa65f132967..208ee49ba30d 100644 --- a/testsuite/features/secondary/srv_push_package.feature +++ b/testsuite/features/secondary/srv_push_package.feature @@ -1,6 +1,7 @@ # Copyright (c) 2015-2024 SUSE LLC # Licensed under the terms of the MIT license. - +# in github validation, mgr-push is not preinstalled +@skip_if_github_validation @sle_minion @scc_credentials Feature: Push a package with unset vendor diff --git a/testsuite/features/secondary/srv_salt_git_pillar.feature b/testsuite/features/secondary/srv_salt_git_pillar.feature index b771881dc0b6..1ee1b629b09a 100644 --- a/testsuite/features/secondary/srv_salt_git_pillar.feature +++ b/testsuite/features/secondary/srv_salt_git_pillar.feature @@ -1,7 +1,6 @@ # Copyright (c) 2024 SUSE LLC # Licensed under the terms of the MIT license. -@skip_if_github_validation @sle_minion @scope_salt Feature: Salt master integration with Git pillar diff --git a/testsuite/features/secondary/srv_user_configuration_salt_states.feature b/testsuite/features/secondary/srv_user_configuration_salt_states.feature index 2e2386aec04b..67af457e3f43 100644 --- a/testsuite/features/secondary/srv_user_configuration_salt_states.feature +++ b/testsuite/features/secondary/srv_user_configuration_salt_states.feature @@ -1,7 +1,6 @@ # Copyright (c) 2024 SUSE LLC # Licensed under the terms of the MIT license. -@skip_if_github_validation @scope_visualization @scope_salt Feature: Create organizations, users, groups, and activation keys using Salt states diff --git a/testsuite/features/step_definitions/cobbler_steps.rb b/testsuite/features/step_definitions/cobbler_steps.rb index 648516bc56b8..7030b632494d 100644 --- a/testsuite/features/step_definitions/cobbler_steps.rb +++ b/testsuite/features/step_definitions/cobbler_steps.rb @@ -258,32 +258,34 @@ # normal log file cobbler_log_file = '/var/log/cobbler/cobbler.log' + remote_file = '/tmp/cobbler.copy' local_file = '/tmp/cobbler.log' # to avoid a race condition with "tar" as called by "mgrctl cp", we need to work on a copy: - node.run("cp #{cobbler_log_file} #{local_file}") - success = file_extract(node, local_file, local_file) + node.run("cp #{cobbler_log_file} #{remote_file}") + success = file_extract(node, remote_file, local_file) raise ScriptError, 'File extraction failed' unless success output = File.read(local_file).each_line.select { |line| line.include? 'ERROR' } unless output.empty? - node.run("cp #{local_file} #{cobbler_log_file}-$(date +\"%Y_%m_%d_%I_%M_%p\")") + node.run("cp #{remote_file} #{cobbler_log_file}-$(date +\"%Y_%m_%d_%I_%M_%p\")") log "Error in Cobbler log:\n#{output}" log '' end # debug log file cobbler_log_file = '/var/log/cobbler/cobbler_debug.log' + remote_file = '/tmp/cobbler_debug.copy' local_file = '/tmp/cobbler_debug.log' # to avoid a race condition with "tar" as called by "mgrctl cp", we need to work on a copy: - node.run("cp #{cobbler_log_file} #{local_file}") - success = file_extract(node, local_file, local_file) + node.run("cp #{cobbler_log_file} #{remote_file}") + success = file_extract(node, remote_file, local_file) raise ScriptError, 'File extraction failed' unless success file_data = File.read(local_file).gsub("\n", ',').chop.gsub('"', ' \' ').gsub('\\\'\'', '"') data_hash = JSON.parse("[#{file_data}]") output_debug = data_hash.select { |key, _hash| key['levelname'] == 'ERROR' } unless output_debug.empty? - node.run("cp #{local_file} #{cobbler_log_file}-$(date +\"%Y_%m_%d_%I_%M_%p\")") + node.run("cp #{remote_file} #{cobbler_log_file}-$(date +\"%Y_%m_%d_%I_%M_%p\")") log "Error in Cobbler debug log:\n#{output_debug}" log '' end diff --git a/testsuite/features/step_definitions/navigation_steps.rb b/testsuite/features/step_definitions/navigation_steps.rb index fc83167be52e..815eb3d48748 100644 --- a/testsuite/features/step_definitions/navigation_steps.rb +++ b/testsuite/features/step_definitions/navigation_steps.rb @@ -174,8 +174,7 @@ end When(/^I select the parent channel for the "([^"]*)" from "([^"]*)"$/) do |client, from| - product_key = $is_gh_validation && !$build_validation ? 'Fake' : product - select(BASE_CHANNEL_BY_CLIENT[product_key][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 b60f8c2eceeb..d3e4a2c44672 100644 --- a/testsuite/features/support/constants.rb +++ b/testsuite/features/support/constants.rb @@ -307,8 +307,8 @@ 'ssh_minion' => 'openSUSE Leap 15.5 (x86_64)', 'rhlike_minion' => 'RHEL8-Pool for x86_64', 'deblike_minion' => 'Ubuntu 20.04 LTS AMD64 Base for Uyuni', - 'pxeboot_minion' => 'SLE-Product-SLES15-SP4-Pool for x86_64', - 'buildhost' => 'SLE-Product-SLES15-SP4-Pool for x86_64', + 'pxeboot_minion' => 'openSUSE Leap 15.5 (x86_64)', + 'buildhost' => 'openSUSE Leap 15.5 (x86_64)', 'sle12sp5_minion' => 'SLES12-SP5-Pool for x86_64', 'sle12sp5_ssh_minion' => 'SLES12-SP5-Pool for x86_64', 'sle12sp5_buildhost' => 'SLES12-SP5-Pool for x86_64', @@ -1137,7 +1137,6 @@ sle-module-server-applications15-sp4-pool-x86_64 sle-module-server-applications15-sp4-updates-x86_64 sle15-sp4-installer-updates-x86_64 - sles15-sp4-devel-uyuni-client-x86_64 ], 'sles15-sp5' => # CHECKED %w[ @@ -1584,7 +1583,6 @@ 'sles12-sp5-uyuni-client-devel-x86_64' => 120, 'sles15-sp2-devel-uyuni-client-x86_64' => 60, 'sles15-sp3-devel-uyuni-client-x86_64' => 60, - 'sles15-sp4-devel-uyuni-client-x86_64' => 60, 'sles15-sp5-devel-uyuni-client-x86_64' => 60, 'sles15-sp6-devel-uyuni-client-x86_64' => 60, 'sll-9-updates-x86_64' => 720, @@ -1651,4 +1649,18 @@ fake-base-channel-suse-like fake-base-channel-i586 test-base-channel-x86_64 + sle-product-sles15-sp4-pool-x86_64 + sle-product-sles15-sp4-updates-x86_64 + sle-module-basesystem15-sp4-pool-x86_64 + sle-module-basesystem15-sp4-updates-x86_64 + sle-module-desktop-applications15-sp4-pool-x86_64 + sle-module-desktop-applications15-sp4-updates-x86_64 + sle-product-sles15-sp4-ltss-updates-x86_64 + sle-module-devtools15-sp4-pool-x86_64 + sle-module-devtools15-sp4-updates-x86_64 + sle-module-containers15-sp4-pool-x86_64 + sle-module-containers15-sp4-updates-x86_64 + sle-module-server-applications15-sp4-pool-x86_64 + sle-module-server-applications15-sp4-updates-x86_64 + sle15-sp4-installer-updates-x86_64 ].freeze diff --git a/testsuite/features/support/env.rb b/testsuite/features/support/env.rb index ef430a99dc11..79c84481dbf0 100644 --- a/testsuite/features/support/env.rb +++ b/testsuite/features/support/env.rb @@ -600,7 +600,8 @@ def process_code_coverage # do some tests only if we have SCC credentials Before('@scc_credentials') do - skip_this_scenario unless $scc_credentials + $stdout.puts "DEBUG" + # skip_this_scenario unless $scc_credentials end # do some tests only if there is a private network diff --git a/testsuite/podman_runner/08_manager_setup.sh b/testsuite/podman_runner/08_manager_setup.sh index 1f03ee3d6bf0..3cc2aab16e94 100755 --- a/testsuite/podman_runner/08_manager_setup.sh +++ b/testsuite/podman_runner/08_manager_setup.sh @@ -3,8 +3,11 @@ set -xe src_dir=$(cd $(dirname "$0")/../.. && pwd -P) +# mgrctl should not be installed in this container +sudo -i podman exec server bash -c "rm /usr/bin/mgrctl" + sudo -i podman exec server bash -c "/testsuite/podman_runner/provide-db-schema.sh" -sudo -i podman exec -e CERT_O="test_org" -e CERT_OU="test_ou" -e CERT_CITY="test_city" -e CERT_STATE="test_state" -e CERT_COUNTRY="DE" -e CERT_EMAIL="a@b.com" -e CERT_CNAMES="server" -e CERT_PASS="spacewalk" -e UYUNI_FQDN="server" -e MANAGER_USER="admin" -e MANAGER_PASS="spacewalk" -e MANAGER_ADMIN_EMAIL="a@b.com" -e MANAGER_MAIL_FROM="a@b.com" -e MANAGER_ENABLE_TFTP="n" -e MANAGER_DB_NAME="manager" -e MANAGER_DB_HOST="localhost" -e MANAGER_DB_PORT="5432" -e MANAGER_DB_USER="manager" -e MANAGER_DB_PASS="manager" -e MANAGER_DB_PROTOCOL="TCP" -e REPORT_DB_NAME="reportdb" -e REPORT_DB_USER="pythia_susemanager" -e REPORT_DB_PASS="pythia_susemanager" -e EXTERNALDB_ADMIN_USER="" -e EXTERNALDB_ADMIN_PASS="" -e EXTERNALDB_PROVIDER="" -e ISS_PARENT="" -e ACTIVATE_SLP="" -e SCC_USER="" -e SCC_PASS="" server bash -c /usr/lib/susemanager/bin/mgr-setup +sudo -i podman exec -e CERT_O="test_org" -e CERT_OU="test_ou" -e CERT_CITY="test_city" -e CERT_STATE="test_state" -e CERT_COUNTRY="DE" -e CERT_EMAIL="a@b.com" -e CERT_CNAMES="server" -e CERT_PASS="spacewalk" -e UYUNI_FQDN="server" -e MANAGER_USER="admin" -e MANAGER_PASS="spacewalk" -e MANAGER_ADMIN_EMAIL="a@b.com" -e MANAGER_MAIL_FROM="a@b.com" -e MANAGER_ENABLE_TFTP="n" -e MANAGER_DB_NAME="manager" -e MANAGER_DB_HOST="localhost" -e MANAGER_DB_PORT="5432" -e MANAGER_DB_USER="manager" -e MANAGER_DB_PASS="manager" -e MANAGER_DB_PROTOCOL="TCP" -e REPORT_DB_NAME="reportdb" -e REPORT_DB_USER="pythia_susemanager" -e REPORT_DB_PASS="pythia_susemanager" -e EXTERNALDB_ADMIN_USER="" -e EXTERNALDB_ADMIN_PASS="" -e EXTERNALDB_PROVIDER="" -e ISS_PARENT="" -e ACTIVATE_SLP="" -e SCC_USER="test" -e SCC_PASS="test" server bash -c "/usr/lib/susemanager/bin/mgr-setup -l /var/log/susemanager_setup.log -s" sudo -i podman exec server bash -c "/usr/bin/spacewalk-schema-upgrade -y" # Make sure latest sql migration scripts have been executed for both the main and the reporting database @@ -19,3 +22,7 @@ for schema in "${available_schemas[@]}"; do # Run the missing migrations and only those, to ensure no script is out of place sudo -i podman exec server bash -c "/testsuite/podman_runner/run_db_migrations.sh ${schema_name} ${schema_version}" done + +echo "Setting SCC mirror to /mirror" +sudo -i podman exec server bash -c "echo \"server.susemanager.fromdir = /mirror\" >> /etc/rhn/rhn.conf" +sudo -i podman exec server bash -c "rctomcat restart" diff --git a/testsuite/podman_runner/14_run_salt_rhlike_minion.sh b/testsuite/podman_runner/14_run_salt_rhlike_minion.sh index 1d0a4e87a5ed..0fc48a7d00aa 100755 --- a/testsuite/podman_runner/14_run_salt_rhlike_minion.sh +++ b/testsuite/podman_runner/14_run_salt_rhlike_minion.sh @@ -9,7 +9,7 @@ sudo -i podman run --privileged --rm -d --network network -p 9092:9090 -v /tmp/r # sleep 10 sudo -i podman exec rhlike_minion bash -c "ssh-keygen -A && /usr/sbin/sshd -e" sudo -i podman exec rhlike_minion bash -c "if [ ! -d /root/.ssh ];then mkdir /root/.ssh/;chmod 700 /root/.ssh;fi;cp /tmp/authorized_keys /root/.ssh/" -# sudo -i podman exec -d rhlike_minion prometheus +sudo -i podman exec -d rhlike_minion prometheus sudo -i podman exec -d rhlike_minion node_exporter sudo -i podman exec -d rhlike_minion prometheus-apache_exporter sudo -i podman exec -d -e DATA_SOURCE_NAME="postgresql://user:passwd@localhost:5432/database?sslmode=disable" rhlike_minion prometheus-postgres_exporter diff --git a/testsuite/podman_runner/17_run_init_clients_tests.sh b/testsuite/podman_runner/17_run_init_clients_tests.sh index 12872227163b..d2218278a803 100755 --- a/testsuite/podman_runner/17_run_init_clients_tests.sh +++ b/testsuite/podman_runner/17_run_init_clients_tests.sh @@ -1,3 +1,4 @@ #!/bin/bash set -xe sudo -i podman exec controller bash -c "export BUILD_HOST=buildhost && export AUTH_REGISTRY=${AUTH_REGISTRY} && export AUTH_REGISTRY_CREDENTIALS=\"${AUTH_REGISTRY_CREDENTIALS}\" && export NO_AUTH_REGISTRY=${NO_AUTH_REGISTRY} && export CUCUMBER_PUBLISH_TOKEN=${CUCUMBER_PUBLISH_TOKEN} && export PROVIDER=podman && export SERVER=server && export HOSTNAME=controller && export SSH_MINION=opensusessh && export MINION=sle_minion && export RHLIKE_MINION=rhlike_minion && export DEBLIKE_MINION=deblike_minion && cd /testsuite && rake cucumber:github_validation_init_clients" + diff --git a/testsuite/podman_runner/18_run_secondary_tests.sh b/testsuite/podman_runner/18_run_secondary_tests.sh index 9ec604b3bc76..8dc9fe5a5eb4 100755 --- a/testsuite/podman_runner/18_run_secondary_tests.sh +++ b/testsuite/podman_runner/18_run_secondary_tests.sh @@ -1,3 +1,3 @@ #!/bin/bash set -xe -sudo -i podman exec controller bash -c "export BUILD_HOST=buildhost && export AUTH_REGISTRY=${AUTH_REGISTRY} && export AUTH_REGISTRY_CREDENTIALS=\"${AUTH_REGISTRY_CREDENTIALS}\" && export NO_AUTH_REGISTRY=${NO_AUTH_REGISTRY} && export CUCUMBER_PUBLISH_TOKEN=${CUCUMBER_PUBLISH_TOKEN} && export PROVIDER=podman && export SERVER=server && export HOSTNAME=controller && export SSH_MINION=opensusessh && export MINION=sle_minion && export RHLIKE_MINION=rhlike_minion && export TAGS=\"\\\"not @flaky\\\"\" && export DEBLIKE_MINION=deblike_minion && cd /testsuite && rake cucumber:secondary" +sudo -i podman exec controller bash -c "export GITPROFILES=https://github.com/uyuni-project/uyuni.git#:testsuite/features/profiles/internal_nue && export PXEBOOT_IMAGE=sles15sp4 && export BUILD_HOST=buildhost && export AUTH_REGISTRY=${AUTH_REGISTRY} && export AUTH_REGISTRY_CREDENTIALS=\"${AUTH_REGISTRY_CREDENTIALS}\" && export NO_AUTH_REGISTRY=${NO_AUTH_REGISTRY} && export CUCUMBER_PUBLISH_TOKEN=${CUCUMBER_PUBLISH_TOKEN} && export PROVIDER=podman && export SERVER=server && export HOSTNAME=controller && export SSH_MINION=opensusessh && export MINION=sle_minion && export RHLIKE_MINION=rhlike_minion && export TAGS=\"\\\"not @flaky\\\"\" && export DEBLIKE_MINION=deblike_minion && cd /testsuite && rake cucumber:secondary" diff --git a/testsuite/podman_runner/run b/testsuite/podman_runner/run index 67a19b50b910..d2f01d32a674 100755 --- a/testsuite/podman_runner/run +++ b/testsuite/podman_runner/run @@ -10,6 +10,12 @@ export AUTH_REGISTRY=auth_registry set -x set -e +# Disable firewall so we can connect to debug +sudo ufw disable + +# make sure docker is installed because we need the socket +# sudo apt -y install docker.io + ./00_setup_env.sh ./01_setup_tmp_dirs.sh ./02_setup_network.sh diff --git a/testsuite/run_sets/github_validation/github_validation_core.yml b/testsuite/run_sets/github_validation/github_validation_core.yml index 3dc0be5f7a24..4ba5275d8c2d 100644 --- a/testsuite/run_sets/github_validation/github_validation_core.yml +++ b/testsuite/run_sets/github_validation/github_validation_core.yml @@ -6,10 +6,16 @@ # initialize Uyuni server - features/github_validation/core/first_settings.feature - features/core/srv_user_preferences.feature +- features/reposync/srv_disable_scheduled_reposync.feature +- features/reposync/srv_sync_channels.feature +- features/reposync/srv_sync_products.feature +- features/reposync/srv_enable_sync_products.feature - features/reposync/srv_create_fake_channels.feature - features/reposync/srv_create_fake_repositories.feature - features/reposync/srv_sync_fake_channels.feature +# Activation keys can only be created after products and channels are synced - features/reposync/srv_create_activationkey.feature +- features/reposync/allcli_update_activationkeys.feature - features/core/srv_osimage.feature - features/core/srv_docker.feature ## Container features END ###