Make sure we have some rpm-ostree coverage in OpenQA #635
Labels
No labels
agile
anacondawebui
arm
blockerfe
Closed As
Duplicate
Closed As
Fixed
Closed As
Invalid
Closed As
Wontfix
Closed As
Worksforme
coreos
criteria
defect
easyfix
enhancement
iot
meeting
meta
onboarding call
proventesters
retrospective
silverblue
sponsor
test cases
test days
wiki
Backlog Status
Needs Review
Backlog Status
Ready
chore
documentation
points
01
points
02
points
03
points
05
points
08
points
13
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Sprint Status
Blocked
Sprint Status
Done
Sprint Status
In Progress
Sprint Status
Review
Sprint Status
To Do
Technical Debt
Work Item
Bug
Work Item
Epic
Work Item
Spike
Work Item
Task
Work Item
User Story
No milestone
No project
No assignees
5 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
quality/tickets#635
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
According to Sudhir, it's important that we have some test coverage of ostree. Given what we test, it mostly makes sense to cover this on Silverblue, because it heavily uses (rpm-)ostree and we want to have Silverblue covered anyway. Ideally in OpenQA with automation.
The task here is to look at the existing test cases (manual and automated), if we already have something that matches. I suppose we don't. Then create some test cases that would cover at least the basic operations (like updating Silverblue, rolling it back, switching to a different tree/stream, something like that) and communicate with our OpenQA folks (Adam, LukasR) whether they can implement it in OpenQA.
There are already some test cases which can be used as an inspiration, like:
https://fedoraproject.org/wiki/QA:Testcase_CoreOS_switch_stream
@sumantrom @coremodule Any volunteers? Thanks!
I think this is better suited for one of the OpenQA folks to do (@adamw , @lruzicka). Our OpenQA instance isn't the best documented system for someone to jump on and start using without a lot of questions being asked straight to one of the two mentioned above. That said, I don't think Sumantro or I would be able to figure out what is or isn't possible in OpenQA, as we've never worked with it before because it is so exclusive.
@kparal
The test cases we have for silverblue atm are:
Basic
http://fedoraproject.org/wiki/QA:Testcase_base_startup
http://fedoraproject.org/wiki/QA:Testcase_base_system_logging
http://fedoraproject.org/wiki/QA:Testcase_Services_start
http://fedoraproject.org/wiki/QA:Testcase_base_selinux
http://fedoraproject.org/wiki/QA:Testcase_base_service_manipulation
Silverblue specific
http://fedoraproject.org/wiki/User:Sumantrom/Draft/Test_Case_install_flatpak_repo
http://fedoraproject.org/wiki/QA:Testcase_desktop_update_notification
http://fedoraproject.org/wiki/QA:Testcase_gnome-software-addons
http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_silverblue_upgrade_%26_rebase
http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_silverblue_rebase
http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_silverblue_IDE_install
http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_silverblue_googlechrome_install
http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_silverblue_toolbox
That said, I will need some handholding with OpenQA and the above test cases, needs some updating which I will do and add a bit more test cases in the coming week.
We do already cover https://fedoraproject.org/wiki/QA:Testcase_RpmOstree_Package_Layering and https://fedoraproject.org/wiki/QA:Testcase_RpmOstree_Rebase with openQA, on IoT. We also have https://fedoraproject.org/wiki/QA:Testcase_RpmOstree_Upgrade in the IoT matrix and a ticket for automating it, but it's a bit tricky to implement so it's not done yet.
We should not duplicate ostree functionality tests between IoT and Silverblue. For upgrade and rebase we should just add those existing tests to the appropriate matrix for Silverblue, I guess. Any additional tests we want to write that aren't really specific to Silverblue but are just generic rpm-ostree tests should use the same naming convention and be added to the matrices for both.
oh, forgot to mention, it should be fairly simple to extend openQA to run the existing layering and rebase tests on Silverblue as well as IoT, if we want to do that.
I will also take a look and see if I could be of any help here. To switch on some test cases to run on Silverblue is pretty easy, so we could start there and see how it entwines.
Metadata Update from @kparal:
The intention of this ticket wasn't to write the automation, but figure out the current state and prepare everything needed so that OpenQA folks can write it. I.e. we'd just write the (manual) test cases, if needed.
Awesome! That's much better than I expected. And I completely forgot that IoT uses rpmostree as well, that of course counts as well.
The upgrade test would certainly be needed to have this reasonably covered. I'd also like to see rollback covered.
Does anyone know of some other important rpmostree functionality that should be covered?
We can take care of this in this ticket. We can make the rebase testcase a bit more generic, by saying the ioT mentioned in it is just an example and the same process is applicable to any edition based on rpm-ostree.
Does it make sense to place this into the Base matrix?
Agreed. Do we have a simple way how to display the latest IoT matrix? It's not listed here:
https://fedoraproject.org/wiki/QA:Release_validation_test_plan#Current_and_recent_validation_test_events
These two fit the description, Sumantro, thanks for those links. As Adam said, these would be prime candidates for merging into generic ostree-related test cases which can then be used for both IoT and Silverblue (and CoreOS most probably).
We should also synchronize with CoreOS which some test cases (meant to be testday-specific) here:
https://fedoraproject.org/wiki/Category:CoreOS_Test_Cases
and the matching one is here:
https://fedoraproject.org/wiki/QA:Testcase_CoreOS_switch_stream
We still haven't finalized how and whether we'll have CoreOS included in our testing matrices or not (that's still in our backlog), but in this case the test case seem it can easily apply to all these edition.
Volunteers?
Seems as good a place as any, yeah. Of course, Silverblue would be the only environment for it, since we don't have IoT images in the main compose.
I'd probably just replace those test cases with these 'unified' / 'generic' ones - make those pages just redirect to the tests we're planning here.
https://fedoraproject.org/wiki/Test_Results:Current_IoT_General_Test
I'll update that :)
Right, so we'll have the test case listed in the Base matrix for Silverblue, and then once again in the IoT General matrix.
Some of that might be tricky, because one of the points of the test day was to also validate existing documentation and link to it as much as possible. In some cases, it can be probably generalized, and for other cases, I won't mind having a generic test case (to be used during release validation) and a very similar testday-specific test case (to be used in future test days, when requirements/goals are slightly different).
@coremodule @sumantrom Can one of you please take this (see #comment-665174 and onward)? Thanks!
@kparal I will be taking this and will be coming up with something by tomorrow. Thanks.
Metadata Update from @kparal:
For readability, I created a separate ticket for the remaining tasks, see #659.
Metadata Update from @kparal: