Actions
action #152695
open[qe-core] Test ssh login on for root at localhost
Status:
Feedback
Priority:
Normal
Assignee:
Category:
Enhancement to existing tests
Target version:
Start date:
2023-12-15
Due date:
% Done:
0%
Estimated time:
Difficulty:
Description
While we're testing SSH, it seems that we skipped one important part, particularly for stagings, which led to bsc#1217220 not being catched by our testing.
All in all, we should enable two different tests:
1- password login
2- ssh-key login
Acceptance Criteria¶
- New test scenario called Authentication Stack is created
- Testsuite is enabled in All of osd stagings.
- Testsuite is enabled for maintenance incidents.
- Testsuite is enabled for maintenance incidents.
- PR is created to enable this test for Microos and Leap Micro (request review from Dimstar before enabling)
Order of importance¶
- Microos
- ALP
- Leap
- SLE
Notes¶
- It is important NOT to modify
/etc/ssh/sshd_config
but rather to apply the changes on its own file i.e/etc/ssh/sshd_config.d/99-bsc1217220.conf
to ensure loading of config files is not broken or disabled without knowing. - The test should be local only (i.e ssh root@localhost)
The test doesn't really need to do much, other than the login with password and with ssh key, I see that we do or have tests for this in quite few places, but we also have tests/console/sshd.pm
which doesn't seeem to cover this case, however it would be great to either adapt it, or come up with a test module that is self contained, and aware of transactional systems
foursixnine@pakhet os-autoinst-distri-opensuse % ag 'PermitRootLogin' -C3 lib
lib/utils.pm
2506-
2507-sub permit_root_ssh {
2508- if (is_sle('<16') || is_leap('<16.0')) {
2509: my $results = script_run("grep 'PermitRootLogin yes' /etc/ssh/sshd_config");
2510- if (!$results) {
2511: assert_script_run("sed -i 's/^PermitRootLogin.*\$/PermitRootLogin yes/' /etc/ssh/sshd_config");
2512- assert_script_run("systemctl restart sshd");
2513- }
2514- }
2515- else {
2516: assert_script_run("echo 'PermitRootLogin yes' > /etc/ssh/sshd_config.d/root.conf");
2517- assert_script_run("systemctl restart sshd");
2518- }
2519-}
--
2521-=head2 permit_root_ssh_in_sol
2522- permit_root_ssh_in_sol();
2523-
2524:for ipmi backend, PermitRootLogin has to be set in sol console
2525-however, assert_script_run and script_run is not stable in sole console
2526-enter_cmd or type_string are acceptable
2527-
--
2531- my $sshd_config_file = shift;
2532-
2533- $sshd_config_file //= "/etc/ssh/sshd_config";
2534: enter_cmd("[ `grep \"^PermitRootLogin *yes\" $sshd_config_file | wc -l` -gt 0 ] || (echo 'PermitRootLogin yes' >>$sshd_config_file; systemctl restart sshd)", wait_still_screen => 5);
2535-}
2536-
2537-=head2 cleanup_disk_space
Actions