os-autoinst-distri-rocky/templates

1716 lines
81 KiB
Plaintext
Raw Normal View History

2015-01-26 10:33:26 +00:00
#!/usr/share/openqa/script/load_templates
#
# Fedora Machines, Products, TestSuites and JobTemplates
2015-01-26 10:33:26 +00:00
#
# use load_templates to load the file into the database
#
{
JobTemplates => [
{
2015-01-26 13:39:49 +00:00
machine => { name => "64bit" },
prio => 10,
2015-01-26 10:33:26 +00:00
product => {
arch => "x86_64",
2015-01-26 13:39:49 +00:00
distri => "fedora",
flavor => "Workstation-live-iso",
version => "*",
2015-01-26 10:33:26 +00:00
},
test_suite => { name => "install_default_upload" },
2015-01-26 10:33:26 +00:00
},
{
machine => { name => "uefi" },
prio => 11,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Workstation-live-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "ARM" },
prio => 60,
product => {
arch => "arm",
distri => "fedora",
flavor => "Minimal-raw_xz-raw.xz",
version => "*",
},
test_suite => { name => "install_arm_image_deployment_upload" },
},
2015-02-13 09:58:24 +00:00
{
machine => { name => "64bit" },
prio => 10,
2015-02-13 09:58:24 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Server-boot-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "uefi" },
prio => 11,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Server-boot-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "64bit" },
prio => 10,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Server-dvd-iso",
version => "*",
},
test_suite => { name => "install_default_upload" },
},
{
machine => { name => "uefi" },
prio => 11,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Server-dvd-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "64bit" },
prio => 10,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Everything-boot-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "uefi" },
prio => 11,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Everything-boot-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "64bit" },
prio => 15,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Workstation-boot-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "uefi" },
prio => 16,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Workstation-boot-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "64bit" },
prio => 15,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "KDE-live-iso",
version => "*",
},
test_suite => { name => "install_default_upload" },
},
{
machine => { name => "uefi" },
prio => 16,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "KDE-live-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "64bit" },
prio => 50,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Atomic-boot-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
add a base_selinux test (follow-on from default_install) Summary: so here's our first attempt to use the 'carry on from a previous test' stuff! This adds a base_selinux test that uses a disk image from a previous default_install run, and adds jobtemplates to run base_selinux for appropriate products: generic_boot (for nightly tests), server_dvd, and workstation_live. Note that you'll want to either update to the newest openQA package I just built in COPR or create /var/lib/openqa/share/factory/tmp owned by geekotest; openQA tries to use that directory as MOJO_TMPDIR but in 4.2, if the directory doesn't exist, it doesn't create it, and we wind up with the default MOJO_TMPDIR which is /tmp; when the disk image is uploaded it creates a huge temp file in /tmp and may well exhaust the available space as it's a tmpfs. I've backported a recent upstream commit that tries to create the directory if it doesn't exist, in 4.2-10. It seems like openQA is smart enough to figure out the dependencies correctly, so the 'base_selinux' test for each product depends on the 'default_install' test for the same product (not any of the other default_install runs) and will use the hard disk image it produces. Test Plan: Do a full test run and make sure base_selinux tests appear for appropriate products, depend on the correct default_ install test, the default_install test uploads the hard disk image correctly, and the base_selinux test runs correctly. And of course that nothing else broke in the process... Reviewers: jskladan, garretraziel Reviewed By: jskladan Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D699
2015-12-17 20:46:14 +00:00
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Workstation-live-iso",
add a base_selinux test (follow-on from default_install) Summary: so here's our first attempt to use the 'carry on from a previous test' stuff! This adds a base_selinux test that uses a disk image from a previous default_install run, and adds jobtemplates to run base_selinux for appropriate products: generic_boot (for nightly tests), server_dvd, and workstation_live. Note that you'll want to either update to the newest openQA package I just built in COPR or create /var/lib/openqa/share/factory/tmp owned by geekotest; openQA tries to use that directory as MOJO_TMPDIR but in 4.2, if the directory doesn't exist, it doesn't create it, and we wind up with the default MOJO_TMPDIR which is /tmp; when the disk image is uploaded it creates a huge temp file in /tmp and may well exhaust the available space as it's a tmpfs. I've backported a recent upstream commit that tries to create the directory if it doesn't exist, in 4.2-10. It seems like openQA is smart enough to figure out the dependencies correctly, so the 'base_selinux' test for each product depends on the 'default_install' test for the same product (not any of the other default_install runs) and will use the hard disk image it produces. Test Plan: Do a full test run and make sure base_selinux tests appear for appropriate products, depend on the correct default_ install test, the default_install test uploads the hard disk image correctly, and the base_selinux test runs correctly. And of course that nothing else broke in the process... Reviewers: jskladan, garretraziel Reviewed By: jskladan Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D699
2015-12-17 20:46:14 +00:00
version => "*",
},
test_suite => { name => "base_selinux" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Server-dvd-iso",
add a base_selinux test (follow-on from default_install) Summary: so here's our first attempt to use the 'carry on from a previous test' stuff! This adds a base_selinux test that uses a disk image from a previous default_install run, and adds jobtemplates to run base_selinux for appropriate products: generic_boot (for nightly tests), server_dvd, and workstation_live. Note that you'll want to either update to the newest openQA package I just built in COPR or create /var/lib/openqa/share/factory/tmp owned by geekotest; openQA tries to use that directory as MOJO_TMPDIR but in 4.2, if the directory doesn't exist, it doesn't create it, and we wind up with the default MOJO_TMPDIR which is /tmp; when the disk image is uploaded it creates a huge temp file in /tmp and may well exhaust the available space as it's a tmpfs. I've backported a recent upstream commit that tries to create the directory if it doesn't exist, in 4.2-10. It seems like openQA is smart enough to figure out the dependencies correctly, so the 'base_selinux' test for each product depends on the 'default_install' test for the same product (not any of the other default_install runs) and will use the hard disk image it produces. Test Plan: Do a full test run and make sure base_selinux tests appear for appropriate products, depend on the correct default_ install test, the default_install test uploads the hard disk image correctly, and the base_selinux test runs correctly. And of course that nothing else broke in the process... Reviewers: jskladan, garretraziel Reviewed By: jskladan Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D699
2015-12-17 20:46:14 +00:00
version => "*",
},
test_suite => { name => "base_selinux" },
},
{
machine => { name => "64bit" },
prio => 42,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "KDE-live-iso",
version => "*",
},
test_suite => { name => "base_selinux" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Workstation-live-iso",
version => "*",
},
test_suite => { name => "base_services_start" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Server-dvd-iso",
version => "*",
},
test_suite => { name => "base_services_start" },
},
{
machine => { name => "64bit" },
prio => 42,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "KDE-live-iso",
version => "*",
},
test_suite => { name => "base_services_start" },
},
{
machine => { name => "ARM" },
prio => 62,
product => {
arch => "arm",
distri => "fedora",
flavor => "Minimal-raw_xz-raw.xz",
version => "*",
},
test_suite => { name => "base_services_start_arm" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Workstation-live-iso",
version => "*",
},
test_suite => { name => "base_service_manipulation" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Server-dvd-iso",
version => "*",
},
test_suite => { name => "base_service_manipulation" },
},
{
machine => { name => "64bit" },
prio => 42,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "KDE-live-iso",
version => "*",
},
test_suite => { name => "base_service_manipulation" },
},
{
machine => { name => "64bit" },
prio => 30,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Workstation-live-iso",
version => "*",
},
test_suite => { name => "desktop_terminal" },
},
{
machine => { name => "64bit" },
prio => 32,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "KDE-live-iso",
version => "*",
},
test_suite => { name => "desktop_terminal" },
},
{
machine => { name => "64bit" },
prio => 30,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_package_set_minimal" },
},
add FreeIPA server role deploy and kickstart enrolment tests Summary: These require openQA tap networking to allow the server and client boxes to communicate, and require masquerading (NAT) so the server at least can reach a repository (dnf/rolekit really, really do not want to work without a repo connection). They use the 'parallel' test support to have the server deploy run first while the client enrol test waits at the grub menu until the server is done before it goes ahead. This is all deployed and working on stg. The really tricky bit was getting all the openvswitch and firewall config right in ansible. We *could* do the server deploy test as a follow-on from the default install test to save the install, but then we'd have to teach it to change the hostname and set up static networking post-install. I'm not sure if it's worth doing that. This requires the corresponding openqa_fedora_tools commit that adds the hard disks (containing the kickstarts - it's possible to get them from remote during install, but we have to set up name resolution or hard code the IP of the server). Test Plan: Deploy this and the openqa_fedora_tools commit, generate the disks, configure the networking (good luck! See the docs in openqa_fedora_tools) and see if you can run the tests. If you're using Docker, uh...sorry. You somehow need to set things up so the workers can use tap interfaces that can talk to each other and are NATed to the outside world. Have fun. I can talk you through it on IRC... Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D831
2016-05-04 18:53:11 +00:00
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Server-dvd-iso",
version => "*",
},
test_suite => { name => "server_role_deploy_domain_controller" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Server-dvd-iso",
version => "*",
},
test_suite => { name => "server_realmd_join_kickstart" },
},
add cockpit_default and cockpit_basic tests Summary: This adds tests for the Server_cockpit_default and cockpit_basic test cases. Some notes: I was initially thinking of combining these into a single test with multiple test modules and coming up with a system for doing wiki reporting based on individual test module status, but because we'll also want to do a cockpit FreeIPA enrol test, I decided against it. We don't really want to combine all three because then we would skip the cockpit tests whenever FreeIPA server deployment failed, which isn't ideal. So since we'll need a separate FreeIPA enrolment test anyway it doesn't really make sense to go to the trouble of designing a system for loading multiple postinstall tests (though I have an idea for that!) and a per-module wiki reporting system. This was the most minimal and hopefully reliable method for running Cockpit from a stock Server install that I could think of. An alternative approach would be to have, say, the most recent stable Workstation live as a 'stock' asset and have two tests, one which runs a stock Server install and just waits and another which boots the live image and accesses the cockpit running on the other box, but that seems a bit over-complex. It is not possible to have dependencies between tests for different ISOs, in case you were wondering about having a Workstation live test which runs parallel with a Server DVD test, we can't do that. One funny thing is the font that winds up getting used for the desktop, but I don't *think* that should be a problem. Picking needles was a bit tricky; any improvement suggestions are welcome. I'm hoping it turns out to be safe to rely on some dbus log messages being present; I think logging into Cockpit triggers activation of the realmd dbus interface, so there *should* always be some messages related to that. An alternative would just be to match on a sliver of the dark grey table header and the light grey row beneath it and assume that'll always be the first message (whatever the message is), but then we have to find some area of the message details screen which is always present for any message, and it just seems a tad more likely to result in false passes. Similary I'm making an assumption that auditd is always going to show up on the first page of the Services screen and the details screen will always show that 'loaded...enabled' text. Test Plan: Run the tests and see if they work! See https://openqa.stg.fedoraproject.org/tests/21373 and https://openqa.stg.fedoraproject.org/tests/21371 for my tests. Reviewers: garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D874
2016-06-01 16:05:33 +00:00
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Server-dvd-iso",
version => "*",
},
test_suite => { name => "server_cockpit_default" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Server-dvd-iso",
version => "*",
},
test_suite => { name => "server_cockpit_basic" },
},
{
machine => { name => "64bit" },
prio => 20,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-02-13 09:58:24 +00:00
},
test_suite => { name => "install_repository_http_variation" },
2015-02-13 09:58:24 +00:00
},
{
machine => { name => "64bit" },
prio => 20,
2015-02-13 09:58:24 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-02-13 09:58:24 +00:00
},
test_suite => { name => "install_repository_http_graphical" },
2015-02-13 09:58:24 +00:00
},
{
machine => { name => "64bit" },
prio => 20,
2015-02-13 09:58:24 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-02-13 09:58:24 +00:00
},
test_suite => { name => "install_mirrorlist_graphical" },
2015-02-13 09:58:24 +00:00
},
{
machine => { name => "64bit" },
prio => 20,
2015-02-13 09:58:24 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-02-13 09:58:24 +00:00
},
test_suite => { name => "install_delete_pata" },
2015-02-13 09:58:24 +00:00
},
{
machine => { name => "uefi" },
prio => 21,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_delete_pata" },
},
2015-02-13 09:58:24 +00:00
{
machine => { name => "64bit" },
prio => 20,
2015-02-13 09:58:24 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-02-13 09:58:24 +00:00
},
test_suite => { name => "install_kickstart_user_creation" },
2015-02-13 09:58:24 +00:00
},
{
machine => { name => "64bit" },
prio => 20,
2015-02-13 09:58:24 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-02-13 09:58:24 +00:00
},
test_suite => { name => "install_scsi_updates_img" },
2015-02-13 09:58:24 +00:00
},
{
machine => { name => "64bit" },
prio => 20,
2015-02-13 09:58:24 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-02-13 09:58:24 +00:00
},
test_suite => { name => "install_multi" },
2015-02-13 09:58:24 +00:00
},
{
machine => { name => "uefi" },
prio => 21,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_multi" },
},
2015-02-13 09:58:24 +00:00
{
machine => { name => "64bit" },
prio => 30,
2015-02-13 09:58:24 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-02-13 09:58:24 +00:00
},
test_suite => { name => "install_simple_encrypted" },
2015-02-13 09:58:24 +00:00
},
2015-03-05 10:44:02 +00:00
{
machine => { name => "64bit" },
prio => 30,
2015-03-05 10:44:02 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-03-05 10:44:02 +00:00
},
test_suite => { name => "install_simple_free_space" },
2015-03-05 10:44:02 +00:00
},
2015-03-05 12:57:47 +00:00
{
machine => { name => "64bit" },
prio => 30,
2015-03-05 12:57:47 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-03-05 12:57:47 +00:00
},
test_suite => { name => "install_multi_empty" },
2015-03-05 12:57:47 +00:00
},
2015-03-06 09:36:25 +00:00
{
machine => { name => "64bit" },
prio => 30,
2015-03-06 09:36:25 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-03-06 09:36:25 +00:00
},
test_suite => { name => "install_software_raid" },
2015-03-06 09:36:25 +00:00
},
2015-03-12 09:58:04 +00:00
{
machine => { name => "64bit" },
prio => 30,
2015-03-12 09:58:04 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-03-12 09:58:04 +00:00
},
test_suite => { name => "install_delete_partial" },
2015-03-12 09:58:04 +00:00
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_btrfs" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_ext3" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_xfs" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_lvmthin" },
},
{
machine => { name => "64bit" },
prio => 50,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_no_swap" },
},
{
machine => { name => "64bit" },
prio => 50,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_package_set_kde" },
},
{
machine => { name => "uefi" },
prio => 31,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_simple_encrypted" },
},
{
machine => { name => "uefi" },
prio => 31,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_simple_free_space" },
},
{
machine => { name => "uefi" },
prio => 31,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_multi_empty" },
},
{
machine => { name => "uefi" },
prio => 31,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_software_raid" },
},
{
machine => { name => "uefi" },
prio => 31,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_delete_partial" },
},
{
machine => { name => "uefi" },
prio => 41,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_btrfs" },
},
{
machine => { name => "uefi" },
prio => 41,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_ext3" },
},
{
machine => { name => "uefi" },
prio => 41,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_xfs" },
},
{
machine => { name => "uefi" },
prio => 41,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_lvmthin" },
},
{
machine => { name => "uefi" },
prio => 51,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_no_swap" },
},
2015-03-12 09:58:04 +00:00
{
machine => { name => "64bit" },
prio => 30,
2015-03-12 09:58:04 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
2015-03-12 09:58:04 +00:00
},
test_suite => { name => "install_kickstart_hdd" },
2015-03-12 09:58:04 +00:00
},
{
machine => { name => "64bit" },
prio => 30,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
convert upgrade tests to dnf-plugin-system-upgrade Summary: This is a first cut which more or less works for now. Issues: 1) We're not really testing the BUILD, here. All the test does is try and upgrade to the specified VERSION - so it'll be using the latest 'stable' for the given VERSION at the time the test runs. This isn't really that terrible, but especially for TC/RC validation, we might want to make things a bit more elaborate and set up the repo for the actual BUILD (and disable the main repos). 2) We'd actually need --nogpgcheck for non-Rawhide, at one specific point in the release cycle - after Branching but before Bodhi activation (which is when we can be sure all packages are signed). This won't matter until 24 branches, and maybe releng will have it fixed by then...if not, I'll tweak it. 3) We don't really test that the upgrade actually *happened* for desktop, at the moment - the only thing in the old test that really checked that was where we checked for the fedup boot menu entry, but that has no analog in dnf. What we should probably do is check that GUI login works, then switch to a console and check /etc/fedora-release just as the minimal test does. Test Plan: Run the tests. Note that creating the desktop disk image doesn't work ATM, so I can't verify the desktop test works, but the minimal one seems to (with D565). There'll be a matching diff for openqa_fedora_tools to update the test case names there. Reviewers: jskladan, garretraziel Reviewed By: jskladan, garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D567
2015-09-10 21:49:13 +00:00
test_suite => { name => "upgrade_minimal_64bit" },
},
{
machine => { name => "64bit" },
prio => 30,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
convert upgrade tests to dnf-plugin-system-upgrade Summary: This is a first cut which more or less works for now. Issues: 1) We're not really testing the BUILD, here. All the test does is try and upgrade to the specified VERSION - so it'll be using the latest 'stable' for the given VERSION at the time the test runs. This isn't really that terrible, but especially for TC/RC validation, we might want to make things a bit more elaborate and set up the repo for the actual BUILD (and disable the main repos). 2) We'd actually need --nogpgcheck for non-Rawhide, at one specific point in the release cycle - after Branching but before Bodhi activation (which is when we can be sure all packages are signed). This won't matter until 24 branches, and maybe releng will have it fixed by then...if not, I'll tweak it. 3) We don't really test that the upgrade actually *happened* for desktop, at the moment - the only thing in the old test that really checked that was where we checked for the fedup boot menu entry, but that has no analog in dnf. What we should probably do is check that GUI login works, then switch to a console and check /etc/fedora-release just as the minimal test does. Test Plan: Run the tests. Note that creating the desktop disk image doesn't work ATM, so I can't verify the desktop test works, but the minimal one seems to (with D565). There'll be a matching diff for openqa_fedora_tools to update the test case names there. Reviewers: jskladan, garretraziel Reviewed By: jskladan, garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D567
2015-09-10 21:49:13 +00:00
test_suite => { name => "upgrade_desktop_64bit" },
},
{
machine => { name => "64bit" },
prio => 30,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "upgrade_server_64bit" },
},
{
machine => { name => "64bit" },
prio => 30,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "upgrade_kde_64bit" },
},
{
machine => { name => "64bit" },
prio => 50,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "upgrade_2_minimal_64bit" },
},
{
machine => { name => "64bit" },
prio => 50,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "upgrade_2_desktop_64bit" },
},
{
machine => { name => "64bit" },
prio => 50,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "upgrade_2_server_64bit" },
},
{
machine => { name => "64bit" },
prio => 50,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "upgrade_2_kde_64bit" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_updates_img_local" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_shrink_ext4" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_shrink_ntfs" },
},
add a french (encrypted) test Summary: this handles Non-English European Language Install. Basically it's a bunch of new screenshots for existing tag names, plus a bit of configurability in _boot_to_anaconda and tweaking some existing needles to do non-text matches. The weird 'half-the- icon' needles are for cases where there may or may not be a warning triangle but we want to click it either way (saves duplicating the needle). This also sets up a convention for tagging what languages a needle is appropriate for. If it's specifically appropriate for one or more languages, a tag ENV-LANGUAGE-(LANGUAGE) should be applied for each language, where (LANGUAGE) is the install language in upper-case ('LANGUAGE' variable, which should also be the string that will be typed into the language selection screen). If the needle ought to be used for *all* languages - i.e. it's not a text match, or any text in the match is known not to be translated - the tag ENV-INSTLANG-ALL should be applied. To back this, main.pm now unregisters all needles that are not tagged with either ENV-LANGUAGE-ALL or the tag for the language actually being used (if the LANGUAGE var is not set, we assume english). The point of this is to check the install is actually translated; if we allow all needles to match, the test would pass even if no translations appeared at all. Test Plan: Run all tests and make sure you get the expected results. You can schedule a run against 23 Beta TC1 to see the French test fails 'correctly' when translations are missing. Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D577
2015-09-15 01:08:58 +00:00
{
machine => { name => "64bit" },
prio => 40,
add a french (encrypted) test Summary: this handles Non-English European Language Install. Basically it's a bunch of new screenshots for existing tag names, plus a bit of configurability in _boot_to_anaconda and tweaking some existing needles to do non-text matches. The weird 'half-the- icon' needles are for cases where there may or may not be a warning triangle but we want to click it either way (saves duplicating the needle). This also sets up a convention for tagging what languages a needle is appropriate for. If it's specifically appropriate for one or more languages, a tag ENV-LANGUAGE-(LANGUAGE) should be applied for each language, where (LANGUAGE) is the install language in upper-case ('LANGUAGE' variable, which should also be the string that will be typed into the language selection screen). If the needle ought to be used for *all* languages - i.e. it's not a text match, or any text in the match is known not to be translated - the tag ENV-INSTLANG-ALL should be applied. To back this, main.pm now unregisters all needles that are not tagged with either ENV-LANGUAGE-ALL or the tag for the language actually being used (if the LANGUAGE var is not set, we assume english). The point of this is to check the install is actually translated; if we allow all needles to match, the test would pass even if no translations appeared at all. Test Plan: Run all tests and make sure you get the expected results. You can schedule a run against 23 Beta TC1 to see the French test fails 'correctly' when translations are missing. Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D577
2015-09-15 01:08:58 +00:00
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_european_language" },
add a french (encrypted) test Summary: this handles Non-English European Language Install. Basically it's a bunch of new screenshots for existing tag names, plus a bit of configurability in _boot_to_anaconda and tweaking some existing needles to do non-text matches. The weird 'half-the- icon' needles are for cases where there may or may not be a warning triangle but we want to click it either way (saves duplicating the needle). This also sets up a convention for tagging what languages a needle is appropriate for. If it's specifically appropriate for one or more languages, a tag ENV-LANGUAGE-(LANGUAGE) should be applied for each language, where (LANGUAGE) is the install language in upper-case ('LANGUAGE' variable, which should also be the string that will be typed into the language selection screen). If the needle ought to be used for *all* languages - i.e. it's not a text match, or any text in the match is known not to be translated - the tag ENV-INSTLANG-ALL should be applied. To back this, main.pm now unregisters all needles that are not tagged with either ENV-LANGUAGE-ALL or the tag for the language actually being used (if the LANGUAGE var is not set, we assume english). The point of this is to check the install is actually translated; if we allow all needles to match, the test would pass even if no translations appeared at all. Test Plan: Run all tests and make sure you get the expected results. You can schedule a run against 23 Beta TC1 to see the French test fails 'correctly' when translations are missing. Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D577
2015-09-15 01:08:58 +00:00
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_cyrillic_language" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_kickstart_firewall_disabled" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_kickstart_firewall_configured" },
},
{
machine => { name => "64bit" },
prio => 40,
product => {
arch => "x86_64",
distri => "fedora",
flavor => "Server-dvd-iso",
version => "*",
},
test_suite => { name => "server_firewall_default" },
},
{
machine => { name => "64bit" },
prio => 11,
product => {
arch => "i386",
distri => "fedora",
flavor => "Workstation-live-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "64bit" },
prio => 12,
product => {
arch => "i386",
distri => "fedora",
flavor => "Server-boot-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "64bit" },
prio => 12,
product => {
arch => "i386",
distri => "fedora",
flavor => "Server-dvd-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "64bit" },
prio => 12,
product => {
arch => "i386",
distri => "fedora",
flavor => "Everything-boot-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "64bit" },
prio => 17,
product => {
arch => "i386",
distri => "fedora",
flavor => "Workstation-boot-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "64bit" },
prio => 17,
product => {
arch => "i386",
distri => "fedora",
flavor => "KDE-live-iso",
version => "*",
},
test_suite => { name => "install_default" },
},
{
machine => { name => "64bit" },
prio => 32,
product => {
arch => "i386",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_package_set_minimal" },
},
{
machine => { name => "64bit" },
prio => 22,
product => {
arch => "i386",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_repository_http_graphical" },
},
{
machine => { name => "64bit" },
prio => 22,
product => {
arch => "i386",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_scsi_updates_img" },
},
{
machine => { name => "64bit" },
prio => 32,
product => {
arch => "i386",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_simple_encrypted" },
},
{
machine => { name => "64bit" },
prio => 32,
product => {
arch => "i386",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_software_raid" },
},
{
machine => { name => "64bit" },
prio => 42,
product => {
arch => "i386",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_btrfs" },
},
{
machine => { name => "64bit" },
prio => 42,
product => {
arch => "i386",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_ext3" },
},
{
machine => { name => "64bit" },
prio => 42,
product => {
arch => "i386",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_lvmthin" },
},
{
machine => { name => "64bit" },
prio => 32,
product => {
arch => "i386",
distri => "fedora",
flavor => "universal",
version => "*",
},
convert upgrade tests to dnf-plugin-system-upgrade Summary: This is a first cut which more or less works for now. Issues: 1) We're not really testing the BUILD, here. All the test does is try and upgrade to the specified VERSION - so it'll be using the latest 'stable' for the given VERSION at the time the test runs. This isn't really that terrible, but especially for TC/RC validation, we might want to make things a bit more elaborate and set up the repo for the actual BUILD (and disable the main repos). 2) We'd actually need --nogpgcheck for non-Rawhide, at one specific point in the release cycle - after Branching but before Bodhi activation (which is when we can be sure all packages are signed). This won't matter until 24 branches, and maybe releng will have it fixed by then...if not, I'll tweak it. 3) We don't really test that the upgrade actually *happened* for desktop, at the moment - the only thing in the old test that really checked that was where we checked for the fedup boot menu entry, but that has no analog in dnf. What we should probably do is check that GUI login works, then switch to a console and check /etc/fedora-release just as the minimal test does. Test Plan: Run the tests. Note that creating the desktop disk image doesn't work ATM, so I can't verify the desktop test works, but the minimal one seems to (with D565). There'll be a matching diff for openqa_fedora_tools to update the test case names there. Reviewers: jskladan, garretraziel Reviewed By: jskladan, garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D567
2015-09-10 21:49:13 +00:00
test_suite => { name => "upgrade_desktop_32bit" },
2015-12-07 18:12:06 +00:00
},
{
machine => { name => "64bit" },
prio => 52,
product => {
arch => "i386",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "upgrade_2_desktop_32bit" },
},
{
machine => { name => "64bit" },
prio => 52,
product => {
arch => "i386",
distri => "fedora",
flavor => "universal",
version => "*",
},
test_suite => { name => "install_package_set_kde" },
},
2015-01-26 10:33:26 +00:00
],
Machines => [
{
backend => "qemu",
name => "64bit",
2015-02-19 13:15:29 +00:00
settings => [
{ key => "QEMUCPU", value => "host" },
{ key => "QEMUCPUS", value => "2"},
{ key => "QEMUVGA", value => "qxl"},
{ key => "QEMURAM", value => "2048"},
{ key => "PART_TABLE_TYPE", value => "mbr"}
],
},
{
backend => "qemu",
name => "uefi",
settings => [
{ key => "QEMUCPU", value => "host" },
{ key => "QEMUCPUS", value => "2"},
{ key => "QEMUVGA", value => "qxl"},
{ key => "QEMURAM", value => "2048"},
{ key => "UEFI", value => "1"},
{ key => "PART_TABLE_TYPE", value => "gpt"}
],
},
{
backend => "qemu",
name => "ARM",
settings => [
{ key => "QEMU", value => "arm" },
{ key => "QEMUCPUS", value => "2"},
{ key => "QEMUMACHINE", value => "virt"},
{ key => "QEMURAM", value => "1024"},
{ key => "QEMU_NO_KVM", value => "1"},
{ key => "TIMEOUT_SCALE", value => "5" },
{ key => "SERIALDEV", value => "ttyAMA0" }
],
},
2015-01-26 10:33:26 +00:00
],
Products => [
{
arch => "x86_64",
distri => "fedora",
flavor => "universal",
name => "",
settings => [
],
version => "*",
},
{
arch => "x86_64",
distri => "fedora",
flavor => "Everything-boot-iso",
name => "",
settings => [
],
version => "*",
},
{
arch => "x86_64",
distri => "fedora",
flavor => "Server-boot-iso",
2015-01-26 10:33:26 +00:00
name => "",
settings => [
],
version => "*",
2015-01-26 10:33:26 +00:00
},
{
arch => "x86_64",
distri => "fedora",
flavor => "Server-dvd-iso",
name => "",
settings => [
],
version => "*",
},
{
arch => "x86_64",
distri => "fedora",
flavor => "Atomic-boot-iso",
name => "",
settings => [
{ key => "CANNED", value => "1" }
],
version => "*",
},
{
arch => "x86_64",
distri => "fedora",
flavor => "Workstation-boot-iso",
name => "",
settings => [
{ key => "DESKTOP", value => "gnome" }
],
version => "*",
},
{
arch => "x86_64",
distri => "fedora",
flavor => "Workstation-live-iso",
name => "",
settings => [
{ key => "LIVE", value => "1" },
{ key => "DESKTOP", value => "gnome" }
],
version => "*",
},
{
arch => "x86_64",
distri => "fedora",
flavor => "KDE-live-iso",
name => "",
settings => [
{ key => "LIVE", value => "1" },
{ key => "DESKTOP", value => "kde" }
],
version => "*",
},
{
arch => "i386",
distri => "fedora",
flavor => "universal",
name => "",
settings => [
],
version => "*",
},
{
arch => "i386",
distri => "fedora",
flavor => "Everything-boot-iso",
name => "",
settings => [
],
version => "*",
},
{
arch => "i386",
distri => "fedora",
flavor => "Server-boot-iso",
name => "",
settings => [
],
version => "*",
},
{
arch => "i386",
distri => "fedora",
flavor => "Server-dvd-iso",
name => "",
settings => [
],
version => "*",
},
{
arch => "i386",
distri => "fedora",
flavor => "Workstation-boot-iso",
name => "",
settings => [
{ key => "DESKTOP", value => "gnome" }
],
version => "*",
},
{
arch => "i386",
distri => "fedora",
flavor => "Workstation-live-iso",
name => "",
settings => [
{ key => "LIVE", value => "1" },
{ key => "DESKTOP", value => "gnome" }
],
version => "*",
},
{
arch => "i386",
distri => "fedora",
flavor => "KDE-live-iso",
name => "",
settings => [
{ key => "LIVE", value => "1" },
{ key => "DESKTOP", value => "kde" }
],
version => "*",
},
{
arch => "arm",
distri => "fedora",
flavor => "Minimal-raw_xz-raw.xz",
name => "",
settings => [
],
version => "*",
}
2015-01-26 10:33:26 +00:00
],
TestSuites => [
{
name => "install_default",
settings => [
{ key => "PACKAGE_SET", value => "default" },
],
},
{
name => "install_default_upload",
settings => [
{ key => "PACKAGE_SET", value => "default" },
add a base_selinux test (follow-on from default_install) Summary: so here's our first attempt to use the 'carry on from a previous test' stuff! This adds a base_selinux test that uses a disk image from a previous default_install run, and adds jobtemplates to run base_selinux for appropriate products: generic_boot (for nightly tests), server_dvd, and workstation_live. Note that you'll want to either update to the newest openQA package I just built in COPR or create /var/lib/openqa/share/factory/tmp owned by geekotest; openQA tries to use that directory as MOJO_TMPDIR but in 4.2, if the directory doesn't exist, it doesn't create it, and we wind up with the default MOJO_TMPDIR which is /tmp; when the disk image is uploaded it creates a huge temp file in /tmp and may well exhaust the available space as it's a tmpfs. I've backported a recent upstream commit that tries to create the directory if it doesn't exist, in 4.2-10. It seems like openQA is smart enough to figure out the dependencies correctly, so the 'base_selinux' test for each product depends on the 'default_install' test for the same product (not any of the other default_install runs) and will use the hard disk image it produces. Test Plan: Do a full test run and make sure base_selinux tests appear for appropriate products, depend on the correct default_ install test, the default_install test uploads the hard disk image correctly, and the base_selinux test runs correctly. And of course that nothing else broke in the process... Reviewers: jskladan, garretraziel Reviewed By: jskladan Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D699
2015-12-17 20:46:14 +00:00
{ key => "STORE_HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" },
],
},
{
name => "install_arm_image_deployment_upload",
settings => [
{ key => "ENTRYPOINT", value => "install_arm_image_deployment" },
# we don't want HDD_2 to be really connected, but we need to use it to download
# HDD ISO, see https://github.com/os-autoinst/openQA/issues/684
{ key => "NUMDISKS", value => "1" },
{ key => "HDD_1", value => "%HDD_2%" },
{ key => "STORE_HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" },
],
},
{
name => "install_package_set_minimal",
settings => [
{ key => "PACKAGE_SET", value => "minimal" },
],
2015-01-26 10:33:26 +00:00
},
{
name => "install_multi",
settings => [
{ key => "PARTITIONING", value => "guided_multi" },
2015-01-27 15:35:10 +00:00
{ key => "NUMDISKS", value => "2" },
{ key => "HDD_2", value => "disk_full_mbr.img" },
2015-02-13 09:01:38 +00:00
{ key => "ROOT_PASSWORD", value => "weakpassword" },
2015-01-27 12:35:27 +00:00
],
},
{
name => "install_scsi_updates_img",
2015-01-27 12:35:27 +00:00
settings => [
{ key => "TEST_UPDATES", value => "1" },
{ key => "GRUB", value => "inst.updates=https://fedorapeople.org/groups/qa/updates/updates-openqa.img" },
2015-01-27 12:35:27 +00:00
{ key => "HDDMODEL", value => "virtio-scsi-pci" },
{ key => "CDMODEL", value => "scsi-cd" },
2015-01-27 12:35:27 +00:00
],
},
{
name => "install_kickstart_user_creation",
2015-01-27 12:35:27 +00:00
settings => [
{ key => "KICKSTART", value => "1" },
2015-02-04 13:05:20 +00:00
{ key => "GRUB", value => "inst.ks=http://jskladan.fedorapeople.org/kickstarts/root-user-crypted-net.ks" },
2015-01-27 12:35:27 +00:00
{ key => "USER_LOGIN", value => "test" },
{ key => "USER_PASSWORD", value => "test" },
{ key => "ROOT_PASSWORD", value => "111111" },
],
},
2015-01-27 13:22:35 +00:00
{
name => "install_delete_pata",
2015-01-27 13:22:35 +00:00
settings => [
{ key => "PARTITIONING", value => "guided_delete_all" },
2015-01-27 13:22:35 +00:00
{ key => "HDDMODEL", value => "ide-hd" },
{ key => "HDD_1", value => "disk_full_mbr.img" },
2015-01-27 13:22:35 +00:00
],
},
2015-02-04 13:05:20 +00:00
{
name => "install_mirrorlist_graphical",
2015-02-04 13:05:20 +00:00
settings => [
{ key => "MIRRORLIST_GRAPHICAL", value => "1" },
],
},
{
name => "install_repository_http_graphical",
2015-02-04 13:05:20 +00:00
settings => [
2015-03-04 11:26:02 +00:00
{ key => "REPOSITORY_GRAPHICAL", value => "http://dl.fedoraproject.org/pub/fedora/linux/development" },
2015-02-04 13:05:20 +00:00
],
},
2015-02-04 13:45:37 +00:00
{
name => "install_repository_http_variation",
2015-02-04 13:45:37 +00:00
settings => [
2015-03-04 11:26:02 +00:00
{ key => "REPOSITORY_VARIATION", value => "http://dl.fedoraproject.org/pub/fedora/linux/development" },
2015-02-04 13:45:37 +00:00
],
},
2015-02-13 08:51:24 +00:00
{
name => "install_delete_partial",
2015-02-13 08:51:24 +00:00
settings => [
{ key => "PARTITIONING", value => "guided_delete_partial" },
{ key => "HDD_1", value => "disk_full_%PART_TABLE_TYPE%.img" },
2015-02-13 08:51:24 +00:00
{ key => "ROOT_PASSWORD", value => "weakpassword" },
],
},
2015-02-13 09:58:24 +00:00
{
name => "install_simple_encrypted",
2015-02-13 09:58:24 +00:00
settings => [
{ key => "ENCRYPT_PASSWORD", value => "weakpassword" },
],
},
2015-03-05 10:44:02 +00:00
{
name => "install_simple_free_space",
2015-03-05 10:44:02 +00:00
settings => [
{ key => "PARTITIONING", value => "guided_free_space" },
{ key => "HDD_1", value => "disk_freespace_%PART_TABLE_TYPE%.img" },
2015-03-05 10:44:02 +00:00
{ key => "ROOT_PASSWORD", value => "weakpassword" },
],
},
2015-03-05 12:57:47 +00:00
{
name => "install_multi_empty",
2015-03-05 12:57:47 +00:00
settings => [
{ key => "PARTITIONING", value => "guided_multi_empty_all" },
2015-03-05 12:57:47 +00:00
{ key => "NUMDISKS", value => "2" },
{ key => "ROOT_PASSWORD", value => "weakpassword" },
],
},
2015-03-06 09:36:25 +00:00
{
name => "install_software_raid",
2015-03-06 09:36:25 +00:00
settings => [
{ key => "PARTITIONING", value => "custom_software_raid" },
2015-03-06 09:36:25 +00:00
{ key => "NUMDISKS", value => "2" },
{ key => "ROOT_PASSWORD", value => "weakpassword" },
],
},
2015-03-12 09:58:04 +00:00
{
name => "install_btrfs",
settings => [
{ key => "PARTITIONING", value => "custom_btrfs" },
{ key => "ROOT_PASSWORD", value => "weakpassword" },
],
},
{
name => "install_ext3",
settings => [
{ key => "PARTITIONING", value => "custom_ext3" },
{ key => "ROOT_PASSWORD", value => "weakpassword" },
],
},
{
name => "install_lvmthin",
settings => [
{ key => "PARTITIONING", value => "custom_lvmthin" },
{ key => "ROOT_PASSWORD", value => "weakpassword" },
],
},
{
name => "install_no_swap",
settings => [
{ key => "PARTITIONING", value => "custom_no_swap" },
{ key => "ROOT_PASSWORD", value => "weakpassword" },
],
},
{
name => "install_kickstart_hdd",
2015-03-12 09:58:04 +00:00
settings => [
{ key => "KICKSTART", value => "1" },
{ key => "GRUB", value => "inst.ks=hd:vdb1:/root-user-crypted-net.ks" },
{ key => "NUMDISKS", value => "2" },
add FreeIPA server role deploy and kickstart enrolment tests Summary: These require openQA tap networking to allow the server and client boxes to communicate, and require masquerading (NAT) so the server at least can reach a repository (dnf/rolekit really, really do not want to work without a repo connection). They use the 'parallel' test support to have the server deploy run first while the client enrol test waits at the grub menu until the server is done before it goes ahead. This is all deployed and working on stg. The really tricky bit was getting all the openvswitch and firewall config right in ansible. We *could* do the server deploy test as a follow-on from the default install test to save the install, but then we'd have to teach it to change the hostname and set up static networking post-install. I'm not sure if it's worth doing that. This requires the corresponding openqa_fedora_tools commit that adds the hard disks (containing the kickstarts - it's possible to get them from remote during install, but we have to set up name resolution or hard code the IP of the server). Test Plan: Deploy this and the openqa_fedora_tools commit, generate the disks, configure the networking (good luck! See the docs in openqa_fedora_tools) and see if you can run the tests. If you're using Docker, uh...sorry. You somehow need to set things up so the workers can use tap interfaces that can talk to each other and are NATed to the outside world. Have fun. I can talk you through it on IRC... Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D831
2016-05-04 18:53:11 +00:00
{ key => "HDD_2", value => "disk_ks_2.img" },
2015-03-12 09:58:04 +00:00
{ key => "ROOT_PASSWORD", value => "111111" },
{ key => "USER_LOGIN", value => "test" },
{ key => "USER_PASSWORD", value => "test" },
],
},
{
convert upgrade tests to dnf-plugin-system-upgrade Summary: This is a first cut which more or less works for now. Issues: 1) We're not really testing the BUILD, here. All the test does is try and upgrade to the specified VERSION - so it'll be using the latest 'stable' for the given VERSION at the time the test runs. This isn't really that terrible, but especially for TC/RC validation, we might want to make things a bit more elaborate and set up the repo for the actual BUILD (and disable the main repos). 2) We'd actually need --nogpgcheck for non-Rawhide, at one specific point in the release cycle - after Branching but before Bodhi activation (which is when we can be sure all packages are signed). This won't matter until 24 branches, and maybe releng will have it fixed by then...if not, I'll tweak it. 3) We don't really test that the upgrade actually *happened* for desktop, at the moment - the only thing in the old test that really checked that was where we checked for the fedup boot menu entry, but that has no analog in dnf. What we should probably do is check that GUI login works, then switch to a console and check /etc/fedora-release just as the minimal test does. Test Plan: Run the tests. Note that creating the desktop disk image doesn't work ATM, so I can't verify the desktop test works, but the minimal one seems to (with D565). There'll be a matching diff for openqa_fedora_tools to update the test case names there. Reviewers: jskladan, garretraziel Reviewed By: jskladan, garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D567
2015-09-10 21:49:13 +00:00
name => "upgrade_minimal_64bit",
settings => [
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "USER_LOGIN", value => "false" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_f%CURRREL%_minimal_x86_64.img" },
{ key => "UPGRADE", value => "1" },
],
},
{
convert upgrade tests to dnf-plugin-system-upgrade Summary: This is a first cut which more or less works for now. Issues: 1) We're not really testing the BUILD, here. All the test does is try and upgrade to the specified VERSION - so it'll be using the latest 'stable' for the given VERSION at the time the test runs. This isn't really that terrible, but especially for TC/RC validation, we might want to make things a bit more elaborate and set up the repo for the actual BUILD (and disable the main repos). 2) We'd actually need --nogpgcheck for non-Rawhide, at one specific point in the release cycle - after Branching but before Bodhi activation (which is when we can be sure all packages are signed). This won't matter until 24 branches, and maybe releng will have it fixed by then...if not, I'll tweak it. 3) We don't really test that the upgrade actually *happened* for desktop, at the moment - the only thing in the old test that really checked that was where we checked for the fedup boot menu entry, but that has no analog in dnf. What we should probably do is check that GUI login works, then switch to a console and check /etc/fedora-release just as the minimal test does. Test Plan: Run the tests. Note that creating the desktop disk image doesn't work ATM, so I can't verify the desktop test works, but the minimal one seems to (with D565). There'll be a matching diff for openqa_fedora_tools to update the test case names there. Reviewers: jskladan, garretraziel Reviewed By: jskladan, garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D567
2015-09-10 21:49:13 +00:00
name => "upgrade_desktop_64bit",
settings => [
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "USER_LOGIN", value => "test" },
{ key => "USER_PASSWORD", value => "weakpassword" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_f%CURRREL%_desktop_2_x86_64.img" },
{ key => "UPGRADE", value => "1" },
{ key => "DESKTOP", value => "gnome" },
],
},
{
name => "upgrade_server_64bit",
settings => [
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "USER_LOGIN", value => "test" },
{ key => "USER_PASSWORD", value => "weakpassword" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_f%CURRREL%_server_2_x86_64.img" },
{ key => "UPGRADE", value => "1" },
],
},
{
name => "upgrade_kde_64bit",
settings => [
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "USER_LOGIN", value => "test" },
{ key => "USER_PASSWORD", value => "weakpassword" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_f%CURRREL%_kde_2_x86_64.img" },
{ key => "UPGRADE", value => "1" },
{ key => "DESKTOP", value => "kde" },
],
},
{
name => "upgrade_2_minimal_64bit",
settings => [
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "USER_LOGIN", value => "false" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_f%PREVREL%_minimal_x86_64.img" },
{ key => "UPGRADE", value => "1" },
],
},
{
name => "upgrade_2_desktop_64bit",
settings => [
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "USER_LOGIN", value => "test" },
{ key => "USER_PASSWORD", value => "weakpassword" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_f%PREVREL%_desktop_2_x86_64.img" },
{ key => "UPGRADE", value => "1" },
{ key => "DESKTOP", value => "gnome" },
],
},
{
name => "upgrade_2_server_64bit",
settings => [
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "USER_LOGIN", value => "test" },
{ key => "USER_PASSWORD", value => "weakpassword" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_f%PREVREL%_server_2_x86_64.img" },
{ key => "UPGRADE", value => "1" },
],
},
{
name => "upgrade_2_kde_64bit",
settings => [
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "USER_LOGIN", value => "test" },
{ key => "USER_PASSWORD", value => "weakpassword" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_f%PREVREL%_kde_2_x86_64.img" },
{ key => "UPGRADE", value => "1" },
{ key => "DESKTOP", value => "kde" },
],
},
{
name => "upgrade_desktop_32bit",
settings => [
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "USER_LOGIN", value => "test" },
{ key => "USER_PASSWORD", value => "weakpassword" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_f%CURRREL%_desktop_2_i686.img" },
{ key => "UPGRADE", value => "1" },
{ key => "DESKTOP", value => "gnome" },
],
},
{
name => "upgrade_2_desktop_32bit",
settings => [
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "USER_LOGIN", value => "test" },
{ key => "USER_PASSWORD", value => "weakpassword" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_f%PREVREL%_desktop_2_i686.img" },
{ key => "UPGRADE", value => "1" },
{ key => "DESKTOP", value => "gnome" },
],
},
{
name => "install_updates_img_local",
settings => [
{ key => "NUMDISKS", value => "2" },
{ key => "HDD_2", value => "disk_updates_img_2.img" },
{ key => "TEST_UPDATES", value => "1" },
{ key => "GRUB", value => "inst.updates=hd:LABEL=UPDATES_IMG:/updates.img" },
],
},
{
name => "install_shrink_ext4",
settings => [
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "HDD_1", value => "disk_shrink_ext4_mbr.img" },
{ key => "PARTITIONING", value => "guided_shrink" },
],
},
{
name => "install_shrink_ntfs",
settings => [
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "HDD_1", value => "disk_shrink_ntfs_mbr.img" },
{ key => "PARTITIONING", value => "guided_shrink" },
],
},
add a french (encrypted) test Summary: this handles Non-English European Language Install. Basically it's a bunch of new screenshots for existing tag names, plus a bit of configurability in _boot_to_anaconda and tweaking some existing needles to do non-text matches. The weird 'half-the- icon' needles are for cases where there may or may not be a warning triangle but we want to click it either way (saves duplicating the needle). This also sets up a convention for tagging what languages a needle is appropriate for. If it's specifically appropriate for one or more languages, a tag ENV-LANGUAGE-(LANGUAGE) should be applied for each language, where (LANGUAGE) is the install language in upper-case ('LANGUAGE' variable, which should also be the string that will be typed into the language selection screen). If the needle ought to be used for *all* languages - i.e. it's not a text match, or any text in the match is known not to be translated - the tag ENV-INSTLANG-ALL should be applied. To back this, main.pm now unregisters all needles that are not tagged with either ENV-LANGUAGE-ALL or the tag for the language actually being used (if the LANGUAGE var is not set, we assume english). The point of this is to check the install is actually translated; if we allow all needles to match, the test would pass even if no translations appeared at all. Test Plan: Run all tests and make sure you get the expected results. You can schedule a run against 23 Beta TC1 to see the French test fails 'correctly' when translations are missing. Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D577
2015-09-15 01:08:58 +00:00
{
name => "install_european_language",
add a french (encrypted) test Summary: this handles Non-English European Language Install. Basically it's a bunch of new screenshots for existing tag names, plus a bit of configurability in _boot_to_anaconda and tweaking some existing needles to do non-text matches. The weird 'half-the- icon' needles are for cases where there may or may not be a warning triangle but we want to click it either way (saves duplicating the needle). This also sets up a convention for tagging what languages a needle is appropriate for. If it's specifically appropriate for one or more languages, a tag ENV-LANGUAGE-(LANGUAGE) should be applied for each language, where (LANGUAGE) is the install language in upper-case ('LANGUAGE' variable, which should also be the string that will be typed into the language selection screen). If the needle ought to be used for *all* languages - i.e. it's not a text match, or any text in the match is known not to be translated - the tag ENV-INSTLANG-ALL should be applied. To back this, main.pm now unregisters all needles that are not tagged with either ENV-LANGUAGE-ALL or the tag for the language actually being used (if the LANGUAGE var is not set, we assume english). The point of this is to check the install is actually translated; if we allow all needles to match, the test would pass even if no translations appeared at all. Test Plan: Run all tests and make sure you get the expected results. You can schedule a run against 23 Beta TC1 to see the French test fails 'correctly' when translations are missing. Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D577
2015-09-15 01:08:58 +00:00
settings => [
{ key => "LANGUAGE", value => "french" },
{ key => "USER_LOGIN", value => "qwerty" },
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "ENCRYPT_PASSWORD", value => "weakpassword" },
],
},
{
name => "install_cyrillic_language",
settings => [
{ key => "LANGUAGE", value => "russian" },
{ key => "SWITCHED_LAYOUT", value => "1" },
{ key => "USER_LOGIN", value => "qwerty" },
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "ENCRYPT_PASSWORD", value => "weakpassword" },
],
},
{
name => "install_xfs",
settings => [
{ key => "PARTITIONING", value => "custom_xfs" },
{ key => "ROOT_PASSWORD", value => "weakpassword" },
],
},
{
name => "install_package_set_kde",
settings => [
{ key => "DESKTOP", value => "kde" },
{ key => "PACKAGE_SET", value => "kde" },
{ key => "REPOSITORY_VARIATION", value => "http://dl.fedoraproject.org/pub/fedora/linux/development" },
{ key => "USER_LOGIN", value => "false" },
],
},
add a base_selinux test (follow-on from default_install) Summary: so here's our first attempt to use the 'carry on from a previous test' stuff! This adds a base_selinux test that uses a disk image from a previous default_install run, and adds jobtemplates to run base_selinux for appropriate products: generic_boot (for nightly tests), server_dvd, and workstation_live. Note that you'll want to either update to the newest openQA package I just built in COPR or create /var/lib/openqa/share/factory/tmp owned by geekotest; openQA tries to use that directory as MOJO_TMPDIR but in 4.2, if the directory doesn't exist, it doesn't create it, and we wind up with the default MOJO_TMPDIR which is /tmp; when the disk image is uploaded it creates a huge temp file in /tmp and may well exhaust the available space as it's a tmpfs. I've backported a recent upstream commit that tries to create the directory if it doesn't exist, in 4.2-10. It seems like openQA is smart enough to figure out the dependencies correctly, so the 'base_selinux' test for each product depends on the 'default_install' test for the same product (not any of the other default_install runs) and will use the hard disk image it produces. Test Plan: Do a full test run and make sure base_selinux tests appear for appropriate products, depend on the correct default_ install test, the default_install test uploads the hard disk image correctly, and the base_selinux test runs correctly. And of course that nothing else broke in the process... Reviewers: jskladan, garretraziel Reviewed By: jskladan Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D699
2015-12-17 20:46:14 +00:00
{
name => "base_selinux",
settings => [
{ key => "ENTRYPOINT", value => "base_selinux" },
{ key => "START_AFTER_TEST", value => "install_default_upload" },
add a base_selinux test (follow-on from default_install) Summary: so here's our first attempt to use the 'carry on from a previous test' stuff! This adds a base_selinux test that uses a disk image from a previous default_install run, and adds jobtemplates to run base_selinux for appropriate products: generic_boot (for nightly tests), server_dvd, and workstation_live. Note that you'll want to either update to the newest openQA package I just built in COPR or create /var/lib/openqa/share/factory/tmp owned by geekotest; openQA tries to use that directory as MOJO_TMPDIR but in 4.2, if the directory doesn't exist, it doesn't create it, and we wind up with the default MOJO_TMPDIR which is /tmp; when the disk image is uploaded it creates a huge temp file in /tmp and may well exhaust the available space as it's a tmpfs. I've backported a recent upstream commit that tries to create the directory if it doesn't exist, in 4.2-10. It seems like openQA is smart enough to figure out the dependencies correctly, so the 'base_selinux' test for each product depends on the 'default_install' test for the same product (not any of the other default_install runs) and will use the hard disk image it produces. Test Plan: Do a full test run and make sure base_selinux tests appear for appropriate products, depend on the correct default_ install test, the default_install test uploads the hard disk image correctly, and the base_selinux test runs correctly. And of course that nothing else broke in the process... Reviewers: jskladan, garretraziel Reviewed By: jskladan Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D699
2015-12-17 20:46:14 +00:00
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" },
],
},
{
name => "base_services_start",
settings => [
{ key => "ENTRYPOINT", value => "base_services_start" },
{ key => "START_AFTER_TEST", value => "install_default_upload" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" },
],
},
{
name => "base_services_start_arm",
settings => [
{ key => "ENTRYPOINT", value => "base_services_start" },
{ key => "START_AFTER_TEST", value => "install_arm_image_deployment_upload" },
{ key => "NUMDISKS", value => "1" },
{ key => "HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" },
],
},
{
name => "base_service_manipulation",
settings => [
{ key => "ENTRYPOINT", value => "base_service_manipulation" },
{ key => "START_AFTER_TEST", value => "install_default_upload" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" },
],
},
{
name => "install_kickstart_firewall_disabled",
settings => [
{ key => "KICKSTART", value => "1" },
{ key => "GRUB", value => "inst.ks=http://fedorapeople.org/groups/qa/kickstarts/firewall-disabled-net.ks" },
{ key => "POSTINSTALL", value => "firewall_disabled" },
{ key => "ROOT_PASSWORD", value => "anaconda" },
{ key => "USER_LOGIN", value => "false" },
],
},
{
name => "install_kickstart_firewall_configured",
settings => [
{ key => "KICKSTART", value => "1" },
{ key => "GRUB", value => "inst.ks=http://fedorapeople.org/groups/qa/kickstarts/firewall-configured-net.ks" },
{ key => "POSTINSTALL", value => "firewall_configured" },
{ key => "ROOT_PASSWORD", value => "anaconda" },
{ key => "USER_LOGIN", value => "false" },
],
},
{
name => "server_firewall_default",
settings => [
{ key => "POSTINSTALL", value => "server_firewall_default" },
{ key => "USER_LOGIN", value => "false" },
{ key => "START_AFTER_TEST", value => "install_default_upload" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" },
],
},
add FreeIPA server role deploy and kickstart enrolment tests Summary: These require openQA tap networking to allow the server and client boxes to communicate, and require masquerading (NAT) so the server at least can reach a repository (dnf/rolekit really, really do not want to work without a repo connection). They use the 'parallel' test support to have the server deploy run first while the client enrol test waits at the grub menu until the server is done before it goes ahead. This is all deployed and working on stg. The really tricky bit was getting all the openvswitch and firewall config right in ansible. We *could* do the server deploy test as a follow-on from the default install test to save the install, but then we'd have to teach it to change the hostname and set up static networking post-install. I'm not sure if it's worth doing that. This requires the corresponding openqa_fedora_tools commit that adds the hard disks (containing the kickstarts - it's possible to get them from remote during install, but we have to set up name resolution or hard code the IP of the server). Test Plan: Deploy this and the openqa_fedora_tools commit, generate the disks, configure the networking (good luck! See the docs in openqa_fedora_tools) and see if you can run the tests. If you're using Docker, uh...sorry. You somehow need to set things up so the workers can use tap interfaces that can talk to each other and are NATed to the outside world. Have fun. I can talk you through it on IRC... Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D831
2016-05-04 18:53:11 +00:00
{
name => "server_role_deploy_domain_controller",
settings => [
{ key => "ENTRYPOINT", value => "role_deploy_domain_controller" },
{ key => "START_AFTER_TEST", value => "install_default_upload" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" },
{ key => "GRUB", value => "net.ifnames=0 biosdevname=0" },
{ key => "NICTYPE", value => "tap" },
{ key => "WORKER_CLASS", value => "tap" },
add FreeIPA server role deploy and kickstart enrolment tests Summary: These require openQA tap networking to allow the server and client boxes to communicate, and require masquerading (NAT) so the server at least can reach a repository (dnf/rolekit really, really do not want to work without a repo connection). They use the 'parallel' test support to have the server deploy run first while the client enrol test waits at the grub menu until the server is done before it goes ahead. This is all deployed and working on stg. The really tricky bit was getting all the openvswitch and firewall config right in ansible. We *could* do the server deploy test as a follow-on from the default install test to save the install, but then we'd have to teach it to change the hostname and set up static networking post-install. I'm not sure if it's worth doing that. This requires the corresponding openqa_fedora_tools commit that adds the hard disks (containing the kickstarts - it's possible to get them from remote during install, but we have to set up name resolution or hard code the IP of the server). Test Plan: Deploy this and the openqa_fedora_tools commit, generate the disks, configure the networking (good luck! See the docs in openqa_fedora_tools) and see if you can run the tests. If you're using Docker, uh...sorry. You somehow need to set things up so the workers can use tap interfaces that can talk to each other and are NATed to the outside world. Have fun. I can talk you through it on IRC... Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D831
2016-05-04 18:53:11 +00:00
],
},
{
name => "server_realmd_join_kickstart",
settings => [
{ key => "KICKSTART", value => "1" },
{ key => "GRUB", value => "inst.ks=hd:vdb1:/freeipaclient.ks" },
{ key => "NUMDISKS", value => "2" },
{ key => "HDD_2", value => "disk_ks_2.img" },
{ key => "POSTINSTALL", value => "freeipa_client" },
{ key => "USER_LOGIN", value => "false" },
{ key => "ROOT_PASSWORD", value => "anaconda" },
{ key => "PARALLEL_WITH", value => "server_role_deploy_domain_controller" },
{ key => "INSTALL_UNLOCK", value => "freeipa_ready" },
{ key => "NICTYPE", value => "tap" },
{ key => "WORKER_CLASS", value => "tap" },
add FreeIPA server role deploy and kickstart enrolment tests Summary: These require openQA tap networking to allow the server and client boxes to communicate, and require masquerading (NAT) so the server at least can reach a repository (dnf/rolekit really, really do not want to work without a repo connection). They use the 'parallel' test support to have the server deploy run first while the client enrol test waits at the grub menu until the server is done before it goes ahead. This is all deployed and working on stg. The really tricky bit was getting all the openvswitch and firewall config right in ansible. We *could* do the server deploy test as a follow-on from the default install test to save the install, but then we'd have to teach it to change the hostname and set up static networking post-install. I'm not sure if it's worth doing that. This requires the corresponding openqa_fedora_tools commit that adds the hard disks (containing the kickstarts - it's possible to get them from remote during install, but we have to set up name resolution or hard code the IP of the server). Test Plan: Deploy this and the openqa_fedora_tools commit, generate the disks, configure the networking (good luck! See the docs in openqa_fedora_tools) and see if you can run the tests. If you're using Docker, uh...sorry. You somehow need to set things up so the workers can use tap interfaces that can talk to each other and are NATed to the outside world. Have fun. I can talk you through it on IRC... Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D831
2016-05-04 18:53:11 +00:00
],
},
add cockpit_default and cockpit_basic tests Summary: This adds tests for the Server_cockpit_default and cockpit_basic test cases. Some notes: I was initially thinking of combining these into a single test with multiple test modules and coming up with a system for doing wiki reporting based on individual test module status, but because we'll also want to do a cockpit FreeIPA enrol test, I decided against it. We don't really want to combine all three because then we would skip the cockpit tests whenever FreeIPA server deployment failed, which isn't ideal. So since we'll need a separate FreeIPA enrolment test anyway it doesn't really make sense to go to the trouble of designing a system for loading multiple postinstall tests (though I have an idea for that!) and a per-module wiki reporting system. This was the most minimal and hopefully reliable method for running Cockpit from a stock Server install that I could think of. An alternative approach would be to have, say, the most recent stable Workstation live as a 'stock' asset and have two tests, one which runs a stock Server install and just waits and another which boots the live image and accesses the cockpit running on the other box, but that seems a bit over-complex. It is not possible to have dependencies between tests for different ISOs, in case you were wondering about having a Workstation live test which runs parallel with a Server DVD test, we can't do that. One funny thing is the font that winds up getting used for the desktop, but I don't *think* that should be a problem. Picking needles was a bit tricky; any improvement suggestions are welcome. I'm hoping it turns out to be safe to rely on some dbus log messages being present; I think logging into Cockpit triggers activation of the realmd dbus interface, so there *should* always be some messages related to that. An alternative would just be to match on a sliver of the dark grey table header and the light grey row beneath it and assume that'll always be the first message (whatever the message is), but then we have to find some area of the message details screen which is always present for any message, and it just seems a tad more likely to result in false passes. Similary I'm making an assumption that auditd is always going to show up on the first page of the Services screen and the details screen will always show that 'loaded...enabled' text. Test Plan: Run the tests and see if they work! See https://openqa.stg.fedoraproject.org/tests/21373 and https://openqa.stg.fedoraproject.org/tests/21371 for my tests. Reviewers: garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D874
2016-06-01 16:05:33 +00:00
{
name => "server_cockpit_default",
settings => [
{ key => "POSTINSTALL", value => "server_cockpit_default" },
{ key => "USER_LOGIN", value => "false" },
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "START_AFTER_TEST", value => "install_default_upload" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" },
{ key => "STORE_HDD_1", value => "disk_%MACHINE%_cockpit.qcow2" },
],
},
{
name => "server_cockpit_basic",
settings => [
{ key => "POSTINSTALL", value => "server_cockpit_basic" },
{ key => "USER_LOGIN", value => "false" },
{ key => "ROOT_PASSWORD", value => "weakpassword" },
{ key => "START_AFTER_TEST", value => "server_cockpit_default" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_%MACHINE%_cockpit.qcow2" },
],
},
{
name => "desktop_terminal",
settings => [
{ key => "POSTINSTALL", value => "desktop_terminal" },
{ key => "START_AFTER_TEST", value => "install_default_upload" },
{ key => "BOOTFROM", value => "c" },
{ key => "HDD_1", value => "disk_%FLAVOR%_%MACHINE%.qcow2" },
],
},
2015-01-26 10:33:26 +00:00
],
}