Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Debian 12 Bookworm #7255

Merged
merged 4 commits into from
Oct 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ public boolean doesOsSupportsTransactionalUpdate() {
public boolean doesOsSupportsMonitoring() {
return isSLES12() || isSLES15() || isLeap15() || isUbuntu1804() || isUbuntu2004() || isUbuntu2204() ||
isRedHat6() || isRedHat7() || isRedHat8() || isRedHat9() || isAlibaba2() || isAmazon2() || isRocky8() ||
isRocky9() || isDebian11() || isDebian10();
isRocky9() || isDebian12() || isDebian11() || isDebian10();
}

/**
Expand Down
6 changes: 5 additions & 1 deletion java/code/src/com/redhat/rhn/domain/server/Server.java
Original file line number Diff line number Diff line change
Expand Up @@ -2334,7 +2334,7 @@ public boolean doesOsSupportsTransactionalUpdate() {
public boolean doesOsSupportsMonitoring() {
return isSLES12() || isSLES15() || isLeap15() || isUbuntu1804() || isUbuntu2004() || isUbuntu2204() ||
isRedHat6() || isRedHat7() || isRedHat8() || isAlibaba2() || isAmazon2() || isRocky8() ||
isRocky9() || isDebian11() || isDebian10();
isRocky9() || isDebian12() || isDebian11() || isDebian10();
}

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

boolean isDebian12() {
return ServerConstants.DEBIAN.equals(getOs()) && getRelease().equals("12");
}

boolean isDebian11() {
return ServerConstants.DEBIAN.equals(getOs()) && getRelease().equals("11");
}
Expand Down
1 change: 1 addition & 0 deletions java/spacewalk-java.changes.mayrstefan.add-debian-12
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- add detection of Debian 12
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ clients="Ubuntu1604-Uyuni-Client-Tools;xUbuntu_16.04 \
SLE12-Uyuni-Client-Tools;SLE_12 \
EL8-Uyuni-Client-Tools;EL_8 \
Debian9-Uyuni-Client-Tools;Debian_9 \
Debian12-Uyuni-Client-Tools;Debian_12 \
Debian11-Uyuni-Client-Tools;Debian_11 \
Debian10-Uyuni-Client-Tools;Debian_10 \
CentOS8-Uyuni-Client-Tools;CentOS_8 \
Expand Down
30 changes: 30 additions & 0 deletions susemanager/src/mgr_bootstrap_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,31 @@
"venv-salt-minion"
]

PKGLISTDEBIAN12 = [
# gnupg dependencies
"dirmngr",
"gnupg",
"gnupg-l10n",
"gnupg-utils",
"gpg",
"gpg-agent",
"gpg-wks-client",
"gpg-wks-server",
"gpgconf",
"gpgsm",
"libassuan0",
"libksba8",
"libldap-2.5-0",
"libnpth0",
"libsasl2-2",
"libsasl2-modules-db",
"libsqlite3-0",
"pinentry-curses",
"readline-common",
# end of gnupg dependencies
"venv-salt-minion"
]

PKGLISTASTRALINUXOREL = [
"dctrl-tools",
"dirmngr",
Expand Down Expand Up @@ -1485,6 +1510,11 @@
'DEST' : DOCUMENT_ROOT + '/pub/repositories/debian/11/bootstrap/',
'TYPE' : 'deb'
},
'debian12-amd64-uyuni' : {
'BASECHANNEL' : 'debian-12-pool-amd64-uyuni', 'PKGLIST' : PKGLISTDEBIAN12,
'DEST' : DOCUMENT_ROOT + '/pub/repositories/debian/12/bootstrap/',
'TYPE' : 'deb'
},
'astralinux-orel-amd64': {
'BASECHANNEL' : 'astralinux-orel-pool-amd64', 'PKGLIST' : PKGLISTASTRALINUXOREL,
'DEST' : DOCUMENT_ROOT + '/pub/repositories/astra/orel/bootstrap/',
Expand Down
1 change: 1 addition & 0 deletions susemanager/susemanager.changes.mayrstefan.add-debian-12
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Add bootstrap repository definitions for Debian 12
1 change: 1 addition & 0 deletions testsuite/ext-tools/maintenance_json_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
"ubuntu2204_minion": "/SUSE_Updates_Ubuntu_22.04-CLIENT-TOOLS_x86_64/",
"debian10_minion": "/SUSE_Updates_Debian_10-CLIENT-TOOLS_x86_64/",
"debian11_minion": "/SUSE_Updates_Debian_11-CLIENT-TOOLS_x86_64/",
"debian12_minion": "/SUSE_Updates_Debian_12-CLIENT-TOOLS_x86_64/",
"opensuse153arm_minion": ["/SUSE_Updates_openSUSE-SLE_15.3/",
"/SUSE_Updates_SLE-Manager-Tools_15_aarch64/"],
"opensuse154arm_minion": ["/SUSE_Updates_openSUSE-SLE_15.4/",
Expand Down
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 "debian11_ssh_minion" should communicate with the server using public interface
And the clock from "debian11_ssh_minion" should be exact

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

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

@opensuse154arm_minion
Scenario: The openSUSE 15.4 ARM minion is healthy
Then "opensuse154arm_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 Debian 11 minion
When I create the bootstrap repository for "debian11_minion" on the server

@debian12_minion
Scenario: Create the bootstrap repository for a Debian 12 minion
When I create the bootstrap repository for "debian12_minion" on the server

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

@debian12_minion
Feature: Bootstrap a Debian 12 Salt minion

Scenario: Clean up sumaform leftovers on a Debian 12 Salt minion
When I perform a full salt minion cleanup on "debian12_minion"

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

Scenario: Bootstrap a Debian 12 minion
When I follow the left menu "Systems > Bootstrapping"
Then I should see a "Bootstrap Minions" text
When I enter the hostname of "debian12_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-debian12_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 "Successfully bootstrapped host!" text
And I wait until onboarding is completed for "debian12_minion"

@proxy
Scenario: Check connection from Debian 12 minion to proxy
Given I am on the Systems overview page of this "debian12_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 Debian 12 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 "debian12_minion" hostname

Scenario: Check events history for failures on Debian 12 minion
Given I am on the Systems overview page of this "debian12_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) 2021-2022 SUSE LLC
# Licensed under the terms of the MIT license.
#
# 1) bootstrap a new Debian 12 minion via salt-ssh
# 2) subscribe it to a base channel for testing

@debian12_ssh_minion
Feature: Bootstrap a Debian 12 Salt SSH minion

Scenario: Clean up sumaform leftovers on a Debian 12 Salt SSH minion
When I perform a full salt minion cleanup on "debian12_ssh_minion"

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

Scenario: Bootstrap a SSH-managed Debian 12 minion
When I follow the left menu "Systems > Bootstrapping"
Then I should see a "Bootstrap Minions" text
When I enter the hostname of "debian12_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-debian12_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 "Successfully bootstrapped host!" text
And I wait until onboarding is completed for "debian12_ssh_minion"

Scenario: Check events history for failures on SSH-managed Debian 12 minion
Given I am on the Systems overview page of this "debian12_ssh_minion"
Then I check for failed events on history event page
Original file line number Diff line number Diff line change
Expand Up @@ -484,6 +484,22 @@ Scenario: Add SUSE Linux Enterprise Server 15 SP5
@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
@debian12_minion
Scenario: Add Debian 12
When I follow the left menu "Admin > Setup Wizard > Products"
And I wait until I do not see "Loading" text
And I enter "Debian 12" as the filtered product description
And I select "Debian 12" as a product
Then I should see the "Debian 12" selected
When I click the Add Product button
And I wait until I see "Debian 12" product has been added

@uyuni
@debian12_minion
Scenario: Add Debian 12
When I use spacewalk-common-channel to add channel "debian-12-pool-amd64-uyuni debian-12-amd64-main-updates-uyuni debian-12-amd64-main-security-uyuni debian-12-amd64-uyuni-client-devel" with arch "amd64-deb"

@susemanager
@proxy
Expand Down
2 changes: 1 addition & 1 deletion testsuite/features/step_definitions/retail_steps.rb
Original file line number Diff line number Diff line change
Expand Up @@ -460,7 +460,7 @@ def compute_kiwi_profile_version(host)
elsif host == 'sle15sp4_terminal'
mac = $sle15sp4_terminal_mac
mac = 'EE:EE:EE:00:00:06' if mac.nil?
elsif (host.include? 'deblike') || (host.include? 'debian11') || (host.include? 'ubuntu')
elsif (host.include? 'deblike') || (host.include? 'debian11') || (host.include? 'debian12') || (host.include? 'ubuntu')
node = get_target(host)
output, _code = node.run('ip link show dev ens4')
mac = output.split("\n")[1].split[1]
Expand Down
14 changes: 14 additions & 0 deletions testsuite/features/support/constants.rb
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@
'debian10_ssh_minion' => 'DEBIAN10_SSHMINION',
'debian11_minion' => 'DEBIAN11_MINION',
'debian11_ssh_minion' => 'DEBIAN11_SSHMINION',
'debian12_minion' => 'DEBIAN12_MINION',
'debian12_ssh_minion' => 'DEBIAN12_SSHMINION',
'opensuse154arm_minion' => 'OPENSUSE154ARM_MINION',
'opensuse154arm_ssh_minion' => 'OPENSUSE154ARM_SSHMINION',
'opensuse155arm_minion' => 'OPENSUSE155ARM_MINION',
Expand Down Expand Up @@ -183,6 +185,8 @@
'debian10_ssh_minion' => 'bison',
'debian11_minion' => 'bison',
'debian11_ssh_minion' => 'bison',
'debian12_minion' => 'bison',
'debian12_ssh_minion' => 'bison',
'opensuse154arm_minion' => 'bison',
'opensuse154arm_ssh_minion' => 'bison',
'opensuse155arm_minion' => 'bison',
Expand Down Expand Up @@ -261,6 +265,8 @@
'debian10_ssh_minion' => 'debian-10-pool',
'debian11_minion' => 'debian-11-pool',
'debian11_ssh_minion' => 'debian-11-pool',
'debian12_minion' => 'debian-12-pool',
'debian12_ssh_minion' => 'debian-12-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',
Expand Down Expand Up @@ -322,6 +328,8 @@
'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',
'debian12_minion' => 'Debian 12 (bookworm) pool for amd64 for Uyuni',
'debian12_ssh_minion' => 'Debian 12 (bookworm) 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)',
Expand Down Expand Up @@ -421,6 +429,7 @@
'ubuntu-2204-amd64-main' => 'ubuntu-22.04-amd64',
'debian-10-pool' => 'debian10-amd64',
'debian-11-pool' => 'debian11-amd64',
'debian-12-pool' => 'debian12-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'
},
Expand Down Expand Up @@ -450,6 +459,7 @@
'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',
'Debian 12 (bookworm) pool for amd64 for Uyuni' => 'debian12-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
Expand Down Expand Up @@ -485,6 +495,7 @@
'ubuntu-2204-amd64-main' => nil,
'debian-10-pool' => 'debian-10-pool-amd64',
'debian-11-pool' => 'debian-11-pool-amd64',
'debian-12-pool' => 'debian-12-pool-amd64',
'openSUSE-Leap-15.4-Pool for aarch64' => nil,
'openSUSE-Leap-15.5-Pool for aarch64' => nil
},
Expand Down Expand Up @@ -514,6 +525,7 @@
'ubuntu-2204-amd64-main' => nil,
'debian-10-pool' => 'debian10-amd64-uyuni',
'debian-11-pool' => 'debian11-amd64-uyuni',
'debian-12-pool' => 'debian12-amd64-uyuni',
'openSUSE-Leap-15.4-Pool for aarch64' => nil,
'openSUSE-Leap-15.5-Pool for aarch64' => nil
} }.freeze
Expand Down Expand Up @@ -568,6 +580,8 @@
'debian10_ssh_minion' => 'amd64',
'debian11_minion' => 'amd64',
'debian11_ssh_minion' => 'amd64',
'debian12_minion' => 'amd64',
'debian12_ssh_minion' => 'amd64',
'opensuse154arm_minion' => 'aarch64',
'opensuse154arm_ssh_minion' => 'aarch64',
'opensuse155arm_minion' => 'aarch64',
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 @@ -319,6 +319,14 @@ def process_code_coverage
skip_this_scenario unless ENV.key? ENV_VAR_BY_HOST['debian11_ssh_minion']
end

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

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

Before('@sle12sp4_minion') do
skip_this_scenario unless ENV.key? ENV_VAR_BY_HOST['sle12sp4_minion']
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@
- features/build_validation/init_clients/debian10_ssh_minion.feature
- features/build_validation/init_clients/debian11_minion.feature
- features/build_validation/init_clients/debian11_ssh_minion.feature
- features/build_validation/init_clients/debian12_minion.feature
- features/build_validation/init_clients/debian12_ssh_minion.feature

- features/build_validation/init_clients/opensuse154arm_minion.feature
- features/build_validation/init_clients/opensuse154arm_ssh_minion.feature
Expand Down
56 changes: 56 additions & 0 deletions utils/spacewalk-common-channels.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3579,6 +3579,62 @@ checksum = sha256
base_channels = debian-11-pool-amd64-uyuni
repo_url = https://download.opensuse.org/repositories/systemsmanagement:/Uyuni:/Stable:/Debian11-Uyuni-Client-Tools/Debian_11/

[debian-12-pool-amd64-uyuni]
label = debian-12-pool-amd64-uyuni
checksum = sha256
archs = amd64-deb
repo_type = deb
name = Debian 12 (bookworm) pool for amd64 for Uyuni
gpgkey_url =
gpgkey_id =
gpgkey_fingerprint =
repo_url = http://deb.debian.org/debian/dists/bookworm/main/binary-amd64/

[debian-12-amd64-main-updates-uyuni]
label = debian-12-amd64-main-updates-uyuni
name = Debian 12 (bookworm) AMD64 Main Updates for Uyuni
archs = amd64-deb
repo_type = deb
checksum = sha256
base_channels = debian-12-pool-amd64-uyuni
repo_url = http://deb.debian.org/debian/dists/bookworm-updates/main/binary-amd64/

[debian-12-amd64-main-security-uyuni]
label = debian-12-amd64-main-security-uyuni
name = Debian 12 (bookworm) AMD64 Main Security for Uyuni
archs = amd64-deb
repo_type = deb
checksum = sha256
base_channels = debian-12-pool-amd64-uyuni
repo_url = http://deb.debian.org/debian-security/dists/bookworm-security/updates/main/binary-amd64/

mayrstefan marked this conversation as resolved.
Show resolved Hide resolved
[debian-12-amd64-main-backports-uyuni]
label = debian-12-amd64-main-backports-uyuni
name = Debian 12 (bookworm) AMD64 Main Backports for Uyuni
archs = amd64-deb
repo_type = deb
checksum = sha256
base_channels = debian-12-pool-amd64-uyuni
repo_url = http://deb.debian.org/debian/dists/bookworm-backports/main/binary-amd64/

[debian-12-amd64-uyuni-client-devel]
label = debian-12-amd64-uyuni-client-devel
name = Uyuni Client Tools for Debian 12 Bookworm AMD64 (Development)
archs = amd64-deb
repo_type = deb
checksum = sha256
base_channels = debian-12-pool-amd64-uyuni
repo_url = https://download.opensuse.org/repositories/systemsmanagement:/Uyuni:/Master:/Debian12-Uyuni-Client-Tools/Debian_12/

[debian-12-amd64-uyuni-client]
label = debian-12-amd64-uyuni-client
name = Uyuni Client Tools for Debian 12 Bookworm AMD64
archs = amd64-deb
repo_type = deb
checksum = sha256
base_channels = debian-12-pool-amd64-uyuni
repo_url = https://download.opensuse.org/repositories/systemsmanagement:/Uyuni:/Stable:/Debian11-Uyuni-Client-Tools/Debian_12/

[astralinux-orel-pool-amd64]
label = astralinux-orel-pool-amd64
checksum = sha256
Expand Down
Loading
Loading