From 183a58eab185c2e6f48afb4d99417d49e88c0f5a Mon Sep 17 00:00:00 2001 From: Matt Riedemann Date: Fri, 20 Dec 2019 15:38:13 -0500 Subject: [PATCH] Add a feature support matrix test for grenade subnode test-features.sh wasn't testing anything for subnodes so this adds a subnode feature support matrix test for grenade. It also highlights that the grenade config is applied to all nodes regardless of role so a TODO is added to test_matrix.py in case someone needs to make that per-role, per-config service override support at some point (hopefully that never really happens and all jobs are moved to zuulv3 by that point). Change-Id: I485d76c1db5c3a4363c3e26fea204cc7782887f3 --- roles/test-matrix/library/test_matrix.py | 2 ++ test-features.sh | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/roles/test-matrix/library/test_matrix.py b/roles/test-matrix/library/test_matrix.py index b149aff3..8386facb 100755 --- a/roles/test-matrix/library/test_matrix.py +++ b/roles/test-matrix/library/test_matrix.py @@ -100,6 +100,8 @@ def calc_services(branch, features, configs, role): grid_feature[branch].get('rm-services', [])) # Finally, calculate any services to add/remove per config. + # TODO(mriedem): This is not role-based so any per-config service + # modifications are dealt with globally across all nodes. # do all the adds first for config in configs: if config in GRID['config']: diff --git a/test-features.sh b/test-features.sh index e4a70778..86319741 100755 --- a/test-features.sh +++ b/test-features.sh @@ -24,6 +24,8 @@ TEMPEST_HEAT_SLOW_MASTER="n-api,n-api-meta,n-cpu,n-sch,n-cond,n-novnc,g-api,g-re GRENADE_NEW_MASTER="n-api,n-api-meta,n-cpu,n-sch,n-cond,n-novnc,g-api,g-reg,key,c-api,c-vol,c-sch,s-proxy,s-account,s-container,s-object,mysql,rabbit,dstat,peakmem_tracker,tempest,placement-api" +GRENADE_SUBNODE_MASTER="n-api-meta,n-cpu,g-api,c-vol,dstat,peakmem_tracker,placement-client" + # Utility function for tests function assert_list_equal { local source @@ -72,11 +74,18 @@ function test_grenade_new_master { assert_list_equal $GRENADE_NEW_MASTER $results } +function test_grenade_subnode_master { + local results + results=$(DEVSTACK_GATE_GRENADE=pullup DEVSTACK_GATE_TEMPEST=1 ./roles/test-matrix/library/test_matrix.py -n -r subnode) + assert_list_equal $GRENADE_SUBNODE_MASTER $results +} + test_full_master test_full_feature_ec test_neutron_master test_heat_slow_master test_grenade_new_master +test_grenade_subnode_master if [[ "$ERRORS" -ne 0 ]]; then echo "Errors detected, job failed"