From 5f5021530dd20f7c9ecf8e493cc6b8a31c4903ee Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Tue, 28 Jun 2016 12:00:13 -0700 Subject: [PATCH] add a realmd_join_sssd test, and use DHCP for it and cockpit Summary: This is a pretty straightforward IPA joining test. Since I figured out how to set up a DHCP server for support_server, let's do the same for the domain controller so we can simplify these enrolment tests a bit. We also extend the timeout on installing haveged on the server a bit (2 minutes is a bit low when it hits a slow metadata download), and drop an unnecessary clone_host_file from the cockpit join test (it was only there for testing and the next operation immediately overwrites it). Test Plan: Do a full server DVD test run, check the new test works and none of the others broke. Reviewers: garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D894 --- templates | 26 +++++++++++++++++ tests/realmd_join_cockpit_postinstall.pm | 2 -- tests/realmd_join_sssd_postinstall.pm | 36 ++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 tests/realmd_join_sssd_postinstall.pm diff --git a/templates b/templates index f2b82d7e..073a80c9 100755 --- a/templates +++ b/templates @@ -391,6 +391,17 @@ }, test_suite => { name => "realmd_join_cockpit" }, }, + { + machine => { name => "64bit" }, + prio => 30, + product => { + arch => "x86_64", + distri => "fedora", + flavor => "Server-dvd-iso", + version => "*", + }, + test_suite => { name => "realmd_join_sssd" }, + }, { machine => { name => "64bit" }, prio => 10, @@ -1840,6 +1851,21 @@ { key => "WORKER_CLASS", value => "tap" }, ], }, + { + name => "realmd_join_sssd", + settings => [ + { key => "POSTINSTALL", value => "realmd_join_sssd freeipa_client" }, + { key => "USER_LOGIN", value => "false" }, + { key => "ROOT_PASSWORD", value => "weakpassword" }, + { key => "START_AFTER_TEST", value => "install_default_upload" }, + { key => "PARALLEL_WITH", value => "server_role_deploy_domain_controller" }, + { key => "BOOTFROM", value => "c" }, + { key => "HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" }, + { key => "GRUB_POSTINSTALL", value => "net.ifnames=0 biosdevname=0" }, + { key => "NICTYPE", value => "tap" }, + { key => "WORKER_CLASS", value => "tap" }, + ], + }, { name => "desktop_terminal", settings => [ diff --git a/tests/realmd_join_cockpit_postinstall.pm b/tests/realmd_join_cockpit_postinstall.pm index 8ce53ef0..74742784 100644 --- a/tests/realmd_join_cockpit_postinstall.pm +++ b/tests/realmd_join_cockpit_postinstall.pm @@ -11,8 +11,6 @@ sub run { $self->clone_host_file("/etc/hosts"); # set up networking $self->setup_tap_static("10.0.2.102", "client002.domain.local"); - # test - $self->clone_host_file("/etc/resolv.conf"); # use FreeIPA server as DNS server assert_script_run "printf 'search domain.local\nnameserver 10.0.2.100' > /etc/resolv.conf"; # wait for the server to be ready (do it now just to make sure name diff --git a/tests/realmd_join_sssd_postinstall.pm b/tests/realmd_join_sssd_postinstall.pm new file mode 100644 index 00000000..6ea53315 --- /dev/null +++ b/tests/realmd_join_sssd_postinstall.pm @@ -0,0 +1,36 @@ +use base "installedtest"; +use strict; +use testapi; +use lockapi; + +sub run { + my $self=shift; + # clone host's /etc/hosts (for phx2 internal routing to work) + # must come *before* setup_tap_static or else it would overwrite + # its changes + $self->clone_host_file("/etc/hosts"); + # set up networking + $self->setup_tap_static("10.0.2.103", "client003.domain.local"); + # use FreeIPA server as DNS server + assert_script_run "printf 'search domain.local\nnameserver 10.0.2.100' > /etc/resolv.conf"; + # wait for the server to be ready (do it now just to make sure name + # resolution is working before we proceed) + mutex_lock "freeipa_ready"; + mutex_unlock "freeipa_ready"; + # disable updates-testing + assert_script_run 'dnf config-manager --set-disabled updates-testing'; + # do the enrolment + assert_script_run "echo 'monkeys123' | realm join --user=admin ipa001.domain.local", 300; +} + +sub test_flags { + # without anything - rollback to 'lastgood' snapshot if failed + # 'fatal' - whole test suite is in danger if this fails + # 'milestone' - after this test succeeds, update 'lastgood' + # 'important' - if this fails, set the overall state to 'fail' + return { fatal => 1 }; +} + +1; + +# vim: set sw=4 et: