Disable c-bak and etcd3 in grenade jobs
Grenade only runs tempest smoke tests and there are no cinder-backup service related smoke tests in the main tempest repo so running the c-bak service on the primary and subnode (in multinode jobs) is just a waste of resources since it's not used in testing. Similarly, etcd3 is really only interesting for cinder in a multinode job but in grenade multinode jobs etcd3 is not enabled on the subnode, so only the primary node cinder services are configured to use etcd3, so again it's a waste of resources. There is a theory that bug 1844929 is failing primarily on OVH nodes because they aggressively restrict iops so we're running into swap issues [1]. Freeing up more resources on the nodes used in grenade jobs might alleviate some of that swap pressure. To do this using the feature test matrix in devstack-gate the test_matrix.py script has to be updated such that services can be added/removed per config rather than per feature because otherwise grenade says it wants cinder but cannot remove cinder-specific services like c-bak. [1] http://lists.openstack.org/pipermail/openstack-discuss/2019-November/010506.html Change-Id: Ide146793053ae6b62f93a5af45c6130a21514e87 Related-Bug: #1844929
This commit is contained in:
parent
3e2df9e972
commit
cab3fb81ab
|
@ -22,6 +22,9 @@ config:
|
|||
# feature changes for different test matrixes
|
||||
grenade:
|
||||
rm-features: [trove, sahara, neutron-adv, horizon]
|
||||
# Disable c-bak and etcd3 since they are not used in grenade runs
|
||||
# and just take up resources (iops) which can cause gate failures.
|
||||
rm-services: [c-bak, etcd3]
|
||||
tempest:
|
||||
features: [tempest]
|
||||
cells:
|
||||
|
|
|
@ -73,7 +73,7 @@ def configs_from_env():
|
|||
return configs
|
||||
|
||||
|
||||
def calc_services(branch, features, role):
|
||||
def calc_services(branch, features, configs, role):
|
||||
LOG.debug('Role: %s', role)
|
||||
services = set()
|
||||
for feature in features:
|
||||
|
@ -99,6 +99,25 @@ def calc_services(branch, features, role):
|
|||
services.difference_update(
|
||||
grid_feature[branch].get('rm-services', []))
|
||||
|
||||
# Finally, calculate any services to add/remove per config.
|
||||
# do all the adds first
|
||||
for config in configs:
|
||||
if config in GRID['config']:
|
||||
add_services = GRID['config'][config].get('services', [])
|
||||
if add_services:
|
||||
LOG.debug('Adding services for config %s: %s',
|
||||
config, add_services)
|
||||
services.update(add_services)
|
||||
|
||||
# deletes always trump adds
|
||||
for config in configs:
|
||||
if config in GRID['config']:
|
||||
rm_services = GRID['config'][config].get('rm-services', [])
|
||||
if rm_services:
|
||||
LOG.debug('Removing services for config %s: %s',
|
||||
config, rm_services)
|
||||
services.difference_update(rm_services)
|
||||
|
||||
return sorted(list(services))
|
||||
|
||||
|
||||
|
@ -188,7 +207,7 @@ def main():
|
|||
features = calc_features(branch, configs)
|
||||
LOG.debug("Features: %s " % features)
|
||||
|
||||
services = calc_services(branch, features, role)
|
||||
services = calc_services(branch, features, configs, role)
|
||||
LOG.debug("Services: %s " % services)
|
||||
|
||||
if opts.ansible:
|
||||
|
|
|
@ -22,7 +22,7 @@ TEMPEST_NEUTRON_MASTER="n-api,n-api-meta,n-cpu,n-sch,n-cond,n-novnc,g-api,g-reg,
|
|||
|
||||
TEMPEST_HEAT_SLOW_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,c-bak,s-proxy,s-account,s-container,s-object,mysql,rabbit,dstat,peakmem_tracker,etcd3,tempest,q-svc,q-agt,q-dhcp,q-l3,q-meta,q-metering,placement-api"
|
||||
|
||||
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,c-bak,s-proxy,s-account,s-container,s-object,mysql,rabbit,dstat,peakmem_tracker,etcd3,tempest,placement-api"
|
||||
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"
|
||||
|
||||
# Utility function for tests
|
||||
function assert_list_equal {
|
||||
|
|
Loading…
Reference in New Issue