From f060f31b463d6bff25fa9d51936abafe6f8f3a9d Mon Sep 17 00:00:00 2001 From: Jozef Pupava Date: Thu, 31 Aug 2023 15:10:21 +0200 Subject: [PATCH 1/2] Update code for Teradata flavor without SCC reg -disable SCC registration for Teradata in autoyast profiles -update condition in is_updates_tests to accept Teradata Updates -update condition in is_using_system_role to schedule system_role -add next key in registration test when registration is skipper & update behavior add_update_test_repo -don't auto set SCC_REGISTER=installation for Teradata FLAVOR -enable/refresh basesystem ISO repo after installation in patch_and_reboot and install_update and update_install https://progress.opensuse.org/issues/131498 --- data/autoyast_qam/15-common_base_installation.xml.ep | 5 +++++ data/autoyast_qam/15_installation.xml.ep | 5 +++++ lib/main_common.pm | 2 +- lib/registration.pm | 2 ++ lib/version_utils.pm | 2 +- products/sle/main.pm | 2 +- tests/installation/add_update_test_repo.pm | 12 ++++++++++-- tests/qa_automation/patch_and_reboot.pm | 1 + tests/qam-minimal/install_update.pm | 2 ++ tests/qam-updinstall/update_install.pm | 1 + 10 files changed, 29 insertions(+), 5 deletions(-) diff --git a/data/autoyast_qam/15-common_base_installation.xml.ep b/data/autoyast_qam/15-common_base_installation.xml.ep index a1fe477fdf79..5af54ead5d3a 100644 --- a/data/autoyast_qam/15-common_base_installation.xml.ep +++ b/data/autoyast_qam/15-common_base_installation.xml.ep @@ -2,7 +2,12 @@ + % unless ($check_var->('FLAVOR', 'Server-DVD-Updates-TERADATA') or $check_var->('FLAVOR', 'Server-DVD-Incidents-TERADATA')) { true + % } + % if ($check_var->('FLAVOR', 'Server-DVD-Updates-TERADATA') or $check_var->('FLAVOR', 'Server-DVD-Incidents-TERADATA')) { + false + % } <%= $get_var->('SCC_EMAIL') %> <%= $get_var->('SCC_REGCODE') %> true diff --git a/data/autoyast_qam/15_installation.xml.ep b/data/autoyast_qam/15_installation.xml.ep index f10a44afdff1..7a607eaac6db 100644 --- a/data/autoyast_qam/15_installation.xml.ep +++ b/data/autoyast_qam/15_installation.xml.ep @@ -2,7 +2,12 @@ + % unless ($check_var->('FLAVOR', 'Server-DVD-Updates-TERADATA') or $check_var->('FLAVOR', 'Server-DVD-Incidents-TERADATA')) { true + % } + % if ($check_var->('FLAVOR', 'Server-DVD-Updates-TERADATA') or $check_var->('FLAVOR', 'Server-DVD-Incidents-TERADATA')) { + false + % } <%= $get_var->('SCC_EMAIL') %> <%= $get_var->('SCC_REGCODE') %> true diff --git a/lib/main_common.pm b/lib/main_common.pm index 1ce1531d2aab..e5d38d8682e5 100644 --- a/lib/main_common.pm +++ b/lib/main_common.pm @@ -312,7 +312,7 @@ sub is_updates_tests { my $flavor = get_var('FLAVOR'); return 0 unless $flavor; # Incidents might be also Incidents-Gnome or Incidents-Kernel - return $flavor =~ /-Updates$/ || $flavor =~ /-Incidents/; + return $flavor =~ /-Updates/ || $flavor =~ /-Incidents/; } sub is_migration_tests { diff --git a/lib/registration.pm b/lib/registration.pm index eefa025ce92d..b14e90d62147 100644 --- a/lib/registration.pm +++ b/lib/registration.pm @@ -795,6 +795,8 @@ sub skip_registration { } elsif (match_has_tag('scc-skip-reg-warning-yes')) { send_key "alt-y"; # confirmed skip SCC registration + wait_still_screen; + send_key $cmd{next}; } } diff --git a/lib/version_utils.pm b/lib/version_utils.pm index 8c826cc5e920..04b6836d9365 100644 --- a/lib/version_utils.pm +++ b/lib/version_utils.pm @@ -578,7 +578,7 @@ sub is_using_system_role { && (install_this_version() || install_to_other_at_least('12-SP2')) || (is_sles4sap() && main_common::is_updates_test_repo()) || is_sle('=15') - || (is_sle('>15') && (check_var('SCC_REGISTER', 'installation') || get_var('ADDONS') || get_var('ADDONURL'))) + || (is_sle('>15') && (check_var('SCC_REGISTER', 'installation') || get_var('ADDONS') || get_var('ADDONURL') || get_var('FLAVOR') =~ /TERADATA/)) || (is_sle('15-SP2+') && check_var('FLAVOR', 'Full')) || (is_opensuse && !is_leap('<15.1')) # Also on leap 15.1, TW, MicroOS } diff --git a/products/sle/main.pm b/products/sle/main.pm index 6474b725313b..c5a054360602 100644 --- a/products/sle/main.pm +++ b/products/sle/main.pm @@ -355,7 +355,7 @@ if (is_updates_test_repo && !get_var('MAINT_TEST_REPO')) { my $repos = join_incidents_to_repo(\%incidents); set_var('MAINT_TEST_REPO', $repos); - set_var('SCC_REGISTER', 'installation'); + set_var('SCC_REGISTER', 'installation') unless get_var('FLAVOR') =~ /TERADATA/; } if (get_var('ENABLE_ALL_SCC_MODULES') && !get_var('SCC_ADDONS')) { diff --git a/tests/installation/add_update_test_repo.pm b/tests/installation/add_update_test_repo.pm index 866056f70eb9..509d3b5c77a8 100644 --- a/tests/installation/add_update_test_repo.pm +++ b/tests/installation/add_update_test_repo.pm @@ -20,8 +20,16 @@ sub run() { set_var('SKIP_INSTALLER_SCREEN', 0); } - assert_screen('inst-addon', 60); - send_key 'alt-k'; # install with a maint update repo + if (!check_var('SCC_REGISTER', 'installation')) { + assert_screen('module-selection'); + send_key $cmd{next}; + assert_screen('addon-products'); + send_key 'alt-a'; + } + else { + assert_screen('inst-addon', 60); + send_key 'alt-k'; # install with a maint update repo + } set_var('MAINT_TEST_REPO', get_var('INCIDENT_REPO')) if get_var('INCIDENT_REPO'); my @repos = split(/,/, get_var('MAINT_TEST_REPO')); diff --git a/tests/qa_automation/patch_and_reboot.pm b/tests/qa_automation/patch_and_reboot.pm index aa6f0bb7032d..6dd177036a34 100644 --- a/tests/qa_automation/patch_and_reboot.pm +++ b/tests/qa_automation/patch_and_reboot.pm @@ -38,6 +38,7 @@ sub run { quit_packagekit unless check_var('DESKTOP', 'textmode'); zypper_call(q{mr -d $(zypper lr | awk -F '|' '{IGNORECASE=1} /nvidia/ {print $2}')}, exitcode => [0, 3]); + zypper_call(q{mr -e $(zypper lr | awk -F '|' '/Basesystem-Module/ {print $2}')}, exitcode => [0, 3]) if get_var('FLAVOR') =~ /TERADATA/; add_test_repositories; diff --git a/tests/qam-minimal/install_update.pm b/tests/qam-minimal/install_update.pm index 541685043531..80997a9e01b5 100644 --- a/tests/qam-minimal/install_update.pm +++ b/tests/qam-minimal/install_update.pm @@ -30,6 +30,8 @@ sub run { my ($self) = @_; select_serial_terminal; + zypper_call(q{mr -e $(zypper lr | awk -F '|' '/Basesystem-Module/ {print $2}')}, exitcode => [0, 3]) if get_var('FLAVOR') =~ /TERADATA/; + # shim update will fail with old grub2 due to old signature if (get_var('MACHINE') =~ /uefi/ && !is_transactional) { zypper_call('up grub2 grub2-x86_64-efi kernel-default'); diff --git a/tests/qam-updinstall/update_install.pm b/tests/qam-updinstall/update_install.pm index b5e00e99ab8c..aa049ae6ac98 100644 --- a/tests/qam-updinstall/update_install.pm +++ b/tests/qam-updinstall/update_install.pm @@ -114,6 +114,7 @@ sub run { my $zypper_version = script_output(q(rpm -q zypper|awk -F. '{print$2}')); zypper_call(q{mr -d $(zypper lr | awk -F '|' '/NVIDIA/ {print $2}')}, exitcode => [0, 3]); + zypper_call(q{mr -f $(zypper lr | awk -F '|' '/SLES15-SP4-15.4-0/ {print $2}')}, exitcode => [0, 3]) if get_var('FLAVOR') =~ /TERADATA/; zypper_call("ar -f http://dist.suse.de/ibs/SUSE/Updates/SLE-Live-Patching/12-SP3/" . get_var('ARCH') . "/update/ sle-module-live-patching:12-SP3::update") if is_sle('=12-SP3'); # Extract module name from repo url. From bd09595b41c87e5424047554630b0e79bd26f9c5 Mon Sep 17 00:00:00 2001 From: Jozef Pupava Date: Mon, 4 Sep 2023 18:45:25 +0200 Subject: [PATCH 2/2] grub2_test: Ignore zfs check https://suse.slack.com/archives/C02D16TCP99/p1693844948507519 --- tests/boot/grub2_test.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/boot/grub2_test.pm b/tests/boot/grub2_test.pm index 7d42e69e06c4..8da20f78be2c 100644 --- a/tests/boot/grub2_test.pm +++ b/tests/boot/grub2_test.pm @@ -96,7 +96,7 @@ sub run { select_console 'root-console'; } - if (is_sle('15+')) { + if (is_sle('15+') && get_var('FLAVOR') !~ /TERADATA/) { record_info 'grub2 zfs', 'ensure that zfs in grub2 is not available on SLE 15+ but on openSUSE'; assert_script_run 'zypper se grub2- | grep extras ; test "$?" == "1"'; assert_script_run 'rpm -qa | grep grub2 | xargs rpm -ql | grep zfs ; test "$?" == "1"';