action #180956
opencoordination #169654: [epic] Create test scenarios for Agama
Add validation to check that installed repos are the ones expected and enabled
0%
Description
Motivation¶
Sporadically It was raised that repo might not be enabled, we don't know for sure, perhaps some other job in development overwrote the image name published but just in case let's add this check for both mediums, Online and Full.
It is time to start to improve on validations, for now in QE Yam we are going quite light in that regards, leaning our attention to feature validation and the automation of the installation itself, but a very important part of testing the system is to validate expectation at the end.
Notice that validation now lives under some of our squad folders, yam/* due to those are simple validation for the installer, not complex one, more like safeties than other thing.
Acceptance criteria¶
- AC1: Add to default installations (interactive and unattended) including SAP ones and also HA, a validation to check for the expected repo(s) and that is enabled.
- AC2: Run N times (50 or more) with a single scenario (in this case, unattended installation for sles as this is the one where was potentially detected this issue when creating images for other squads) to see if we can catch this situation.
- AC3: Report bugs relative to this topic or any other inconsistencies.
Updated by JERiveraMoya 5 days ago
Updated by JERiveraMoya 5 days ago
- Status changed from Workable to In Progress
- Assignee set to jfernandez
Updated by JERiveraMoya 5 days ago
this would be an example of failure in the child job but in the non-uefi: https://openqa.suse.de/tests/17407499#step/fips_setup/3
where we cannot find any repo.
But we should try with the uefi one to narrow the scope and an any noise.
Updated by jfernandez 3 days ago
We have run 40 tests of parent job create_hdd_textmode_qesec, adding own validation of repositories validation code -> https://github.com/okynos/os-autoinst-distri-opensuse/blob/180956-add-repo-validation-sle16/tests/yam/validate/validate_repositories.pm
We added a sleep into the code to be able to debug in case the error is present in a test.
First launch 10 jobs:
- https://openqa.suse.de/tests/17443825#
- https://openqa.suse.de/tests/17443826#
- https://openqa.suse.de/tests/17443827#
- https://openqa.suse.de/tests/17443828#
- https://openqa.suse.de/tests/17443829#
- https://openqa.suse.de/tests/17443830#
- https://openqa.suse.de/tests/17443831#
- https://openqa.suse.de/tests/17443832#
- https://openqa.suse.de/tests/17443833#
-
https://openqa.suse.de/tests/17443834#
No errors found.
Second launch 10 jobs:
- https://openqa.suse.de/tests/17443962#
- https://openqa.suse.de/tests/17443963#
- https://openqa.suse.de/tests/17443964#
- https://openqa.suse.de/tests/17443965#
- https://openqa.suse.de/tests/17443966#
- https://openqa.suse.de/tests/17443967#
- https://openqa.suse.de/tests/17443968#
- https://openqa.suse.de/tests/17443969#
- https://openqa.suse.de/tests/17443970#
-
https://openqa.suse.de/tests/17443971#
No errors found.
Third launch 10 jobs:
- https://openqa.suse.de/tests/17444149#
- https://openqa.suse.de/tests/17444150#
- https://openqa.suse.de/tests/17444151#
- https://openqa.suse.de/tests/17444152#
- https://openqa.suse.de/tests/17444153#
- https://openqa.suse.de/tests/17444154#
- https://openqa.suse.de/tests/17444156#
- https://openqa.suse.de/tests/17444157#
- https://openqa.suse.de/tests/17444159#
- https://openqa.suse.de/tests/17444265# (Boot error not related with repositories)
Fourth launch 10 jobs:
- https://openqa.suse.de/tests/17444270#
- https://openqa.suse.de/tests/17444271# (Error loading profile not related to repositories)
- https://openqa.suse.de/tests/17444272#
- https://openqa.suse.de/tests/17444274#
- https://openqa.suse.de/tests/17444275#
- https://openqa.suse.de/tests/17444277#
- https://openqa.suse.de/tests/17444280#
- https://openqa.suse.de/tests/17444282#
- https://openqa.suse.de/tests/17444286#
- https://openqa.suse.de/tests/17444287#
Bonus job (included console/validate_repos check): https://openqa.suse.de/tests/17454082
No error found.
After a talk with @JERiveraMoya we guessed that the error could be present in the way to load the qcow image, in some scenarios the job takes a lot of time to start after the image generation. He suggested to use START_DIRECTLY_AFTER_TEST
parameter in OpenQA job definition to avoid the second job fips_ker_mode_textmode_core
to take another image or a timing issue related to the qcow image.
We started this round of testing with green results:
First test: https://openqa.suse.de/tests/17460858 + https://openqa.suse.de/tests/17460859 (It doesn't failed at fips_setup step)
Second test: https://openqa.suse.de/tests/17462471 + https://openqa.suse.de/tests/17462472
More tests to come...
I will prepare a PR with the repository validation when all archs are ready.
Updated by jfernandez about 3 hours ago · Edited
Test suite using START_DIRECTLY_AFTER_TEST
1: https://openqa.suse.de/tests/17480871 + https://openqa.suse.de/tests/17480872
2: https://openqa.suse.de/tests/17463179 + https://openqa.suse.de/tests/17463180
3: https://openqa.suse.de/tests/17463181 + https://openqa.suse.de/tests/17463182
4: https://openqa.suse.de/tests/17463183 + https://openqa.suse.de/tests/17463184
5: https://openqa.suse.de/tests/17463185 + https://openqa.suse.de/tests/17463186
6: https://openqa.suse.de/tests/17463187 + https://openqa.suse.de/tests/17463188
7: https://openqa.suse.de/tests/17463189 + https://openqa.suse.de/tests/17463190
8: https://openqa.suse.de/tests/17463191 + https://openqa.suse.de/tests/17463192
9: https://openqa.suse.de/tests/17463193 + https://openqa.suse.de/tests/17463194
10: https://openqa.suse.de/tests/17463195 + https://openqa.suse.de/tests/17463196
All seems to work as expected
Updated by JERiveraMoya about 3 hours ago · Edited
Thanks for trying to reproduce it. We would these three steps if you agree:
(1) Lunch 40, 10 is not sufficient, the error is so strange, that usually needs more than that.
(2) Merge PR adding the validation module at least to x86_64 uefi unattended.
(3) Comment here in ticket how to enable this module and what test data is needed to run it.
(4) Notify QE Security pointing to (3)
After that we can continue adding the same validation everywhere with lower priority.