rename BOOT_UPDATES_IMG_URL to TEST_UPDATES, add GRUBADD

Summary:
BOOT_UPDATES_IMG_URL is a pretty misleading name - it used to
be the actual URL, but now it's simply a boolean that decides
whether we look for the effect of the openQA updates image or
not. TEST_UPDATES seems clearer.

GRUBADD does the same thing as GRUB, on top of it. The point of
this is so we can add an option to the scheduler CLI that lets
you say 'run the normal tests, but with this updates image' -
so we can easily (albeit manually triggered) check the impact
of some anaconda change that needs testing. It should never be
set in the templates or the tests, it's there strictly for the
scheduler (whether that's fedora_openqa_schedule or literally a
person calling `client isos post`) to use as a kind of override.
The tests that test updates image loading will probably fail
when doing this, but all other tests should work as intended,
including ones that specify GRUB, becase the extra params will
just get added on top. That's why I invented a new var instead
of just letting the scheduler override GRUB's value when POST
ing.

Test Plan:
Check the rename didn't break anything (updates tests
still work). Run tests with GRUBADD param, make sure value is
correctly appended to cmdline both when GRUB is also specified
and when it is not.

Reviewers: jskladan, garretraziel

Reviewed By: garretraziel

Subscribers: tflink

Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D801
This commit is contained in:
Adam Williamson 2016-04-08 13:21:29 -07:00
parent 591b153238
commit df195a7853
4 changed files with 15 additions and 5 deletions

View File

@ -67,9 +67,10 @@ it also means that `B` conflicts `A` even if not shown in the table).
| `DESKTOP` | boolean | `false`/not set | nothing | set to indicate that Fedora is running with GUI (so for example OpenQA should expect graphical login screen) |
| `ROOT_PASSWORD` | string | `weakpassword` | nothing | root password is set to this value |
| `GRUB` | string | not set | nothing | when set, append this string to kernel line in GRUB |
| `GRUBADD` | string | not set | nothing | when set, append this string to kernel line in GRUB, after the `GRUB` string if that one is set too. This is never set by tests; instead it's provided as a way to e.g. run the normal tests with an `updates.img` to test some anaconda change (the scheduler CLI can help you use this feature) |
| `USER_LOGIN` | string | not set | should be used with `USER_PASSWORD` (unless `false`) | when set, user login is set to this value. If not set, default value `test` is used for console installs, no login is done for graphical installs. If set to `false`, no user login will be done |
| `USER_PASSWORD` | string | not set | should be used with `USER_LOGIN` | when set, user password is set to this value. If not set, default value `weakpassword` is used for console installs, no login is done for graphical installs |
| `BOOT_UPDATES_IMG_URL` | boolean | `false`/not set | set to indicate that path to updates.img was appended to kernel line |
| `TEST_UPDATES` | boolean | `false`/not set | set to indicate that this test checks updates.img loading, so we should check for the expected effect of the updates image used for this testing |
| `POSTINSTALL` | string | not set | nothing | If set, `tests/(value)_postinstall.pm` will be loaded after install, boot, login, and other postinstall tests
| `UEFI` | boolean | `false`/not set | nothing | whether to use UEFI, this variable isn't usually set in test suites but in machine definition |

View File

@ -1103,7 +1103,7 @@
{
name => "install_scsi_updates_img",
settings => [
{ key => "BOOT_UPDATES_IMG_URL", value => "1" },
{ key => "TEST_UPDATES", value => "1" },
{ key => "GRUB", value => "inst.updates=https://fedorapeople.org/groups/qa/updates/updates-openqa.img" },
{ key => "HDDMODEL", value => "virtio-scsi-pci" },
{ key => "CDMODEL", value => "scsi-cd" },
@ -1286,7 +1286,7 @@
settings => [
{ key => "NUMDISKS", value => "2" },
{ key => "HDD_2", value => "disk_updates_img_2.img" },
{ key => "BOOT_UPDATES_IMG_URL", value => "1" },
{ key => "TEST_UPDATES", value => "1" },
{ key => "GRUB", value => "inst.updates=hd:LABEL=UPDATES_IMG:/updates.img" },
],
},

View File

@ -34,9 +34,18 @@ sub run {
}
# if GRUBADD is set, add that to kernel line too. this is for doing
# stuff like running the tests with an updates.img to test some
# anaconda change
if (get_var("GRUBADD")) {
# unless GRUB was also set, we need to get to the kernel line now
get_kernel_line unless (get_var("GRUB"));
type_string " ".get_var("GRUBADD");
}
# if variable REPOSITORY_VARIATION is set, construct inst.repo url and add it to kernel line
if (get_var("REPOSITORY_VARIATION")){
unless (get_var("GRUB")){
unless (get_var("GRUB") || get_var("GRUBADD")) {
get_kernel_line;
}
my $repourl = "";

View File

@ -10,7 +10,7 @@ sub run {
# updates.img tests work by changing the appearance of the INSTALLATION
# DESTINATION screen, so check that if needed.
if (get_var('BOOT_UPDATES_IMG_URL')){
if (get_var('TEST_UPDATES')){
assert_screen "anaconda_install_destination_updates", 30;
}