Commit graph

288 commits

Author SHA1 Message Date
Adam Williamson
9df64398ee Add a FreeIPA replication job set
This adds a set of jobs to test FreeIPA replication. We deploy
a server, deploy a replica of that server, then enrol a client
against the replica and run the client tests.

At first I was planning to add the replica testing into the
main set of FreeIPA tests, but the test ordering/blocking (via
mutexes and barriers and what-have-you) just turns into a big
nightmare that way. This way seems rather simpler to deal with.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-08-02 09:59:40 -07:00
Adam Williamson
35caea44bc Revert "Try downgrading softhsm as a workaround for #1607635"
This reverts commit 0289716d70.
Turns out the downgrade doesn't avoid the crash. :(
2018-07-30 11:58:12 -07:00
Adam Williamson
0289716d70 Try downgrading softhsm as a workaround for #1607635
We'd really like to know if FreeIPA is working aside from this
crasher bug, so let's workaround it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-07-30 11:33:02 -07:00
Adam Williamson
acc4ccd7cc Add a sleep to desktop_update_graphical
Try and avoid failure to launch alt-f1 dialog...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-07-30 11:23:59 -07:00
Adam Williamson
a479774026 Correct previous commit
Should be if, not unless...damn exit codes.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-07-23 14:08:37 -07:00
Adam Williamson
3817e7128d Work around RHBZ #1606541 (on Rawhide, not updates)
We kind of want to know if FreeIPA is working aside from this
known bug, so let's treat it as a soft failure and work around
it. But only for Rawhide, not for F27/F28 updates tests.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-07-23 11:12:57 -07:00
Adam Williamson
7621cd7e57 Move the new base_services_start check to the start
...otherwise we actually return before it, if no services fail.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-07-13 14:02:31 -07:00
Adam Williamson
b4cd1b4a9e Check for services deleted to break loops in base_services_start
https://bugzilla.redhat.com/show_bug.cgi?id=1600823 shows a
case where systemd throws a service that would usually have been
started out of the boot process *entirely* in order to resolve a
dependency loop. This means the service won't show up as failed,
it will just be inactive when it should be active. This still
should constitute a failure of this test, so let's add a check
for the log message that indicates this situation.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-07-13 13:37:04 -07:00
Adam Williamson
a362ecb2a0 Add a softfail workaround for #1600823
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-07-13 00:39:53 -07:00
Adam Williamson
9ae2c249f2 Stop using rolekit for database server role on F29+
As for the domain controller role, stop using rolekit on F29+,
as it's going away. Continue using it on <F29.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-07-10 17:54:30 -07:00
Adam Williamson
5999058d07 We should *not* check CURRREL for rolekit in _check
...because by this point in the upgrade test, the system is
upgraded, and rolekit won't be there on F29+.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-07-10 16:21:54 -07:00
Adam Williamson
7e7016ea14 Convert domain controller test not to use rolekit
Rolekit is going away. At least for the F29 cycle, though, we
still want to test basically the same functionality. This ports
the 'domain controller role' test to use ipa-server-install
directly rather than rolectl.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-07-09 19:54:49 -07:00
Adam Williamson
1c1b33840f Work around an anaconda logging bug that showed up today
https://github.com/rhinstaller/anaconda/pull/1519 should fix it
on the anaconda side, till that's merged, we need this.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-06-28 15:13:06 -07:00
Adam Williamson
b81f681f02 Load us console layout in uefi_postinstall too
...since it runs during non-English tests on aarch64.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-06-25 11:28:12 -07:00
Adam Williamson
861ad5d4aa Load us layout before doing post-install aarch64 cmdline hack
It seems that for some reason the localized layout gets loaded
on the installer VTs by this point in time, so we need to load
'us' again for this complex command to work.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-06-25 09:35:56 -07:00
Adam Williamson
8e0764bc80 Brown paper bag fix: need use utils for type_safely
...sigh.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-06-24 17:21:08 -07:00
Adam Williamson
d8f5f56fff Also do 'console=tty0' workaround for rescue boot on aarch64
...sigh, another place this is needed, and it's a bit ugly
here. Ah, well.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-06-24 17:17:10 -07:00
Adam Williamson
e200e29fff Add another #1594402 comment
Just commenting why we do this again.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-06-24 17:16:53 -07:00
Adam Williamson
f30b7517ce Correct the text install workaround for aarch64
I sorta screwed up the brackets there a bit.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-06-24 17:09:19 -07:00
Adam Williamson
ab32b75aba Note bug related to 'console=tty0 quiet' workaround
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-06-22 13:51:03 -07:00
Adam Williamson
1b51987478 Add 'console=tty0' for anaconda text install on aarch64
We need this at least till #1594402 is fixed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-06-22 13:48:36 -07:00
Adam Williamson
4d803eda52 Add 'console=tty0 quiet' to cmdline for aarch64 installs
We need this as part of the fix for #1593028, at least until
the kernel package is changed to no longer have
CONFIG_CMDLINE="console=ttyAMA0" in the config for aarch64
builds. Fully fixing the bug also requires some change to the
kernel or dracut or something.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-06-22 11:56:21 -07:00
Adam Williamson
faef957bac Revert workaround for RHBZ#1553935 now it's fixed
We don't need this any more, so let's remove the complication.
2018-06-18 11:02:08 -07:00
Adam Williamson
6324db0b87 Fix some minor syntax errors in previous commit
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-06-13 10:11:53 -07:00
Lukas Ruzicka
8897fe45a6 Add test for Arabic installation (revisited). 2018-06-13 11:56:26 +02:00
Adam Williamson
bd1b951f71 Bump a magic sleep a bit
Seems we need to wait a bit longer for this stupid transition
to happen on aarch64...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-06-11 15:59:44 -07:00
Adam Williamson
06fbeca281 Avoid unconditional wait for Timbuktu screen in _boot_to_anaconda
The way this currently works, the test unconditionally waits 60
seconds for the "Timbuktu screen" (the warning dialog shown on
pre-release images) to appear when anaconda is starting up, even
if it's testing an image where it doesn't show up. Now we test
Atomic nightlies and live respins and stuff this happens quite a
lot, so let's avoid it. This way if the hub appears during those
60 seconds we'll spot it right away and continue, otherwise we
behave the same as before.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-24 14:18:21 -07:00
Adam Williamson
05c9f4fbcd Make sure all check_screen calls have explicit timeout
Upstream is gonna change the default from 30 to 0, it seems:
https://github.com/os-autoinst/os-autoinst/pull/965
so let's go ahead and change these two cases where we have no
explicit timeout to have one.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-24 14:17:24 -07:00
Adam Williamson
33ac181955 Use mirrorlist instead of baseurl for updates tests
The reason we have all this horrible code to use the commented-
out baseurl lines in the repo files instead of the metalinks
that are usually used is a timing issue with the metalink
system. As a protection against stale mirrors, the metalink
system sends the package manager a list of mirrors *and a list
of recent checksums for the repo metadata*. The package manager
goes out and gets the metadata from the first mirror on the
list, then checksums it; if the checksum isn't on the list of
checksums it got from mirrormanager, it assumes that means the
mirror is stale, and tries the next on the list instead.

The problem is that MM's list of checksums is currently only
updated once an hour (by a cron job). So we kept running into
a problem where, when a test ran just after one of the repos
had been regenerated, the infra mirror it's supposed to use
would be rejected because the checksum wasn't on the list - but
not because the mirror was stale, but because it was too fresh,
it had got the new packages and metadata but mirrormanager's
list of checksums hadn't been updated to include the checksum
for the latest metadata.

All this baseurl munging code was getting ridiculous, though,
what with the tests getting more complicated and errors showing
up in the actual repo files and stuff. It occurred to me that
instead of using the baseurl we can just use the 'mirrorlist'
system instead of 'metalink'. mirrorlist is the dumber, older
system which just provides the package manager a list of mirrors
and nothing else - the whole stale-mirror-detection-checksum
thing does not happen with mirrorlists, the package manager just
tries all the mirrors in order and uses the first that works.
And happily, it's very easy to convert the metalink URLs into
mirrorlist URLs, and it saves all that faffing around trying to
fix up baseurls.

Also, adjust upgrade_boot to do the s/metalink/mirrorlist/
substitution, so upgrade tests don't run into the timing issue
in the steps before the main repo_setup run is done by
upgrade_run, and adjust repo_setup_compose to sub this line out
later.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-18 16:41:13 -07:00
Adam Williamson
8754611eef Extend some boot timeouts in upgrade tests
Sometimes rebooting during upgrade tests seems to take longer
than these timeouts allow, so let's bump them a bit.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-11 09:02:21 -07:00
Adam Williamson
fdaa4783e7 _check_install_source: handle 'added repo' and 'enabled repo'
The text changed from 'added repo' to 'enabled repo' in Rawhide
after F28, so let's handle both at least till F28 is EOL.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-07 15:50:47 -07:00
Adam Williamson
c3a511e052 support_server: workaround RHBZ#1554390 (breaks dnsmasq on F28)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-03 14:00:41 -07:00
Adam Williamson
0ab8c6bd3f Click on language select screen (RHBZ #1566066)
We've been seeing an odd case lately where the language select
screen is not foregrounded when it appears (so all text is
grey). It happens very occasionally on x86_64, but a lot on
ppc64. To work around this, let's add a needle that matches the
inactive screen, and click on the screen when it appears just
to make sure it's active.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-04-25 15:04:52 -07:00
Adam Williamson
70d3f0269c Of course, we have to actually auth *properly*...
...just clicking the button ain't gonna work. D'oh.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-28 22:17:33 -07:00
Adam Williamson
1f2e333043 Handle an auth dialog appearing after login on FAW
This will happen until a fedora-release PR is merged and sent
out for F28.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-28 21:24:31 -07:00
Adam Williamson
baa7ac4e39 Handle KDE update test when KDE has aleady found updates
We do the 'desktop update' test for KDE via the notification
icon thingy, and it behaves differently depending on whether it
has already detected there are updates or not. The test only
works at present in the case where it *hasn't* - it expects the
notification icon to be in the extended panel and it expects to
see a 'refresh' button, neither of which is the case if it's
already noticed there are updates to install.

We should also force PackageKit to update its list of available
updates after we set up our 'special' update, otherwise on this
path KDE will only install the updates it found *before* we did
our stuff, and the test will fail as our special update won't be
there.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-28 19:53:19 -07:00
Adam Williamson
de3f4a873c Sleep a bit less in notification tests (to fix KDE postinst)
In F28 tests, the notification 'counter' thing that we rely on
to check there's only *one* notification seems to suddenly
disappear...right around 10 minutes after the desktop starts up,
which is just how long our test idles for to catch crashes that
happen a little after boot. That causes test fails. Let's try
just cutting the wait down to 8 minutes to see if that helps.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-28 19:20:29 -07:00
Adam Williamson
c2a5846064 Fix KDE live notification test (dismiss network notification)
KDE in F28+ seems to show a network connection notification on
live boot, for some reason. Just dismiss it to help the test
pass.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-28 19:01:46 -07:00
Adam Williamson
24f2eb39d9 Check for test3's existence at start of freeipa_password_change
This test expects to pick up from freeipa_webui, but that test
is not fatal (i.e. it can fail and we still carry on to this
one). We should probably make them independent, but for now,
just check if 'test3' (one of the users freeipa_webui creates
and that this test requires) actually exists, at the start. If
not, we can just die right away.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-23 09:18:39 -07:00
Adam Williamson
4d997d7323 Move install of Firefox into its own milestone module
This reduces duplication, but it also means that if the FreeIPA
web UI module fails, the password change module will pick up
from a point where Firefox is set up and won't fail in a bogus
way because it isn't.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-23 09:10:51 -07:00
Adam Williamson
46a41d8d67 More debug logging for FreeIPA server (from ab)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-21 11:34:45 -07:00
Adam Williamson
e2a8c34e86 Tweak mouse placement in _graphical_wait_login for KDE browser
This mouse placement is in the middle of where the 'install
addon' popover appears in Firefox, and that seems like it
sometimes causes the popover to immediately disappear in KDE.
This is pretty corner-case-y so I don't wanna report it as a
bug, let's just tweak the cursor hiding location and see if it
solves the problem.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-16 15:10:34 -07:00
Adam Williamson
7c1f59cfe8 Move UEFI postinstall to tty4 too
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-10 08:38:20 -08:00
Adam Williamson
a20270e430 Move collect_data and console_shutdown to tty4...
...as somehow a Workstation live install currently has the
desktop on tty3, I have no idea why (g-i-s not quitting right?)

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-09 22:06:18 -08:00
Adam Williamson
ed9945de71 chpasswd -R is blocked by SELinux, sigh...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-09 17:06:01 -08:00
Adam Williamson
eedcec1c02 Try and fix root password setting approach
assert_script_run and chroot don't mix...let's try chpasswd.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-09 16:25:58 -08:00
Adam Williamson
ed62801202 Fix the conditionals for the Workstation live check
Sigh, perl. Sigh, me.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-09 15:47:39 -08:00
Adam Williamson
f09330e897 Work around RHBZ #1553807 by checking if anaconda still running
This is the best workaround I can think of for RHBZ #1553807 -
just check (in the 60 second 'move the mouse' loop) if anaconda
is still running, based on whether its icon is in the top bar
(on Workstation live installs only, obviously).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-09 15:22:29 -08:00
Adam Williamson
71bfb896a4 Wiggle the mouse during install
Seems with the long period of not doing anything and possibly
with very aggressive timeouts in Fedora 28, Workstation live
wants to blank the screen while we're installing. Stop it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-08 21:21:23 -08:00
Adam Williamson
0915b857f9 More tweaking for this damn no root password spoke situation
Previous approach wouldn't work for tests that run after the
install test...let's just set a password from a chroot after
install completes. Don't really like this as it changes the
'real' install process a bit, but it's the least invasive short
term fix at least. We can maybe do something more sudo-y later
with a bit more thought.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-08 20:31:14 -08:00