Skip to content

Commit

Permalink
Merge pull request #8504 from mayrstefan/ubuntu2404
Browse files Browse the repository at this point in the history
Add Ubuntu 24.04
  • Loading branch information
raulillo82 authored Sep 30, 2024
2 parents 1fb0cd1 + 19d5dcc commit dd57146
Show file tree
Hide file tree
Showing 15 changed files with 367 additions and 4 deletions.
4 changes: 2 additions & 2 deletions java/code/src/com/redhat/rhn/domain/server/MinionServer.java
Original file line number Diff line number Diff line change
Expand Up @@ -168,10 +168,10 @@ public boolean doesOsSupportsTransactionalUpdate() {
public boolean doesOsSupportsMonitoring() {
return isSLES12() || isSLES15() || isLeap15() || isLeapMicro() ||
isSLEMicro5() || // Micro 6 miss the node exporter
isUbuntu1804() || isUbuntu2004() || isUbuntu2204() ||
isUbuntu1804() || isUbuntu2004() || isUbuntu2204() || isUbuntu2404() ||
isRedHat6() || isRedHat7() || isRedHat8() || isRedHat9() || // isRedHat catch also Rocky and Alma
isAlibaba2() || isAmazon2() || isAmazon2023() ||
isDebian12() || isDebian11() || isDebian10();
isDebian10() || isDebian11() || isDebian12();
}

/**
Expand Down
8 changes: 6 additions & 2 deletions java/code/src/com/redhat/rhn/domain/server/Server.java
Original file line number Diff line number Diff line change
Expand Up @@ -2419,10 +2419,10 @@ public boolean doesOsSupportsTransactionalUpdate() {
public boolean doesOsSupportsMonitoring() {
return isSLES12() || isSLES15() || isLeap15() || isLeapMicro() ||
isSLEMicro5() || // Micro 6 miss the node exporter
isUbuntu1804() || isUbuntu2004() || isUbuntu2204() ||
isUbuntu1804() || isUbuntu2004() || isUbuntu2204() || isUbuntu2404() ||
isRedHat6() || isRedHat7() || isRedHat8() || isRedHat9() || // isRedHat catch also Rocky and Alma
isAlibaba2() || isAmazon2() || isAmazon2023() ||
isDebian12() || isDebian11() || isDebian10();
isDebian10() || isDebian11() || isDebian12();
}

/**
Expand Down Expand Up @@ -2538,6 +2538,10 @@ boolean isUbuntu2204() {
return ServerConstants.UBUNTU.equals(getOs()) && getRelease().equals("22.04");
}

boolean isUbuntu2404() {
return ServerConstants.UBUNTU.equals(getOs()) && getRelease().equals("24.04");
}

boolean isDebian() {
return ServerConstants.DEBIAN.equalsIgnoreCase(getOs());
}
Expand Down
1 change: 1 addition & 0 deletions java/spacewalk-java.changes.mayrstefan.add-ubuntu-24.04
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Add detection of Ubuntu 24.04
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ clients="Ubuntu1604-Uyuni-Client-Tools;xUbuntu_16.04 \
Ubuntu1804-Uyuni-Client-Tools;xUbuntu_18.04 \
Ubuntu2004-Uyuni-Client-Tools;xUbuntu_20.04 \
Ubuntu2204-Uyuni-Client-Tools;xUbuntu_22.04 \
Ubuntu2404-Uyuni-Client-Tools;xUbuntu_24.04 \
openSUSE_Leap_15-Uyuni-Client-Tools;openSUSE_Leap_15.0 \
openSUSE_Leap_42-Uyuni-Client-Tools;openSUSE_Leap_42.3 \
SLE15-Uyuni-Client-Tools;SLE_15 \
Expand Down
10 changes: 10 additions & 0 deletions susemanager/src/mgr_bootstrap_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -365,6 +365,10 @@
"venv-salt-minion",
]

PKGLISTUBUNTU2404 = [
"venv-salt-minion",
]

PKGLISTDEBIAN9 = [
"apt-transport-https",
"bsdmainutils",
Expand Down Expand Up @@ -1995,6 +1999,12 @@
"DEST": DOCUMENT_ROOT + "/pub/repositories/ubuntu/22/4/bootstrap/",
"TYPE": "deb",
},
"ubuntu-24.04-amd64-uyuni": {
"BASECHANNEL": "ubuntu-24.04-pool-amd64-uyuni",
"PKGLIST": PKGLISTUBUNTU2404,
"DEST": DOCUMENT_ROOT + "/pub/repositories/ubuntu/24/4/bootstrap/",
"TYPE": "deb",
},
"debian9-amd64": {
"PDID": [-19, 2208],
"BETAPDID": [2209],
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Enable bootstrapping for Ubuntu 24.04 LTS
14 changes: 14 additions & 0 deletions testsuite/features/build_validation/core/allcli_sanity.feature
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,20 @@ Feature: Sanity checks
And "ubuntu2204_ssh_minion" should communicate with the server using public interface
And the clock from "ubuntu2204_ssh_minion" should be exact

@ubuntu2404_minion
Scenario: The Ubuntu 24.04 minion is healthy
Then "ubuntu2404_minion" should have a FQDN
And reverse resolution should work for "ubuntu2404_minion"
And "ubuntu2404_minion" should communicate with the server using public interface
And the clock from "ubuntu2404_minion" should be exact

@ubuntu2404_ssh_minion
Scenario: The Ubuntu 24.04 Salt SSH minion is healthy
Then "ubuntu2404_ssh_minion" should have a FQDN
And reverse resolution should work for "ubuntu2404_ssh_minion"
And "ubuntu2404_ssh_minion" should communicate with the server using public interface
And the clock from "ubuntu2404_ssh_minion" should be exact

@debian11_minion
Scenario: The Debian 11 minion is healthy
Then "debian11_minion" should have a FQDN
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,10 @@ Feature: Create bootstrap repositories
Scenario: Create the bootstrap repository for a Ubuntu 22.04 minion
When I create the bootstrap repository for "ubuntu2204_minion" on the server

@ubuntu2404_minion
Scenario: Create the bootstrap repository for a Ubuntu 24.04 minion
When I create the bootstrap repository for "ubuntu2404_minion" on the server

@debian11_minion
Scenario: Create the bootstrap repository for a Debian 11 minion
When I create the bootstrap repository for "debian11_minion" on the server
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Copyright (c) 2024 SUSE LLC
# Licensed under the terms of the MIT license.
#
# 1) bootstrap a new Ubuntu minion
# 2) subscribe it to a base channel for testing

@ubuntu2404_minion
Feature: Bootstrap a Ubuntu 24.04 Salt minion

Scenario: Clean up sumaform leftovers on a Ubuntu 24.04 minion
When I perform a full salt minion cleanup on "ubuntu2404_minion"

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

Scenario: Bootstrap a Ubuntu 24.04 minion
When I follow the left menu "Systems > Bootstrapping"
Then I should see a "Bootstrap Minions" text
When I enter the hostname of "ubuntu2404_minion" as "hostname"
And I enter "root" as "user"
And I enter "linux" as "password"
And I enter "22" as "port"
And I enter "linux" as "password"
And I select "1-ubuntu2404_minion_key" from "activationKeys"
And I select the hostname of "proxy" from "proxies" if present
And I click on "Bootstrap"
And I wait until I see "Bootstrap process initiated." text
And I wait until onboarding is completed for "ubuntu2404_minion"

@proxy
Scenario: Check connection from Ubuntu 24.04 minion to proxy
Given I am on the Systems overview page of this "ubuntu2404_minion"
When I follow "Details" in the content area
And I follow "Connection" in the content area
Then I should see "proxy" short hostname

@proxy
Scenario: Check registration on proxy of Ubuntu 24.04 minion
Given I am on the Systems overview page of this "proxy"
When I follow "Details" in the content area
And I follow "Proxy" in the content area
Then I should see "ubuntu2404_minion" hostname

Scenario: Check events history for failures on Ubuntu 24.04 minion
Given I am on the Systems overview page of this "ubuntu2404_minion"
Then I check for failed events on history event page
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Copyright (c) 2024 SUSE LLC
# Licensed under the terms of the MIT license.
#
# 1) bootstrap a new Ubuntu minion via salt-ssh
# 2) subscribe it to a base channel for testing

@ubuntu2404_ssh_minion
Feature: Bootstrap a Ubuntu 24.04 Salt SSH minion

Scenario: Clean up sumaform leftovers on a Ubuntu 24.04 Salt SSH minion
When I perform a full salt minion cleanup on "ubuntu2404_ssh_minion"

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

Scenario: Bootstrap a SSH-managed Ubuntu 24.04 minion
When I follow the left menu "Systems > Bootstrapping"
Then I should see a "Bootstrap Minions" text
When I enter the hostname of "ubuntu2404_ssh_minion" as "hostname"
And I enter "root" as "user"
And I enter "linux" as "password"
And I enter "22" as "port"
And I select "1-ubuntu2404_ssh_minion_key" from "activationKeys"
And I select the hostname of "proxy" from "proxies" if present
And I check "manageWithSSH"
And I click on "Bootstrap"
And I wait until I see "Bootstrap process initiated." text
And I wait until onboarding is completed for "ubuntu2404_ssh_minion"

Scenario: Check events history for failures on SSH-managed Ubuntu 24.04 minion
Given I am on the Systems overview page of this "ubuntu2404_ssh_minion"
Then I check for failed events on history event page
Original file line number Diff line number Diff line change
Expand Up @@ -706,6 +706,26 @@ Feature: Synchronize products in the products page of the Setup Wizard
When I use spacewalk-common-channel to add all "ubuntu-2204" channels with arch "amd64-deb"
And I wait until all synchronized channels for "ubuntu-2204" have finished

@susemanager
@ubuntu2404_minion
Scenario: Add Ubuntu 24.04
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 "Ubuntu 24.04" as the filtered product description
And I select "Ubuntu 24.04" as a product
Then I should see the "Ubuntu 24.04" selected
When I click the Add Product button
And I wait until I see "Ubuntu 24.04" product has been added
And I wait until all synchronized channels for "ubuntu-2404" have finished

@uyuni
@ubuntu2404_minion
Scenario: Add Ubuntu 24.04
When I use spacewalk-common-channel to add all "ubuntu-2404" channels with arch "amd64-deb"
And I wait until all synchronized channels for "ubuntu-2404" have finished

@susemanager
@debian11_minion
Scenario: Add Debian 11
Expand Down
48 changes: 48 additions & 0 deletions testsuite/features/support/constants.rb
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@
'ubuntu2004_ssh_minion' => 'UBUNTU2004_SSHMINION',
'ubuntu2204_minion' => 'UBUNTU2204_MINION',
'ubuntu2204_ssh_minion' => 'UBUNTU2204_SSHMINION',
'ubuntu2404_minion' => 'UBUNTU2404_MINION',
'ubuntu2404_ssh_minion' => 'UBUNTU2404_SSHMINION',
'debian11_minion' => 'DEBIAN11_MINION',
'debian11_ssh_minion' => 'DEBIAN11_SSHMINION',
'debian12_minion' => 'DEBIAN12_MINION',
Expand Down Expand Up @@ -203,6 +205,8 @@
'ubuntu2004_ssh_minion' => 'bison',
'ubuntu2204_minion' => 'bison',
'ubuntu2204_ssh_minion' => 'bison',
'ubuntu2404_minion' => 'bison',
'ubuntu2404_ssh_minion' => 'bison',
'debian11_minion' => 'bison',
'debian11_ssh_minion' => 'bison',
'debian12_minion' => 'bison',
Expand Down Expand Up @@ -281,6 +285,8 @@
'ubuntu2004_ssh_minion' => 'ubuntu-2004-amd64-main for amd64',
'ubuntu2204_minion' => 'ubuntu-2204-amd64-main for amd64',
'ubuntu2204_ssh_minion' => 'ubuntu-2204-amd64-main for amd64',
'ubuntu2404_minion' => 'ubuntu-2404-amd64-main for amd64',
'ubuntu2404_ssh_minion' => 'ubuntu-2404-amd64-main for amd64',
'debian11_minion' => 'debian-11-pool for amd64',
'debian11_ssh_minion' => 'debian-11-pool for amd64',
'debian12_minion' => 'debian-12-pool for amd64',
Expand Down Expand Up @@ -352,6 +358,8 @@
'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',
'ubuntu2404_minion' => 'Ubuntu 24.04 LTS AMD64 Base for Uyuni',
'ubuntu2404_ssh_minion' => 'Ubuntu 24.04 LTS AMD64 Base for Uyuni',
'debian11_minion' => 'Debian 11 (bullseye) pool for amd64 for Uyuni',
'debian11_ssh_minion' => 'Debian 11 (bullseye) pool for amd64 for Uyuni',
'debian12_minion' => 'Debian 12 (bookworm) pool for amd64 for Uyuni',
Expand Down Expand Up @@ -404,6 +412,7 @@
'rockylinux-9 for x86_64' => 'rockylinux-9-x86_64',
'ubuntu-2004-amd64-main for amd64' => 'ubuntu-2004-amd64-main-amd64',
'ubuntu-2204-amd64-main for amd64' => 'ubuntu-2204-amd64-main-amd64',
'ubuntu-2404-amd64-main for amd64' => 'ubuntu-2404-amd64-main-amd64',
'debian-11-pool for amd64' => 'debian-11-pool-amd64',
'debian-12-pool for amd64' => 'debian-12-pool-amd64',
'openSUSE-Leap-15.5-Pool for aarch64' => 'opensuse-leap-15.5-pool-aarch64',
Expand Down Expand Up @@ -436,6 +445,7 @@
'Rocky Linux 9 (x86_64)' => 'rockylinux9-x86_64',
'Ubuntu 20.04 LTS AMD64 Base for Uyuni' => 'ubuntu-2004-pool-amd64-uyuni',
'Ubuntu 22.04 LTS AMD64 Base for Uyuni' => 'ubuntu-22.04-pool-amd64-uyuni',
'Ubuntu 24.04 LTS AMD64 Base for Uyuni' => 'ubuntu-24.04-pool-amd64-uyuni',
'Debian 11 (bullseye) pool for amd64 for Uyuni' => 'debian-11-pool-amd64-uyuni',
'Debian 12 (bookworm) pool for amd64 for Uyuni' => 'debian-12-pool-amd64-uyuni',
'openSUSE Leap 15.5 (aarch64)' => 'opensuse_leap15_5-aarch64',
Expand Down Expand Up @@ -474,6 +484,7 @@
'rockylinux-9 for x86_64' => 'rockylinux-9-x86_64',
'ubuntu-2004-amd64-main for amd64' => 'ubuntu-20.04-amd64',
'ubuntu-2204-amd64-main for amd64' => 'ubuntu-22.04-amd64',
'ubuntu-2404-amd64-main for amd64' => 'ubuntu-24.04-amd64',
'debian-11-pool for amd64' => 'debian11-amd64',
'debian-12-pool for amd64' => 'debian12-amd64',
'openSUSE-Leap-15.5-Pool for aarch64' => 'openSUSE-Leap-15.5-aarch64',
Expand Down Expand Up @@ -505,6 +516,7 @@
'Rocky Linux 9 (x86_64)' => 'rockylinux9-x86_64-uyuni',
'Ubuntu 20.04 LTS AMD64 Base for Uyuni' => 'ubuntu-2004-amd64-uyuni',
'Ubuntu 22.04 LTS AMD64 Base for Uyuni' => 'ubuntu-2204-amd64-uyuni',
'Ubuntu 24.04 LTS AMD64 Base for Uyuni' => 'ubuntu-2404-amd64-uyuni',
'Debian 11 (bullseye) pool for amd64 for Uyuni' => 'debian11-amd64-uyuni',
'Debian 12 (bookworm) pool for amd64 for Uyuni' => 'debian12-amd64-uyuni',
'openSUSE Leap 15.5 (aarch64)' => 'openSUSE-Leap-15.5-aarch64-uyuni',
Expand Down Expand Up @@ -544,6 +556,7 @@
'rockylinux-9 for x86_64' => nil,
'ubuntu-2004-amd64-main for amd64' => nil,
'ubuntu-2204-amd64-main for amd64' => nil,
'ubuntu-2404-amd64-main for amd64' => nil,
'debian-11-pool for amd64' => 'debian-11-pool-amd64',
'debian-12-pool for amd64' => 'debian-12-pool-amd64',
'openSUSE-Leap-15.5-Pool for aarch64' => nil,
Expand Down Expand Up @@ -575,6 +588,7 @@
'Rocky Linux 9 (x86_64)' => nil,
'Ubuntu 20.04 LTS AMD64 Base for Uyuni' => nil,
'Ubuntu 22.04 LTS AMD64 Base for Uyuni' => nil,
'Ubuntu 24.04 LTS AMD64 Base for Uyuni' => nil,
'Debian 11 (bullseye) pool for amd64 for Uyuni' => 'debian11-amd64-uyuni',
'Debian 12 (bookworm) pool for amd64 for Uyuni' => 'debian12-amd64-uyuni',
'openSUSE Leap 15.5 (aarch64)' => nil,
Expand Down Expand Up @@ -633,6 +647,8 @@
'ubuntu2004_ssh_minion' => 'amd64',
'ubuntu2204_minion' => 'amd64',
'ubuntu2204_ssh_minion' => 'amd64',
'ubuntu2404_minion' => 'amd64',
'ubuntu2404_ssh_minion' => 'amd64',
'debian11_minion' => 'amd64',
'debian11_ssh_minion' => 'amd64',
'debian12_minion' => 'amd64',
Expand Down Expand Up @@ -965,6 +981,13 @@
ubuntu-2204-amd64-main-security-amd64
ubuntu-22.04-suse-manager-tools-amd64
],
'ubuntu-2404' =>
%w[
ubuntu-2404-amd64-main-amd64
ubuntu-2404-amd64-main-updates-amd64
ubuntu-2404-amd64-main-security-amd64
ubuntu-24.04-suse-manager-tools-amd64
],
'suma-proxy-extension-50' => # CHECKED
%w[
suse-manager-proxy-5.0-pool-x86_64
Expand Down Expand Up @@ -1301,6 +1324,18 @@
ubuntu-2204-amd64-universe-uyuni
ubuntu-2204-amd64-uyuni-client-devel
],
'ubuntu-2404' =>
%w[
ubuntu-24.04-pool-amd64-uyuni
ubuntu-2404-amd64-main-security-uyuni
ubuntu-2404-amd64-main-updates-uyuni
ubuntu-2404-amd64-main-uyuni
ubuntu-2404-amd64-universe-backports-uyuni
ubuntu-2404-amd64-universe-security-uyuni
ubuntu-2404-amd64-universe-updates-uyuni
ubuntu-2404-amd64-universe-uyuni
ubuntu-2404-amd64-uyuni-client-devel
],
'uyuni-proxy' => # CHECKED
%w[
opensuse_leap15_5-x86_64
Expand Down Expand Up @@ -1597,6 +1632,19 @@
'ubuntu-2204-amd64-uyuni-client-devel' => 60,
'ubuntu-22.04-pool-amd64-uyuni' => 60,
'ubuntu-22.04-suse-manager-tools-amd64' => 60,
'ubuntu-2404-amd64-main-amd64' => 780,
'ubuntu-2404-amd64-main-security-amd64' => 2760,
'ubuntu-2404-amd64-main-security-uyuni' => 2040,
'ubuntu-2404-amd64-main-updates-amd64' => 180,
'ubuntu-2404-amd64-main-updates-uyuni' => 300,
'ubuntu-2404-amd64-main-uyuni' => 780,
'ubuntu-2404-amd64-universe-backports-uyuni' => 60,
'ubuntu-2404-amd64-universe-security-uyuni' => 1020,
'ubuntu-2404-amd64-universe-updates-uyuni' => 240,
'ubuntu-2404-amd64-universe-uyuni' => 24_000,
'ubuntu-2404-amd64-uyuni-client-devel' => 60,
'ubuntu-24.04-pool-amd64-uyuni' => 60,
'ubuntu-24.04-suse-manager-tools-amd64' => 60,
'uyuni-proxy-devel-leap-x86_64' => 60
}.freeze

Expand Down
8 changes: 8 additions & 0 deletions testsuite/features/support/env.rb
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,14 @@ def process_code_coverage
skip_this_scenario unless ENV.key? ENV_VAR_BY_HOST['ubuntu2204_ssh_minion']
end

Before('@ubuntu2404_minion') do
skip_this_scenario unless ENV.key? ENV_VAR_BY_HOST['ubuntu2404_minion']
end

Before('@ubuntu2404_ssh_minion') do
skip_this_scenario unless ENV.key? ENV_VAR_BY_HOST['ubuntu2404_ssh_minion']
end

Before('@debian11_minion') do
skip_this_scenario unless ENV.key? ENV_VAR_BY_HOST['debian11_minion']
end
Expand Down
Loading

0 comments on commit dd57146

Please sign in to comment.