RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2091891 - [RFE] [test-only] add mechanism to NetworkManager-ci for testing combinations/variants
Summary: [RFE] [test-only] add mechanism to NetworkManager-ci for testing combinations...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: NetworkManager
Version: 9.1
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: NetworkManager Development Team
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-05-31 09:21 UTC by Thomas Haller
Modified: 2023-02-20 10:39 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-02-20 10:39:39 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker NMT-158 0 None None None 2023-01-24 08:33:40 UTC
Red Hat Issue Tracker RHELPLAN-123739 0 None None None 2022-05-31 09:25:29 UTC

Description Thomas Haller 2022-05-31 09:21:35 UTC
We write our CI tests with python behave in [1]

[1] https://gitlab.freedesktop.org/NetworkManager/NetworkManager-ci


The DHCP plugin example
========================

This is an example where this matters.

NetworkManager supports `[main].dhcp=` plugins (relevant choices are "internal" and "dhclient"). In many aspects, both plugins should just work the same, and the user should notice a difference.

In NetworkManager-ci, some tests explicitly select one or the other plugin. But most tests just leave the system default. The system default depends on the distro, but as we no longer run latest NM-ci tests on rhel7, effectively all tested versions use the internal plugin. That means, our coverage for dhclient is uneven at best, in practice it's severely lacking.

It does not scale to just start copying some tests and add a tag to use one or the other DHCP plugin. Instead, we need a convenient way so that a certain test can run twice, with both DHCP plugins -- without fully cloning the test.


The General Problem
===================

Our current approach for running a test under two slightly different setups is to clone it. That does not scale. For the DHCP plugin above, we want that a large number of DHCP related tests runs with both plugins (all the time).

There are behave scenario outlines ([2]), maybe those could be used. However, they don't seem very suited to me. It should be very low-effort to say that a test should run with different setups.

[2] https://behave.readthedocs.io/en/stable/gherkin.html#scenario-outlines

I imaging a new tag like "@dhcp-any" which means that the test runs twice, with both plugins.
Or better, something more generic like: "@matrix:dhcp=internal:dhclient" which would have the effect that it runs the test twice, setting some context variable "dhcp", once to "internal" and once to "dhclient". 

that could then be combined with "@matrix:dhcp=internal:dhclient @matrix:dns:default-systemd-resolved" which would then possibly run all 4 combinations. There could also be a "@skip-matrix:dhcp=internal,dns=default" tag to skip certain combinations.

Anyway, you get the idea...

Comment 2 Till Maas 2023-02-20 10:39:39 UTC
Thank you for the report. Since this is not related to a code change in NetworkManager, please report it at https://gitlab.freedesktop.org/NetworkManager/NetworkManager-ci/-/issues

Please add the link of the new issues to the Links here and change the resolution to MIGRATED when you did. Thanks.


Note You need to log in before you can comment on or make changes to this bug.