Needles for _graphical_wait_login allowing English language Gnome environments to Getting Started #49

Merged
tcooper merged 5 commits from issue_48 into develop 2021-09-30 02:18:45 +00:00
tcooper commented 2021-09-20 23:23:21 +00:00 (Migrated from github.com)

Description

Add needles to enable completion of _graphical_wait_login screens for Rocky EULA and Getting Started in English language installs that have GNOME desktop.

Fixes #48

How Has This Been Tested?

  • installed openQA dev host with Rocky Ansible playbook for openQA
  • captured additional needles (as required)
  • added additional test suites and job group to templates.fif.json to support brief PACKAGE_SET variation testing.
  • ran with POST of DVD ISO for FLAVOR=package-set.
  • _graphical_wait_login completed successfully.

ISO POST

[rocky@openqa-dev rocky]$ openqa-cli api -X POST isos \
  ISO=Rocky-8.4-x86_64-dvd1.iso \
  ARCH=x86_64 \
  DISTRI=rocky \
  FLAVOR=package-set \
  VERSION=8.4 \
  BUILD=$(date +%Y%m%d.%H%M%S).0
_do_graphical_login

Testsuite JSON for server_cockpit_updates

[rocky@openqa-dev needles]$ openqa-cli api jobs/295 | jq '.'
{
  "job": {
    "assets": {
      "iso": [
        "Rocky-8.4-x86_64-dvd1.iso"
      ]
    },
    "assigned_worker_id": 1,
    "blocked_by_id": null,
    "children": {
      "Chained": [],
      "Directly chained": [],
      "Parallel": []
    },
    "clone_id": null,
    "group": "Rocky",
    "group_id": 1,
    "has_parents": 0,
    "id": 295,
    "name": "rocky-8.4-package-set-x86_64-Build20210918.203819.0-install_package_set_graphical-server@64bit",
    "parents": {
      "Chained": [],
      "Directly chained": [],
      "Parallel": []
    },
    "parents_ok": 1,
    "priority": 30,
    "result": "passed",
    "settings": {
      "ARCH": "x86_64",
      "ARCH_BASE_MACHINE": "64bit",
      "BACKEND": "qemu",
      "BUILD": "20210918.203819.0",
      "DESKTOP": "gnome",
      "DISTRI": "rocky",
      "ENCRYPT_PASSWORD": "weakpassword",
      "FLAVOR": "package-set",
      "ISO": "Rocky-8.4-x86_64-dvd1.iso",
      "MACHINE": "64bit",
      "NAME": "00000295-rocky-8.4-package-set-x86_64-Build20210918.203819.0-install_package_set_graphical-server@64bit",
      "PACKAGE_SET": "graphical-server",
      "PART_TABLE_TYPE": "mbr",
      "POSTINSTALL": "_console_login",
      "QEMUCPU": "Nehalem",
      "QEMUCPUS": "2",
      "QEMURAM": "2048",
      "QEMUVGA": "virtio",
      "QEMU_VIRTIO_RNG": "1",
      "ROOT_PASSWORD": "weakpassword",
      "TEST": "install_package_set_graphical-server",
      "TEST_SUITE_NAME": "install_package_set_graphical-server",
      "TEST_TARGET": "ISO",
      "USER_LOGIN": "qwerty",
      "VERSION": "8.4",
      "WORKER_CLASS": "qemu_x86_64"
    },
    "state": "done",
    "t_finished": "2021-09-19T05:09:06",
    "t_started": "2021-09-19T03:38:20",
    "test": "install_package_set_graphical-server"
  }
}

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules
## Description Add needles to enable completion of `_graphical_wait_login` screens for Rocky EULA and Getting Started in English language installs that have GNOME desktop. Fixes #48 ## How Has This Been Tested? - installed openQA dev host with Rocky Ansible playbook for openQA - captured additional needles (as required) - added additional test suites and job group to `templates.fif.json` to support brief `PACKAGE_SET` variation testing. - ran with `POST` of DVD ISO for `FLAVOR=package-set`. - `_graphical_wait_login` completed successfully. ### ISO POST ```bash [rocky@openqa-dev rocky]$ openqa-cli api -X POST isos \ ISO=Rocky-8.4-x86_64-dvd1.iso \ ARCH=x86_64 \ DISTRI=rocky \ FLAVOR=package-set \ VERSION=8.4 \ BUILD=$(date +%Y%m%d.%H%M%S).0 ``` <img width="1392" alt="_do_graphical_login" src="https://user-images.githubusercontent.com/542846/134089110-a930f1fa-e34d-431a-97b1-2be0f5051200.png"> ### Testsuite JSON for `server_cockpit_updates` ```bash [rocky@openqa-dev needles]$ openqa-cli api jobs/295 | jq '.' ``` ```json { "job": { "assets": { "iso": [ "Rocky-8.4-x86_64-dvd1.iso" ] }, "assigned_worker_id": 1, "blocked_by_id": null, "children": { "Chained": [], "Directly chained": [], "Parallel": [] }, "clone_id": null, "group": "Rocky", "group_id": 1, "has_parents": 0, "id": 295, "name": "rocky-8.4-package-set-x86_64-Build20210918.203819.0-install_package_set_graphical-server@64bit", "parents": { "Chained": [], "Directly chained": [], "Parallel": [] }, "parents_ok": 1, "priority": 30, "result": "passed", "settings": { "ARCH": "x86_64", "ARCH_BASE_MACHINE": "64bit", "BACKEND": "qemu", "BUILD": "20210918.203819.0", "DESKTOP": "gnome", "DISTRI": "rocky", "ENCRYPT_PASSWORD": "weakpassword", "FLAVOR": "package-set", "ISO": "Rocky-8.4-x86_64-dvd1.iso", "MACHINE": "64bit", "NAME": "00000295-rocky-8.4-package-set-x86_64-Build20210918.203819.0-install_package_set_graphical-server@64bit", "PACKAGE_SET": "graphical-server", "PART_TABLE_TYPE": "mbr", "POSTINSTALL": "_console_login", "QEMUCPU": "Nehalem", "QEMUCPUS": "2", "QEMURAM": "2048", "QEMUVGA": "virtio", "QEMU_VIRTIO_RNG": "1", "ROOT_PASSWORD": "weakpassword", "TEST": "install_package_set_graphical-server", "TEST_SUITE_NAME": "install_package_set_graphical-server", "TEST_TARGET": "ISO", "USER_LOGIN": "qwerty", "VERSION": "8.4", "WORKER_CLASS": "qemu_x86_64" }, "state": "done", "t_finished": "2021-09-19T05:09:06", "t_started": "2021-09-19T03:38:20", "test": "install_package_set_graphical-server" } } ``` # Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] Any dependent changes have been merged and published in downstream modules
lumarel commented 2021-09-21 05:33:27 +00:00 (Migrated from github.com)

Hi @tcooper, I was unable to run this on top of develop.
As far as I can see #46 is needed, so this can complete successfully, will have to rerun it later, when I have the time 👌🏻
And it might be trivial to us, but if we add something to the fif files we also have to run the fif-loader again (nope I didn't fall over this, definitely not 👀)

Hi @tcooper, I was unable to run this on top of develop. As far as I can see #46 is needed, so this can complete successfully, will have to rerun it later, when I have the time 👌🏻 And it might be trivial to us, but if we add something to the fif files we also have to run the fif-loader again (nope I didn't fall over this, definitely not 👀)
lumarel commented 2021-09-21 15:42:01 +00:00 (Migrated from github.com)

Okay did the second run! Looks good to me 👍🏻

Okay did the second run! Looks good to me 👍🏻
tcooper commented 2021-09-21 17:03:12 +00:00 (Migrated from github.com)

Yup... I assumed that those knowing how to test this would see the updated templates.fif.json and know that it would require a rerun of fifloader.py. That was a mistake.

Also, there does seem to be a dependency on #46 that I missed when pushing these up that I didn't notice in my test machine until I redeployed it and tried re-testing everything from a clean clone with PRs dropped sequentially onto develop.

@lumarel can you drop me the sequence you used to clone/pull the changes for testing so that I can compare with my sequence? I thought there were missing needles for #49 but they appear to be in #46 as you indicated.

Yup... I assumed that those knowing how to test this would see the updated `templates.fif.json` and know that it would require a rerun of `fifloader.py`. That was a mistake. Also, there does seem to be a dependency on #46 that I missed when pushing these up that I didn't notice in my test machine until I redeployed it and tried re-testing everything from a clean clone with PRs dropped sequentially onto develop. @lumarel can you drop me the sequence you used to clone/pull the changes for testing so that I can compare with my sequence? I thought there were missing needles for #49 but they appear to be in #46 as you indicated.
lumarel commented 2021-09-21 18:42:55 +00:00 (Migrated from github.com)

On the 2nd thought it really should be common knowledge, that the rerun is needed, it just was the only thing what was missing in the line ^^

@tcooper So my normal sequence is now to load the base develop branch and then git fetch origin pull/49/head && git checkout FETCH_HEAD on it to pull the PR changes (easily revertable by switching back to develop)
Here I needed to fork the repo, create a new branch based on develop and merge the two branches from your repo and then clone my forked branch. There might be a way how this can be done offline, but I was unable to find the correct sequence to create a offline branch where I could merge your branches.

On the 2nd thought it really should be common knowledge, that the rerun is needed, it just was the only thing what was missing in the line ^^ @tcooper So my normal sequence is now to load the base `develop` branch and then `git fetch origin pull/49/head && git checkout FETCH_HEAD` on it to pull the PR changes (easily revertable by switching back to develop) Here I needed to fork the repo, create a new branch based on `develop` and merge the two branches from your repo and then clone my forked branch. There might be a way how this can be done offline, but I was unable to find the correct sequence to create a offline branch where I could merge your branches.
tcooper commented 2021-09-21 20:09:17 +00:00 (Migrated from github.com)

@lumarel I just double checked my PR test sequence and it wasn't a complete merge of all three PRs.

Indeed, #46 is required for #49 and there is a conflict between #46 and #47 that I'll need to resolve to merge #47 after #46.

Also, I found a strange case where the _software_selection for the graphical-server package set passed for me before but will not pass now. Not sure if/how your testing could have passed this step before but it's likely yet another test system speed/timing issue.

It is resolved with a small check that I added to this PR.

@lumarel I just double checked my PR test sequence and it wasn't a complete merge of all three PRs. Indeed, #46 is required for #49 and there is a conflict between #46 and #47 that I'll need to resolve to merge #47 after #46. Also, I found a strange case where the `_software_selection` for the `graphical-server` package set passed for me before but will not pass now. Not sure if/how your testing could have passed this step before but it's likely yet another test system speed/timing issue. It is resolved with a small check that I added to this PR.
tcooper commented 2021-09-21 21:54:02 +00:00 (Migrated from github.com)

The last commit (I hope) to this PR restores the test suites for PACKAGE_SET={minimal,server,virtualization-host} to the rocky-package-set Job Group via an update to templates.fif.json. Yes... you must re-run ./fifloader.py ... to make these available.

The following POST will trigger all 5 primary package set installs from the DVD ISO...

[rocky@openqa-dev rocky]$ openqa-cli api -X POST isos ISO=Rocky-8.4-x86_64-dvd1.iso ARCH=x86_64 DISTRI=rocky FLAVOR=package-set VERSION=8.4 BUILD=$(date +%Y%m%d.%H%M%S).0
{"count":5,"failed":[],"ids":[322,323,324,325,326],"scheduled_product_id":24}

[rocky@openqa-dev rocky]$ for i in {322..326}; do openqa-cli api jobs/${i} | jq '.[]["test"]'; done
"install_package_set_minimal"
"install_package_set_server"
"install_package_set_graphical-server"
"install_package_set_workstation"
"install_package_set_virtualization-host"
The last commit (I hope) to this PR restores the test suites for `PACKAGE_SET={minimal,server,virtualization-host}` to the `rocky-package-set` Job Group via an update to `templates.fif.json`. Yes... you must re-run `./fifloader.py ...` to make these available. The following `POST` will trigger all 5 primary package set installs from the DVD ISO... ```bash [rocky@openqa-dev rocky]$ openqa-cli api -X POST isos ISO=Rocky-8.4-x86_64-dvd1.iso ARCH=x86_64 DISTRI=rocky FLAVOR=package-set VERSION=8.4 BUILD=$(date +%Y%m%d.%H%M%S).0 {"count":5,"failed":[],"ids":[322,323,324,325,326],"scheduled_product_id":24} [rocky@openqa-dev rocky]$ for i in {322..326}; do openqa-cli api jobs/${i} | jq '.[]["test"]'; done "install_package_set_minimal" "install_package_set_server" "install_package_set_graphical-server" "install_package_set_workstation" "install_package_set_virtualization-host" ```
lumarel commented 2021-09-24 08:58:04 +00:00 (Migrated from github.com)

Sorry for the delay, it took me some more time to test this more extensively now 🙂
@tcooper and @StackKorora I think this can also be merged 👌🏻

Sorry for the delay, it took me some more time to test this more extensively now 🙂 @tcooper and @StackKorora I think this can also be merged 👌🏻
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: testing/os-autoinst-distri-rocky-migrated#49
No description provided.