fedorabase.pm to support new OFW for POWERPC
Needs RevisionPublic

Authored by menantea on Jan 16 2017, 1:28 PM.

Details

Reviewers
jsedlak
adamwill
Summary

PowerPC machine identified by OFW parameter to use grub bootloader

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>

new rescue_system test for fedora ppc64le

  • adding a new RESCUE_SYSTEM in VARIABLES file
  • changes in fedorabase and _console_wait_login scripts
  • 2 new rescuesystem scripts (grab from openSUSE openQA) and associated needles

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>

new bootloader_bios_offline_ppc needle for ppc64le

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>

new bootloader_bios_offline_automatic_start needle for ppc64le

required for kickstart test for ppc64le

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>

templates first changes for PowerPC

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>

bypass type_string problem for grub2 and ppc64le

call check_type_string rather than type_string in type_very_safely.
check_type_string checking rc of wait_screen_change and loop 5 times
if failure.

This is a temporary bypass as long as problems reported
typing strings to grub2 on PowerPC.

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>

bootloader_bios_offline_automatic_start needle update

replace bootloader_bios_offline_automatic_start needle
by a 20161108 version.

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>

add only one test for ppc64 (BE)

only for validation purpose (will later add more)

Note: for ppc64le:

  • no cockpit tests because need firefox browser not validated yet for PowerPC tests.
  • no install_multi test because env not setup yet for PowerPC.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>

Fix typo error in templates

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>

Add a missing comma.

Revert "bypass type_string problem for grub2 and ppc64le"

This reverts commit dfcde5c76a207461452bffa22c942ec4296269e2.

tempo bypass fedorabase.pm for investigation

need to continue investigation

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>

increase timer to avoid error on slow repo access

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>

Add ppc64 tests (same as ppc64le)

Signed-off-by: Eric Fintzel <efintzel@linux.vnet.ibm.com>

new fedora PowerPC group name for ppc64 & ppc64le

Signed-off-by: Eric Fintzel <efintzel@linux.vnet.ibm.com>

Update two needles for install_anaconda_text fc26

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>

increase again timer in _boot_to_anaconda.pm

to support slow repo access.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>

add Server-boot-iso flavor for PowerPC

to test PowerPC network iso.
install_default test is the only one I identified.
(compare with x86_64)

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>

add universal flavor for PowerPC

and move some PowerPC tests from "Server-dvd-iso" to "universal" flavor
to ease comparison between PowerPC tests results and x86_64 ones.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>

New minimal_selected_french-20170103 needle

do not grab button status on left side of string.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>

Test Plan

Tests have been done succesfully on local p8 machine with ppc64le fedora 25 installed.

Diff Detail

Repository
rOPENQATESTS os-autoinst-distri-fedora
Branch
master
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 983
Build 983: arc lint + arc unit
menantea retitled this revision from to fedorabase.pm to support new OFW for POWERPC.Jan 16 2017, 1:28 PM
menantea updated this object.
menantea edited the test plan for this revision. (Show Details)

Few quick notes:

What's the deal with all the tests with SUSE copyright notices and SUSE stuff in them, like type_string "cat /mnt/etc/SUSE-brand > /dev/$serialdev\n"; ? That's not going to work...

Perl has an elsif keyword, you don't have to nest another if inside an else.

We can't just universally increase timeouts hugely (e.g. 300 > 1200). There is a mechanism in openQA for setting a timeout multiplier for a slow arch; use that instead (by setting the TIMEOUT_SCALE var in the ppc64 machine definitions, like we do for ARM). Are these timeouts intended for native virtualization, or non-native?

Thanks!

This diff output is related to a bunch of commits all concatenated in one request.
Do we want to continue with this global diff, or do we want to make diff for each original commit ?

[CUT] ...

We can't just universally increase timeouts hugely (e.g. 300 > 1200). There is a mechanism in openQA for setting a timeout multiplier for a slow arch; use that instead (by setting the `TIMEOUT_SCALE` var in the ppc64 machine definitions, like we do for ARM). Are these timeouts intended for native virtualization, or non-native?

These timeouts are for native virtualization (ppc64/ppc64le on ppc64le fedora host)

Thanks!

efi added a subscriber: efi.Jan 17 2017, 9:49 AM

These timeouts are for native virtualization (ppc64/ppc64le on ppc64le fedora host)

I think that using TIMEOUT_SCALE=4 in ppc64le and ppc64 machine definition would be better than increasing timeouts.

menantea updated this revision to Diff 2790.Jan 27 2017, 2:19 PM
  1. Updating D1083: fedorabase.pm to support new OFW for POWERPC #
  2. Enter a brief description of the changes included in this update.
  3. The first line is used as subject, next lines as comment. #
  4. If you intended to create a new revision, use:
  5. $ arc diff --create

Differences with the D1083 creation:
Remove rescue_system test handled from open_suse
Add install_rescue_encrypted test
Remove nested if
Add TIMEOUT_SCALE for powerpc

jsedlak requested changes to this revision.EditedMar 9 2017, 1:58 PM

Code looks OK, but I'm not able to test it, because of obvious reasons :-). Only remaining thing I have found, why did you add new test mediacheck that has MEDIACHECK=1 when none of the tests are using this value? Won't it do just do "default install" test?

It looks OK otherwise, but I'm not sure whether we will be able to merge it right away when we don't have any PPC64 workers just yet.

templates
3055

It looks like MEDIACHECK value isn't used anywhere in tests.

This revision now requires changes to proceed.Mar 9 2017, 1:58 PM

Heads up on this: we should be getting some PPC workers Real Soon Now, Dennis and Patrick are helping get a machine that IBM has kindly donated installed in PHX. Once it's available I'll deploy it as a worker host and we should be able to update this, merge it, and hopefully start running the tests.

Code looks OK, but I'm not able to test it, because of obvious reasons :-). Only remaining thing I have found, why did you add new test mediacheck that has MEDIACHECK=1 when none of the tests are using this value? Won't it do just do "default install" test?

It looks OK otherwise, but I'm not sure whether we will be able to merge it right away when we don't have any PPC64 workers just yet.

I removed the mediacheck/MEDIACHECK reference in updated commit in tempo7 new branch on pagure:
https://pagure.io/fork/michelmno/fedora-qa/os-autoinst-distri-fedora/c/71cec69e3b4582b0f86cec53535ce02b21d3ea96?branch=tempo7
In addition to this first PowerPC specific commit, there is a set of others in
https://pagure.io/fork/michelmno/fedora-qa/os-autoinst-distri-fedora/commits/tempo7

What's the status of PPC workers on openqa.fedoraproject.org?

The worker host is deployed now, I just haven't had the round tuits to test it out in any way. But the host is deployed and the workers show as registered, at least. Whoever set the host up added it to the *production* instance; we can easily switch it to the staging instance if we'd rather try things out there first.

michelmno added a comment.EditedThu, Aug 3, 7:36 AM

Before to test with PowerPC workers there are some required changes as already detailed in an email to Adam Williamson and summarized below.
What is the best way to handle all those changes, do I have to create a PR for each of the three git trees ?

https://pagure.io/fork/michelmno/fedora-qa/fedora_openqa/branch/mno_working2

to schedule only a subset for PowerPC

https://pagure.io/fork/michelmno/fedora-qa/createhdds/branch/mno_working2

to create required hdds for PowerPC

https://pagure.io/fork/michelmno/fedora-qa/os-autoinst-distri-fedora/branch/tempo11

the up to date changes to replace the obsoleted ones of this D1083 diff.
adamwill added a comment.EditedThu, Aug 3, 5:14 PM

Yeah, you do need to create separate PRs (at least we've never come up with a better workflow) - it can help to mention the other related PRs in each one, so we know they track together. If you can create the three PRs that'd be awesome, I'll try and find a minute to deploy them on staging and see how it goes. Thanks!

Edit: I'm a little concerned about the tests that need virt-install disk images; the problem is we run createhdds on the *server* end, which is x86_64, and it'd probably take hours and hours to create a single ppc64 disk image that way. Rejigging our setup so createhdds runs on a worker of the appropriate arch...I guess may be possible? I'll think about it more in relation to that specific PR, I guess.

michelmno added a comment.EditedFri, Aug 4, 4:20 PM

Yeah, you do need to create separate PRs (at least we've never come up with a better workflow) - it can help to mention the other related PRs in each one, so we know they track together. If you can create the three PRs that'd be awesome, I'll try and find a minute to deploy them on staging and see how it goes. Thanks!

[CUT] ...

I created the three PRs and adding crossref here:
https://pagure.io/fedora-qa/os-autoinst-distri-fedora/pull-request/1
https://pagure.io/fedora-qa/createhdds/pull-request/2
https://pagure.io/fedora-qa/fedora_openqa/pull-request/1