Skip to content

Commit

Permalink
We are constrained to sync SLES on Uyuni
Browse files Browse the repository at this point in the history
  • Loading branch information
Bischoff committed Oct 5, 2023
1 parent d5516d2 commit 1f0ae13
Show file tree
Hide file tree
Showing 9 changed files with 146 additions and 58 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Copyright (c) 2022-2023 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
Expand All @@ -9,42 +10,6 @@ Feature: Update activation keys
Scenario: Log in as admin user
Given I am authorized for the "Admin" section

Scenario: Add a child channel to the base product channel
When I follow the left menu "Software > Manage > Channels"
And I follow "Create Channel"
And I enter "Fake-RPM-SUSE-Channel" as "Channel Name"
And I enter "fake-rpm-suse-channel" as "Channel Label"
And I select the parent channel for the "sle_minion" from "Parent Channel"
And I select "x86_64" from "Architecture:"
And I enter "Fake-RPM-SUSE-Channel for testing" as "Channel Summary"
And I enter "Description for Fake-RPM-SUSE-Channel Child Channel." as "Channel Description"
And I click on "Create Channel"
Then I should see a "Channel Fake-RPM-SUSE-Channel created." text

Scenario: Add the repository to the x86_64 child channel
When I follow the left menu "Software > Manage > Channels"
And I follow "Fake-RPM-SUSE-Channel"
And I enter "file:///etc/pki/rpm-gpg/uyuni-tools-gpg-pubkey-0d20833e.key" as "GPG key URL"
And I click on "Update Channel"
Then I should see a "Channel Fake-RPM-SUSE-Channel updated" text
When I follow "Repositories" in the content area
And I select the "fake-rpm-repo" repo
And I click on "Save Repositories"
Then I should see a "Fake-RPM-SUSE-Channel repository information was successfully updated" text

Scenario: Synchronize the repository in the x86_64 channel
When I enable source package syncing
And I follow the left menu "Software > Manage > Channels"
And I follow "Fake-RPM-SUSE-Channel"
And I follow "Repositories" in the content area
And I follow "Sync"
And I wait at most 60 seconds until I do not see "Repository sync is running." text, refreshing the page
And I click on "Sync Now"
Then I should see a "Repository sync scheduled for Fake-RPM-SUSE-Channel." text
And I wait until the channel "fake-rpm-suse-channel" has been synced
And I disable source package syncing

@skip_if_github_validation
@scc_credentials
@susemanager
Scenario: Update SLE key with synced base product
Expand All @@ -68,7 +33,6 @@ Feature: Update activation keys
And I click on "Update Activation Key"
Then I should see a "Activation key SUSE Test Key x86_64 has been modified" text

@skip_if_github_validation
@uyuni
Scenario: Update openSUSE Leap key with synced base product
When I follow the left menu "Systems > Activation Keys"
Expand All @@ -86,7 +50,6 @@ Feature: Update activation keys
And I click on "Update Activation Key"
Then I should see a "Activation key SUSE Test Key x86_64 has been modified" text

@skip_if_github_validation
@scc_credentials
@susemanager
Scenario: Update SLE SSH key with synced base product
Expand All @@ -101,7 +64,6 @@ Feature: Update activation keys
And I click on "Update Activation Key"
Then I should see a "Activation key SUSE SSH Test Key x86_64 has been modified" text

@skip_if_github_validation
@uyuni
Scenario: Update openSUSE Leap SSH key with synced base product
When I follow the left menu "Systems > Activation Keys"
Expand All @@ -119,7 +81,6 @@ Feature: Update activation keys
And I click on "Update Activation Key"
Then I should see a "Activation key SUSE SSH Test Key x86_64 has been modified" text

@skip_if_github_validation
@scc_credentials
@susemanager
Scenario: Update SLE SSH tunnel key with synced base product
Expand All @@ -134,7 +95,6 @@ Feature: Update activation keys
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

@skip_if_github_validation
@uyuni
Scenario: Update openSUSE Leap SSH tunnel key with synced base product
When I follow the left menu "Systems > Activation Keys"
Expand All @@ -152,7 +112,6 @@ Feature: Update activation keys
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

@skip_if_github_validation
@scc_credentials
@susemanager
Scenario: Update the SLE Proxy key with synced base product
Expand All @@ -171,7 +130,6 @@ 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

@skip_if_github_validation
@uyuni
Scenario: Update the openSUSE Leap Proxy key with synced base product
When I follow the left menu "Systems > Activation Keys"
Expand All @@ -189,9 +147,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

@skip_if_github_validation
@scc_credentials
@susemanager
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
Expand All @@ -209,6 +165,24 @@ Feature: Update activation keys
And I wait until "SLE-Module-Desktop-Applications15-SP4-Updates for x86_64" has been checked
And I check "SLE-Module-Containers15-SP4-Pool for x86_64"
And I wait until "SLE-Module-Containers15-SP4-Updates for x86_64" 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

@scc_credentials
@susemanager
Scenario: Update build host key with normal SUSE fake channel
When I follow the left menu "Systems > Activation Keys"
And I follow "Build host Key x86_64" in the content area
And I wait for child channels to appear
And I check "Fake-RPM-SUSE-Channel"
When I click on "Update Activation Key"
And I click on "Update Activation Key"
Then I should see a "Activation key Build host Key x86_64 has been modified" text

@uyuni
Scenario: Update build host key with specific fake channel
When I follow the left menu "Systems > Activation Keys"
And I follow "Build host Key x86_64" in the content area
And I wait for child channels to appear
And I check "Fake-RPM-Buildhost-Channel"
And I click on "Update Activation Key"
Then I should see a "Activation key Build host Key x86_64 has been modified" text
2 changes: 1 addition & 1 deletion testsuite/features/reposync/srv_create_repository.feature
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
#
# This feature can cause failures in:
# If the fake-rpm-repo fails to be created:
# - features/init_client/allcli_update_activationkeys.feature
# - features/reposync/srv_sync_fake_channels.feature
# If Fake-Deb-AMD64-Channel fails to be updated with the repository:
# - features/secondary/min_deblike_salt_install_package.feature
# - features/secondary/min_deblike_salt_install_with_staging.feature
Expand Down
92 changes: 92 additions & 0 deletions testsuite/features/reposync/srv_sync_fake_channels.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Copyright (c) 2022-2023 SUSE LLC
# Licensed under the terms of the MIT license.

Feature: Prepare fake package channels
In order to have packages to install on clients
As admin
I want to prepare the channels containing those packages

Scenario: Log in as admin user
Given I am authorized for the "Admin" section

Scenario: Add the fake packages child channel to the base product channel
When I follow the left menu "Software > Manage > Channels"
And I follow "Create Channel"
And I enter "Fake-RPM-SUSE-Channel" as "Channel Name"
And I enter "fake-rpm-suse-channel" as "Channel Label"
And I select the parent channel for the "sle_minion" from "Parent Channel"
And I select "x86_64" from "Architecture:"
And I enter "Fake-RPM-SUSE-Channel for testing" as "Channel Summary"
And I enter "Description for Fake-RPM-SUSE-Channel Child Channel." as "Channel Description"
And I click on "Create Channel"
Then I should see a "Channel Fake-RPM-SUSE-Channel created." text

Scenario: Add the repository to the fake packages child channel
When I follow the left menu "Software > Manage > Channels"
And I follow "Fake-RPM-SUSE-Channel"
And I enter "file:///etc/pki/rpm-gpg/uyuni-tools-gpg-pubkey-0d20833e.key" as "GPG key URL"
And I click on "Update Channel"
Then I should see a "Channel Fake-RPM-SUSE-Channel updated" text
When I follow "Repositories" in the content area
And I select the "fake-rpm-repo" repo
And I click on "Save Repositories"
Then I should see a "Fake-RPM-SUSE-Channel repository information was successfully updated" text

Scenario: Synchronize the repository in the fake packages channel
When I enable source package syncing
And I follow the left menu "Software > Manage > Channels"
And I follow "Fake-RPM-SUSE-Channel"
And I follow "Repositories" in the content area
And I follow "Sync"
And I wait at most 60 seconds until I do not see "Repository sync is running." text, refreshing the page
And I click on "Sync Now"
Then I should see a "Repository sync scheduled for Fake-RPM-SUSE-Channel." text
And I wait until the channel "fake-rpm-suse-channel" has been synced
And I disable source package syncing

Scenario: Verify state of Fake-RPM-SUSE-Channel custom 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"

@uyuni
Scenario: Add the build host child channel to the base product channel
When I follow the left menu "Software > Manage > Channels"
And I follow "Create Channel"
And I enter "Fake-RPM-Buildhost-Channel" as "Channel Name"
And I enter "fake-rpm-buildhost-channel" as "Channel Label"
And I select "SLE-Product-SLES15-SP4-Pool for x86_64" from "Parent Channel"
And I select "x86_64" from "Architecture:"
And I enter "Fake-RPM-Buildhost-Channel for testing" as "Channel Summary"
And I enter "Description for Fake-RPM-Buildhost-Channel Child Channel." as "Channel Description"
And I click on "Create Channel"
Then I should see a "Channel Fake-RPM-Buildhost-Channel created." text

@uyuni
Scenario: Add the repository to the build host child channel
When I follow the left menu "Software > Manage > Channels"
And I follow "Fake-RPM-Buildhost-Channel"
And I enter "file:///etc/pki/rpm-gpg/uyuni-tools-gpg-pubkey-0d20833e.key" as "GPG key URL"
And I click on "Update Channel"
Then I should see a "Channel Fake-RPM-Buildhost-Channel updated" text
When I follow "Repositories" in the content area
And I select the "fake-rpm-repo" repo
And I click on "Save Repositories"
Then I should see a "Fake-RPM-Buildhost-Channel repository information was successfully updated" text

@uyuni
Scenario: Synchronize the repository in the build host channel
When I enable source package syncing
And I follow the left menu "Software > Manage > Channels"
And I follow "Fake-RPM-Buildhost-Channel"
And I follow "Repositories" in the content area
And I follow "Sync"
And I wait at most 60 seconds until I do not see "Repository sync is running." text, refreshing the page
And I click on "Sync Now"
Then I should see a "Repository sync scheduled for Fake-RPM-Buildhost-Channel." text
And I wait until the channel "fake-rpm-buildhost-channel" has been synced
And I disable source package syncing

@uyuni
Scenario: Verify state of Fake-RPM-Buildhost-Channel custom channel
Then "orion-dummy-1.1-1.1.x86_64.rpm" package should have been stored
And solver file for "fake-rpm-buildhost-channel" should reference "orion-dummy-1.1-1.1.x86_64.rpm"
26 changes: 26 additions & 0 deletions testsuite/features/reposync/srv_sync_products.feature
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,32 @@ Feature: Synchronize products in the products page of the Setup Wizard
And I wait until I see "SUSE Linux Enterprise Server 15 SP4 x86_64" product has been added
Then the SLE15 SP4 product should be added

@scc_credentials
@uyuni
Scenario: Add SLES 15 SP4 product with recommended sub-products for the build host and the terminals
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 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 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"
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"
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
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
And I should see the "Development Tools Module 15 SP4 x86_64" selected
When I select "Containers Module 15 SP4 x86_64" as a product
Then I should see the "Containers Module 15 SP4 x86_64" selected
When I click the Add Product button
And I wait until I see "SUSE Linux Enterprise Server 15 SP4 x86_64" product has been added
Then the SLE15 SP4 product should be added

@uyuni
Scenario: Add openSUSE Leap 15.5 product, including Uyuni Client Tools
When I use spacewalk-common-channel to add channel "opensuse_leap15_5 opensuse_leap15_5-non-oss opensuse_leap15_5-non-oss-updates opensuse_leap15_5-updates opensuse_leap15_5-backports-updates opensuse_leap15_5-sle-updates uyuni-proxy-devel-leap opensuse_leap15_5-uyuni-client" with arch "x86_64"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ Feature: Build OS images
And I follow "Create"
And I enter "suse_os_image" as "label"
And I select "Kiwi" from "imageType"
And I select "1-SUSE-KEY-x86_64" from "activationKey"
And I select "1-BUILD-HOST-KEY-x86_64" from "activationKey"
And I enter the image filename for "pxeboot_minion" relative to profiles as "path"
And I click on "create-btn"
And I wait until no Salt job is running on "build_host"
Expand Down
12 changes: 3 additions & 9 deletions testsuite/features/secondary/proxy_cobbler_pxeboot.feature
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,12 @@ Feature: PXE boot a terminal with Cobbler
And I click on "Apply Highstate"
And I wait until event "Apply highstate scheduled by admin" is completed

@susemanager
# We need SLES on the build host and on the terminal, because Retail currently does not support Leap
# This is true even for Uyuni
Scenario: Install TFTP boot package on the server
When I install package tftpboot-installation on the server
And I wait for "tftpboot-installation-SLE-15-SP4-x86_64" to be installed on "server"

# TODO: Not available in any Leap repository, yet
# See https://suse.slack.com/archives/C02CKHR76Q2/p1694189245268889
#@uyuni
# Scenario: Install TFTP boot package on the server
# When I install package tftpboot-installation on the server
# And I wait for "tftpboot-installation-openSUSE-Leap-15.5-x86_64" to be installed on "server"

Scenario: Create auto installation distribution
When I follow the left menu "Systems > Autoinstallation > Distributions"
And I follow "Create Distribution"
Expand Down Expand Up @@ -81,7 +75,7 @@ Feature: PXE boot a terminal with Cobbler
When I enter "self_update=0" as "kernel_options"
And I click on "Update"
And I follow "Variables"
And I enter "distrotree=SLE-15-SP4-TFTP\nregistration_key=1-SUSE-KEY-x86_64\nredhat_management_server=proxy.example.org" as "variables" text area
And I enter "distrotree=SLE-15-SP4-TFTP\nregistration_key=1-BUILD-HOST-KEY-x86_64\nredhat_management_server=proxy.example.org" as "variables" text area
And I click on "Update Variables"
And I follow "Autoinstallation File"
Then I should see a "SLE-15-SP4-TFTP" text
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ Feature: PXE boot a Retail terminal
And I disable repositories after installing branch server

Scenario: Bootstrap the PXE boot minion
When I create bootstrap script for "proxy.example.org" hostname and set the activation key "1-SUSE-KEY-x86_64" in the bootstrap script on the proxy
When I create bootstrap script for "proxy.example.org" hostname and set the activation key "1-BUILD-HOST-KEY-x86_64" in the bootstrap script on the proxy
And I bootstrap pxeboot minion via bootstrap script on the proxy
# Workaround: Increase timeout temporarily get rid of timeout issues
And I wait at most 350 seconds until Salt master sees "pxeboot_minion" as "unaccepted"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@
- features/core/srv_create_activationkey.feature
- features/core/srv_osimage.feature
- features/core/srv_docker.feature
- features/reposync/srv_sync_fake_channels.feature
## Container features END ###
1 change: 1 addition & 0 deletions testsuite/run_sets/reposync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@
- features/reposync/srv_enable_sync_products.feature
- features/reposync/srv_wait_for_reposync.feature
- features/reposync/srv_create_repository.feature
- features/reposync/srv_sync_fake_channels.feature

## Channels and Product synchronization features END ###

0 comments on commit 1f0ae13

Please sign in to comment.