Check SMELT to decide when SLES+HA tests can be skipped on QAM #19968
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
lib/hacluster::is_not_maintenance
function was originally created to skip resource-expensive test modules when the package under test in Maintenance is not related to these tests (for example,samba
orctdb
forha/ctdb
andha/filesystem
,haproxy
forha/haproxy
ordrbd
forha/drbd_passive
andha/filesystem
). The function would decide this only based on the BUILD setting, which was supposed to contain the package under test, but in reality a Maintenance Update can include multiple packages and the one which is used in the BUILD setting is actually only the first package from the MU when ordered alphabetically. This of course causes some tests to be skipped even when it is necessary that they run.This commit modifies the
lib/hacluster::is_not_maintenance
function to also query SMELT for the list of packages associated to the Maintenance Incident, and then check against that list too after having checked against the value of the BUILD setting. This way, the function is more exhaustive in its checks, and should not skip necessary tests based on incomplete information. It also adds a check forkernel
, as kernel maintenances should not skip any tests.Verification runs
ha/ctdb
test should run fully): node 1, node 2, client 🟢ha/ctdb
test should run fully): node 1, node 2, client 🟢ha/ctdb
,ha/drbd_passive
andha/haproxy
should run fully): node 1, node 2, client 🟢ha/ctdb
,ha/drbd_passive
andha/haproxy
tests should be skipped): node 1, node 2, client 🟢