[BUG] consistent failure in install_mirrorlist_graphical of FLAVOR=universal #146

Open
opened 2023-02-06 01:15:31 +00:00 by tcooper · 4 comments
tcooper commented 2023-02-06 01:15:31 +00:00 (Migrated from github.com)

Describe the bug

The install_mirrorlist_graphical test suite of the FLAVOR=universal test suite fails consistently in Rocky 9 in production openQA system. Ref: install_mirrorlist_graphical.

The implementation of the test suite install_source_graphical changes the Installation Source from Local Media to a mirrorlist configuration. That operation invalidates the current Software Selection (Server with GUI) and requires a visit to the Software Selection spoke to reconfigure the Software Selection in order for the main hub to enable the Begin Installation option.

Expected behavior

The install_mirrorlist_graphical test suite of the FLAVOR=universal test suite passes consistently in Rocky Linux 9.

Possible Solution

  • It is expected that this test passed during development with manual POST configuration which provided the mirrorlist URL on the command line. For the purposes of completing the the FLAVOR=universal test suite without potentially affecting other tests of the suite a modification of templates.fif.json to provide the needed runtime variables might be sufficient.

Screenshots

install_mirrorlist_graphical@64bit

install_mirrorlist_graphical_failure

openQA.rockylinux.org:

  • os-autoinst-distri-rocky: commit: 366217e
## Describe the bug The `install_mirrorlist_graphical` test suite of the `FLAVOR=universal` test suite fails consistently in Rocky 9 in production openQA system. Ref: [`install_mirrorlist_graphical`](https://openqa.rockylinux.org/tests/3420#next_previous). The implementation of the test suite `install_source_graphical` changes the Installation Source from Local Media to a mirrorlist configuration. That operation invalidates the current Software Selection (Server with GUI) and requires a visit to the Software Selection spoke to reconfigure the Software Selection in order for the main hub to enable the Begin Installation option. ## Expected behavior The `install_mirrorlist_graphical` test suite of the `FLAVOR=universal` test suite passes consistently in Rocky Linux 9. ## Possible Solution - It is expected that this test passed during development with manual `POST` configuration which provided the mirrorlist URL on the command line. For the purposes of completing the the `FLAVOR=universal` test suite without potentially affecting other tests of the suite a modification of `templates.fif.json` to provide the needed runtime variables might be sufficient. ## Screenshots [**`install_mirrorlist_graphical@64bit`**](https://openqa.rockylinux.org/tests/3420#step/_do_install_and_reboot/11) ![install_mirrorlist_graphical_failure](https://user-images.githubusercontent.com/542846/216859496-750d2773-6ee7-433d-8691-bc9a12d67aad.png) ## openQA.rockylinux.org: - os-autoinst-distri-rocky: commit: [366217e](https://github.com/rocky-linux/os-autoinst-distri-rocky/commit/366217ee8aac1d924017b807fbd03a7c7249e3ae)
tcooper commented 2023-03-10 01:34:11 +00:00 (Migrated from github.com)

@AlanMarshall Seems like the easiest way to fix this might be to add specification of PACKAGE_SET=server or PACKAGE_SET=graphical-server to templates.fif.json for the mirrorlist test(s). That way, after the mirrorlist source is specified the _software_selection test will not assume PACKAGE_SET=default and skip the selection sequence.

I can easily test this in the prod openQA with openqa-clone-job and specify the PACKAGE_SET variable.

Not sure if that is what you were proposing or not.

There does appear to be another, separate issue with the mirrorlist test for Rocky 8.7 where the mirrorlist URL is not valid for 8.7. That URL is generated in code and my need a version specific block.

@AlanMarshall Seems like the easiest way to fix this might be to add specification of `PACKAGE_SET=server` or `PACKAGE_SET=graphical-server` to `templates.fif.json` for the mirrorlist test(s). That way, after the mirrorlist source is specified the `_software_selection` test will not assume `PACKAGE_SET=default` and skip the selection sequence. I can easily test this in the prod openQA with `openqa-clone-job` and specify the `PACKAGE_SET` variable. Not sure if that is what you were proposing or not. There does appear to be another, separate issue with the mirrorlist test for Rocky 8.7 where the mirrorlist URL is not valid for 8.7. That URL is generated in code and my need a version specific block.
AlanMarshall commented 2023-03-10 14:19:42 +00:00 (Migrated from github.com)

@tcooper Thank you for your input, it is most appreciated and it is close to what I am proposing.
Earlier in the week I tested a fix using "PACKAGE_SET": "server" in templates.fif.json and this passed TEST=install_mirrorlist_graphical for both 9.1 and 8.7

[root@107 rocky]# git status -s
 M templates.fif.json
[root@107 rocky]# git diff
diff --git a/templates.fif.json b/templates.fif.json
index a74f3be7..0b0e6726 100644
--- a/templates.fif.json
+++ b/templates.fif.json
@@ -727,7 +727,8 @@
                 "rocky-universal-x86_64-*-64bit": 20
             },
             "settings": {
-                "MIRRORLIST_GRAPHICAL": "1"
+                "MIRRORLIST_GRAPHICAL": "1",
+                "PACKAGE_SET": "server"
             }
         },
         "install_multi": {
[root@107 rocky]# 

I couldn't use "PACKAGE_SET": "graphical-server" because after the mirrorlist is selected the option to install it disappears from the Base Environment list and only "server", "minimal" and "custom" package sets remain. This is the original cause of the issue.

The mirrorlist url is hard coded in anaconda.pm and it picks up the required version from the POST input as shown:

sub get_mirrorlist_url {
    return "mirrors.rockylinux.org/mirrorlist?repo=rocky-BaseOS-" . lc(get_var("VERSION")) . "&arch=" . get_var('ARCH');
}

The 8.7 test therefore picked up the correct repo and passed without needing any alteration in the code.

@tcooper Thank you for your input, it is most appreciated and it is close to what I am proposing. Earlier in the week I tested a fix using "PACKAGE_SET": "server" in templates.fif.json and this passed TEST=install_mirrorlist_graphical for both 9.1 and 8.7 ``` [root@107 rocky]# git status -s M templates.fif.json [root@107 rocky]# git diff diff --git a/templates.fif.json b/templates.fif.json index a74f3be7..0b0e6726 100644 --- a/templates.fif.json +++ b/templates.fif.json @@ -727,7 +727,8 @@ "rocky-universal-x86_64-*-64bit": 20 }, "settings": { - "MIRRORLIST_GRAPHICAL": "1" + "MIRRORLIST_GRAPHICAL": "1", + "PACKAGE_SET": "server" } }, "install_multi": { [root@107 rocky]# ``` I couldn't use "PACKAGE_SET": "graphical-server" because after the mirrorlist is selected the option to install it disappears from the Base Environment list and only "server", "minimal" and "custom" package sets remain. This is the original cause of the issue. The mirrorlist url is hard coded in anaconda.pm and it picks up the required version from the POST input as shown: ``` sub get_mirrorlist_url { return "mirrors.rockylinux.org/mirrorlist?repo=rocky-BaseOS-" . lc(get_var("VERSION")) . "&arch=" . get_var('ARCH'); } ``` The 8.7 test therefore picked up the correct repo and passed without needing any alteration in the code.
tcooper commented 2023-03-10 19:11:42 +00:00 (Migrated from github.com)

I can confirm that supplying non-default PACKAGE_SET=server during POST will resolve the failure of the install_mirrorlist_graphical test and this is a good solution.

Rocky 8.7 install_mirrorlist_graphical

Rocky 9.1 install_mirrorlist_graphical

I did note a repeated issue with resolving the mirrorlist URL for 8.7. This, however, appears to potentially be a problem with a returned mirror and not the test code. Jumping into a different Anaconda spoke and back into the hub triggered a new attempt to download repository metadata, presumably from a different returned mirror, that was successful.

NOTE: Observation the behavior of the installer for both 8.7 and 9.1 however indicate that we may want to deprecate this test in favor of a closest_mirror test which we can discuss in the next team meeting.

@AlanMarshall please submit your PR with change to templates.fif.json with PACKAGE_SET=server added to test variables so that we can get it tested and merged.

I can confirm that supplying non-default `PACKAGE_SET=server` during `POST` will resolve the failure of the `install_mirrorlist_graphical` test and this is a good solution. [Rocky 8.7 install_mirrorlist_graphical](https://openqa.rockylinux.org/tests/10716) [Rocky 9.1 install_mirrorlist_graphical](https://openqa.rockylinux.org/tests/10714) I did note a repeated issue with resolving the mirrorlist URL for 8.7. This, however, appears to potentially be a problem with a returned mirror and not the test code. Jumping into a different Anaconda spoke and back into the hub triggered a new attempt to download repository metadata, presumably from a different returned mirror, that was successful. _**NOTE: Observation the behavior of the installer for both 8.7 and 9.1 however indicate that we may want to deprecate this test in favor of a `closest_mirror` test which we can discuss in the next team meeting.**_ @AlanMarshall please submit your PR with change to `templates.fif.json` with `PACKAGE_SET=server` added to test variables so that we can get it tested and merged.
AlanMarshall commented 2023-03-14 12:20:44 +00:00 (Migrated from github.com)

In PR #157 it was noted that both 8.7 and 9.1 tests should pass but sporadic failures of 8.7 at the "_check_install_source" stage are expected and thought to be due a problem in resolving the mirrorlist URL.
However, if this is due to resolving the URL, why does it affect only 8.7? At this point, I don't know the answer to that but it seems strange to me. Later comment: It turns out this is because 9.1 defaults to 'closest mirror' whereas 8.7 & 8.8 do not.
When I was testing this last week, the 8.7 tests were passing nearly every time but this week it's the opposite. Clearly this is an unsatisfactory outcome.
The 9.1 tests are still passing every time.

In PR #157 it was noted that both 8.7 and 9.1 tests should pass but sporadic failures of 8.7 at the "_check_install_source" stage are expected and thought to be due a problem in resolving the mirrorlist URL. However, if this is due to resolving the URL, why does it affect only 8.7? At this point, I don't know the answer to that but it seems strange to me. *Later comment: It turns out this is because 9.1 defaults to 'closest mirror' whereas 8.7 & 8.8 do not.* When I was testing this last week, the 8.7 tests were passing nearly every time but this week it's the opposite. Clearly this is an unsatisfactory outcome. The 9.1 tests are still passing every time.
Sign in to join this conversation.
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#146
No description provided.