Commit Graph

146 Commits

Author SHA1 Message Date
Adam Williamson
7ab3debd77 Try a different way of disabling root/user on Workstation live
Sigh, 'overloaded' product templates like that don't quite work.
So, let's try doing it a different way, in main.pm.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-08 18:42:09 -08:00
Adam Williamson
7c28cfc909 Adapt for no user/root panes on Workstation live install
Workstation live installs for F28+ drop the user creation and
root password panes from anaconda, so we need to not try and
use them any more. But we still want the old behaviour for F27.
I'm hoping this approach will work, if not, we'll find out soon
enough. This removes the install_no_user test for F28+ as it
will no longer differ from the install_default test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-08 18:32:16 -08:00
Paul Whalen
b1bac1bf99 Add aarch64 to Products 2018-03-07 09:53:19 -05:00
Paul Whalen
03d0845f04 Add aarch64 to Machines 2018-03-07 09:53:19 -05:00
Paul Whalen
9ce8e94e35 Add aarch64 to JobTemplates 2018-03-07 09:53:19 -05:00
Adam Williamson
08b4c6984c Update templates for Atomic (sub)variant renames
Atomic was renamed AtomicHost, and Workstation Ostree was renamed
AtomicWorkstation, for F28+. As we still have F26 and F27 images
which will have the Atomic name, we duplicate those templates,
but there should be no more 'Workstation Ostree' images, so we
just rename those templates to the new name.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-06 16:03:28 -08:00
Adam Williamson
ffa7ca2447 Add a check that correct filesystem was used on Server installs
This is currently broken, but openQA doesn't notice; we really
should. We could also check the default in other cases, but I
think that's less clear-cut, as it's kind of an anaconda design
choice, it's not mandated in Fedora requirements anywhere.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-01-05 15:18:05 -08:00
Adam Williamson
e358bf405f Use qxl for x86_64 UEFI, virtio for ppc64(le)
virtio graphics still seem to suffer from RHBZ#1403365, and also
os-autoinst believes they don't support snapshotting. So let's
try qxl for x86_64 UEFI. *That* may still suffer from #1403343,
but oh well, seems like we have no good choices here.

It looks like ppc64 also suffers from the Plymouth bug that's
affecting x86_64 UEFI + 'std' graphics, so let's use virtio
there - qxl apparently isn't available on ppc64 VMs, at least it
doesn't work in our deployment.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2017-12-22 15:19:25 -08:00
Adam Williamson
16943ad7ef Use virtio not std graphics for UEFI
While Rawhide suffers from #1518464 , virtio is a better choice
for UEFI tests, even if we get the problem with consoles using
the wrong color scheme again...
2017-12-13 16:02:09 -08:00
Guy Menanteau
f169675699 Add Atomic tests for PowerPC
two same tests as for x86_64.
2017-11-29 10:56:41 -08:00
Adam Williamson
cedef3878a Enable virtio RNG device for base_services_start tests
This should prevent rngd.service from failing, because it will
now see a 'hardware' RNG device.
2017-11-08 15:06:50 -08:00
Adam Williamson
80234f9576 Update desktop image file name for version bump 2017-10-20 17:45:13 -07:00
Adam Williamson
63725c5d3e Change Workstation OStree flavor name to match new variant name
I don't even know if a flavor name with a space in it is going to
work, but let's find out!
2017-10-13 16:53:38 -07:00
Guy Menanteau
9fe10f6715 Add PowerPC support in templates
* use only a subset of tests for ppc64 and ppc64le
  with a new "Fedora PowerPC group"
  and only three flavors
  "Server-boot-iso", "Server-dvd-iso", "universal",

* TEST_TARGET for all PowerPC Products set as ISO

* increase disk size for asian cyrillic and european tests
  add HDDSIZEGB = 12  for related tests
  install_asian_language install_cyrillic_language
  install_european_language
  This is required to avoid anaconda failure like:
  (my own translation)
  "... Fedora requests 10.03GB of free space,
  with 5.95GB for software and 4.08GB for swap.
  Your selected disks have the following free space:
  10GB free space for use..."

* Remove hardcoded arch in some HDD_1 key replaced by ARCH variable
  That concerns the images generated by createhdds tool
  (only for supported PowerPC tests not all of them)
  eg change from:
  "disk_f%CURRREL%_support_3_x86_64.img"
  to:
  "disk_f%CURRREL%_support_3_%ARCH%.img"
  Warning: use ARCH and not MACHINE variable

* Try to keep same order for PowerPC as for x86_64 tests
  and same priorities as documented in
  cid a5861ebc5d56a8b8d7fca40e00f21b21a203c371:
    0-20: critical smoke tests (higher than Alpha priority)
    20-29: Alpha priority
    30-39: Beta priority
    40-49: Final priority
    50+: Optional priority

* force nfsvers=4 as bypass bugs:
  https://bugzilla.redhat.com/show_bug.cgi?id=1386059
  https://bugzilla.redhat.com/show_bug.cgi?id=1368932

* role_deploy_domain_controller failed for ppc64 (BE)
  https://bugzilla.redhat.com/show_bug.cgi?id=1437793

* Warning: tests failure for PowerPC, not added:
  install_delete_pata
  install_sata
  install_package_set_kde
  install_updates_img_local
* tests not tried:
  upgrade_server_domain_controller
  upgrade_realmd_client
  upgrade_desktop_encrypted_64bit

* Note: TIMEOUT_SCALE initially set for PowerPC machines
  has been removed from this commit as seems not required
  anymore after upstream merge.
  Will need to track if two following timer values
  may create problem on remote openQA instances:
  tests/install_source_graphical.pm (300 to 600)
  tests/_boot_to_anaconda.pm (300 to 1200)

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2017-09-06 08:43:04 +02:00
Adam Williamson
e2a818f8af Increase hard disk size for Workstation-boot-iso
Recent runs with this image seem to failing due to lack of disk
space (e.g. https://openqa.fedoraproject.org/tests/127103 )
2017-08-11 11:45:18 -07:00
Adam Williamson
258412ec4b Use + for START_AFTER_TEST as well as HDD_1 when appropriate
As with HDD_1, we want to override the scheduler-provided value
for update test runs, for these two tests.
2017-07-27 15:14:09 -07:00
Adam Williamson
c11e08df20 Specify WORKER_CLASS in our machines
This seems to be needed to prevent openQA trying to run x86_64
jobs on ppc64 workers (which, uh, doesn't go very well). openQA
is kinda supposed to not do this, but it seems like that got
broken somewhere along the line:
https://progress.opensuse.org/issues/20812
2017-07-26 16:12:49 -07:00
Adam Williamson
09c264fe16 Add Workstation dvd-ostree flavor and tests
Summary:
As we're getting the Workstation dvd-ostree (OStree installer
image) built for Rawhide now, let's try testing it.

Test Plan:
Run the tests on a Rawhide compose that works and
has the image (e.g. 20170615.n.0). Check that new tests work
as expected and old tests are not adversely affected. A
corresponding diff for fedora_openqa will be coming to take
care of scheduling. Note that the tests will often soft fail
for now; this is intentional due to RHBZ#1193590, the bash
prompt for root is incorrect on ostree installs, so I have
added a needle that matches the incorrect prompt but which is
flagged as a workaround needle (so causing the test result to
be a soft fail).

Reviewers: jsedlak, jskladan

Reviewed By: jsedlak

Subscribers: tflink

Differential Revision: https://phab.qa.fedoraproject.org/D1211
2017-06-26 18:48:27 -07:00
Adam Williamson
ab085f4724 Correct name of realmd upgrade client test in job templates
Whoops.
2017-06-21 16:18:37 -07:00
Adam Williamson
a29875a2ff Upgrade tests: Run FreeIPA webUI and password change modules
Summary:
This just adds the FreeIPA web UI and password change
test modules to the FreeIPA upgrade test (client end). It's
useful to check out these features too. We don't need to
separate these into separate jobs, as we're not trying to
fill out different matrix checkboxes here, we just want to
know whether everything works.

Test Plan:
Run the test, see that the modules work properly.
I was actually expecting this to fail given the issues with
the upgrade on the server end, but it seems to pass.

Reviewers: jsedlak, jskladan

Reviewed By: jsedlak

Subscribers: tflink

Differential Revision: https://phab.qa.fedoraproject.org/D1207
2017-06-13 10:06:15 -07:00
Adam Williamson
df2c3cd906 Test upgrade of FreeIPA server and client deployment
Summary:
This adds an upgrade variant of the FreeIPA tests, with only
the simplest client enrolment (sssd) for now. The server test
starts from the N-1 release and deploys the domain controller
role. The client test similarly starts from the N-1 release
and, when the server is deployed, enrols as a domain client.
Then the server upgrades itself, while the client waits (as the
server is its name server). Then the client upgrades itself,
while the server does some self-checks. The server then waits
for the client to do its checks before decommissioning itself,
as usual. So, summary: *deployment* of both server and client
occurs on N-1, then both are upgraded, then the actual *checks*
occur on N.

In my testing, this all more or less works, except the role
decommission step fails. This failure seems to be a genuine one
so far as I can tell; I intend to file a bug for it soon.

Test Plan:
Run the new tests, check they work. Run the existing
FreeIPA tests (both the compose and the update variants), check
they both behave the same.

Reviewers: jsedlak, jskladan

Reviewed By: jsedlak

Subscribers: tflink

Differential Revision: https://phab.qa.fedoraproject.org/D1204
2017-06-02 12:17:07 -07:00
Jan Sedlák
48b99a2291 add base system logging test
Differential Revision: https://phab.qa.fedoraproject.org/D1202
2017-06-01 11:06:04 +02:00
Jan Sedlák
4114406668 add UEFI for blivet tests
Differential Revision: https://phab.qa.fedoraproject.org/D1201
2017-05-22 09:26:58 +02:00
Jan Sedlák
0b5f865c8f add custom btrfs partitioning test for blivet-gui
Differential Revision: https://phab.qa.fedoraproject.org/D1194
2017-05-19 13:58:16 +02:00
Jan Sedlák
ea5296b306 add postinstalls to custom partitioning tests
Differential Revision: https://phab.qa.fedoraproject.org/D1192
2017-05-09 09:11:34 +02:00
Jan Sedlák
140c5f0a42 Add custom partitioning tests for blivet
Differential Revision: https://phab.qa.fedoraproject.org/D1188
2017-04-24 14:23:35 +02:00
Adam Williamson
22e210aa21 Run Atomic Host installer test on UEFI as well as BIOS
Atomic team asked for this, so hey, why not.
2017-04-18 16:48:37 -07:00
Adam Williamson
1444c5030b Add tests with no user created during install
Summary:
This adds a new test suite, run for Workstation and KDE live
images, which does not create a user during install. It then
expects initial-setup (KDE) or gnome-initial-setup (Workstation)
to appear after install, creates a user, and proceeds with
normal boot.

Note the ARM image test already covers the initial-setup text
mode, and the ARM minimal image is the only case where that
actually matters (it's not included in Server).

Test Plan:
Run the new tests, check they work. Run all old
tests, check the changes didn't break them.

Reviewers: jsedlak, jskladan

Reviewed By: jsedlak

Subscribers: tflink

Differential Revision: https://phab.qa.fedoraproject.org/D1185
2017-04-05 09:43:26 -07:00
Adam Williamson
b6d4fd7d4c Don't create user when USER_LOGIN is false, but for KDE install
Summary:
For some reason, we have `USER_LOGIN` set to 'false' for the KDE
package set install test. I really don't know / remember why
that would be; I'd think we should create a user and log in as
that user to make sure it works properly when installing KDE
from the traditional installer. It's not strictly part of the
package set test, true, but still, seems worth doing.

Also, when `USER_LOGIN` is set to 'false' and the installer runs,
we create a user called 'false'. This doesn't seem like what we
wanted, so let's not do that. I dunno if there are any other
cases besides the KDE one that this commit changes, but still.

Test Plan:
Run the full test suite and look for weirdness, check
KDE package set test works as intended (now creates a user called
'test' and logs in as that user).

Reviewers: jsedlak, jskladan

Reviewed By: jsedlak

Subscribers: tflink

Differential Revision: https://phab.qa.fedoraproject.org/D1182
2017-03-29 09:30:16 -07:00
Jan Sedlák
d140e08463 test target on ARM is HDD_2
Differential Revision: https://phab.qa.fedoraproject.org/D1173
2017-03-22 10:38:12 +01:00
Adam Williamson
1925606a57 Use std not qxl graphics to workaround #1403343 2017-03-20 11:36:20 -07:00
Adam Williamson
115956f4ec Set a bus for the HDD in install_sata so it works with IDE CD
Explicitly specify the ahci0.0 bus for the HDD in install_sata.
This is needed to work if we are using CDMODEL=ide-cd (which we
need at present to work around a bug with SCSI CDs), and is a
good idea anyway to ensure the drive is actually connected to
the SATA bus (I dunno if it was before or not).
2017-03-09 13:50:19 -08:00
Adam Williamson
92d588f245 Add support for testing updates
Summary:
This adds an entirely new workflow for testing distribution
updates. The `ADVISORY` variable is introduced: when set,
`main.pm` will load an early post-install test that sets up
a repository containing the packages from the specified update,
runs `dnf -y update`, and reboots. A new templates file is
added, `templates-updates`, which adds two new flavors called
`updates-server` and `updates-workstation`, each containing
job templates for appropriate post-install tests. Scheduler is
expected to post `ADVISORY=(update ID) HDD_1=(base image)
FLAVOR=updates-(server|workstation)`, where (base image) is one
of the stable release base disk images produced by `createhdds`
and usually used for upgrade testing. This will result in the
appropriate job templates being loaded.

We rejig postinstall test loading and static network config a
bit so that this works for both the 'compose' and 'updates' test
flows: we have to ensure we bring up networking for the tap
tests before we try and install the updates, but still allow
later adjustment of the configuration. We take advantage of the
openQA feature that was added a few months back to run the same
module multiple times, so the `_advisory_update` module can
reboot after installing the updates and the modules that take
care of bootloader, encryption and login get run again. This
looks slightly wacky in the web UI, though - it doesn't show the
later runs of each module.

We also use the recently added feature to specify `+HDD_1` in
the test suites which use a disk image uploaded by an earlier
post-install test, so the test suite value will take priority
over the value POSTed by the scheduler for those tests, and we
will use the uploaded disk image (and not the clean base image
POSTed by the scheduler) for those tests.

My intent here is to enhance the scheduler, adding a consumer
which listens out for critpath updates, and runs this test flow
for each one, then reports the results to ResultsDB where Bodhi
could query and display them. We could also add a list of other
packages to have one or both sets of update tests run on it, I
guess.

Test Plan:
Try a post something like:
HDD_1=disk_f25_server_3_x86_64.img DISTRI=fedora VERSION=25
FLAVOR=updates-server ARCH=x86_64 BUILD=FEDORA-2017-376ae2b92c
ADVISORY=FEDORA-2017-376ae2b92c CURRREL=25 PREVREL=24

Pick an appropriate `ADVISORY` (ideally, one containing some
packages which might actually be involved in the tests), and
matching `FLAVOR` and `HDD_1`. The appropriate tests should run,
a repo with the update packages should be created and enabled
(and dnf update run), and the tests should work properly. Also
test a regular compose run to make sure I didn't break anything.

Reviewers: jskladan, jsedlak

Reviewed By: jsedlak

Subscribers: tflink

Differential Revision: https://phab.qa.fedoraproject.org/D1143
2017-02-22 11:33:32 -08:00
Adam Williamson
a5861ebc5d Tweak test priorities back in sync with wiki / criteria
The rule for test priorities is pretty simple. Ranges of
priority values map to the 'Milestone' by which the test must
be passing, per the release criteria. The priority for each
openQA test is the *highest* priority for any wiki test case /
criterion it covers.

0-20: critical smoke tests (higher than Alpha priority)
20-29: Alpha priority
30-39: Beta priority
40-49: Final priority
50+: Optional priority

Note that tests for non-release-blocking arches or images must
always be over 50; I've simply added 50 to the values for all
i386 tests in this change. Other than that, I just corrected a
few values which had got out of whack or were originally set
wrong.
2017-02-20 17:33:14 -08:00
Jan Sedlák
4a7a60a0a6 add TEST_TARGET to templates
Differential Revision: https://phab.qa.fedoraproject.org/D1109
2017-02-02 16:13:10 +01:00
Adam Williamson
062d9f8f5e Add jobs to gather memory usage data
Summary:
This adds a new test, memory_check, which just does a default
package set install with `inst.debug` parameter then uploads
the memory usage file (`/tmp/memory.dat`) at the end. We can
have check-compose use the data to analyze changes in memory
usage over time.

Test Plan:
Fire off the Workstation network install image tests
and make sure the memory usage test runs and works on all three
machines. This is live on staging already.

Reviewers: jskladan, garretraziel_but_actually_jsedlak_who_uses_stupid_nicknames

Reviewed By: garretraziel_but_actually_jsedlak_who_uses_stupid_nicknames

Subscribers: tflink

Differential Revision: https://phab.qa.fedoraproject.org/D1082
2017-01-16 09:30:14 -08:00
Jan Sedlák
a946b02e71 reintroduce SATA 2017-01-16 13:07:47 +01:00
Adam Williamson
c4f32ab5ad add an Asian (Japanese) language install test
Summary:
Include some basic testing of Japanese input, and split the
input testing (including Russian) into a separate module, since
it's not really part of 'login' testing.

Test Plan:
Run the test, and the Russian and French tests too to
make sure they didn't break. Tested on staging. Note the Japanese
test soft fails, intentionally, at present, as I discovered a bug
while working on it:
https://bugzilla.gnome.org/show_bug.cgi?id=776189

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D1072
2016-12-21 08:41:00 -08:00
Adam Williamson
8e70b4b8a8 switch to 'Nehalem' CPU model
Using 'host' is, for some reason, causing the problem where non-
minimal installs fail to boot. No idea why, but switching the
CPU model to Nehalem solves it.
2016-12-20 18:42:23 -08:00
Adam Williamson
0fa6138448 Have non-English tests do graphical install and login
Summary:
The non-English tests so far did not test that graphical login
worked as expected, which is a fairly large hole. With this
change, they should do a Workstation install and test login to
both GNOME and the console works as expected. KDE is not yet
tested.

As part of this we tweak the implementation of keyboard layout
switching in graphical environments to use a generic function
in main_common which can handle both anaconda and desktops
(just GNOME at present, but should extend easily to any desktop
with a known switcher key and a visible layout indicator),
replacing the anacondatest class method. I kinda don't like that
the test has to specifically tell the function when it's in
anaconda, but I don't think I want to start experimenting with
a global 'test phase' openQA variable or anything like that at
present.

Fixes T842.

Test Plan:
Run the French and Russian install tests and check
they work as expected. Also run an English Workstation install
if you like, and make sure that didn't break. This change is
live on staging ATM, seems to work fine.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Maniphest Tasks: T842

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D1071
2016-12-16 09:40:29 -08:00
Jan Sedlák
44cf1cd89c reintroduce rescue on UEFI
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D1060
2016-12-13 09:18:34 +01:00
Adam Williamson
65cadb11df Collect some data on freshly-installed systems after some tests
Summary:
I've been wanting to do this for a while; I think it'll let us
check for some significant changes between composes. This should
cause runs of a few test cases to collect and upload info on:

* installed packages
* free memory
* disk space
* active services
* 1 minute of CPU usage info (via top)

immediately after install and initial login. In some cases this
will be useful / interesting simply to look at directly, but
we can also have check-compose analyze the data and include
significant changes in its reports.

Test Plan:
Run affected tests, make sure the data collection
works.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D1046
2016-11-09 07:20:17 -08:00
Adam Williamson
7b31b8263e Force GNOME to notify updates, re-enable test on Workstation
Summary:
GNOME's update notification criteria are pretty braindead: it
fires the update check timer once on login then once every hour
thereafter, but only actually checks for and notifies of updates
once a day if it's after 6am(?!?!?!). So we have to do a bunch
of fiddling around to ensure we reliably get a notification.
Move the clock to 6am if it's earlier than that, and reset the
'last update check' timer to 48 hours ago, then log in to GNOME
after that.

Note: I thought this still wasn't fully reliable, but I've looked
into all the recent failures of either test on staging and
there's only one which was really 'no update notification came
up', and the logs clearly indicate PK did run an update check,
so I don't think that was a test bug (I think something went
wrong with the update check). The other failures are all 'GNOME
did something wacky', plus one case where the needle didn't quite
match because I think the match area is slightly too tall; I'll
fix that in a second.

Test Plan:
Run the tests on both KDE and GNOME and check they
work properly now (assuming nothing unrelated breaks, like KDE
crashing...)

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D1039
2016-10-27 16:23:59 -07:00
Adam Williamson
35568a50d7 Re-enable notifications tests for KDE
The notifications tests actually work pretty well on KDE, it's
only Workstation where they're busted. So let's keep them on
for KDE, for now at least.
2016-10-26 14:08:01 -07:00
Adam Williamson
02d4594cd2 disable notifications tests until I have time to fix them
These keep failing because they don't work right. I have it
partially fixed on a branch but not fully fixed yet, and it's
been this way for a few weeks already, so let's disable the
tests for now until I can actually complete the fix.
2016-10-26 13:52:22 -07:00
Jan Sedlák
7f93843dd6 Revert "add rescue mode test for UEFI" because it doesn't work and never would
This reverts commit 361a0ed150.
2016-10-19 10:48:14 +02:00
Jan Sedlák
ab316cfe48 move APPEND argument from scheduler to templates
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D1024
2016-10-17 12:23:06 +02:00
Jan Sedlák
361a0ed150 add rescue mode test for UEFI
Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D1025
2016-10-14 10:28:05 +02:00
Adam Williamson
d9aa6b8ad6 update Atomic ostree installer image flavor name
Goes along with the commit to openqa_fedora_tools that makes
flavor generation go through fedfind's `correct_image` helper,
which changes the 'type' of ostree installer images from 'boot'
to 'dvd-ostree'. See https://pagure.io/pungi/issue/417 for
more background on this. Committing without review as it's an
urgent issue we have to fix right away.
2016-10-05 16:43:07 -07:00
Adam Williamson
e9ce14a891 consolidate login waits, use postinstall not entrypoint for base
Summary:
I started out wanting to fix an issue I noticed today where
graphical upgrade tests were failing because they didn't wait
for the graphical login screen properly; the test was sitting
at the 'full Fedora logo' state of plymouth for a long time,
so the current boot_to_login_screen's wait_still_screen was
triggered by it and the function wound up failing on the
assert_screen, because it was still some time before the real
login screen appeared.

So I tweaked the boot_to_login_screen implementation to work
slightly differently (look for a login screen match, *then* -
if we're dealing with a graphical login - wait_still_screen
to defeat the 'old GPU buffer showing login screen' problem
and assert the login screen again). But while working on it,
I figured we really should consolidate all the various places
that handle the bootloader -> login, we were doing it quite
differently in all sorts of different places. And as part of
that, I converted the base tests to use POSTINSTALL (and thus
go through the shared _wait_login tests) instead of handling
boot themselves. As part of *that*, I tweaked main.pm to not
require all POSTINSTALL tests have the _postinstall suffix on
their names, as it really doesn't make sense, and renamed the
tests.

Test Plan: Run all tests, see if they work.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D1015
2016-09-27 11:48:15 -07:00