Library for non-destructive testing using yast2 lan.
initialize_y2lan();
Initialize yast2 lan. Stop firewalld. Ensure firewalld is stopped. Enable DEBUG. Clear journal.
open_network_settings();
Open yast2 lan module, expecting Overview tab and select first device.
Accept warning for Networkmanager controls network device.
close_network_settings();
Close network settings checking for return code 0 on serial line.
check_network_status([$expected_status], [$device]);
Check network status for device, test connection and DNS. Print journal.log on screen if $expected_status
is restart.
check_device_state($args);
Checks state of the device using ip command, receives keys device
which contains device name and state
which contains expected state of the device.
verify_network_configuration([$fn], [$expected_status], [$dev_name], [$workaround], [$no_network_check]);
$fn
is a reference to the function with the action to be performed.
$dev_name
is device name.
$expected_status
can be restart, no_restart or reload. If undef is set to no_restart.
$workaround
is workaround.
no_network_check
means no network check.
Verify network configurations for: device name, network status, workaround or no network check
Check network status $expected_status
, $workaround
if $no_network_check
is defined
validate_etc_hosts_entry([$args]);
Validate /etc/hosts entries for ip, fqdn, host.
Run record_soft_failure for bsc#1115644 if $args
has not been found in /etc/hosts and print /etc/hosts.
set_network([$args]);
Manually configure network settings or set it to DHCP. $args
can be static, ip, mask, fqdn
check_etc_hosts_update();
Check update of /etc/hosts. In order to target bugs bsc#1115644 and bsc#1052042, we want to run steps:
set static IP and fqdn for first NIC in the list and check format of /etc/hosts
open yast2 lan again and change fqdn, check if /etc/hosts is changed correctly (bsc#1052042)
set it to DHCP
set it again to static with new FQDN and check if /etc/hosts is changed correctly (bsc#1115644)
handle_Networkmanager_controlled();
Handle Networkmanager controls the network configurations. Confirm if a warning popup for Networkmanager controls networking.
handle_dhcp_popup();
Handle DHCP popup, confirm for DHCP popup.
open_yast2_routing();
Open yast2 routing
change_ipforward([$state], [$should_conflict]);
$state
enabled/disabled will used to set the expected needle to match $should_conflict
1 means conflict is expected or 0 otherwise
Open routing module and enable or disable ip_forwarding
open_yast2_lan([$ui]);
$ui
ncurses/qt will used for set yast ui mode
Open yast2 lan, run handle_dhcp_popup() and install and check firewalld
If network is controlled by Networkmanager, don't change any network settings.
close_yast2_lan();
Close yast2 lan configuration and check that it is closed successfully
clear_journal_log();
Makes space for better readability of the console and clears journal.log, so that the existing logs will not interfere with the new ones.
wait_for_xterm_to_be_visible();
The function waits for the already opened xterm to be visible.
Raises failure in case it is not visible after timeout exceeded.
It is used to be sure, that all the yast2 lan windows are closed, so that all further actions in xterm can be made.
close_xterm();
The function kills all the instances of xterm terminal to clear desktop for further tests.