diff --git a/data/publiccloud/restart_instance.sh b/data/publiccloud/restart_instance.sh index b2cf8cf05ef5..5f3b0736e4f7 100755 --- a/data/publiccloud/restart_instance.sh +++ b/data/publiccloud/restart_instance.sh @@ -16,9 +16,8 @@ wait_for_power_off() tries=$((tries - 1)) [ "$tries" -lt 1 ] && return 1; echo "waiting for power off" - sleep 1; + sleep 1 done - return 0; } wait_for_power_on() @@ -32,7 +31,6 @@ wait_for_power_on() echo "waiting for power on" sleep 1; done - return 0; } if [ $# -lt 3 ]; then @@ -71,6 +69,7 @@ esac wait_for_power_off "$HOST" "$CNT" wait_for_power_on "$HOST" "$CNT" echo "Instance $INSTANCE_ID restarted"; +sleep 5 # need pause for slow SUT to fully initialize sshd ## Not needed, because the log_instance.sh does not depend on the running instance ## Leaving it here in case we need to revert it. If no issues arise, this can be ## removed after some time. diff --git a/lib/publiccloud/instance.pm b/lib/publiccloud/instance.pm index 3f5ef5d63f46..078e88894e5d 100644 --- a/lib/publiccloud/instance.pm +++ b/lib/publiccloud/instance.pm @@ -264,6 +264,31 @@ sub upload_log { assert_script_run("test -d '$tmpdir' && rm -rf '$tmpdir'"); } +=head2 upload_check_logs_tar + + upload_check_logs_tar(@files); + +Check remote log files status and upload tar.gz of only ok logs, to oqa UI. + +Input: C<@files> full-path-files array; + +Return C<1> true explicit, as stateless and never impact calling code. + +=cut + +sub upload_check_logs_tar { + my ($self, @files) = @_; + my $remote_tar = $autotest::current_test->{name}; + $remote_tar = "/tmp/" . $remote_tar . "_logs.tar.gz"; + my $res = $self->ssh_script_output(cmd => 'sudo ls ' . join(' ', @files) . ' 2>/dev/null', proceed_on_failure => 1); + return 1 unless ($res); + + # Upload existing logs to openqa UI + $res = $self->ssh_script_run(cmd => "sudo tar -czvf $remote_tar $res", proceed_on_failure => 1); + $self->upload_log("$remote_tar", log_name => basename($remote_tar), failok => 1) if ($res); + return 1; +} + =head2 wait_for_guestregister wait_for_guestregister([timeout => 300]); @@ -616,12 +641,12 @@ sub measure_boottime() { $ret->{kernel_release} = $instance->run_ssh_command(cmd => 'uname -r', proceed_on_failure => 1); $ret->{kernel_version} = $instance->run_ssh_command(cmd => 'uname -v', proceed_on_failure => 1); - # Do logging to openqa UI $Data::Dumper::Sortkeys = 1; - record_info("RESULTS", Dumper($ret)); + my $dir = "/var/log"; my @logs = qw(cloudregister cloud-init.log cloud-init-output.log messages NetworkManager); - $instance->run_ssh_command(cmd => 'sudo chmod a+r ' . join(' ', map { "/var/log/$_" } @logs)); - $instance->upload_log("/var/log/" . $_, log_name => 'measure_boottime_' . $_ . '.txt', failok => 1) foreach (@logs); + $instance->upload_check_logs_tar(map { "$dir/$_" } @logs); + + record_info("RESULTS", Dumper($ret)); return $ret; } diff --git a/schedule/microos/networkmanager.yaml b/schedule/microos/networkmanager.yaml new file mode 100644 index 000000000000..40ca52697bc6 --- /dev/null +++ b/schedule/microos/networkmanager.yaml @@ -0,0 +1,6 @@ +--- +description: 'NetworkManager test suite for Micro-os' +name: 'microos_networkmanager@x86_64' +schedule: + - microos/disk_boot + - microos/networkmanager diff --git a/schedule/sles4sap/hana/pvm_hana.yaml b/schedule/sles4sap/hana/pvm_hana.yaml index 5a2349bd0aff..280c65ddea96 100644 --- a/schedule/sles4sap/hana/pvm_hana.yaml +++ b/schedule/sles4sap/hana/pvm_hana.yaml @@ -71,6 +71,12 @@ conditional_schedule: 15-SP5: - installation/system_role - installation/sles4sap_product_installation_mode + 15-SP6: + - installation/system_role + - installation/sles4sap_product_installation_mode + 15-SP7: + - installation/system_role + - installation/sles4sap_product_installation_mode sles4sap12_desktop: VERSION: 12-SP2: diff --git a/schedule/sles4sap/hana/pvm_hana_cluster_node.yaml b/schedule/sles4sap/hana/pvm_hana_cluster_node.yaml index 90dc9d108cd9..0723e687886d 100644 --- a/schedule/sles4sap/hana/pvm_hana_cluster_node.yaml +++ b/schedule/sles4sap/hana/pvm_hana_cluster_node.yaml @@ -140,6 +140,12 @@ conditional_schedule: 15-SP5: - installation/system_role - installation/sles4sap_product_installation_mode + 15-SP6: + - installation/system_role + - installation/sles4sap_product_installation_mode + 15-SP7: + - installation/system_role + - installation/sles4sap_product_installation_mode sles4sap12_desktop: VERSION: 12-SP2: diff --git a/schedule/yast/installer_extended/installer_extended_x86_64.yaml b/schedule/yast/installer_extended/installer_extended_x86_64.yaml index 0b86c6f3ff0b..7e70e5534f7c 100644 --- a/schedule/yast/installer_extended/installer_extended_x86_64.yaml +++ b/schedule/yast/installer_extended/installer_extended_x86_64.yaml @@ -47,7 +47,7 @@ test_data: - language: Czech text: Licenční smlouva s koncovým uživatelem - language: English (US) - text: End User License Agreement for SUSE Products + text: End User License Agreement for SUSE Software - language: French text: Contrat de licence utilisateur final - language: German @@ -57,13 +57,13 @@ test_data: - language: Japanese text: エンドユーザ使用許諾契約 - language: Korean - text: SUSE 제품에 관한 + text: SUSE 소프트웨어 - language: Portuguese (Brazilian) text: Contrato de Licença para Usuário Final - language: Russian text: Лицензионное соглашение - language: Simplified Chinese - text: SUSE 产品 + text: SUSE 软件 - language: Spanish text: Acuerdo de licencia de usuario final - language: Traditional Chinese diff --git a/schedule/yast/sle/flows/default_sle15sp4_beta_s390x_kvm.yaml b/schedule/yast/sle/flows/default_sle15sp4_beta_s390x_kvm.yaml deleted file mode 100644 index 6a0b3fd9b843..000000000000 --- a/schedule/yast/sle/flows/default_sle15sp4_beta_s390x_kvm.yaml +++ /dev/null @@ -1,45 +0,0 @@ ---- -# Default ordered sequence of steps for sle15sp4 with maintenance updates -bootloader: - - installation/bootloader_start -setup_libyui: - - installation/setup_libyui -access_beta: - - installation/access_beta_distribution -license_agreement: - - installation/licensing/accept_license -registration: - - installation/registration/register_via_scc -extension_module_selection: - - installation/module_registration/register_extensions_and_modules -add_on_product: - - installation/add_on_product/add_maintenance_repos -system_role: - - installation/system_role/accept_selected_role_SLES_with_GNOME -suggested_partitioning: - - installation/partitioning/accept_proposed_layout -clock_and_timezone: - - installation/clock_and_timezone/accept_timezone_configuration -local_user: - - installation/authentication/use_same_password_for_root - - installation/authentication/default_user_simple_pwd -software: [] -booting: - - installation/bootloader_settings/disable_boot_menu_timeout -security: - - installation/security/select_security_module_none -installation_settings: - - installation/launch_installation -installation: - - installation/confirm_installation_maintenance - - installation/performing_installation/perform_installation -stop_timeout_system_reboot: - - installation/performing_installation/stop_timeout_system_reboot_now -installation_logs: - - installation/logs_from_installation_system -reboot: - - installation/performing_installation/confirm_reboot - - installation/performing_installation/reconnect_after_reboot - - installation/handle_reboot -first_login: - - installation/first_boot diff --git a/schedule/yast/sle/flows/default_sle15sp4_beta_x86.yaml b/schedule/yast/sle/flows/default_sle15sp4_beta_x86.yaml deleted file mode 100644 index 9d80b71ba8e9..000000000000 --- a/schedule/yast/sle/flows/default_sle15sp4_beta_x86.yaml +++ /dev/null @@ -1,51 +0,0 @@ ---- -# Default ordered sequence of steps for sle15sp4 with maintenance updates -bootloader: - - installation/bootloader_start -setup_libyui: - - installation/setup_libyui -access_beta: - - installation/access_beta_distribution -product_selection: - - installation/product_selection/install_SLES -self_update: [] -license_agreement: - - installation/licensing/accept_license -registration: - - installation/registration/register_via_scc -extension_module_selection: - - installation/module_registration/register_extensions_and_modules -additional_products: - - installation/add_on_product_installation/add_additional_products -add_on_product: - - installation/add_on_product/skip_install_addons -system_role: - - installation/system_role/accept_selected_role_SLES_with_GNOME -suggested_partitioning: - - installation/partitioning/accept_proposed_layout -clock_and_timezone: - - installation/clock_and_timezone/accept_timezone_configuration -local_user: - - installation/authentication/use_same_password_for_root - - installation/authentication/default_user_simple_pwd -software: [] -default_systemd_target: - - installation/installation_settings/validate_default_target -booting: - - installation/bootloader_settings/disable_boot_menu_timeout -security: [] -installation_settings: - - installation/launch_installation -installation: - - installation/confirm_installation_maintenance - - installation/performing_installation/perform_installation -installation_logs: - - installation/logs_from_installation_system -confirm_reboot: - - installation/performing_installation/confirm_reboot -grub: - - installation/grub_test -first_login: - - installation/first_boot -system_preparation: [] -system_validation: [] diff --git a/test_data/yast/installer_extended/installer_extended_aarch64.yaml b/test_data/yast/installer_extended/installer_extended_aarch64.yaml index 7781c1dd8cde..03c2b66d5984 100644 --- a/test_data/yast/installer_extended/installer_extended_aarch64.yaml +++ b/test_data/yast/installer_extended/installer_extended_aarch64.yaml @@ -5,7 +5,7 @@ license: - language: Czech text: Licenční smlouva s koncovým uživatelem - language: English (US) - text: End User License Agreement for SUSE Products + text: End User License Agreement for SUSE Software - language: French text: Contrat de licence utilisateur final - language: German @@ -15,13 +15,13 @@ license: - language: Japanese text: エンドユーザ使用許諾契約 - language: Korean - text: SUSE 제품에 관한 + text: SUSE 소프트웨어 - language: Portuguese (Brazilian) text: Contrato de Licença para Usuário Final - language: Russian text: Лицензионное соглашение - language: Simplified Chinese - text: SUSE 产品 + text: SUSE 软件 - language: Spanish text: Acuerdo de licencia de usuario final - language: Traditional Chinese diff --git a/test_data/yast/installer_extended/installer_extended_ppc64le_s390x.yaml b/test_data/yast/installer_extended/installer_extended_ppc64le_s390x.yaml index 2cd92f891694..7e07ded27bdc 100644 --- a/test_data/yast/installer_extended/installer_extended_ppc64le_s390x.yaml +++ b/test_data/yast/installer_extended/installer_extended_ppc64le_s390x.yaml @@ -5,7 +5,7 @@ license: - language: Czech text: Licenční smlouva s koncovým uživatelem - language: English (US) - text: End User License Agreement for SUSE Products + text: End User License Agreement for SUSE Software - language: French text: Contrat de licence utilisateur final - language: German @@ -15,13 +15,13 @@ license: - language: Japanese text: エンドユーザ使用許諾契約 - language: Korean - text: SUSE 제품에 관한 + text: SUSE 소프트웨어 - language: Portuguese (Brazilian) text: Contrato de Licença para Usuário Final - language: Russian text: Лицензионное соглашение - language: Simplified Chinese - text: SUSE 产品 + text: SUSE 软件 - language: Spanish text: Acuerdo de licencia de usuario final - language: Traditional Chinese diff --git a/tests/console/bind.pm b/tests/console/bind.pm index 84b950996e9d..d29e8e51b436 100644 --- a/tests/console/bind.pm +++ b/tests/console/bind.pm @@ -33,7 +33,7 @@ use version_utils qw(package_version_cmp); sub run { select_serial_terminal; - add_suseconnect_product(get_addon_fullname('phub')) if is_sle('15-SP4+'); + add_suseconnect_product(get_addon_fullname('phub')) if is_sle('15-SP2+'); if (is_sle('<=12-SP5')) { # preinstall libopenssl-devel & libmysqlclient-devel because on 12* are multiple versions and zypper can't decide, # perl-IO-Socket-INET6 for reclimit test @@ -79,9 +79,9 @@ sub run { assert_script_run 'runuser -u bernhard -- sh runall.sh -n', 7000; }; if ($@) { + record_info 'Retry:', 'poo#71329'; for (1 .. 3) { eval { - record_info 'Retry: poo#71329'; if (package_version_cmp($bind_version, '9.18.24') < 0) { assert_script_run 'TFAIL=$(awk -F: -e \'/^R:.*:FAIL/ {print$2}\' systests.output)'; assert_script_run 'for t in $TFAIL; do runuser -u bernhard -- sh run.sh $t; done', 2000; @@ -92,7 +92,8 @@ sub run { } }; last unless ($@); - record_info 'Retry', "Failed bind test retry: $_ of 3"; + record_info "Retry $_", "Failed bind test retry: $_ of 3"; + die 'bind testsuite failed, see log' if $@ && $_ == 3; } } # remove loopback interfaces diff --git a/tests/containers/skopeo.pm b/tests/containers/skopeo.pm index 7d51947fedbd..88c187c3fc93 100644 --- a/tests/containers/skopeo.pm +++ b/tests/containers/skopeo.pm @@ -11,7 +11,7 @@ use Mojo::Base 'containers::basetest'; use testapi; use serial_terminal 'select_serial_terminal'; # used in select_serial_terminal use utils 'zypper_call'; # used in zypper_call -use version_utils 'is_transactional'; +use version_utils qw(is_transactional is_vmware); use transactional; use containers::common qw(install_packages); @@ -21,7 +21,7 @@ sub run { # Required packages my @packages = qw(skopeo jq); - select_serial_terminal(); # Select most suitable text console + select_serial_terminal() unless is_vmware; # Select most suitable text console # Set a variable for my remote image my $remote_image = 'registry.suse.com/bci/bci-busybox:latest'; diff --git a/tests/nfs/generate_report.pm b/tests/nfs/generate_report.pm index 466ef1d70b7a..95e84232b453 100644 --- a/tests/nfs/generate_report.pm +++ b/tests/nfs/generate_report.pm @@ -15,15 +15,15 @@ use testapi; use serial_terminal 'select_serial_terminal'; use upload_system_log; -sub display_results { +sub display_pynfs_results { my $self = shift; my $skip = ""; my $pass = ""; my $fail = 0; - my $folder = get_required_var('PYNFS'); + my $version = get_required_var('NFSVERSION'); - assert_script_run("cd ~/pynfs/$folder"); + assert_script_run("cd ~/pynfs/nfs$version"); upload_logs('results.json', failok => 1); my $content = script_output('cat results.json'); @@ -104,7 +104,7 @@ sub run { select_serial_terminal; if (get_var("PYNFS")) { - $self->display_results(); + $self->display_pynfs_results(); } elsif (get_var("CTHON04")) { $self->upload_cthon04_log(); diff --git a/tests/nfs/install.pm b/tests/nfs/install.pm index ebd9a26052e3..c5395312fc15 100644 --- a/tests/nfs/install.pm +++ b/tests/nfs/install.pm @@ -45,10 +45,11 @@ sub install_dependencies_cthon04 { sub install_testsuite { my $testsuite = shift; - if (get_var("PYNFS")) { - my $url = get_var('PYNFS_GIT_URL', 'git://git.linux-nfs.org/projects/cdmackay/pynfs.git'); - my $rel = get_var('PYNFS_RELEASE'); + my ($url, $rel); + if (get_var("PYNFS")) { + $url = get_var('PYNFS_GIT_URL', 'git://git.linux-nfs.org/projects/cdmackay/pynfs.git'); + $rel = get_var('PYNFS_RELEASE'); $rel = "-b $rel" if ($rel); install_dependencies_pynfs; @@ -56,11 +57,18 @@ sub install_testsuite { assert_script_run('./setup.py build && ./setup.py build_ext --inplace'); } elsif (get_var("CTHON04")) { - my $url = get_var('CTHON04_GIT_URL', 'git://git.linux-nfs.org/projects/steved/cthon04.git'); + $url = get_var('CTHON04_GIT_URL', 'git://git.linux-nfs.org/projects/steved/cthon04.git'); + $rel = get_var('CTHON04_RELEASE'); + $rel = "-b $rel" if ($rel); + install_dependencies_cthon04; assert_script_run("git clone -q --depth 1 $url && cd ./cthon04"); assert_script_run('make'); } + else { + die 'PYNFS or CTHON04 variable is mandatory'; + } + record_info('git version', script_output('git log -1 --pretty=format:"git-%h" | tee')); } @@ -88,13 +96,15 @@ sub setup_nfs_server { } sub run { + my $version = get_required_var("NFSVERSION"); + select_serial_terminal; # Disable PackageKit quit_packagekit; install_testsuite; - setup_nfs_server(get_var("NFSVERSION")); + setup_nfs_server($version); } sub test_flags { diff --git a/tests/nfs/pynfs_result.pm b/tests/nfs/pynfs_result.pm index 96401dad0cd9..be056a737299 100644 --- a/tests/nfs/pynfs_result.pm +++ b/tests/nfs/pynfs_result.pm @@ -22,7 +22,7 @@ sub run { my $data = $args->{data}; my $test = $data->{code}; my $message = $data->{failure}->{message}; - my $is_v4 = get_required_var('PYNFS') eq 'nfs4.0'; + my $is_v4 = get_required_var('NFSVERSION') eq '4.0'; my $log = "$message\n\n$data->{failure}->{err}"; my $softfail; diff --git a/tests/nfs/run.pm b/tests/nfs/run.pm index 2f1cda28af07..de701084748c 100644 --- a/tests/nfs/run.pm +++ b/tests/nfs/run.pm @@ -17,19 +17,14 @@ use serial_terminal 'select_serial_terminal'; use utils; use power_action_utils 'power_action'; -sub pynfs_server_test_all { - my $folder = get_required_var('PYNFS'); - - assert_script_run("cd ./$folder"); - script_run('./testserver.py -v --rundeps --hidepass --json results.json --maketree localhost:/exportdir all', 3600); -} - sub run { select_serial_terminal; if (get_var("PYNFS")) { - script_run('cd ~/pynfs'); - pynfs_server_test_all; + my $version = get_required_var('NFSVERSION'); + + assert_script_run("cd ~/pynfs/nfs$version"); + script_run('./testserver.py -v --rundeps --hidepass --json results.json --maketree localhost:/exportdir all', 3600); } elsif (get_var("CTHON04")) { script_run('cd ~/cthon04'); @@ -49,7 +44,8 @@ sub run { BOOT_HDD_IMAGE=1 DESKTOP=textmode HDD_1=SLES-%VERSION%-%ARCH%-%BUILD%@%MACHINE%-minimal_with_sdk%BUILD_SDK%_installed.qcow2 -PYNFS=nfs4.0 +PYNFS=1 +NFSVERSION=4.0 UEFI_PFLASH_VARS=SLES-%VERSION%-%ARCH%-%BUILD%@%MACHINE%-minimal_with_sdk%BUILD_SDK%_installed-uefi-vars.qcow2 START_AFTER_TEST=create_hdd_minimal_base+sdk @@ -59,7 +55,7 @@ Overrides the official pynfs repository URL. =head2 PYNFS_RELEASE -This can be set to a release tag, commit hash, branch name or whatever else Git +This can be set to a release tag, commit hash, branch name or whatever else git will accept. If not set, then the default clone action will be performed, which probably @@ -81,6 +77,14 @@ Fill 3 or 4 in this parameter to set test NFSv3 or NFSv4. =head2 CTHON04_GIT_URL -Similar PYNFS_GIT_URL, it overrides the official cthon04 repository URL. +Overrides the official cthon04 repository URL. + +=head2 CTHON04_RELEASE + +This can be set to a release tag, commit hash, branch name or whatever else git +will accept. + +If not set, then the default clone action will be performed, which probably +means the latest master branch will be used. =cut diff --git a/tests/publiccloud/run_ltp.pm b/tests/publiccloud/run_ltp.pm index 5a3ced14b047..f6af36a99380 100644 --- a/tests/publiccloud/run_ltp.pm +++ b/tests/publiccloud/run_ltp.pm @@ -1,6 +1,6 @@ # SUSE's openQA tests # -# Copyright 2018-2021 SUSE LLC +# Copyright 2018-2024 SUSE LLC # SPDX-License-Identifier: FSFAP # Package: perl-base ltp @@ -12,11 +12,11 @@ use Mojo::Base 'publiccloud::basetest'; use testapi; use utils; use repo_tools 'generate_version'; +use Mojo::File; +use Mojo::JSON; use Mojo::UserAgent; use LTP::utils qw(get_ltproot); use LTP::WhiteList; -use Mojo::File; -use Mojo::JSON; use publiccloud::utils qw(is_byos registercloudguest register_openstack); use publiccloud::ssh_interactive 'select_host_console'; use Data::Dumper; @@ -49,13 +49,11 @@ sub upload_ltp_logs { my $self = shift; my $ltp_testsuite = $self->{ltp_command}; - my $log_file = Mojo::File::path('ulogs/result.json'); + my $log_file = Mojo::File::path('ulogs/results.json'); record_info('LTP Logs', 'upload'); - upload_logs("$root_dir/result.json", log_name => $log_file->basename, failok => 1); - # debug file in the standart LTP log-dir. structure: - script_run("test -f /tmp/runltp.\$USER/latest/debug.log || echo No debug log"); - upload_logs("/tmp/runltp.\$USER/latest/debug.log", failok => 1); + upload_logs("/tmp/kirk.\$USER/latest/results.json", log_name => $log_file->basename, failok => 1); + upload_logs("/tmp/kirk.\$USER/latest/debug.log", log_name => 'debug.txt', failok => 1); return unless -e $log_file->to_string; @@ -131,20 +129,15 @@ sub run { my @skipped = $whitelist->list_skipped_tests($ltp_env, $ltp_command); if (@skipped) { $skip_tests = '^(' . join("|", @skipped) . ')$'; - record_info( - "Exclude", - "Excluding tests: $skip_tests", - ); } } $skip_tests .= '|' . $ltp_exclude if $ltp_exclude; - record_info("Full Exclude", "Excluding tests: $skip_tests"); + record_info("Exclude", "Excluding tests: $skip_tests"); - my $runltp_ng_repo = get_var("LTP_RUN_NG_REPO", "https://github.com/linux-test-project/runltp-ng.git"); - my $runltp_ng_branch = get_var("LTP_RUN_NG_BRANCH", "master"); - record_info('LTP CLONE REPO', "Repo: " . $runltp_ng_repo . "\nBranch: " . $runltp_ng_branch); - - assert_script_run("git clone -q --single-branch -b $runltp_ng_branch --depth 1 $runltp_ng_repo"); + my $kirk_repo = get_var("LTP_RUN_NG_REPO", "https://github.com/linux-test-project/kirk.git"); + my $kirk_branch = get_var("LTP_RUN_NG_BRANCH", "master"); + record_info('LTP RUNNER REPO', "Repo: " . $kirk_repo . "\nBranch: " . $kirk_branch); + assert_script_run("git clone -q --single-branch -b $kirk_branch --depth 1 $kirk_repo"); $instance->run_ssh_command(cmd => 'sudo CREATE_ENTRIES=1 ' . get_ltproot() . '/IDcheck.sh', timeout => 300); record_info('Kernel info', $instance->run_ssh_command(cmd => q(rpm -qa 'kernel*' --qf '%{NAME}\n' | sort | uniq | xargs rpm -qi))); record_info('VM Detect', $instance->run_ssh_command(cmd => 'systemd-detect-virt')); @@ -156,34 +149,34 @@ sub run { assert_script_run($log_start_cmd); - # LTP command line preparation - # The python3-paramiko is too old (2.4 on 15-SP6) - # The python311-paramiko is from SLE-Module-Python3-15-SP5-Updates which we have in PC tools image - zypper_call("in python311-paramiko python311-scp"); + assert_script_run("cd kirk"); + assert_script_run("python3.11 -m venv env311"); + assert_script_run("source env311/bin/activate"); + assert_script_run("pip3.11 install asyncssh msgpack"); my $sut = ':user=' . $instance->username; $sut .= ':sudo=1'; $sut .= ':key_file=$(realpath ' . $instance->provider->ssh_key . ')'; $sut .= ':host=' . $instance->public_ip; - $sut .= ':reset_command=\'' . $reset_cmd . '\''; + $sut .= ':reset_cmd=\'' . $reset_cmd . '\''; $sut .= ':hostkey_policy=missing'; $sut .= ':known_hosts=/dev/null'; - my $cmd = 'python3.11 runltp-ng/runltp-ng '; - $cmd .= "--json-report=$root_dir/result.json "; + my $cmd = 'python3.11 kirk '; + $cmd .= "--framework ltp "; $cmd .= '--verbose '; $cmd .= '--exec-timeout=1200 '; $cmd .= '--suite-timeout=5400 '; - $cmd .= '--run-suite ' . get_required_var('LTP_COMMAND_FILE') . ' '; + $cmd .= '--run-suite ' . $ltp_command . ' '; $cmd .= '--skip-tests \'' . $skip_tests . '\' ' if $skip_tests; $cmd .= '--sut=ssh' . $sut . ' '; $cmd .= '--env ' . $env . ' ' if ($env); + record_info('LTP START', 'Command launch'); - assert_script_run($cmd, timeout => get_var('LTP_TIMEOUT', 30 * 60)); + script_run($cmd, timeout => get_var('LTP_TIMEOUT', 30 * 60)); record_info('LTP END', 'tests done'); } - sub cleanup { my ($self) = @_; @@ -223,4 +216,4 @@ sub gen_ltp_env { =head1 Discussion Test module to run LTP test on publiccloud. The test run on a local qemu instance -and connect to the CSP instance using SSH. This is done via the run_ltp_ssh.pl script. +and connect to the CSP instance using SSH. This is done via the kirk. diff --git a/tests/publiccloud/slem_basic.pm b/tests/publiccloud/slem_basic.pm index 91e7f7463b18..47c56c971001 100644 --- a/tests/publiccloud/slem_basic.pm +++ b/tests/publiccloud/slem_basic.pm @@ -79,15 +79,12 @@ sub run { $instance->softreboot(); $instance->run_ssh_command(cmd => 'rpm -q ' . $test_package); - # cockpit is absent in SLM 6.0 - unless (is_sle_micro('=6.0')) { - # cockpit test - $instance->run_ssh_command(cmd => '! curl localhost:9090'); - $instance->run_ssh_command(cmd => 'sudo systemctl enable --now cockpit.socket'); - $instance->run_ssh_command(cmd => 'systemctl status cockpit.service | grep inactive'); - $instance->run_ssh_command(cmd => 'curl http://localhost:9090'); - $instance->run_ssh_command(cmd => 'systemctl status cockpit.service | grep active'); - } + # cockpit test + $instance->run_ssh_command(cmd => '! curl localhost:9090'); + $instance->run_ssh_command(cmd => 'sudo systemctl enable --now cockpit.socket'); + $instance->run_ssh_command(cmd => 'systemctl status cockpit.service | grep inactive'); + $instance->run_ssh_command(cmd => 'curl http://localhost:9090'); + $instance->run_ssh_command(cmd => 'systemctl status cockpit.service | grep active'); # additional tr-up tests $instance->run_ssh_command(cmd => 'sudo transactional-update -n up', timeout => 360); diff --git a/tests/virt_autotest/install_package.pm b/tests/virt_autotest/install_package.pm index 7b37832407ce..b939a9de6a27 100644 --- a/tests/virt_autotest/install_package.pm +++ b/tests/virt_autotest/install_package.pm @@ -107,7 +107,17 @@ sub install_package { } sub run { + if (is_x86_64) { + script_run("zypper ar -p 80 http://download.suse.de/ibs/home:/Julie_CAO:/branches:/workaround/SLE-15-SP6 workaround"); + script_run("zypper --gpg-auto-import-keys ref -r workaround"); + save_screenshot; + } install_package; + if (is_x86_64) { + script_run("zypper info qa_lib_virtauto"); + script_run("zypper info qa_lib_keys"); + save_screenshot; + } } diff --git a/tests/x11/remote_desktop/onetime_vncsession_xvnc_remmina.pm b/tests/x11/remote_desktop/onetime_vncsession_xvnc_remmina.pm index 37c5001b1231..7bcd1d166f38 100644 --- a/tests/x11/remote_desktop/onetime_vncsession_xvnc_remmina.pm +++ b/tests/x11/remote_desktop/onetime_vncsession_xvnc_remmina.pm @@ -25,7 +25,7 @@ sub run { # Start Remmina and login the remote server x11_start_program('remmina', target_match => 'remmina-launched'); # The remmmina news turned off screen appears since the remmina got updated in 15SP3 - if (is_sle('15-SP3+')) { + if (is_sle('15-SP3+') && is_sle('<=15-SP5')) { assert_screen("remmina-news-turned-off", 60); assert_and_click("remmina-close-news-turned-off"); } @@ -39,7 +39,7 @@ sub run { assert_screen 'remmina-hostkey-setting'; send_key 'z'; assert_screen 'remmina-hostkey-configured'; - send_key 'esc'; + assert_and_click 'remmina-preferences-close'; # Add a new VNC connection assert_and_click 'remmina-plus-button';