The available services mechanism does not currently support tempest plugins, as it includes several hardcoded lists within tempest itself (tempest/test.py, tempest/config.py) and within devstack (lib/tempest).
An example of this from tempest/test.py:
def get_service_list(): service_list = { 'compute': CONF.service_available.nova, 'image': CONF.service_available.glance, 'baremetal': CONF.service_available.ironic, 'volume': CONF.service_available.cinder, 'orchestration': CONF.service_available.heat,
# NOTE(mtreinish) nova-network will provide networking functionality
# if neutron isn't available, so always set to True. 'network': True, 'identity': True, 'object_storage': CONF.service_available.swift, 'dashboard': CONF.service_available.horizon, 'telemetry': CONF.service_available.ceilometer, 'data_processing': CONF.service_available.sahara, 'database': CONF.service_available.trove
}
return service_list
We should extend or replace these mechanisms to support plugins.
The available services mechanism does not currently support tempest plugins, as it includes several hardcoded lists within tempest itself (tempest/test.py, tempest/config.py) and within devstack (lib/tempest).
An example of this from tempest/test.py:
def get_service_list():
service_ list = {
'compute' : CONF.service_ available. nova,
'image' : CONF.service_ available. glance,
'baremetal ': CONF.service_ available. ironic,
'volume' : CONF.service_ available. cinder,
'orchestra tion': CONF.service_ available. heat,
'network' : True,
'identity' : True,
'object_ storage' : CONF.service_ available. swift,
'dashboard ': CONF.service_ available. horizon,
'telemetry ': CONF.service_ available. ceilometer,
'data_ processing' : CONF.service_ available. sahara,
'database' : CONF.service_ available. trove
# NOTE(mtreinish) nova-network will provide networking functionality
# if neutron isn't available, so always set to True.
}
return service_list
We should extend or replace these mechanisms to support plugins.