mirror of https://github.com/ceph/ceph-ansible.git
pytest-infra: fix failures
pytest-infra 10.0.0 release changed the get_variables() behavior which led to CI failures
(https://github.com/pytest-dev/pytest-testinfra/pull/724)
Starting of now all groups the host is part of and not only the direct parent groups are
returned by get_variables()
Signed-off-by: Teoman ONAY <tonay@ibm.com>
(cherry picked from commit 37a82225f7
)
pull/7558/head
parent
bc28ebd498
commit
6ba0c733e6
|
@ -117,6 +117,10 @@ def node(host, request):
|
||||||
'dev': 99
|
'dev': 99
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sanitized_group_names = group_names
|
||||||
|
if 'all' in sanitized_group_names:
|
||||||
|
sanitized_group_names.remove('all')
|
||||||
|
|
||||||
# capture the initial/default state
|
# capture the initial/default state
|
||||||
test_is_applicable = False
|
test_is_applicable = False
|
||||||
for marker in request.node.iter_markers():
|
for marker in request.node.iter_markers():
|
||||||
|
@ -133,7 +137,7 @@ def node(host, request):
|
||||||
if request.node.get_closest_marker('rbdmirror_secondary') and not ceph_rbd_mirror_remote_user: # noqa E501
|
if request.node.get_closest_marker('rbdmirror_secondary') and not ceph_rbd_mirror_remote_user: # noqa E501
|
||||||
pytest.skip('Not a valid test for a non-secondary rbd-mirror node')
|
pytest.skip('Not a valid test for a non-secondary rbd-mirror node')
|
||||||
|
|
||||||
if request.node.get_closest_marker('ceph_crash') and group_names in [['nfss'], ['iscsigws'], ['clients'], ['monitoring']]:
|
if request.node.get_closest_marker('ceph_crash') and sanitized_group_names in [['nfss'], ['iscsigws'], ['clients'], ['monitoring']]:
|
||||||
pytest.skip('Not a valid test for nfs, client or iscsigw nodes')
|
pytest.skip('Not a valid test for nfs, client or iscsigw nodes')
|
||||||
|
|
||||||
if request.node.get_closest_marker("no_docker") and docker:
|
if request.node.get_closest_marker("no_docker") and docker:
|
||||||
|
@ -148,7 +152,7 @@ def node(host, request):
|
||||||
pytest.skip(
|
pytest.skip(
|
||||||
"Not a valid test with dashboard disabled")
|
"Not a valid test with dashboard disabled")
|
||||||
|
|
||||||
if request.node.get_closest_marker("dashboard") and group_names == ['clients']:
|
if request.node.get_closest_marker("dashboard") and sanitized_group_names == ['clients']:
|
||||||
pytest.skip('Not a valid test for client node')
|
pytest.skip('Not a valid test for client node')
|
||||||
|
|
||||||
data = dict(
|
data = dict(
|
||||||
|
|
Loading…
Reference in New Issue