diff --git a/VARIABLES.md b/VARIABLES.md index 948e5df4..7e34fc5f 100644 --- a/VARIABLES.md +++ b/VARIABLES.md @@ -107,6 +107,6 @@ These variables should be set when tests are scheduled (when running `isos post` | `PREVREL` | the previous stable Rocky release at the time of the test run | | `UP1REL` | the source release for "1-release" upgrade tests (usually but not always same as `CURRREL`) | | `UP2REL` | the source release for "2-release" upgrade tests (currently always same as `PREVREL`) | -| `LOCATION` | contains Pungi base compose location (something like `https://kojipkgs.rockylinux.org/compose/branched/Rocky-8.4-20210801.n.0/compose/`) | +| `LOCATION` | Rocky doesn't replicate compose process used by upstream distribution. `LOCATION` has three general use cases: substitution value for `REPOSITORY_VARIATION` or `REPOSITORY_GRAPHICAL` in `templates.fif.json`, within `utils.pm` in `_repo_setup_compose` which is not valid for Rocky and within `support_server.pm` in `_pxe_setup` to pull the kernel and initrd used for PXE installs. Required value is repository URL prefix, eg. `https://download.rockylinux.org/pub/rocky/8/`. | | `DNF_CONTENTDIR` | the value to change `/etc/dnf/vars/contentdir` to (eg. `stg/rocky`) allowing repository reconfiguration to point at staging (usually but not always used with `DNF_RELEASEVER`) | | `DNF_RELEASEVER` | the value to change `/etc/dnf/vars/releasever` to (eg. `8.8-Beta`) allowing repository reconfiguration to point at a specific release (usually but not always used with `DNF_CONTENTDIR`) | diff --git a/fifloader.py b/fifloader.py index 9194f17d..7da8f642 100755 --- a/fifloader.py +++ b/fifloader.py @@ -212,6 +212,11 @@ def generate_job_templates(products, profiles, testsuites): jobtemplate['group_name'] = "Rocky PowerPC Updates" else: jobtemplate['group_name'] = "Rocky PowerPC" + elif jobtemplate['machine_name'] in ('s390x'): + if 'updates' in product['flavor']: + jobtemplate['group_name'] = "Rocky s390x Updates" + else: + jobtemplate['group_name'] = "Rocky s390x" elif jobtemplate['machine_name'] in ('aarch64', 'ARM'): if 'updates' in product['flavor']: jobtemplate['group_name'] = "Rocky AArch64 Updates" diff --git a/lib/anaconda.pm b/lib/anaconda.pm index 59d509a7..f73dc652 100644 --- a/lib/anaconda.pm +++ b/lib/anaconda.pm @@ -366,9 +366,9 @@ sub get_full_repo { # repo URL with flavor and arch, leave hd & NFS ones alone # (as for those tests we just use a mounted ISO and URL is complete) if ($repourl !~ m/^(nfs|hd:)/) { - # Everything variant doesn't exist for modular composes atm, - # only Server - $repourl .= "/" . get_var("ARCH") . "/os"; + # Rocky Linux default repo is BaseOS. This subdirectory + # should be added to ${LOCATION}. + $repourl .= "/BaseOS/" . get_var("ARCH") . "/os"; } return $repourl; } diff --git a/lib/utils.pm b/lib/utils.pm index 6e90a47d..cd7cae9e 100644 --- a/lib/utils.pm +++ b/lib/utils.pm @@ -8,7 +8,7 @@ use Exporter; use feature "switch"; use lockapi; use testapi; -our @EXPORT = qw/run_with_error_check type_safely type_very_safely desktop_vt boot_to_login_screen console_login console_switch_layout desktop_switch_layout console_loadkeys_us do_bootloader boot_decrypt check_release menu_launch_type repo_setup setup_workaround_repo cleanup_workaround_repo console_initial_setup handle_welcome_screen gnome_initial_setup anaconda_create_user check_desktop download_modularity_tests quit_firefox advisory_get_installed_packages advisory_check_nonmatching_packages start_with_launcher quit_with_shortcut lo_dismiss_tip disable_firefox_studies select_rescue_mode copy_devcdrom_as_isofile get_release_number get_version_major get_code_name check_left_bar check_top_bar check_prerelease check_version spell_version_number _assert_and_click is_branched rec_log click_unwanted_notifications repos_mirrorlist register_application get_registered_applications solidify_wallpaper/; +our @EXPORT = qw/run_with_error_check type_safely type_very_safely desktop_vt boot_to_login_screen console_login console_switch_layout desktop_switch_layout console_loadkeys_us do_bootloader boot_decrypt check_release menu_launch_type repo_setup cleanup_workaround_repo console_initial_setup handle_welcome_screen gnome_initial_setup anaconda_create_user check_desktop download_modularity_tests quit_firefox advisory_get_installed_packages advisory_check_nonmatching_packages start_with_launcher quit_with_shortcut lo_dismiss_tip disable_firefox_studies select_rescue_mode copy_devcdrom_as_isofile get_release_number get_version_major get_code_name check_left_bar check_top_bar check_prerelease check_version spell_version_number _assert_and_click is_branched rec_log click_unwanted_notifications repos_mirrorlist register_application get_registered_applications solidify_wallpaper/; # We introduce this global variable to hold the list of applications that have # registered during the apps_startstop_test when they have sucessfully run. @@ -433,9 +433,12 @@ sub repos_mirrorlist { # the infra repo is updated but mirrormanager metadata checksums # have not been updated, and the infra repo is rejected as its # metadata checksum isn't known to MM + # NOTE: For Rocky CURRREL is used to specify/select HDD1 for multi-host + # tests, for example *8.10-BETA*qcow2, and repo names are + # really tied to the major version in Rocky. my $files = shift; - my $currentversion = get_var("CURRREL"); - if ($currentversion eq '8') { + my $currentversion = get_var("VERSION"); + if (get_version_major($currentversion) eq '8') { $files ||= "/etc/yum.repos.d/Rocky*.repo"; } else { @@ -450,60 +453,6 @@ sub cleanup_workaround_repo { script_run "rm -f /etc/yum.repos.d/workarounds.repo"; } -sub setup_workaround_repo { - # doesn't work for Rocky - my $distri = get_var("DISTRI"); - return if ($distri eq "rocky"); - # we periodically need to pull an update from updates-testing in - # to fix some bug or other. so, here's an organized way to do it. - # we do this here so the workaround packages are in the repo data - # but *not* in the package lists generated above (those should - # only include packages from the update under test). we'll define - # a hash of releases and update IDs. if no workarounds are needed - # for any release, the hash can be empty and this will do nothing - my $version = shift || get_var("VERSION"); - cleanup_workaround_repo; - script_run "dnf -y install bodhi-client createrepo", 300; - # write a repo config file, unless this is the support_server test - # and it is running on a different release than the update is for - # (in this case we need the repo to exist but do not want to use - # it on the actual support_server system) - unless (get_var("TEST") eq "support_server" && $version ne get_var("CURRREL")) { - assert_script_run 'printf "[workarounds]\nname=Workarounds repo\nbaseurl=file:///opt/workarounds_repo\nenabled=1\nmetadata_expire=1\ngpgcheck=0" > /etc/yum.repos.d/workarounds.repo'; - } - assert_script_run "mkdir -p /opt/workarounds_repo"; - assert_script_run "pushd /opt/workarounds_repo"; - my %workarounds = ( - "32" => [], - "33" => [], - "34" => ["FEDORA-2021-d7b1dc57fe"] - ); - # then we'll download each update for our release: - my $advortasks = $workarounds{$version}; - foreach my $advortask (@$advortasks) { - my $cmd = "bodhi updates download --updateid=$advortask"; - if ($advortask =~ /^\d+$/) { - my $arch = get_var("ARCH"); - $cmd = "koji download-task --arch=$arch --arch=noarch $advortask"; - } - my $count = 3; - my $success = 0; - while ($count) { - if (script_run $cmd, 180) { - $count -= 1; - } - else { - $count = 0; - $success = 1; - } - } - die "Workaround update download failed!" unless $success; - } - # and create repo metadata - assert_script_run "createrepo ."; - assert_script_run "popd"; -} - sub _repo_setup_compose { # doesn't work for Rocky my $distri = get_var("DISTRI"); @@ -561,8 +510,6 @@ sub _repo_setup_updates { assert_script_run "dnf config-manager --set-disabled updates-testing-modular"; } } - # set up the workaround repo - setup_workaround_repo; # Set up an additional repo containing the update or task packages. We do # this rather than simply running a one-time update because it may be the @@ -1233,16 +1180,11 @@ sub check_prerelease { # defaults to False, but if the compose has a label and it's an # 'RC' or 'Update' or 'SecurityFix' compose (see definition of # SUPPORTED_MILESTONES in productmd.composeinfo), the default is - # True. AFAICS, Fedora's pungi configs don't explicitly set this, - # but rely on the heuristic. So for installer images, we expect - # isFinal to be True for RC candidate composes and post-release - # nightly Cloud, IoT etc. composes (these are also marked as 'RC' - # composes), but False for Rawhide and Branched nightly composes - # and Beta candidate composes. For installer images built by our - # own _installer_build test, we control whether --isfinal is set - # or not; we pass it if the update is for a stable release, we do - # not pass it if the update is for Branched. Live images do not - # have the buildstamp file. + # True. Not sure if Rocky's pungi configs explicitly set this, + # or rely on the heuristic. So for installer images, we expect + # isFinal to be True for RC candidate and final composes, but + # False for LookAhead and Beta candidate composes. Live images + # do not have the buildstamp file. # 2. If there's no buildstamp file, the value of the environment # variable ANACONDA_ISFINAL is used as `product.isFinal`, default @@ -1250,22 +1192,11 @@ sub check_prerelease { # wrapper script sets ANACONDA_ISFINAL based on the release field # of whatever package provides system-release: if it starts with # "0.", it sets ANACONA_ISFINAL to "false", otherwise it sets it - # to "true". So for live images, we expect isFinal to be True - # unless the fedora-release-common package release starts with 0. + # to "true". # 3. If `product.isFinal` is False, the pre-release warning and # tags are shown; if it is False, they are not shown. - # We don't really need to check this stuff for update tests, as - # the only installer images we test on updates are ones we build - # ourselves; there's no value to this check for those really. - # For compose tests, we will expect to see the pre-release tags if - # the compose is Rawhide, or a Beta candidate, or it's a nightly - # and we're checking an installer image. If it's an RC or Updates - # candidate, or a respin release, we expect NOT to see the tags. - # If it's a nightly and we're checking a live image, we don't do - # the check. - # bail if this is an update test return if (get_var("ADVISORY OR TASK")); @@ -1273,25 +1204,18 @@ sub check_prerelease { # any other value means we don't care my $prerelease = 10; - # if this is RC or update compose we absolutely *MUST NOT* see tags + # if this is RC we absolutely *MUST NOT* see tags my $label = get_var("LABEL"); - $prerelease = 0 if ($label =~ /^(RC|Update)-/); + $prerelease = 0 if ($label =~ /^RC/); # if it's a Beta compose we *MUST* see tags - $prerelease = 1 if ($label =~ /^Beta-/); - my $version = get_var('VERSION'); - # if it's Rawhide we *MUST* see tags - $prerelease = 1 if ($version eq "Rawhide"); + $prerelease = 1 if ($label =~ /^(B(?i)eta(?-i))/); my $build = get_var('BUILD'); # if it's a nightly installer image we should see tags - $prerelease = 1 if ($build =~ /\.n\.\d+/ && !get_var("LIVE")); - # if it's a respin compose we *MUST NOT* see tags - $prerelease = 0 if ($build =~ /Respin/); - # we *could* go to a console and parse fedora-release-common - # to decide if a nightly live image should have tags or not, but - # it seems absurd as we're almost reinventing the code that - # decides whether to show the tags, at that point, and it's not - # really a big deal either way whether a nightly live image has - # the tags or not. So we don't. + $prerelease = 1 if ($build =~ /\.t\.\d+/ && !get_var("LIVE")); + # check based on ISO name, does not work for 8.x boot-iso name(s) which must use + # LABEL + my $iso = get_var('ISO'); + $prerelease = 1 if ($iso =~ /^Rocky-\d+\.\d+-(B(?i)eta(?-i)|LookAhead)-(x86_64|aarch64|ppc64le|s390x)-(boot|dvd\d?|minimal).iso/); # For all prerelease requiring ISOs, assert that prerelease is there. if ($prerelease == 1) { diff --git a/needles/anaconda/help/rocky-anaconda_help_create_user-20240222.json b/needles/anaconda/help/rocky-anaconda_help_create_user-20240222.json new file mode 100644 index 00000000..fa44b16e --- /dev/null +++ b/needles/anaconda/help/rocky-anaconda_help_create_user-20240222.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "ypos": 220, + "type": "match", + "height": 35, + "width": 384, + "xpos": 41 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_create_user" + ] +} \ No newline at end of file diff --git a/needles/anaconda/help/rocky-anaconda_help_create_user-20240222.png b/needles/anaconda/help/rocky-anaconda_help_create_user-20240222.png new file mode 100644 index 00000000..369f66e6 Binary files /dev/null and b/needles/anaconda/help/rocky-anaconda_help_create_user-20240222.png differ diff --git a/needles/anaconda/help/rocky-anaconda_help_create_user-20240505.json b/needles/anaconda/help/rocky-anaconda_help_create_user-20240505.json new file mode 100644 index 00000000..cf200fee --- /dev/null +++ b/needles/anaconda/help/rocky-anaconda_help_create_user-20240505.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "xpos": 9, + "width": 384, + "type": "match", + "height": 35, + "ypos": 126 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_create_user" + ] +} diff --git a/needles/anaconda/help/rocky-anaconda_help_create_user-20240505.png b/needles/anaconda/help/rocky-anaconda_help_create_user-20240505.png new file mode 100644 index 00000000..9a3a5568 Binary files /dev/null and b/needles/anaconda/help/rocky-anaconda_help_create_user-20240505.png differ diff --git a/needles/anaconda/help/rocky-anaconda_help_install_destination-20240222.json b/needles/anaconda/help/rocky-anaconda_help_install_destination-20240222.json new file mode 100644 index 00000000..41adb6ba --- /dev/null +++ b/needles/anaconda/help/rocky-anaconda_help_install_destination-20240222.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "height": 34, + "width": 446, + "xpos": 41, + "type": "match", + "ypos": 220 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_install_destination" + ] +} \ No newline at end of file diff --git a/needles/anaconda/help/rocky-anaconda_help_install_destination-20240222.png b/needles/anaconda/help/rocky-anaconda_help_install_destination-20240222.png new file mode 100644 index 00000000..5715c3b7 Binary files /dev/null and b/needles/anaconda/help/rocky-anaconda_help_install_destination-20240222.png differ diff --git a/needles/anaconda/help/rocky-anaconda_help_installation_source-20240222.json b/needles/anaconda/help/rocky-anaconda_help_installation_source-20240222.json new file mode 100644 index 00000000..b5ec9d85 --- /dev/null +++ b/needles/anaconda/help/rocky-anaconda_help_installation_source-20240222.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "xpos": 39, + "height": 39, + "width": 490, + "type": "match", + "ypos": 217 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_installation_source" + ] +} \ No newline at end of file diff --git a/needles/anaconda/help/rocky-anaconda_help_installation_source-20240222.png b/needles/anaconda/help/rocky-anaconda_help_installation_source-20240222.png new file mode 100644 index 00000000..eee2811c Binary files /dev/null and b/needles/anaconda/help/rocky-anaconda_help_installation_source-20240222.png differ diff --git a/needles/anaconda/help/rocky-anaconda_help_language_selection-20240505.json b/needles/anaconda/help/rocky-anaconda_help_language_selection-20240505.json new file mode 100644 index 00000000..6ef8f3a1 --- /dev/null +++ b/needles/anaconda/help/rocky-anaconda_help_language_selection-20240505.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "height": 38, + "ypos": 123, + "type": "match", + "xpos": 9, + "width": 499 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_language_selection" + ] +} diff --git a/needles/anaconda/help/rocky-anaconda_help_language_selection-20240505.png b/needles/anaconda/help/rocky-anaconda_help_language_selection-20240505.png new file mode 100644 index 00000000..d5d374b9 Binary files /dev/null and b/needles/anaconda/help/rocky-anaconda_help_language_selection-20240505.png differ diff --git a/needles/anaconda/help/rocky-anaconda_help_network_host_name-20240222.json b/needles/anaconda/help/rocky-anaconda_help_network_host_name-20240222.json new file mode 100644 index 00000000..89281f98 --- /dev/null +++ b/needles/anaconda/help/rocky-anaconda_help_network_host_name-20240222.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "height": 39, + "width": 700, + "xpos": 41, + "type": "match", + "ypos": 218 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_network_host_name" + ] +} \ No newline at end of file diff --git a/needles/anaconda/help/rocky-anaconda_help_network_host_name-20240222.png b/needles/anaconda/help/rocky-anaconda_help_network_host_name-20240222.png new file mode 100644 index 00000000..b61170c4 Binary files /dev/null and b/needles/anaconda/help/rocky-anaconda_help_network_host_name-20240222.png differ diff --git a/needles/anaconda/help/rocky-anaconda_help_progress-20240222.json b/needles/anaconda/help/rocky-anaconda_help_progress-20240222.json new file mode 100644 index 00000000..fe4976ea --- /dev/null +++ b/needles/anaconda/help/rocky-anaconda_help_progress-20240222.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "type": "match", + "width": 676, + "height": 38, + "xpos": 42, + "ypos": 218 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_progress" + ] +} \ No newline at end of file diff --git a/needles/anaconda/help/rocky-anaconda_help_progress-20240222.png b/needles/anaconda/help/rocky-anaconda_help_progress-20240222.png new file mode 100644 index 00000000..afeb0031 Binary files /dev/null and b/needles/anaconda/help/rocky-anaconda_help_progress-20240222.png differ diff --git a/needles/anaconda/help/rocky-anaconda_help_root_password-20240222.json b/needles/anaconda/help/rocky-anaconda_help_root_password-20240222.json new file mode 100644 index 00000000..28024464 --- /dev/null +++ b/needles/anaconda/help/rocky-anaconda_help_root_password-20240222.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "type": "match", + "width": 454, + "height": 35, + "xpos": 40, + "ypos": 219 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_root_password" + ] +} \ No newline at end of file diff --git a/needles/anaconda/help/rocky-anaconda_help_root_password-20240222.png b/needles/anaconda/help/rocky-anaconda_help_root_password-20240222.png new file mode 100644 index 00000000..3897a8d0 Binary files /dev/null and b/needles/anaconda/help/rocky-anaconda_help_root_password-20240222.png differ diff --git a/needles/anaconda/help/rocky-anaconda_help_root_password-20240505.json b/needles/anaconda/help/rocky-anaconda_help_root_password-20240505.json new file mode 100644 index 00000000..64ae4f59 --- /dev/null +++ b/needles/anaconda/help/rocky-anaconda_help_root_password-20240505.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "ypos": 125, + "height": 35, + "width": 454, + "xpos": 8, + "type": "match" + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_root_password" + ] +} diff --git a/needles/anaconda/help/rocky-anaconda_help_root_password-20240505.png b/needles/anaconda/help/rocky-anaconda_help_root_password-20240505.png new file mode 100644 index 00000000..abf1262c Binary files /dev/null and b/needles/anaconda/help/rocky-anaconda_help_root_password-20240505.png differ diff --git a/needles/anaconda/help/rocky-anaconda_help_select_packages-20240222.json b/needles/anaconda/help/rocky-anaconda_help_select_packages-20240222.json new file mode 100644 index 00000000..7d531764 --- /dev/null +++ b/needles/anaconda/help/rocky-anaconda_help_select_packages-20240222.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "height": 36, + "xpos": 39, + "width": 488, + "type": "match", + "ypos": 218 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_select_packages" + ] +} \ No newline at end of file diff --git a/needles/anaconda/help/rocky-anaconda_help_select_packages-20240222.png b/needles/anaconda/help/rocky-anaconda_help_select_packages-20240222.png new file mode 100644 index 00000000..fc097b1b Binary files /dev/null and b/needles/anaconda/help/rocky-anaconda_help_select_packages-20240222.png differ diff --git a/needles/anaconda/help/rocky-anaconda_help_select_packages-20240505.json b/needles/anaconda/help/rocky-anaconda_help_select_packages-20240505.json new file mode 100644 index 00000000..fb17dccb --- /dev/null +++ b/needles/anaconda/help/rocky-anaconda_help_select_packages-20240505.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "width": 488, + "xpos": 7, + "type": "match", + "ypos": 124, + "height": 36 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_select_packages" + ] +} diff --git a/needles/anaconda/help/rocky-anaconda_help_select_packages-20240505.png b/needles/anaconda/help/rocky-anaconda_help_select_packages-20240505.png new file mode 100644 index 00000000..0aea991e Binary files /dev/null and b/needles/anaconda/help/rocky-anaconda_help_select_packages-20240505.png differ diff --git a/needles/anaconda/help/rocky-anaconda_help_summary-20240222.json b/needles/anaconda/help/rocky-anaconda_help_summary-20240222.json new file mode 100644 index 00000000..495156de --- /dev/null +++ b/needles/anaconda/help/rocky-anaconda_help_summary-20240222.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "type": "match", + "height": 36, + "xpos": 41, + "width": 457, + "ypos": 194 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_summary" + ] +} \ No newline at end of file diff --git a/needles/anaconda/help/rocky-anaconda_help_summary-20240222.png b/needles/anaconda/help/rocky-anaconda_help_summary-20240222.png new file mode 100644 index 00000000..7f2f1cd3 Binary files /dev/null and b/needles/anaconda/help/rocky-anaconda_help_summary-20240222.png differ diff --git a/needles/anaconda/identification/arabic/rocky-prerelease_note-arabic-20240404.json b/needles/anaconda/identification/arabic/rocky-prerelease_note-arabic-20240404.json new file mode 100644 index 00000000..626170cb --- /dev/null +++ b/needles/anaconda/identification/arabic/rocky-prerelease_note-arabic-20240404.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "ypos": 33, + "height": 19, + "type": "match", + "width": 145, + "xpos": 91 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-arabic", + "prerelease_note" + ] +} diff --git a/needles/anaconda/identification/arabic/rocky-prerelease_note-arabic-20240404.png b/needles/anaconda/identification/arabic/rocky-prerelease_note-arabic-20240404.png new file mode 100644 index 00000000..3642e7e8 Binary files /dev/null and b/needles/anaconda/identification/arabic/rocky-prerelease_note-arabic-20240404.png differ diff --git a/needles/anaconda/identification/french/rocky-prerelease_note-french-20240404.json b/needles/anaconda/identification/french/rocky-prerelease_note-french-20240404.json new file mode 100644 index 00000000..fcd4a416 --- /dev/null +++ b/needles/anaconda/identification/french/rocky-prerelease_note-french-20240404.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "type": "match", + "xpos": 734, + "width": 143, + "height": 19, + "ypos": 31 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-french", + "prerelease_note" + ] +} diff --git a/needles/anaconda/identification/french/rocky-prerelease_note-french-20240404.png b/needles/anaconda/identification/french/rocky-prerelease_note-french-20240404.png new file mode 100644 index 00000000..63df01bb Binary files /dev/null and b/needles/anaconda/identification/french/rocky-prerelease_note-french-20240404.png differ diff --git a/needles/anaconda/identification/japanese/rocky-prerelease_note-japanese-20240404.json b/needles/anaconda/identification/japanese/rocky-prerelease_note-japanese-20240404.json new file mode 100644 index 00000000..e056639b --- /dev/null +++ b/needles/anaconda/identification/japanese/rocky-prerelease_note-japanese-20240404.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "width": 159, + "xpos": 754, + "type": "match", + "ypos": 35, + "height": 24 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-japanese", + "prerelease_note" + ] +} diff --git a/needles/anaconda/identification/japanese/rocky-prerelease_note-japanese-20240404.png b/needles/anaconda/identification/japanese/rocky-prerelease_note-japanese-20240404.png new file mode 100644 index 00000000..66ca0cfa Binary files /dev/null and b/needles/anaconda/identification/japanese/rocky-prerelease_note-japanese-20240404.png differ diff --git a/needles/anaconda/identification/japanese/rocky-topbar_generic_japanese-20240526.json b/needles/anaconda/identification/japanese/rocky-topbar_generic_japanese-20240526.json new file mode 100644 index 00000000..351d4b4e --- /dev/null +++ b/needles/anaconda/identification/japanese/rocky-topbar_generic_japanese-20240526.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "type": "match", + "xpos": 135, + "width": 675, + "height": 32, + "ypos": 9 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-japanese", + "topbar_generic" + ] +} diff --git a/needles/anaconda/identification/japanese/rocky-topbar_generic_japanese-20240526.png b/needles/anaconda/identification/japanese/rocky-topbar_generic_japanese-20240526.png new file mode 100644 index 00000000..d8942d2e Binary files /dev/null and b/needles/anaconda/identification/japanese/rocky-topbar_generic_japanese-20240526.png differ diff --git a/needles/anaconda/identification/rocky-prerelease_note-20240402.json b/needles/anaconda/identification/rocky-prerelease_note-20240402.json new file mode 100644 index 00000000..2f4187ef --- /dev/null +++ b/needles/anaconda/identification/rocky-prerelease_note-20240402.json @@ -0,0 +1,16 @@ +{ + "area": [ + { + "ypos": 34, + "height": 27, + "width": 159, + "xpos": 754, + "type": "match" + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "prerelease_note" + ] +} diff --git a/needles/anaconda/identification/rocky-prerelease_note-20240402.png b/needles/anaconda/identification/rocky-prerelease_note-20240402.png new file mode 100644 index 00000000..78d66fae Binary files /dev/null and b/needles/anaconda/identification/rocky-prerelease_note-20240402.png differ diff --git a/needles/anaconda/install_destination/arabic/rocky-encrypt_data_arabic-untranslated-20240526.json b/needles/anaconda/install_destination/arabic/rocky-encrypt_data_arabic-untranslated-20240526.json new file mode 100644 index 00000000..1d31981e --- /dev/null +++ b/needles/anaconda/install_destination/arabic/rocky-encrypt_data_arabic-untranslated-20240526.json @@ -0,0 +1,21 @@ +{ + "area": [ + { + "type": "match", + "xpos": 754, + "width": 253, + "height": 23, + "ypos": 546, + "click_point": { + "xpos": 239.5, + "ypos": 12.5 + } + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-arabic", + "anaconda_install_destination_encrypt_data" + ] +} diff --git a/needles/anaconda/install_destination/arabic/rocky-encrypt_data_arabic-untranslated-20240526.png b/needles/anaconda/install_destination/arabic/rocky-encrypt_data_arabic-untranslated-20240526.png new file mode 100644 index 00000000..d19eb31a Binary files /dev/null and b/needles/anaconda/install_destination/arabic/rocky-encrypt_data_arabic-untranslated-20240526.png differ diff --git a/needles/anaconda/install_destination/arabic/rocky-encrypt_data_arabic-untranslated-gtk3245-20240508.json b/needles/anaconda/install_destination/arabic/rocky-encrypt_data_arabic-untranslated-gtk3245-20240508.json new file mode 100644 index 00000000..2c9fbbc6 --- /dev/null +++ b/needles/anaconda/install_destination/arabic/rocky-encrypt_data_arabic-untranslated-gtk3245-20240508.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "ypos": 544, + "height": 23, + "width": 127, + "xpos": 786, + "type": "match" + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-arabic", + "anaconda_install_destination_encrypt_data" + ] +} diff --git a/needles/anaconda/install_destination/arabic/rocky-encrypt_data_arabic-untranslated-gtk3245-20240508.png b/needles/anaconda/install_destination/arabic/rocky-encrypt_data_arabic-untranslated-gtk3245-20240508.png new file mode 100644 index 00000000..e0517e76 Binary files /dev/null and b/needles/anaconda/install_destination/arabic/rocky-encrypt_data_arabic-untranslated-gtk3245-20240508.png differ diff --git a/needles/anaconda/install_source/rocky-http_selected-20240507.json b/needles/anaconda/install_source/rocky-http_selected-20240507.json new file mode 100644 index 00000000..49fc9110 --- /dev/null +++ b/needles/anaconda/install_source/rocky-http_selected-20240507.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "ypos": 211, + "height": 19, + "width": 105, + "xpos": 58, + "type": "match" + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "ENV-FLAVOR-server", + "anaconda_install_source_selected" + ] +} diff --git a/needles/anaconda/install_source/rocky-http_selected-20240507.png b/needles/anaconda/install_source/rocky-http_selected-20240507.png new file mode 100644 index 00000000..6ffc0abe Binary files /dev/null and b/needles/anaconda/install_source/rocky-http_selected-20240507.png differ diff --git a/needles/anaconda/lang_select/japanese/rocky-install_lang_continue_japanese-20240508.json b/needles/anaconda/lang_select/japanese/rocky-install_lang_continue_japanese-20240508.json new file mode 100644 index 00000000..421afba1 --- /dev/null +++ b/needles/anaconda/lang_select/japanese/rocky-install_lang_continue_japanese-20240508.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "height": 15, + "ypos": 733, + "type": "match", + "xpos": 953, + "width": 27 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-japanese", + "anaconda_select_install_lang_continue" + ] +} diff --git a/needles/anaconda/lang_select/japanese/rocky-install_lang_continue_japanese-20240508.png b/needles/anaconda/lang_select/japanese/rocky-install_lang_continue_japanese-20240508.png new file mode 100644 index 00000000..2428d941 Binary files /dev/null and b/needles/anaconda/lang_select/japanese/rocky-install_lang_continue_japanese-20240508.png differ diff --git a/needles/anaconda/lang_select/japanese/rocky-install_lang_japanese_filtered-20240507.json b/needles/anaconda/lang_select/japanese/rocky-install_lang_japanese_filtered-20240507.json new file mode 100644 index 00000000..7c2ba4ac --- /dev/null +++ b/needles/anaconda/lang_select/japanese/rocky-install_lang_japanese_filtered-20240507.json @@ -0,0 +1,24 @@ +{ + "area": [ + { + "height": 32, + "ypos": 173, + "xpos": 221, + "width": 50, + "type": "match" + }, + { + "type": "match", + "xpos": 469, + "width": 75, + "height": 36, + "ypos": 173 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-japanese", + "anaconda_select_install_lang_filtered" + ] +} diff --git a/needles/anaconda/lang_select/japanese/rocky-install_lang_japanese_filtered-20240507.png b/needles/anaconda/lang_select/japanese/rocky-install_lang_japanese_filtered-20240507.png new file mode 100644 index 00000000..225b923c Binary files /dev/null and b/needles/anaconda/lang_select/japanese/rocky-install_lang_japanese_filtered-20240507.png differ diff --git a/needles/anaconda/lang_select/japanese/rocky-install_lang_japanese_selected-20240508.json b/needles/anaconda/lang_select/japanese/rocky-install_lang_japanese_selected-20240508.json new file mode 100644 index 00000000..e16f131e --- /dev/null +++ b/needles/anaconda/lang_select/japanese/rocky-install_lang_japanese_selected-20240508.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "width": 93, + "xpos": 607, + "type": "match", + "ypos": 199, + "height": 16 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-japanese", + "anaconda_select_install_lang_selected" + ] +} diff --git a/needles/anaconda/lang_select/japanese/rocky-install_lang_japanese_selected-20240508.png b/needles/anaconda/lang_select/japanese/rocky-install_lang_japanese_selected-20240508.png new file mode 100644 index 00000000..2428d941 Binary files /dev/null and b/needles/anaconda/lang_select/japanese/rocky-install_lang_japanese_selected-20240508.png differ diff --git a/needles/anaconda/lang_select/rocky-help_language_selection-20240222.json b/needles/anaconda/lang_select/rocky-help_language_selection-20240222.json new file mode 100644 index 00000000..4060d8a5 --- /dev/null +++ b/needles/anaconda/lang_select/rocky-help_language_selection-20240222.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "ypos": 217, + "type": "match", + "xpos": 41, + "height": 38, + "width": 544 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "anaconda_help_language_support", + "anaconda_help_language_selection" + ] +} \ No newline at end of file diff --git a/needles/anaconda/lang_select/rocky-help_language_selection-20240222.png b/needles/anaconda/lang_select/rocky-help_language_selection-20240222.png new file mode 100644 index 00000000..9e6abc49 Binary files /dev/null and b/needles/anaconda/lang_select/rocky-help_language_selection-20240222.png differ diff --git a/needles/anaconda/main_hub/arabic/rocky-anaconda_main_hub_network_host_name_connected_arabic-20240508.json b/needles/anaconda/main_hub/arabic/rocky-anaconda_main_hub_network_host_name_connected_arabic-20240508.json new file mode 100644 index 00000000..b56db571 --- /dev/null +++ b/needles/anaconda/main_hub/arabic/rocky-anaconda_main_hub_network_host_name_connected_arabic-20240508.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "xpos": 228, + "ypos": 360, + "width": 64, + "height": 20, + "type": "match" + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-arabic", + "anaconda_network_connected" + ] +} diff --git a/needles/anaconda/main_hub/arabic/rocky-anaconda_main_hub_network_host_name_connected_arabic-20240508.png b/needles/anaconda/main_hub/arabic/rocky-anaconda_main_hub_network_host_name_connected_arabic-20240508.png new file mode 100644 index 00000000..0b9eba2f Binary files /dev/null and b/needles/anaconda/main_hub/arabic/rocky-anaconda_main_hub_network_host_name_connected_arabic-20240508.png differ diff --git a/needles/anaconda/main_hub/arabic/rocky-begin_installation_arabic-20240526.json b/needles/anaconda/main_hub/arabic/rocky-begin_installation_arabic-20240526.json new file mode 100644 index 00000000..c5e583f4 --- /dev/null +++ b/needles/anaconda/main_hub/arabic/rocky-begin_installation_arabic-20240526.json @@ -0,0 +1,21 @@ +{ + "area": [ + { + "xpos": 12, + "width": 89, + "type": "match", + "height": 21, + "ypos": 705, + "click_point": { + "xpos": 44.5, + "ypos": 10.5 + } + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-arabic", + "anaconda_main_hub_begin_installation" + ] +} diff --git a/needles/anaconda/main_hub/arabic/rocky-begin_installation_arabic-20240526.png b/needles/anaconda/main_hub/arabic/rocky-begin_installation_arabic-20240526.png new file mode 100644 index 00000000..06a7fe60 Binary files /dev/null and b/needles/anaconda/main_hub/arabic/rocky-begin_installation_arabic-20240526.png differ diff --git a/needles/anaconda/network/arabic/rocky-anaconda_network_connected_arabic-20240622.json b/needles/anaconda/network/arabic/rocky-anaconda_network_connected_arabic-20240622.json new file mode 100644 index 00000000..6b654c7b --- /dev/null +++ b/needles/anaconda/network/arabic/rocky-anaconda_network_connected_arabic-20240622.json @@ -0,0 +1,24 @@ +{ + "area": [ + { + "xpos": 26, + "ypos": 685, + "type": "match", + "width": 175, + "height": 21 + }, + { + "type": "match", + "width": 39, + "height": 19, + "xpos": 415, + "ypos": 133 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-arabic", + "anaconda_network_connected" + ] +} \ No newline at end of file diff --git a/needles/anaconda/network/arabic/rocky-anaconda_network_connected_arabic-20240622.png b/needles/anaconda/network/arabic/rocky-anaconda_network_connected_arabic-20240622.png new file mode 100644 index 00000000..920dda28 Binary files /dev/null and b/needles/anaconda/network/arabic/rocky-anaconda_network_connected_arabic-20240622.png differ diff --git a/needles/anaconda/network/french/rocky-anaconda_network_connected-french-20240622.json b/needles/anaconda/network/french/rocky-anaconda_network_connected-french-20240622.json new file mode 100644 index 00000000..66b728c8 --- /dev/null +++ b/needles/anaconda/network/french/rocky-anaconda_network_connected-french-20240622.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "xpos": 568, + "ypos": 133, + "type": "match", + "width": 60, + "height": 17 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-french", + "anaconda_network_connected" + ] +} \ No newline at end of file diff --git a/needles/anaconda/network/french/rocky-anaconda_network_connected-french-20240622.png b/needles/anaconda/network/french/rocky-anaconda_network_connected-french-20240622.png new file mode 100644 index 00000000..d863dc28 Binary files /dev/null and b/needles/anaconda/network/french/rocky-anaconda_network_connected-french-20240622.png differ diff --git a/needles/anaconda/network/japanese/rocky-anaconda_network_connected_japanese-20240622.json b/needles/anaconda/network/japanese/rocky-anaconda_network_connected_japanese-20240622.json new file mode 100644 index 00000000..5034898d --- /dev/null +++ b/needles/anaconda/network/japanese/rocky-anaconda_network_connected_japanese-20240622.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "width": 88, + "height": 25, + "type": "match", + "ypos": 136, + "xpos": 587 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-japanese", + "anaconda_network_connected" + ] +} \ No newline at end of file diff --git a/needles/anaconda/network/japanese/rocky-anaconda_network_connected_japanese-20240622.png b/needles/anaconda/network/japanese/rocky-anaconda_network_connected_japanese-20240622.png new file mode 100644 index 00000000..c7594b54 Binary files /dev/null and b/needles/anaconda/network/japanese/rocky-anaconda_network_connected_japanese-20240622.png differ diff --git a/needles/anaconda/network/russian/rocky-anaconda_network_connected_russian-20240622.json b/needles/anaconda/network/russian/rocky-anaconda_network_connected_russian-20240622.json new file mode 100644 index 00000000..1343bb32 --- /dev/null +++ b/needles/anaconda/network/russian/rocky-anaconda_network_connected_russian-20240622.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "ypos": 131, + "xpos": 603, + "height": 23, + "width": 83, + "type": "match" + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-russian", + "anaconda_network_connected" + ] +} \ No newline at end of file diff --git a/needles/anaconda/network/russian/rocky-anaconda_network_connected_russian-20240622.png b/needles/anaconda/network/russian/rocky-anaconda_network_connected_russian-20240622.png new file mode 100644 index 00000000..b3b926ab Binary files /dev/null and b/needles/anaconda/network/russian/rocky-anaconda_network_connected_russian-20240622.png differ diff --git a/needles/anaconda/package_selection/arabic/rocky-graphical-server_selected_arabic-20240526.json b/needles/anaconda/package_selection/arabic/rocky-graphical-server_selected_arabic-20240526.json new file mode 100644 index 00000000..d07c4990 --- /dev/null +++ b/needles/anaconda/package_selection/arabic/rocky-graphical-server_selected_arabic-20240526.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "ypos": 124, + "height": 35, + "type": "match", + "width": 411, + "xpos": 587 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-arabic", + "anaconda_graphical-server_selected" + ] +} diff --git a/needles/anaconda/package_selection/arabic/rocky-graphical-server_selected_arabic-20240526.png b/needles/anaconda/package_selection/arabic/rocky-graphical-server_selected_arabic-20240526.png new file mode 100644 index 00000000..705aa3ba Binary files /dev/null and b/needles/anaconda/package_selection/arabic/rocky-graphical-server_selected_arabic-20240526.png differ diff --git a/needles/anaconda/package_selection/french/rocky-graphical-server_selected_french-20240526.json b/needles/anaconda/package_selection/french/rocky-graphical-server_selected_french-20240526.json new file mode 100644 index 00000000..26befffd --- /dev/null +++ b/needles/anaconda/package_selection/french/rocky-graphical-server_selected_french-20240526.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "height": 34, + "ypos": 126, + "xpos": 27, + "width": 392, + "type": "match" + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-french", + "anaconda_graphical-server_selected" + ] +} diff --git a/needles/anaconda/package_selection/french/rocky-graphical-server_selected_french-20240526.png b/needles/anaconda/package_selection/french/rocky-graphical-server_selected_french-20240526.png new file mode 100644 index 00000000..e5d5571b Binary files /dev/null and b/needles/anaconda/package_selection/french/rocky-graphical-server_selected_french-20240526.png differ diff --git a/needles/anaconda/package_selection/japanese/rocky-graphical-server_selected_japanese-20240526.json b/needles/anaconda/package_selection/japanese/rocky-graphical-server_selected_japanese-20240526.json new file mode 100644 index 00000000..b2d62b55 --- /dev/null +++ b/needles/anaconda/package_selection/japanese/rocky-graphical-server_selected_japanese-20240526.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "height": 41, + "ypos": 136, + "type": "match", + "xpos": 47, + "width": 400 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-japanese", + "anaconda_graphical-server_selected" + ] +} diff --git a/needles/anaconda/package_selection/japanese/rocky-graphical-server_selected_japanese-20240526.png b/needles/anaconda/package_selection/japanese/rocky-graphical-server_selected_japanese-20240526.png new file mode 100644 index 00000000..9e72913c Binary files /dev/null and b/needles/anaconda/package_selection/japanese/rocky-graphical-server_selected_japanese-20240526.png differ diff --git a/needles/anaconda/package_selection/russian/rocky-graphical-server_selected_russian-20240526.json b/needles/anaconda/package_selection/russian/rocky-graphical-server_selected_russian-20240526.json new file mode 100644 index 00000000..fc2e070f --- /dev/null +++ b/needles/anaconda/package_selection/russian/rocky-graphical-server_selected_russian-20240526.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "ypos": 128, + "height": 35, + "type": "match", + "width": 418, + "xpos": 28 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-russian", + "anaconda_graphical-server_selected" + ] +} diff --git a/needles/anaconda/package_selection/russian/rocky-graphical-server_selected_russian-20240526.png b/needles/anaconda/package_selection/russian/rocky-graphical-server_selected_russian-20240526.png new file mode 100644 index 00000000..6c641347 Binary files /dev/null and b/needles/anaconda/package_selection/russian/rocky-graphical-server_selected_russian-20240526.png differ diff --git a/needles/anaconda/partitioning/rocky-fs_ext4_preselected-20240525.json b/needles/anaconda/partitioning/rocky-fs_ext4_preselected-20240525.json new file mode 100644 index 00000000..4f3719af --- /dev/null +++ b/needles/anaconda/partitioning/rocky-fs_ext4_preselected-20240525.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "xpos": 497, + "width": 77, + "type": "match", + "height": 56, + "ypos": 330 + } + ], + "properties": [], + "tags": [ + "anaconda_part_fs", + "anaconda_part_fs_ext4_selected", + "ENV-DISTRI-rocky" + ] +} diff --git a/needles/anaconda/partitioning/rocky-fs_ext4_preselected-20240525.png b/needles/anaconda/partitioning/rocky-fs_ext4_preselected-20240525.png new file mode 100644 index 00000000..e5316859 Binary files /dev/null and b/needles/anaconda/partitioning/rocky-fs_ext4_preselected-20240525.png differ diff --git a/needles/anaconda/universal/arabic/rocky-spoke_done_arabic-20240508.json b/needles/anaconda/universal/arabic/rocky-spoke_done_arabic-20240508.json new file mode 100644 index 00000000..d2be299c --- /dev/null +++ b/needles/anaconda/universal/arabic/rocky-spoke_done_arabic-20240508.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "ypos": 37, + "height": 23, + "width": 52, + "xpos": 950, + "type": "match" + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-arabic", + "anaconda_spoke_done" + ] +} diff --git a/needles/anaconda/universal/arabic/rocky-spoke_done_arabic-20240508.png b/needles/anaconda/universal/arabic/rocky-spoke_done_arabic-20240508.png new file mode 100644 index 00000000..c71da46a Binary files /dev/null and b/needles/anaconda/universal/arabic/rocky-spoke_done_arabic-20240508.png differ diff --git a/needles/anaconda/universal/arabic/rocky-spoke_done_arabic-20240526.json b/needles/anaconda/universal/arabic/rocky-spoke_done_arabic-20240526.json new file mode 100644 index 00000000..f8617dba --- /dev/null +++ b/needles/anaconda/universal/arabic/rocky-spoke_done_arabic-20240526.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "width": 52, + "xpos": 950, + "type": "match", + "ypos": 38, + "height": 23 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-arabic", + "anaconda_spoke_done" + ] +} diff --git a/needles/anaconda/universal/arabic/rocky-spoke_done_arabic-20240526.png b/needles/anaconda/universal/arabic/rocky-spoke_done_arabic-20240526.png new file mode 100644 index 00000000..705aa3ba Binary files /dev/null and b/needles/anaconda/universal/arabic/rocky-spoke_done_arabic-20240526.png differ diff --git a/needles/console/rocky-toolbox-console_in_toolbox-20240208.json b/needles/console/rocky-toolbox-console_in_toolbox-20240208.json new file mode 100644 index 00000000..8dd7b238 --- /dev/null +++ b/needles/console/rocky-toolbox-console_in_toolbox-20240208.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "height": 18, + "xpos": 14, + "ypos": 128, + "width": 132, + "type": "match", + "match": 82 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "console_in_toolbox" + ] +} diff --git a/needles/console/rocky-toolbox-console_in_toolbox-20240208.png b/needles/console/rocky-toolbox-console_in_toolbox-20240208.png new file mode 100644 index 00000000..5424fefa Binary files /dev/null and b/needles/console/rocky-toolbox-console_in_toolbox-20240208.png differ diff --git a/needles/console/rocky-toolbox-console_in_toolbox-20240209.json b/needles/console/rocky-toolbox-console_in_toolbox-20240209.json new file mode 100644 index 00000000..5100f16b --- /dev/null +++ b/needles/console/rocky-toolbox-console_in_toolbox-20240209.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "ypos": 744, + "height": 22, + "xpos": 14, + "type": "match", + "match": 82, + "width": 135 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "console_in_toolbox" + ] +} diff --git a/needles/console/rocky-toolbox-console_in_toolbox-20240209.png b/needles/console/rocky-toolbox-console_in_toolbox-20240209.png new file mode 100644 index 00000000..0eba030f Binary files /dev/null and b/needles/console/rocky-toolbox-console_in_toolbox-20240209.png differ diff --git a/needles/gnome/arabic/rocky-gdm_spoke_done_arabic-20240623.json b/needles/gnome/arabic/rocky-gdm_spoke_done_arabic-20240623.json new file mode 100644 index 00000000..9823029f --- /dev/null +++ b/needles/gnome/arabic/rocky-gdm_spoke_done_arabic-20240623.json @@ -0,0 +1,18 @@ +{ + "area": [ + { + "xpos": 961, + "ypos": 34, + "type": "match", + "height": 24, + "width": 52 + } + ], + "properties": [], + "tags": [ + "DESKTOP-gnome", + "ENV-DISTRI-rocky", + "LANGUAGE-arabic", + "gdm_spoke_done" + ] +} \ No newline at end of file diff --git a/needles/gnome/arabic/rocky-gdm_spoke_done_arabic-20240623.png b/needles/gnome/arabic/rocky-gdm_spoke_done_arabic-20240623.png new file mode 100644 index 00000000..52e3c5a6 Binary files /dev/null and b/needles/gnome/arabic/rocky-gdm_spoke_done_arabic-20240623.png differ diff --git a/needles/gnome/japanese/rocky-desktop_input_source_japanese-20240508.json b/needles/gnome/japanese/rocky-desktop_input_source_japanese-20240508.json new file mode 100644 index 00000000..d3e365f8 --- /dev/null +++ b/needles/gnome/japanese/rocky-desktop_input_source_japanese-20240508.json @@ -0,0 +1,17 @@ +{ + "area": [ + { + "xpos": 488, + "width": 49, + "type": "match", + "height": 22, + "ypos": 478 + } + ], + "properties": [], + "tags": [ + "ENV-DISTRI-rocky", + "LANGUAGE-japanese", + "desktop_input_source_japanese" + ] +} diff --git a/needles/gnome/japanese/rocky-desktop_input_source_japanese-20240508.png b/needles/gnome/japanese/rocky-desktop_input_source_japanese-20240508.png new file mode 100644 index 00000000..66750b93 Binary files /dev/null and b/needles/gnome/japanese/rocky-desktop_input_source_japanese-20240508.png differ diff --git a/schemas/fif-arch.json b/schemas/fif-arch.json index 88d613f0..48edae41 100644 --- a/schemas/fif-arch.json +++ b/schemas/fif-arch.json @@ -3,5 +3,5 @@ "$id": "fif-arch.json", "title": "FIF arch schema", "type": "string", - "enum": [ "x86_64", "arm", "aarch64", "ppc64le" ] + "enum": [ "x86_64", "arm", "aarch64", "ppc64le", "s390x" ] } diff --git a/templates-updates.fif.json b/templates-updates.fif.json index f0c425cb..ea2ad297 100644 --- a/templates-updates.fif.json +++ b/templates-updates.fif.json @@ -84,40 +84,40 @@ "machine": "aarch64", "product": "rocky-updates-server-upgrade-aarch64-*" }, - "rocky-updates-server-upgrade-x86_64-*-64bit": { - "machine": "64bit", + "rocky-updates-server-upgrade-x86_64-*-bios": { + "machine": "bios", "product": "rocky-updates-server-upgrade-x86_64-*" }, "rocky-updates-server-aarch64-*-aarch64": { "machine": "aarch64", "product": "rocky-updates-server-aarch64-*" }, - "rocky-updates-server-x86_64-*-64bit": { - "machine": "64bit", + "rocky-updates-server-x86_64-*-bios": { + "machine": "bios", "product": "rocky-updates-server-x86_64-*" }, "rocky-updates-workstation-upgrade-aarch64-*-aarch64": { "machine": "aarch64", "product": "rocky-updates-workstation-upgrade-aarch64-*" }, - "rocky-updates-workstation-upgrade-x86_64-*-64bit": { - "machine": "64bit", + "rocky-updates-workstation-upgrade-x86_64-*-bios": { + "machine": "bios", "product": "rocky-updates-workstation-upgrade-x86_64-*" }, "rocky-updates-workstation-aarch64-*-aarch64": { "machine": "aarch64", "product": "rocky-updates-workstation-aarch64-*" }, - "rocky-updates-workstation-x86_64-*-64bit": { - "machine": "64bit", + "rocky-updates-workstation-x86_64-*-bios": { + "machine": "bios", "product": "rocky-updates-workstation-x86_64-*" }, "rocky-updates-minimal-aarch64-*-aarch64": { "machine": "aarch64", "product": "rocky-updates-minimal-aarch64-*" }, - "rocky-updates-minimal-x86_64-*-64bit": { - "machine": "64bit", + "rocky-updates-minimal-x86_64-*-bios": { + "machine": "bios", "product": "rocky-updates-minimal-x86_64-*" } }, @@ -125,7 +125,7 @@ "advisory_boot": { "profiles": { "rocky-updates-server-aarch64-*-aarch64": 40, - "rocky-updates-server-x86_64-*-64bit": 40 + "rocky-updates-server-x86_64-*-bios": 40 }, "settings": { "ADVISORY_BOOT_TEST": "1", @@ -136,116 +136,116 @@ }, "base_selinux": { "profiles": { - "rocky-updates-minimal-x86_64-*-64bit": 40, + "rocky-updates-minimal-x86_64-*-bios": 40, "rocky-updates-server-aarch64-*-aarch64": 40, - "rocky-updates-server-x86_64-*-64bit": 40, - "rocky-updates-workstation-x86_64-*-64bit": 40 + "rocky-updates-server-x86_64-*-bios": 40, + "rocky-updates-workstation-x86_64-*-bios": 40 } }, "base_service_manipulation": { "profiles": { - "rocky-updates-minimal-x86_64-*-64bit": 40, + "rocky-updates-minimal-x86_64-*-bios": 40, "rocky-updates-server-aarch64-*-aarch64": 40, - "rocky-updates-server-x86_64-*-64bit": 40, - "rocky-updates-workstation-x86_64-*-64bit": 40 + "rocky-updates-server-x86_64-*-bios": 40, + "rocky-updates-workstation-x86_64-*-bios": 40 } }, "base_services_start": { "profiles": { - "rocky-updates-minimal-x86_64-*-64bit": 40, + "rocky-updates-minimal-x86_64-*-bios": 40, "rocky-updates-server-aarch64-*-aarch64": 40, - "rocky-updates-server-x86_64-*-64bit": 40, - "rocky-updates-workstation-x86_64-*-64bit": 40 + "rocky-updates-server-x86_64-*-bios": 40, + "rocky-updates-workstation-x86_64-*-bios": 40 } }, "base_update_cli": { "profiles": { - "rocky-updates-minimal-x86_64-*-64bit": 40, + "rocky-updates-minimal-x86_64-*-bios": 40, "rocky-updates-server-aarch64-*-aarch64": 40, - "rocky-updates-server-x86_64-*-64bit": 40, - "rocky-updates-workstation-x86_64-*-64bit": 40 + "rocky-updates-server-x86_64-*-bios": 40, + "rocky-updates-workstation-x86_64-*-bios": 40 } }, "base_reboot_unmount": { "profiles": { - "rocky-updates-minimal-x86_64-*-64bit": 40, + "rocky-updates-minimal-x86_64-*-bios": 40, "rocky-updates-server-aarch64-*-aarch64": 40, - "rocky-updates-server-x86_64-*-64bit": 40, - "rocky-updates-workstation-x86_64-*-64bit": 40 + "rocky-updates-server-x86_64-*-bios": 40, + "rocky-updates-workstation-x86_64-*-bios": 40 } }, "base_system_logging": { "profiles": { - "rocky-updates-minimal-x86_64-*-64bit": 40, + "rocky-updates-minimal-x86_64-*-bios": 40, "rocky-updates-server-aarch64-*-aarch64": 40, - "rocky-updates-server-x86_64-*-64bit": 40, - "rocky-updates-workstation-x86_64-*-64bit": 40 + "rocky-updates-server-x86_64-*-bios": 40, + "rocky-updates-workstation-x86_64-*-bios": 40 } }, "desktop_background": { "profiles": { "rocky-updates-workstation-aarch64-*-aarch64": 30, - "rocky-updates-workstation-x86_64-*-64bit": 30 + "rocky-updates-workstation-x86_64-*-bios": 30 } }, "desktop_browser": { "profiles": { "rocky-updates-workstation-aarch64-*-aarch64": 30, - "rocky-updates-workstation-x86_64-*-64bit": 30 + "rocky-updates-workstation-x86_64-*-bios": 30 } }, "desktop_printing": { "profiles": { "rocky-updates-workstation-aarch64-*-aarch64": 30, - "rocky-updates-workstation-x86_64-*-64bit": 30 + "rocky-updates-workstation-x86_64-*-bios": 30 } }, "desktop_terminal": { "profiles": { "rocky-updates-workstation-aarch64-*-aarch64": 30, - "rocky-updates-workstation-x86_64-*-64bit": 30 + "rocky-updates-workstation-x86_64-*-bios": 30 } }, "desktop_update_graphical": { "profiles": { "rocky-updates-workstation-aarch64-*-aarch64": 30, - "rocky-updates-workstation-x86_64-*-64bit": 30 + "rocky-updates-workstation-x86_64-*-bios": 30 } }, "server_cockpit_basic": { "profiles": { "rocky-updates-server-aarch64-*-aarch64": 40, - "rocky-updates-server-x86_64-*-64bit": 40 + "rocky-updates-server-x86_64-*-bios": 40 } }, "server_cockpit_default": { "profiles": { "rocky-updates-server-aarch64-*-aarch64": 40, - "rocky-updates-server-x86_64-*-64bit": 40 + "rocky-updates-server-x86_64-*-bios": 40 } }, "server_cockpit_updates": { "profiles": { "rocky-updates-server-aarch64-*-aarch64": 40, - "rocky-updates-server-x86_64-*-64bit": 40 + "rocky-updates-server-x86_64-*-bios": 40 } }, "server_database_client": { "profiles": { "rocky-updates-server-aarch64-*-aarch64": 40, - "rocky-updates-server-x86_64-*-64bit": 40 + "rocky-updates-server-x86_64-*-bios": 40 } }, "server_firewall_default": { "profiles": { "rocky-updates-server-aarch64-*-aarch64": 40, - "rocky-updates-server-x86_64-*-64bit": 40 + "rocky-updates-server-x86_64-*-bios": 40 } }, "upgrade_desktop_encrypted_64bit": { "profiles": { "rocky-updates-workstation-upgrade-aarch64-*-aarch64": 40, - "rocky-updates-workstation-upgrade-x86_64-*-64bit": 40 + "rocky-updates-workstation-upgrade-x86_64-*-bios": 40 } } } diff --git a/templates.fif.json b/templates.fif.json index 7aa2de1c..b003963f 100644 --- a/templates.fif.json +++ b/templates.fif.json @@ -1,6 +1,6 @@ { "Machines": { - "64bit": { + "bios": { "backend": "qemu", "settings": { "ARCH_BASE_MACHINE": "64bit", @@ -24,7 +24,9 @@ "QEMUCPU": "host", "QEMUCPUS": "2", "QEMUMACHINE": "virt,gic-version=max", - "QEMURAM": 3072, + "QEMURAM": 4096, + "QEMU_MAX_MIGRATION_TIME": "480", + "QEMU_VIDEO_DEVICE": "virtio-gpu-pci", "QEMU_VIRTIO_RNG": "1", "SERIALDEV": "ttyAMA0", "TIMEOUT_SCALE": "1.5", @@ -34,7 +36,37 @@ "WORKER_CLASS": "qemu_aarch64" } }, - "uefi": { + "s390x": { + "backend": "qemu", + "settings": { + "ARCH_BASE_MACHINE": "s390x", + "PART_TABLE_TYPE": "mbr", + "QEMU": "s390x", + "QEMU_APPEND": "bios /usr/share/qemu/390-ccw.img -boot once=cd0", + "QEMUMACHINE": "s390-ccw-virtio", + "QEMURAM": 4096, + "QEMU_VIDEO_DEVICE": "virtio-gpu", + "QEMU_MAX_MIGRATION_TIME": "480", + "QEMU_NO_KVM": "1", + "WORKER_CLASS": "qemu_s390x" + } + }, + "ppc64le": { + "backend": "qemu", + "settings": { + "ARCH_BASE_MACHINE": "ppc64le", + "OFW": 1, + "PART_TABLE_TYPE": "mbr", + "QEMU": "ppc64", + "QEMUCPU": "host", + "QEMURAM": 4096, + "QEMU_VIDEO_DEVICE": "VGA", + "QEMU_MAX_MIGRATION_TIME": "480", + "QEMU_VIRTIO_RNG": "1", + "WORKER_CLASS": "qemu_ppc64le" + } + }, + "uefx": { "backend": "qemu", "settings": { "ARCH_BASE_MACHINE": "64bit", @@ -51,6 +83,28 @@ "UEFI_PFLASH_VARS": "/usr/share/edk2/ovmf/OVMF_VARS.fd", "WORKER_CLASS": "qemu_x86_64" } + }, + "uefi": { + "backend": "qemu", + "settings": { + "ARCH_BASE_MACHINE": "64bit", + "PART_TABLE_TYPE": "gpt", + "QEMUCPU": "Nehalem", + "QEMUCPUS": "2", + "QEMURAM": "3072", + "QEMU_VIDEO_DEVICE": "virtio-vga", + "XRES": "1024", + "YRES": "768", + "QEMUMACHINE": "q35,smm=on", + "QEMU_APPEND": "global driver=cfi.pflash01,property=secure,value=on", + "QEMU_MAX_MIGRATION_TIME": "480", + "QEMU_VIRTIO_RNG": "1", + "UEFI": "1", + "UEFI_PFLASH_CODE": "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd", + "UEFI_PFLASH_VARS": "/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd", + "UEFI_SECURE": "1", + "WORKER_CLASS": "qemu_x86_64" + } } }, "Products": { @@ -82,13 +136,34 @@ }, "version": "*" }, + "rocky-boot-iso-s390x-*": { + "arch": "s390x", + "distri": "rocky", + "flavor": "boot-iso", + "settings": { + "GRUB": "ip=dhcp", + "HDDSIZEGB": "15", + "TEST_TARGET": "ISO" + }, + "version": "*" + }, + "rocky-boot-iso-ppc64le-*": { + "arch": "ppc64le", + "distri": "rocky", + "flavor": "boot-iso", + "settings": { + "GRUB": "ip=dhcp", + "HDDSIZEGB": "15", + "TEST_TARGET": "ISO" + }, + "version": "*" + }, "rocky-boot-iso-aarch64-*": { "arch": "aarch64", "distri": "rocky", "flavor": "boot-iso", "settings": { "GRUB": "ip=dhcp", - "+QEMURAM": 3072, "HDDSIZEGB": "15", "TEST_TARGET": "ISO" }, @@ -106,12 +181,33 @@ }, "version": "*" }, + "rocky-minimal-iso-s390x-*": { + "arch": "s390x", + "distri": "rocky", + "flavor": "minimal-iso", + "settings": { + "DEPLOY_UPLOAD_TEST": "install_minimal_upload", + "HDDSIZEGB": "15", + "TEST_TARGET": "ISO" + }, + "version": "*" + }, + "rocky-minimal-iso-ppc64le-*": { + "arch": "ppc64le", + "distri": "rocky", + "flavor": "minimal-iso", + "settings": { + "DEPLOY_UPLOAD_TEST": "install_minimal_upload", + "HDDSIZEGB": "15", + "TEST_TARGET": "ISO" + }, + "version": "*" + }, "rocky-minimal-iso-aarch64-*": { "arch": "aarch64", "distri": "rocky", "flavor": "minimal-iso", "settings": { - "+QEMURAM": 3072, "DEPLOY_UPLOAD_TEST": "install_minimal_upload", "HDDSIZEGB": "15", "TEST_TARGET": "ISO" @@ -130,6 +226,28 @@ }, "version": "*" }, + "rocky-dvd-iso-s390x-*": { + "arch": "s390x", + "distri": "rocky", + "flavor": "dvd-iso", + "settings": { + "DEPLOY_UPLOAD_TEST": "install_default_upload", + "HDDSIZEGB": "15", + "TEST_TARGET": "ISO" + }, + "version": "*" + }, + "rocky-dvd-iso-ppc64le-*": { + "arch": "ppc64le", + "distri": "rocky", + "flavor": "dvd-iso", + "settings": { + "DEPLOY_UPLOAD_TEST": "install_default_upload", + "HDDSIZEGB": "15", + "TEST_TARGET": "ISO" + }, + "version": "*" + }, "rocky-dvd-iso-aarch64-*": { "arch": "aarch64", "distri": "rocky", @@ -152,6 +270,26 @@ }, "version": "*" }, + "rocky-package-set-s390x-*": { + "arch": "s390x", + "distri": "rocky", + "flavor": "package-set", + "settings": { + "HDDSIZEGB": "15", + "TEST_TARGET": "ISO" + }, + "version": "*" + }, + "rocky-package-set-ppc64le-*": { + "arch": "ppc64le", + "distri": "rocky", + "flavor": "package-set", + "settings": { + "HDDSIZEGB": "15", + "TEST_TARGET": "ISO" + }, + "version": "*" + }, "rocky-package-set-aarch64-*": { "arch": "aarch64", "distri": "rocky", @@ -172,6 +310,26 @@ }, "version": "*" }, + "rocky-universal-s390x-*": { + "arch": "s390x", + "distri": "rocky", + "flavor": "universal", + "settings": { + "HDDSIZEGB": "15", + "TEST_TARGET": "ISO" + }, + "version": "*" + }, + "rocky-universal-ppc64le-*": { + "arch": "ppc64le", + "distri": "rocky", + "flavor": "universal", + "settings": { + "HDDSIZEGB": "15", + "TEST_TARGET": "ISO" + }, + "version": "*" + }, "rocky-universal-aarch64-*": { "arch": "aarch64", "distri": "rocky", @@ -194,12 +352,12 @@ } }, "Profiles": { - "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-64bit": { - "machine": "64bit", + "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-bios": { + "machine": "bios", "product": "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*" }, - "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-64bit": { - "machine": "64bit", + "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-bios": { + "machine": "bios", "product": "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*" }, "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-uefi": { @@ -210,56 +368,96 @@ "machine": "uefi", "product": "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*" }, + "rocky-boot-iso-s390x-*-s390x": { + "machine": "s390x", + "product": "rocky-boot-iso-s390x-*" + }, + "rocky-boot-iso-ppc64le-*-ppc64le": { + "machine": "ppc64le", + "product": "rocky-boot-iso-ppc64le-*" + }, "rocky-boot-iso-aarch64-*-aarch64": { "machine": "aarch64", "product": "rocky-boot-iso-aarch64-*" }, - "rocky-boot-iso-x86_64-*-64bit": { - "machine": "64bit", + "rocky-boot-iso-x86_64-*-bios": { + "machine": "bios", "product": "rocky-boot-iso-x86_64-*" }, "rocky-boot-iso-x86_64-*-uefi": { "machine": "uefi", "product": "rocky-boot-iso-x86_64-*" }, + "rocky-minimal-iso-s390x-*-s390x": { + "machine": "s390x", + "product": "rocky-minimal-iso-s390x-*" + }, + "rocky-minimal-iso-ppc64le-*-ppc64le": { + "machine": "ppc64le", + "product": "rocky-minimal-iso-ppc64le-*" + }, "rocky-minimal-iso-aarch64-*-aarch64": { "machine": "aarch64", "product": "rocky-minimal-iso-aarch64-*" }, - "rocky-minimal-iso-x86_64-*-64bit": { - "machine": "64bit", + "rocky-minimal-iso-x86_64-*-bios": { + "machine": "bios", "product": "rocky-minimal-iso-x86_64-*" }, + "rocky-dvd-iso-s390x-*-s390x": { + "machine": "s390x", + "product": "rocky-dvd-iso-s390x-*" + }, + "rocky-dvd-iso-ppc64le-*-ppc64le": { + "machine": "ppc64le", + "product": "rocky-dvd-iso-ppc64le-*" + }, "rocky-dvd-iso-aarch64-*-aarch64": { "machine": "aarch64", "product": "rocky-dvd-iso-aarch64-*" }, - "rocky-dvd-iso-x86_64-*-64bit": { - "machine": "64bit", + "rocky-dvd-iso-x86_64-*-bios": { + "machine": "bios", "product": "rocky-dvd-iso-x86_64-*" }, "rocky-dvd-iso-x86_64-*-uefi": { "machine": "uefi", "product": "rocky-dvd-iso-x86_64-*" }, + "rocky-package-set-s390x-*-s390x": { + "machine": "s390x", + "product": "rocky-package-set-s390x-*" + }, + "rocky-package-set-ppc64le-*-ppc64le": { + "machine": "ppc64le", + "product": "rocky-package-set-ppc64le-*" + }, "rocky-package-set-aarch64-*-aarch64": { "machine": "aarch64", "product": "rocky-package-set-aarch64-*" }, - "rocky-package-set-x86_64-*-64bit": { - "machine": "64bit", + "rocky-package-set-x86_64-*-bios": { + "machine": "bios", "product": "rocky-package-set-x86_64-*" }, "rocky-package-set-x86_64-*-uefi": { - "machine": "64bit", + "machine": "uefi", "product": "rocky-package-set-x86_64-*" }, + "rocky-universal-s390x-*-s390x": { + "machine": "s390x", + "product": "rocky-universal-s390x-*" + }, + "rocky-universal-ppc64le-*-ppc64le": { + "machine": "ppc64le", + "product": "rocky-universal-ppc64le-*" + }, "rocky-universal-aarch64-*-aarch64": { "machine": "aarch64", "product": "rocky-universal-aarch64-*" }, - "rocky-universal-x86_64-*-64bit": { - "machine": "64bit", + "rocky-universal-x86_64-*-bios": { + "machine": "bios", "product": "rocky-universal-x86_64-*" }, "rocky-universal-x86_64-*-uefi": { @@ -270,8 +468,10 @@ "TestSuites": { "anaconda_help": { "profiles": { + "rocky-dvd-iso-s390x-*-s390x": 20, + "rocky-dvd-iso-ppc64le-*-ppc64le": 20, "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "ENTRYPOINT": "_boot_to_anaconda anaconda_help", @@ -280,12 +480,14 @@ }, "base_reboot_unmount": { "profiles": { - "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-uefi": 30, - "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-uefi": 30, + "rocky-dvd-iso-s390x-*-s390x": 20, + "rocky-dvd-iso-ppc64le-*-ppc64le": 20, "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -299,12 +501,14 @@ }, "base_system_logging": { "profiles": { - "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-uefi": 30, - "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-uefi": 30, + "rocky-dvd-iso-s390x-*-s390x": 20, + "rocky-dvd-iso-ppc64le-*-ppc64le": 20, "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -318,12 +522,14 @@ }, "base_update_cli": { "profiles": { - "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-uefi": 30, - "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-uefi": 30, + "rocky-dvd-iso-s390x-*-s390x": 20, + "rocky-dvd-iso-ppc64le-*-ppc64le": 20, "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -337,12 +543,14 @@ }, "base_package_install_remove": { "profiles": { - "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-uefi": 30, - "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-uefi": 30, + "rocky-dvd-iso-s390x-*-s390x": 40, + "rocky-dvd-iso-ppc64le-*-ppc64le": 40, "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40 + "rocky-dvd-iso-x86_64-*-bios": 40 }, "settings": { "BOOTFROM": "c", @@ -356,12 +564,14 @@ }, "base_services_start": { "profiles": { - "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-uefi": 30, - "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-uefi": 30, + "rocky-dvd-iso-s390x-*-s390x": 40, + "rocky-dvd-iso-ppc64le-*-ppc64le": 40, "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40 + "rocky-dvd-iso-x86_64-*-bios": 40 }, "settings": { "BOOTFROM": "c", @@ -375,12 +585,14 @@ }, "base_selinux": { "profiles": { - "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-uefi": 30, - "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-uefi": 30, + "rocky-dvd-iso-s390x-*-s390x": 40, + "rocky-dvd-iso-ppc64le-*-ppc64le": 40, "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40 + "rocky-dvd-iso-x86_64-*-bios": 40 }, "settings": { "BOOTFROM": "c", @@ -394,12 +606,14 @@ }, "base_service_manipulation": { "profiles": { - "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-uefi": 30, - "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-uefi": 30, + "rocky-dvd-iso-s390x-*-s390x": 40, + "rocky-dvd-iso-ppc64le-*-ppc64le": 40, "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40 + "rocky-dvd-iso-x86_64-*-bios": 40 }, "settings": { "BOOTFROM": "c", @@ -413,9 +627,9 @@ }, "cloud_autocloud": { "profiles": { - "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_Base-qcow2-qcow2-x86_64-*-uefi": 30, - "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-64bit": 30, + "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-bios": 30, "rocky-GenericCloud_LVM-qcow2-qcow2-x86_64-*-uefi": 30 }, "settings": { @@ -424,8 +638,10 @@ }, "install_resize_lvm": { "profiles": { + "rocky-dvd-iso-s390x-*-s390x": 40, + "rocky-dvd-iso-ppc64le-*-ppc64le": 40, "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40 + "rocky-dvd-iso-x86_64-*-bios": 40 }, "settings": { "DESKTOP": "false", @@ -439,8 +655,10 @@ }, "install_anaconda_text": { "profiles": { + "rocky-universal-s390x-*-s390x": 20, + "rocky-universal-ppc64le-*-ppc64le": 20, "rocky-universal-aarch64-*-aarch64": 20, - "rocky-universal-x86_64-*-64bit": 20 + "rocky-universal-x86_64-*-bios": 20 }, "settings": { "ANACONDA_TEXT": "1" @@ -448,14 +666,16 @@ }, "install_arabic_language": { "profiles": { + "rocky-universal-s390x-*-s390x": 40, + "rocky-universal-ppc64le-*-ppc64le": 40, "rocky-universal-aarch64-*-aarch64": 40, - "rocky-universal-x86_64-*-64bit": 40 + "rocky-universal-x86_64-*-bios": 40 }, "settings": { "DESKTOP": "gnome", "ENCRYPT_PASSWORD": "weakpassword", "LANGUAGE": "arabic", - "PACKAGE_SET": "workstation", + "PACKAGE_SET": "graphical-server", "POSTINSTALL": "_console_login", "QEMU_DISABLE_SNAPSHOTS": "1", "REPOSITORY_VARIATION": "%LOCATION%", @@ -466,15 +686,17 @@ }, "install_asian_language": { "profiles": { + "rocky-universal-s390x-*-s390x": 40, + "rocky-universal-ppc64le-*-ppc64le": 40, "rocky-universal-aarch64-*-aarch64": 40, - "rocky-universal-x86_64-*-64bit": 40 + "rocky-universal-x86_64-*-bios": 40 }, "settings": { "DESKTOP": "gnome", "ENCRYPT_PASSWORD": "weakpassword", "INPUT_METHOD": "1", "LANGUAGE": "japanese", - "PACKAGE_SET": "workstation", + "PACKAGE_SET": "graphical-server", "POSTINSTALL": "_console_login", "QEMU_DISABLE_SNAPSHOTS": "1", "REPOSITORY_VARIATION": "%LOCATION%", @@ -484,8 +706,10 @@ }, "install_custom_gui_lvm_ext4": { "profiles": { + "rocky-dvd-iso-s390x-*-s390x": 40, + "rocky-dvd-iso-ppc64le-*-ppc64le": 40, "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40, + "rocky-dvd-iso-x86_64-*-bios": 40, "rocky-dvd-iso-x86_64-*-uefi": 41 }, "settings": { @@ -499,8 +723,10 @@ }, "install_custom_gui_standard_partition_ext4": { "profiles": { + "rocky-dvd-iso-s390x-*-s390x": 40, + "rocky-dvd-iso-ppc64le-*-ppc64le": 40, "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40, + "rocky-dvd-iso-x86_64-*-bios": 40, "rocky-dvd-iso-x86_64-*-uefi": 41 }, "settings": { @@ -512,8 +738,10 @@ }, "install_custom_gui_software_raid": { "profiles": { + "rocky-universal-s390x-*-s390x": 40, + "rocky-universal-ppc64le-*-ppc64le": 40, "rocky-universal-aarch64-*-aarch64": 40, - "rocky-universal-x86_64-*-64bit": 40, + "rocky-universal-x86_64-*-bios": 40, "rocky-universal-x86_64-*-uefi": 41 }, "settings": { @@ -527,8 +755,10 @@ }, "install_custom_gui_xfs": { "profiles": { + "rocky-universal-s390x-*-s390x": 40, + "rocky-universal-ppc64le-*-ppc64le": 40, "rocky-universal-aarch64-*-aarch64": 40, - "rocky-universal-x86_64-*-64bit": 40, + "rocky-universal-x86_64-*-bios": 40, "rocky-universal-x86_64-*-uefi": 41 }, "settings": { @@ -541,14 +771,16 @@ }, "install_cyrillic_language": { "profiles": { + "rocky-universal-s390x-*-s390x": 40, + "rocky-universal-ppc64le-*-ppc64le": 40, "rocky-universal-aarch64-*-aarch64": 40, - "rocky-universal-x86_64-*-64bit": 40 + "rocky-universal-x86_64-*-bios": 40 }, "settings": { "DESKTOP": "gnome", "ENCRYPT_PASSWORD": "weakpassword", "LANGUAGE": "russian", - "PACKAGE_SET": "workstation", + "PACKAGE_SET": "graphical-server", "POSTINSTALL": "_console_login", "QEMU_DISABLE_SNAPSHOTS": "1", "REPOSITORY_VARIATION": "%LOCATION%", @@ -559,9 +791,13 @@ }, "install_default": { "profiles": { + "rocky-boot-iso-s390x-*-s390x": 10, + "rocky-boot-iso-ppc64le-*-ppc64le": 10, "rocky-boot-iso-aarch64-*-aarch64": 10, - "rocky-boot-iso-x86_64-*-64bit": 10, + "rocky-boot-iso-x86_64-*-bios": 10, "rocky-boot-iso-x86_64-*-uefi": 11, + "rocky-dvd-iso-s390x-*-s390x": 11, + "rocky-dvd-iso-ppc64le-*-ppc64le": 11, "rocky-dvd-iso-aarch64-*-aarch64": 11, "rocky-dvd-iso-x86_64-*-uefi": 11 }, @@ -573,8 +809,15 @@ }, "install_minimal": { "profiles": { + "rocky-boot-iso-s390x-*-s390x": 10, + "rocky-boot-iso-ppc64le-*-ppc64le": 10, + "rocky-boot-iso-aarch64-*-aarch64": 10, + "rocky-boot-iso-x86_64-*-bios": 10, + "rocky-boot-iso-x86_64-*-uefi": 11, + "rocky-minimal-iso-s390x-*-s390x": 10, + "rocky-minimal-iso-ppc64le-*-ppc64le": 10, "rocky-minimal-iso-aarch64-*-aarch64": 10, - "rocky-minimal-iso-x86_64-*-64bit": 10 + "rocky-minimal-iso-x86_64-*-bios": 10 }, "settings": { "PACKAGE_SET": "minimal", @@ -583,8 +826,10 @@ }, "install_minimal_upload": { "profiles": { + "rocky-minimal-iso-s390x-*-s390x": 10, + "rocky-minimal-iso-ppc64le-*-ppc64le": 10, "rocky-minimal-iso-aarch64-*-aarch64": 10, - "rocky-minimal-iso-x86_64-*-64bit": 10 + "rocky-minimal-iso-x86_64-*-bios": 10 }, "settings": { "PACKAGE_SET": "minimal", @@ -594,8 +839,11 @@ }, "install_default_upload": { "profiles": { + "rocky-dvd-iso-s390x-*-s390x": 10, + "rocky-dvd-iso-ppc64le-*-ppc64le": 10, "rocky-dvd-iso-aarch64-*-aarch64": 10, - "rocky-dvd-iso-x86_64-*-64bit": 10 + "rocky-dvd-iso-x86_64-*-uefi": 10, + "rocky-dvd-iso-x86_64-*-bios": 10 }, "settings": { "DESKTOP": "gnome", @@ -606,8 +854,10 @@ }, "install_delete_partial": { "profiles": { + "rocky-universal-s390x-*-s390x": 30, + "rocky-universal-ppc64le-*-ppc64le": 30, "rocky-universal-aarch64-*-aarch64": 30, - "rocky-universal-x86_64-*-64bit": 30, + "rocky-universal-x86_64-*-bios": 30, "rocky-universal-x86_64-*-uefi": 31 }, "settings": { @@ -620,8 +870,10 @@ }, "install_delete_pata": { "profiles": { + "rocky-universal-s390x-*-s390x": 20, + "rocky-universal-ppc64le-*-ppc64le": 20, "rocky-universal-aarch64-*-aarch64": 20, - "rocky-universal-x86_64-*-64bit": 20, + "rocky-universal-x86_64-*-bios": 20, "rocky-universal-x86_64-*-uefi": 21 }, "settings": { @@ -635,15 +887,17 @@ }, "install_european_language": { "profiles": { + "rocky-universal-s390x-*-s390x": 40, + "rocky-universal-ppc64le-*-ppc64le": 40, "rocky-universal-aarch64-*-aarch64": 40, - "rocky-universal-x86_64-*-64bit": 40 + "rocky-universal-x86_64-*-bios": 40 }, "settings": { "DESKTOP": "gnome", "ENCRYPT_PASSWORD": "weakpassword", "LANGUAGE": "french", "NO_UEFI_POST": "1", - "PACKAGE_SET": "workstation", + "PACKAGE_SET": "graphical-server", "POSTINSTALL": "_console_login", "QEMU_DISABLE_SNAPSHOTS": "1", "REPOSITORY_VARIATION": "%LOCATION%", @@ -654,7 +908,7 @@ "install_iscsi": { "profiles": { "rocky-universal-aarch64-*-aarch64": 40, - "rocky-universal-x86_64-*-64bit": 40 + "rocky-universal-x86_64-*-bios": 40 }, "settings": { "ANACONDA_STATIC": "172.16.2.111", @@ -669,7 +923,7 @@ "install_kickstart_nfs": { "profiles": { "rocky-universal-aarch64-*-aarch64": 30, - "rocky-universal-x86_64-*-64bit": 30 + "rocky-universal-x86_64-*-bios": 30 }, "settings": { "GRUB": "inst.ks=nfs:172.16.2.110:/export/root-user-crypted-net.ks", @@ -684,8 +938,10 @@ }, "install_lvmthin": { "profiles": { + "rocky-universal-s390x-*-s390x": 40, + "rocky-universal-ppc64le-*-ppc64le": 40, "rocky-universal-aarch64-*-aarch64": 40, - "rocky-universal-x86_64-*-64bit": 40, + "rocky-universal-x86_64-*-bios": 40, "rocky-universal-x86_64-*-uefi": 41 }, "settings": { @@ -697,8 +953,10 @@ }, "install_lvm_ext4": { "profiles": { + "rocky-dvd-iso-s390x-*-s390x": 40, + "rocky-dvd-iso-ppc64le-*-ppc64le": 40, "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40, + "rocky-dvd-iso-x86_64-*-bios": 40, "rocky-dvd-iso-x86_64-*-uefi": 41 }, "settings": { @@ -711,8 +969,10 @@ }, "install_standard_partition_ext4": { "profiles": { + "rocky-dvd-iso-s390x-*-s390x": 30, + "rocky-dvd-iso-ppc64le-*-ppc64le": 30, "rocky-dvd-iso-aarch64-*-aarch64": 30, - "rocky-dvd-iso-x86_64-*-64bit": 30, + "rocky-dvd-iso-x86_64-*-bios": 30, "rocky-dvd-iso-x86_64-*-uefi": 31 }, "settings": { @@ -723,8 +983,10 @@ }, "install_mirrorlist_graphical": { "profiles": { + "rocky-universal-s390x-*-s390x": 20, + "rocky-universal-ppc64le-*-ppc64le": 20, "rocky-universal-aarch64-*-aarch64": 20, - "rocky-universal-x86_64-*-64bit": 20 + "rocky-universal-x86_64-*-bios": 20 }, "settings": { "MIRRORLIST_GRAPHICAL": "1", @@ -733,8 +995,10 @@ }, "install_multi": { "profiles": { + "rocky-universal-s390x-*-s390x": 20, + "rocky-universal-ppc64le-*-ppc64le": 20, "rocky-universal-aarch64-*-aarch64": 20, - "rocky-universal-x86_64-*-64bit": 20, + "rocky-universal-x86_64-*-bios": 20, "rocky-universal-x86_64-*-uefi": 21 }, "settings": { @@ -748,8 +1012,10 @@ }, "install_multi_empty": { "profiles": { + "rocky-universal-s390x-*-s390x": 30, + "rocky-universal-ppc64le-*-ppc64le": 30, "rocky-universal-aarch64-*-aarch64": 30, - "rocky-universal-x86_64-*-64bit": 30, + "rocky-universal-x86_64-*-bios": 30, "rocky-universal-x86_64-*-uefi": 31 }, "settings": { @@ -762,8 +1028,10 @@ }, "install_with_swap": { "profiles": { + "rocky-universal-s390x-*-s390x": 50, + "rocky-universal-ppc64le-*-ppc64le": 50, "rocky-universal-aarch64-*-aarch64": 50, - "rocky-universal-x86_64-*-64bit": 50, + "rocky-universal-x86_64-*-bios": 50, "rocky-universal-x86_64-*-uefi": 51 }, "settings": { @@ -776,7 +1044,7 @@ "install_package_set_minimal": { "profiles": { "rocky-package-set-aarch64-*-aarch64": 30, - "rocky-package-set-x86_64-*-64bit": 30 + "rocky-package-set-x86_64-*-bios": 30 }, "settings": { "DESKTOP": "false", @@ -786,7 +1054,7 @@ "install_package_set_server": { "profiles": { "rocky-package-set-aarch64-*-aarch64": 30, - "rocky-package-set-x86_64-*-64bit": 30 + "rocky-package-set-x86_64-*-bios": 30 }, "settings": { "DESKTOP": "false", @@ -796,7 +1064,7 @@ "install_package_set_graphical-server": { "profiles": { "rocky-package-set-aarch64-*-aarch64": 30, - "rocky-package-set-x86_64-*-64bit": 30 + "rocky-package-set-x86_64-*-bios": 30 }, "settings": { "DESKTOP": "gnome", @@ -805,7 +1073,7 @@ }, "install_package_set_workstation": { "profiles": { - "rocky-package-set-x86_64-*-64bit": 30 + "rocky-package-set-x86_64-*-bios": 30 }, "settings": { "DESKTOP": "gnome", @@ -815,7 +1083,7 @@ "install_package_set_virtualization-host": { "profiles": { "rocky-package-set-aarch64-*-aarch64": 30, - "rocky-package-set-x86_64-*-64bit": 30 + "rocky-package-set-x86_64-*-bios": 30 }, "settings": { "DESKTOP": "false", @@ -825,7 +1093,7 @@ "install_pxeboot": { "profiles": { "rocky-universal-aarch64-*-aarch64": 30, - "rocky-universal-x86_64-*-64bit": 30, + "rocky-universal-x86_64-*-bios": 30, "rocky-universal-x86_64-*-uefi": 31 }, "settings": { @@ -843,8 +1111,10 @@ }, "install_repository_http_graphical": { "profiles": { + "rocky-universal-s390x-*-s390x": 20, + "rocky-universal-ppc64le-*-ppc64le": 20, "rocky-universal-aarch64-*-aarch64": 20, - "rocky-universal-x86_64-*-64bit": 20 + "rocky-universal-x86_64-*-bios": 20 }, "settings": { "REPOSITORY_GRAPHICAL": "%LOCATION%", @@ -854,8 +1124,10 @@ }, "install_repository_http_variation": { "profiles": { + "rocky-universal-s390x-*-s390x": 20, + "rocky-universal-ppc64le-*-ppc64le": 20, "rocky-universal-aarch64-*-aarch64": 20, - "rocky-universal-x86_64-*-64bit": 20 + "rocky-universal-x86_64-*-bios": 20 }, "settings": { "REPOSITORY_VARIATION": "%LOCATION%", @@ -865,8 +1137,10 @@ }, "install_repository_nfs_graphical": { "profiles": { + "rocky-dvd-iso-s390x-*-s390x": 30, + "rocky-dvd-iso-ppc64le-*-ppc64le": 30, "rocky-dvd-iso-aarch64-*-aarch64": 30, - "rocky-dvd-iso-x86_64-*-64bit": 30 + "rocky-dvd-iso-x86_64-*-bios": 30 }, "settings": { "INSTALL_UNLOCK": "support_ready", @@ -879,7 +1153,7 @@ "install_repository_nfs_variation": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 30, - "rocky-dvd-iso-x86_64-*-64bit": 30 + "rocky-dvd-iso-x86_64-*-bios": 30 }, "settings": { "INSTALL_UNLOCK": "support_ready", @@ -892,7 +1166,7 @@ "install_repository_nfsiso_variation": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 30, - "rocky-dvd-iso-x86_64-*-64bit": 30 + "rocky-dvd-iso-x86_64-*-bios": 30 }, "settings": { "INSTALL_UNLOCK": "support_ready", @@ -904,8 +1178,10 @@ }, "install_rescue_encrypted": { "profiles": { + "rocky-universal-s390x-*-s390x": 31, + "rocky-universal-ppc64le-*-ppc64le": 31, "rocky-universal-aarch64-*-aarch64": 31, - "rocky-universal-x86_64-*-64bit": 31, + "rocky-universal-x86_64-*-bios": 31, "rocky-universal-x86_64-*-uefi": 32 }, "settings": { @@ -917,8 +1193,10 @@ }, "install_sata": { "profiles": { + "rocky-universal-s390x-*-s390x": 20, + "rocky-universal-ppc64le-*-ppc64le": 20, "rocky-universal-aarch64-*-aarch64": 20, - "rocky-universal-x86_64-*-64bit": 20, + "rocky-universal-x86_64-*-bios": 20, "rocky-universal-x86_64-*-uefi": 21 }, "settings": { @@ -931,7 +1209,7 @@ "install_scsi_updates_img": { "profiles": { "rocky-universal-aarch64-*-aarch64": 20, - "rocky-universal-x86_64-*-64bit": 20 + "rocky-universal-x86_64-*-bios": 20 }, "settings": { "CDMODEL": "scsi-cd", @@ -945,8 +1223,10 @@ }, "install_serial_console": { "profiles": { + "rocky-universal-s390x-*-s390x": 30, + "rocky-universal-ppc64le-*-ppc64le": 30, "rocky-universal-aarch64-*-aarch64": 30, - "rocky-universal-x86_64-*-64bit": 30 + "rocky-universal-x86_64-*-bios": 30 }, "settings": { "ANACONDA_TEXT": "1", @@ -957,8 +1237,10 @@ }, "install_shrink_ext4": { "profiles": { + "rocky-universal-s390x-*-s390x": 40, + "rocky-universal-ppc64le-*-ppc64le": 40, "rocky-universal-aarch64-*-aarch64": 40, - "rocky-universal-x86_64-*-64bit": 40 + "rocky-universal-x86_64-*-bios": 40 }, "settings": { "HDD_1": "disk_shrink_ext4.img", @@ -970,8 +1252,10 @@ }, "install_shrink_ntfs": { "profiles": { + "rocky-universal-s390x-*-s390x": 40, + "rocky-universal-ppc64le-*-ppc64le": 40, "rocky-universal-aarch64-*-aarch64": 40, - "rocky-universal-x86_64-*-64bit": 40 + "rocky-universal-x86_64-*-bios": 40 }, "settings": { "HDD_1": "disk_shrink_ntfs.img", @@ -984,7 +1268,7 @@ "install_simple_encrypted": { "profiles": { "rocky-universal-aarch64-*-aarch64": 30, - "rocky-universal-x86_64-*-64bit": 30, + "rocky-universal-x86_64-*-bios": 30, "rocky-universal-x86_64-*-uefi": 31 }, "settings": { @@ -996,8 +1280,10 @@ }, "install_simple_free_space": { "profiles": { + "rocky-universal-s390x-*-s390x": 30, + "rocky-universal-ppc64le-*-ppc64le": 30, "rocky-universal-aarch64-*-aarch64": 30, - "rocky-universal-x86_64-*-64bit": 30, + "rocky-universal-x86_64-*-bios": 30, "rocky-universal-x86_64-*-uefi": 31 }, "settings": { @@ -1011,8 +1297,10 @@ }, "install_software_raid": { "profiles": { + "rocky-universal-s390x-*-s390x": 30, + "rocky-universal-ppc64le-*-ppc64le": 30, "rocky-universal-aarch64-*-aarch64": 30, - "rocky-universal-x86_64-*-64bit": 30, + "rocky-universal-x86_64-*-bios": 30, "rocky-universal-x86_64-*-uefi": 31 }, "settings": { @@ -1026,7 +1314,7 @@ "install_updates_nfs": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40 + "rocky-dvd-iso-x86_64-*-bios": 40 }, "settings": { "GRUB": "inst.stage2=nfs:nfsvers=4:172.16.2.110:/repo", @@ -1041,7 +1329,7 @@ "install_vnc_client": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40 + "rocky-dvd-iso-x86_64-*-bios": 40 }, "settings": { "BOOTFROM": "c", @@ -1058,7 +1346,7 @@ "install_vnc_server": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40 + "rocky-dvd-iso-x86_64-*-bios": 40 }, "settings": { "GRUB": "inst.vnc net.ifnames=0 biosdevname=0 ip=172.16.2.114::172.16.2.2:255.255.255.0:vnc001.test.openqa.rockylinux.org:eth0:off", @@ -1070,7 +1358,7 @@ "install_vncconnect_client": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40 + "rocky-dvd-iso-x86_64-*-bios": 40 }, "settings": { "BOOTFROM": "c", @@ -1086,7 +1374,7 @@ "install_vncconnect_server": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40 + "rocky-dvd-iso-x86_64-*-bios": 40 }, "settings": { "GRUB": "inst.vnc inst.vncconnect=172.16.2.117:5500 net.ifnames=0 biosdevname=0 ip=172.16.2.116::172.16.2.2:255.255.255.0:vnc003.test.openqa.rockylinux.org:eth0:off", @@ -1099,8 +1387,10 @@ }, "install_xfs": { "profiles": { + "rocky-universal-s390x-*-s390x": 40, + "rocky-universal-ppc64le-*-ppc64le": 40, "rocky-universal-aarch64-*-aarch64": 40, - "rocky-universal-x86_64-*-64bit": 40, + "rocky-universal-x86_64-*-bios": 40, "rocky-universal-x86_64-*-uefi": 41 }, "settings": { @@ -1112,8 +1402,10 @@ }, "memtest": { "profiles": { + "rocky-universal-s390x-*-s390x": 30, + "rocky-universal-ppc64le-*-ppc64le": 30, "rocky-universal-aarch64-*-aarch64": 30, - "rocky-universal-x86_64-*-64bit": 30 + "rocky-universal-x86_64-*-bios": 30 }, "settings": { "ENTRYPOINT": "memtest" @@ -1121,8 +1413,10 @@ }, "modularity_tests": { "profiles": { + "rocky-dvd-iso-s390x-*-s390x": 30, + "rocky-dvd-iso-ppc64le-*-ppc64le": 30, "rocky-dvd-iso-aarch64-*-aarch64": 30, - "rocky-dvd-iso-x86_64-*-64bit": 30 + "rocky-dvd-iso-x86_64-*-bios": 30 }, "settings": { "BOOTFROM": "c", @@ -1137,7 +1431,7 @@ "realmd_join_cockpit": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 30, - "rocky-dvd-iso-x86_64-*-64bit": 30 + "rocky-dvd-iso-x86_64-*-bios": 30 }, "settings": { "+HDD_1": "disk_%MACHINE%_cockpit.qcow2", @@ -1155,7 +1449,7 @@ "realmd_join_sssd": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -1172,8 +1466,10 @@ }, "release_identification": { "profiles": { + "rocky-dvd-iso-s390x-*-s390x": 40, + "rocky-dvd-iso-ppc64le-*-ppc64le": 40, "rocky-dvd-iso-aarch64-*-aarch64": 40, - "rocky-dvd-iso-x86_64-*-64bit": 40 + "rocky-dvd-iso-x86_64-*-bios": 40 }, "settings": { "BOOTFROM": "c", @@ -1183,10 +1479,23 @@ "USER_LOGIN": "false" } }, + "secure_boot_fallback": { + "profiles": { + "rocky-dvd-iso-x86_64-*-uefi": 11 + }, + "settings": { + "BOOTFROM": "c", + "HDD_1": "disk_%FLAVOR%_%MACHINE%.qcow2", + "POSTINSTALL": "_secure_boot_fallback", + "ROOT_PASSWORD": "weakpassword", + "+START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%", + "USER_LOGIN": "false" + } + }, "server_cockpit_basic": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 30, - "rocky-dvd-iso-x86_64-*-64bit": 30 + "rocky-dvd-iso-x86_64-*-bios": 30 }, "settings": { "+HDD_1": "disk_%MACHINE%_cockpit.qcow2", @@ -1200,7 +1509,7 @@ "server_cockpit_default": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -1216,7 +1525,7 @@ "server_cockpit_updates": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 30, - "rocky-dvd-iso-x86_64-*-64bit": 30 + "rocky-dvd-iso-x86_64-*-bios": 30 }, "settings": { "+HDD_1": "disk_%MACHINE%_cockpit.qcow2", @@ -1230,7 +1539,7 @@ "server_database_client": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 30, - "rocky-dvd-iso-x86_64-*-64bit": 30 + "rocky-dvd-iso-x86_64-*-bios": 30 }, "settings": { "BOOTFROM": "c", @@ -1247,8 +1556,10 @@ }, "server_filesystem_default": { "profiles": { + "rocky-dvd-iso-s390x-*-s390x": 20, + "rocky-dvd-iso-ppc64le-*-ppc64le": 20, "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -1262,8 +1573,10 @@ }, "server_firewall_default": { "profiles": { + "rocky-dvd-iso-s390x-*-s390x": 20, + "rocky-dvd-iso-ppc64le-*-ppc64le": 20, "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -1276,7 +1589,7 @@ "server_freeipa_replication_client": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 30, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -1295,7 +1608,7 @@ "server_freeipa_replication_master": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 30, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -1314,7 +1627,7 @@ "server_freeipa_replication_replica": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 30, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -1334,7 +1647,7 @@ "server_realmd_join_kickstart": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "GRUB": "inst.ks=hd:vdb1:/freeipaclient.ks", @@ -1353,7 +1666,7 @@ "server_remote_logging_client": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -1371,7 +1684,7 @@ "server_remote_logging_server": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -1389,7 +1702,7 @@ "server_role_deploy_database_server": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -1407,7 +1720,7 @@ "server_role_deploy_domain_controller": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 20, - "rocky-dvd-iso-x86_64-*-64bit": 20 + "rocky-dvd-iso-x86_64-*-bios": 20 }, "settings": { "BOOTFROM": "c", @@ -1425,7 +1738,7 @@ "slurm22": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 10, - "rocky-dvd-iso-x86_64-*-64bit": 10 + "rocky-dvd-iso-x86_64-*-bios": 10 }, "settings": { "BOOTFROM": "c", @@ -1440,7 +1753,7 @@ "slurm23": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 10, - "rocky-dvd-iso-x86_64-*-64bit": 10 + "rocky-dvd-iso-x86_64-*-bios": 10 }, "settings": { "BOOTFROM": "c", @@ -1455,9 +1768,9 @@ "support_server": { "profiles": { "rocky-dvd-iso-aarch64-*-aarch64": 10, - "rocky-dvd-iso-x86_64-*-64bit": 10, + "rocky-dvd-iso-x86_64-*-bios": 10, "rocky-universal-aarch64-*-aarch64": 10, - "rocky-universal-x86_64-*-64bit": 10 + "rocky-universal-x86_64-*-bios": 10 }, "settings": { "BOOTFROM": "c", @@ -1472,6 +1785,20 @@ "USER_LOGIN": "false", "WORKER_CLASS": "tap" } + }, + "toolbox": { + "profiles": { + "rocky-dvd-iso-aarch64-*-aarch64": 10, + "rocky-dvd-iso-x86_64-*-bios": 10 + }, + "settings": { + "BOOTFROM": "c", + "HDD_1": "disk_%FLAVOR%_%MACHINE%.qcow2", + "POSTINSTALL": "toolbox", + "START_AFTER_TEST": "%DEPLOY_UPLOAD_TEST%", + "ROOT_PASSWORD": "weakpassword", + "USER_LOGIN": "false" + } } } } diff --git a/tests/_secure_boot_fallback.pm b/tests/_secure_boot_fallback.pm new file mode 100644 index 00000000..d421bbfe --- /dev/null +++ b/tests/_secure_boot_fallback.pm @@ -0,0 +1,29 @@ +use base "installedtest"; +use strict; +use testapi; +use utils; + +sub run { + my $self = shift; + if (not(check_screen "root_console", 0)) { + $self->root_console(tty => 4); + } + script_run 'efibootmgr'; + # now try deleting the "rocky" boot entry and rebooting, to check the fallback path + assert_script_run('efibootmgr -b $(efibootmgr | grep -i rocky | cut -f1 | sed -e "s,[^0-9],,g") -B'); + # check that worked + validate_script_output('efibootmgr', sub { $_ !~ m/.*rocky.*/s }); + type_string("reboot\n"); + boot_to_login_screen; + $self->root_console(tty => 3); + # rocky entry should have been recreated + validate_script_output('efibootmgr', sub { m/rocky/ }); + # SB should still be enabled + validate_script_output('mokutil --sb-state', sub { m/SecureBoot enabled/ }); +} + +sub test_flags { + return {fatal => 1}; +} + +1; diff --git a/tests/_support_server.pm b/tests/_support_server.pm index 8d732220..80b1d395 100644 --- a/tests/_support_server.pm +++ b/tests/_support_server.pm @@ -25,6 +25,7 @@ sub _pxe_setup { assert_script_run "printf 'dhcp-match=set:efi-x86_64,option:client-arch,7\ndhcp-match=set:efi-x86_64,option:client-arch,9\ndhcp-match=set:bios,option:client-arch,0\ndhcp-match=set:efi-aarch64,option:client-arch,11\ndhcp-match=set:ppc64,option:client-arch,12\ndhcp-match=set:ppc64,option:client-arch,13\ndhcp-boot=tag:efi-x86_64,\"shim.efi\"\ndhcp-boot=tag:bios,\"pxelinux.0\"\ndhcp-boot=tag:efi-aarch64,\"grubaa64.efi\"\ndhcp-boot=tag:ppc64,\"boot/grub2/powerpc-ieee1275/core.elf\"\n' >> /etc/dnsmasq.conf"; # install and configure bootloaders my $ourversion = get_var("CURRREL"); + my $contentdir = get_var("DNF_CONTENTDIR"); my $testversion = get_var("RELEASE"); assert_script_run "mkdir -p /var/tmp/rocky"; my $arch = get_var("ARCH"); @@ -41,7 +42,26 @@ sub _pxe_setup { assert_script_run "rpm --root=/var/tmp/rocky --rebuilddb", 60; assert_script_run "cd /var/tmp; dnf download rocky-release rocky-repos rocky-gpg-keys", 60; assert_script_run "rpm --root=/var/tmp/rocky --nodeps -i /var/tmp/*.rpm", 60; - #assert_script_run "sed -i /var/tmp/rocky/etc/yum.repos.d/Rocky-*.repo -e 's/repo=/repo=rocky-/g'", 60; + + # Rocky Linux repos in /var/tmp/rocky point at mirrorlist and should be + # pointed at baseurl to support repositories in the staging if used for + # Beta or Lookahead builds. + if (get_version_major() < 9) { + assert_script_run 'sed -i -e "s/^mirrorlist/#mirrorlist/g;s,^#\(baseurl=http[s]*://\),\1,g" ' . '/var/tmp/rocky/etc/yum.repos.d/Rocky-BaseOS.repo'; + assert_script_run 'sed -i -e "s/^mirrorlist/#mirrorlist/g;s,^#\(baseurl=http[s]*://\),\1,g" ' . '/var/tmp/rocky/etc/yum.repos.d/Rocky-AppStream.repo'; + assert_script_run 'sed -i -e "s/^mirrorlist/#mirrorlist/g;s,^#\(baseurl=http[s]*://\),\1,g" ' . '/var/tmp/rocky/etc/yum.repos.d/Rocky-Extras.repo'; + assert_script_run 'sed -i -e "s/^mirrorlist/#mirrorlist/g;s,^#\(baseurl=http[s]*://\),\1,g" ' . '/var/tmp/rocky/etc/yum.repos.d/Rocky-Devel.repo'; + } else { + script_run 'sed -i -e "s/^mirrorlist/#mirrorlist/g;s/^#baseurl/baseurl/g" ' . '/var/tmp/rocky/etc/yum.repos.d/rocky.repo'; + script_run 'sed -i -e "s/^mirrorlist/#mirrorlist/g;s/^#baseurl/baseurl/g" ' . '/var/tmp/rocky/etc/yum.repos.d/rocky-addons.repo'; + script_run 'sed -i -e "s/^mirrorlist/#mirrorlist/g;s/^#baseurl/baseurl/g" ' . '/var/tmp/rocky/etc/yum.repos.d/rocky-devel.repo'; + script_run 'sed -i -e "s/^mirrorlist/#mirrorlist/g;s/^#baseurl/baseurl/g" ' . '/var/tmp/rocky/etc/yum.repos.d/rocky-extras.repo'; + } + # If we're pointing at Staging via alternate DNF_CONTENTDIR then modify dnf vars in /var/tmp/rocky + if ($contentdir) { + assert_script_run 'printf "%s\n" ' . $contentdir . ' > ' . '/var/tmp/rocky/etc/dnf/vars/contentdir'; + } + assert_script_run "dnf -y --releasever=$ourversion --refresh --installroot=/var/tmp/rocky install shim-x64 grub2-efi-x64", 1800; # copy bootloader files to tftp root @@ -49,12 +69,9 @@ sub _pxe_setup { assert_script_run "cp /var/tmp/rocky/boot/efi/EFI/rocky/{shimx64.efi,shimx64-rocky.efi,grubx64.efi} /var/lib/tftpboot"; # bootloader configs # BIOS - assert_script_run "printf 'default vesamenu.c32\nprompt 1\ntimeout 600\n\nlabel linux\n menu label ^Install Rocky Linux 64-bit\n menu default\n kernel rocky/vmlinuz\n append initr -d=rocky/initrd.img inst.ks=file:///ks.cfg ip=dhcp\nlabel local\n menu label Boot from ^local drive\n localboot 0xffff\n' >> /var/lib/tftpboot/pxelinux.cfg/default"; + assert_script_run "printf 'default vesamenu.c32\nprompt 1\ntimeout 600\n\nlabel linux\n menu label ^Install Rocky Linux 64-bit\n menu default\n kernel rocky/vmlinuz\n append initrd=rocky/initrd.img inst.ks=file:///ks.cfg ip=dhcp\nlabel local\n menu label Boot from ^local drive\n localboot 0xffff\n' >> /var/lib/tftpboot/pxelinux.cfg/default"; # UEFI - assert_script_run "printf 'function load_video {\n insmod efi_gop\n insmod efi_uga\n insmod ieee1275_fb\n insmod vbe\n insmod vga\n insmod video_bochs\n insmod video_cirrus\n}\ -n\nload_video\nset gfxpayload=keep\ninsmod gzio\n\nmenuentry \"Install Rocky Linux 64-bit\" --class rocky --class gnu-linux --class gnu --class os {\n linuxefi rocky/vmlinuz ip=dhcp inst.ks= -file:///ks.cfg\n initrdefi rocky/initrd.img\n}' >> /var/lib/tftpboot/grub.cfg"; + assert_script_run "printf 'function load_video {\n insmod efi_gop\n insmod efi_uga\n insmod ieee1275_fb\n insmod vbe\n insmod vga\n insmod video_bochs\n insmod video_cirrus\n}\n\nload_video\nset gfxpayload=keep\ninsmod gzio\n\nmenuentry \"Install Rocky Linux 64-bit\" --class rocky --class gnu-linux --class gnu --class os {\n linuxefi rocky/vmlinuz ip=dhcp inst.ks=file:///ks.cfg\n initrdefi rocky/initrd.img\n}' >> /var/lib/tftpboot/grub.cfg"; # DEBUG DEBUG upload_logs "/etc/dnsmasq.conf"; upload_logs "/var/lib/tftpboot/grub.cfg"; @@ -97,7 +114,7 @@ file:///ks.cfg\n initrdefi rocky/initrd.img\n}' >> /var/lib/tftpboot/grub.cfg"; # https://fedoraproject.org/wiki/QA:Testcase_Kickstart_File_Path_Ks_Cfg assert_script_run "curl -o ks.cfg https://git.rockylinux.org/tcooper/kickstarts/-/raw/main/root-user-crypted-net.ks"; # tweak the repo config in it - assert_script_run "sed -i -e 's,^url.*,nfs --server=nfs://172.16.2.110 --dir=/repo --opts=nfsver=4,g' ks.cfg"; + assert_script_run "sed -i -e 's,^url.*,nfs --server=nfs://172.16.2.110 --dir=/repo,g' ks.cfg"; # embed it assert_script_run "echo ks.cfg | cpio -c -o >> /var/lib/tftpboot/rocky/initrd.img"; # chown root @@ -109,6 +126,7 @@ file:///ks.cfg\n initrdefi rocky/initrd.img\n}' >> /var/lib/tftpboot/grub.cfg"; sub run { my $self = shift; + my $contentdir = get_var("DNF_CONTENTDIR"); # disable systemd-resolved, it conflicts with dnsmasq unless (script_run "systemctl is-active systemd-resolved.service") { script_run "systemctl stop systemd-resolved.service"; @@ -148,8 +166,20 @@ sub run { # create the file share assert_script_run "mkdir -p /export"; - # get the kickstart - assert_script_run "curl -o /export/root-user-crypted-net.ks https://git.rockylinux.org/tcooper/kickstarts/-/raw/main/root-user-crypted-net.ks"; + # get the kickstart or kickstart template and replace content + if ($contentdir) { + my $releasever = get_var("DNF_RELEASEVAR"); + assert_script_run "curl -o /export/root-user-crypted-net.ks https://git.rockylinux.org/tcooper/kickstarts/-/raw/main/root-user-crypted-net-template.ks"; + # Tweak the kickstart template + if ($releasever) { + assert_script_run "sed -e 's,DNF_CONTENTDIR," . $contentdir . ",g;s,DNF_RELEASEVER," . $releasever . ",g' ks.cfg"; + } else { + my $version = get_var("VERSION"); + assert_script_run "sed -e 's,DNF_CONTENTDIR," . $contentdir . ",g;s,DNF_RELEASEVER," . $version . ",g' ks.cfg"; + } + } else { + assert_script_run "curl -o /export/root-user-crypted-net.ks https://git.rockylinux.org/tcooper/kickstarts/-/raw/main/root-user-crypted-net.ks"; + } # for update tests, set up the update repository and export it if (get_var("ADVISORY_OR_TASK")) { assert_script_run "echo '/opt/update_repo 172.16.2.0/24(ro)' >> /etc/exports"; @@ -176,8 +206,14 @@ sub run { assert_script_run "printf '/export 172.16.2.0/24(ro)\n/repo 172.16.2.0/24(ro)\n/iso 172.16.2.0/24(ro)' > /etc/exports"; } - # open firewall port - assert_script_run "firewall-cmd --add-service=nfs"; + # configure nfsv3 ports + assert_script_run "printf '[lockd]\nport=5555\n\n[statd]\nport=6666\n' > /etc/nfs.conf"; + + # configure firewall + assert_script_run "firewall-cmd --add-service={nfs,rpc-bind,mountd}"; + assert_script_run "firewall-cmd --add-port={5555/tcp,5555/udp,6666/tcp,6666/udp}"; + assert_script_run "firewall-cmd --reload"; + # start the server assert_script_run "systemctl restart nfs-server.service"; assert_script_run "systemctl is-active nfs-server.service"; diff --git a/tests/toolbox.pm b/tests/toolbox.pm new file mode 100644 index 00000000..92d1a3bf --- /dev/null +++ b/tests/toolbox.pm @@ -0,0 +1,41 @@ +# does a basic test of toolbox +use base "installedtest"; +use strict; +use testapi; +use utils; + +sub run { + my $self = shift; + my $version_major = get_version_major(); + assert_script_run "dnf install toolbox --assumeyes", 360 unless (get_var("CANNED")); + assert_script_run "rpm -q toolbox"; + assert_script_run "toolbox create container_rl -y", 300; + assert_script_run "toolbox list | grep container_rl"; + validate_script_output "toolbox run --container container_rl uname -a", sub { m/Linux toolbox/ }; + validate_script_output "toolbox run --container container_rl cat /etc/rocky-release", sub { m/Rocky Linux release $version_major/ }; + type_string "toolbox enter container_rl\n"; + assert_screen "console_in_toolbox", 180; + type_string "exit\n"; + sleep 5; + assert_script_run "clear"; + assert_script_run 'podman stop container_rl'; + assert_script_run "toolbox rm container_rl"; + assert_script_run "toolbox rmi --all --force"; + # pull fedora here as a quick test + assert_script_run "toolbox -y create --distro fedora --release 39", 300; + type_string "toolbox enter fedora-toolbox-39\n"; + assert_screen "console_in_toolbox", 180; + type_string "exit\n"; + sleep 5; + validate_script_output "toolbox run --distro fedora --release 39 cat /etc/fedora-release", sub { m/Fedora release 39 \(Thirty Nine\)/ }; + # clean up + assert_script_run 'podman stop fedora-toolbox-39'; + assert_script_run "toolbox rm fedora-toolbox-39"; + assert_script_run "toolbox rmi --all --force"; +} + +sub test_flags { + return {fatal => 1}; +} + +1; diff --git a/tests/uefi_postinstall.pm b/tests/uefi_postinstall.pm index 9b458a3c..0ed19fad 100644 --- a/tests/uefi_postinstall.pm +++ b/tests/uefi_postinstall.pm @@ -13,6 +13,8 @@ sub run { console_loadkeys_us; # this test shows if the system is booted with efi assert_script_run '[ -d /sys/firmware/efi/ ]'; + # this test shows if the system is secure boot + script_run 'mokutil --sb-state'; } sub test_flags { diff --git a/tests/upgrade_preinstall.pm b/tests/upgrade_preinstall.pm index 76ee830f..a2cdfab9 100644 --- a/tests/upgrade_preinstall.pm +++ b/tests/upgrade_preinstall.pm @@ -13,7 +13,6 @@ sub run { if (index($testname, "upgrade_2") != -1) { $version = get_var("UP2REL"); } - setup_workaround_repo $version; assert_script_run 'dnf -y update --refresh', 1800; script_run "reboot", 0;