Removing dependence of SERVICE_EXTENSION_KEY
Remove this constant, and implement get_service_extension_key method to get this information from the services. Story: 2002787 Task: 22730 Change-Id: I7d395a3b864f9f06f5d266eb356af990c4f00a6c
This commit is contained in:
parent
b0b8a9a6bb
commit
78ef76e09e
@ -62,14 +62,3 @@ SERVICE_NAMES = {
|
|||||||
'workflowv2': 'mistral',
|
'workflowv2': 'mistral',
|
||||||
'load-balancer': 'octavia',
|
'load-balancer': 'octavia',
|
||||||
}
|
}
|
||||||
|
|
||||||
# Keep track of where the extensions are saved for that service.
|
|
||||||
# This is necessary because the configuration file is inconsistent - it uses
|
|
||||||
# different option names for service extension depending on the service.
|
|
||||||
SERVICE_EXTENSION_KEY = {
|
|
||||||
'compute': 'api_extensions',
|
|
||||||
'object-store': 'discoverable_apis',
|
|
||||||
'network': 'api_extensions',
|
|
||||||
'volumev3': 'api_extensions',
|
|
||||||
'identity': 'api_extensions'
|
|
||||||
}
|
|
||||||
|
@ -110,6 +110,10 @@ class Service(object):
|
|||||||
"""
|
"""
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
|
def get_service_extension_key(self):
|
||||||
|
"""Return the extension key for a particular service"""
|
||||||
|
return None
|
||||||
|
|
||||||
def get_unversioned_service_name(self):
|
def get_unversioned_service_name(self):
|
||||||
"""Return name of service without versions.
|
"""Return name of service without versions.
|
||||||
|
|
||||||
|
@ -43,6 +43,9 @@ class ComputeService(VersionedService):
|
|||||||
if self._get_number_of_hosts() >= 2:
|
if self._get_number_of_hosts() >= 2:
|
||||||
conf.set('compute-feature-enabled', 'resize', 'True')
|
conf.set('compute-feature-enabled', 'resize', 'True')
|
||||||
|
|
||||||
|
def get_service_extension_key(self):
|
||||||
|
return 'api_extensions'
|
||||||
|
|
||||||
def _get_number_of_hosts(self):
|
def _get_number_of_hosts(self):
|
||||||
# Right now the client returned is hosts, in the future
|
# Right now the client returned is hosts, in the future
|
||||||
# change it to a dict, and get the client as requested
|
# change it to a dict, and get the client as requested
|
||||||
|
@ -54,6 +54,9 @@ class IdentityService(VersionedService):
|
|||||||
# rather prefer to set empty list here for now.
|
# rather prefer to set empty list here for now.
|
||||||
self.extensions = []
|
self.extensions = []
|
||||||
|
|
||||||
|
def get_service_extension_key(self):
|
||||||
|
return 'api_extensions'
|
||||||
|
|
||||||
def get_supported_versions(self):
|
def get_supported_versions(self):
|
||||||
return ['v2', 'v3']
|
return ['v2', 'v3']
|
||||||
|
|
||||||
|
@ -50,6 +50,9 @@ class NetworkService(VersionedService):
|
|||||||
conf.set('network', 'floating_network_name',
|
conf.set('network', 'floating_network_name',
|
||||||
self._public_network_name)
|
self._public_network_name)
|
||||||
|
|
||||||
|
def get_service_extension_key(self):
|
||||||
|
return 'api_extensions'
|
||||||
|
|
||||||
def _supplied_network(self):
|
def _supplied_network(self):
|
||||||
LOG.info("Looking for existing network id: {0}"
|
LOG.info("Looking for existing network id: {0}"
|
||||||
"".format(self._public_network_id))
|
"".format(self._public_network_id))
|
||||||
|
@ -60,6 +60,9 @@ class ObjectStorageService(Service):
|
|||||||
def get_feature_name(self):
|
def get_feature_name(self):
|
||||||
return 'object-storage'
|
return 'object-storage'
|
||||||
|
|
||||||
|
def get_service_extension_key(self):
|
||||||
|
return 'discoverable_apis'
|
||||||
|
|
||||||
def _check_health_check(self, path):
|
def _check_health_check(self, path):
|
||||||
try:
|
try:
|
||||||
self.client.accounts.skip_path()
|
self.client.accounts.skip_path()
|
||||||
|
@ -259,17 +259,9 @@ class Services(object):
|
|||||||
if keystone_v3_support:
|
if keystone_v3_support:
|
||||||
self.get_service('identity').set_identity_v3_extensions()
|
self.get_service('identity').set_identity_v3_extensions()
|
||||||
|
|
||||||
# TODO(arxcruz): We already have a service.get_feature_name so we
|
for service in self._services:
|
||||||
# don't need this special case in object-store
|
ext_key = service.get_service_extension_key()
|
||||||
for service, ext_key in C.SERVICE_EXTENSION_KEY.iteritems():
|
if ext_key:
|
||||||
if not self.is_service(service):
|
extensions = ','.join(service.get_extensions())
|
||||||
continue
|
service_name = service.get_feature_name()
|
||||||
service_object = self.get_service(service)
|
self._conf.set(service_name + postfix, ext_key, extensions)
|
||||||
if service_object is not None:
|
|
||||||
extensions = ','.join(service_object.get_extensions())
|
|
||||||
# FIXME: object-store config param object-storage needs to be
|
|
||||||
# handled here In future this should be removed from Services class
|
|
||||||
if service == 'object-store':
|
|
||||||
service = 'object-storage'
|
|
||||||
service_name = service_object.get_unversioned_service_name()
|
|
||||||
self._conf.set(service_name + postfix, ext_key, extensions)
|
|
||||||
|
@ -33,6 +33,9 @@ class VolumeService(VersionedService):
|
|||||||
body = json.loads(body)
|
body = json.loads(body)
|
||||||
self.versions = self.deserialize_versions(body)
|
self.versions = self.deserialize_versions(body)
|
||||||
|
|
||||||
|
def get_service_extension_key(self):
|
||||||
|
return 'api_extensions'
|
||||||
|
|
||||||
def get_supported_versions(self):
|
def get_supported_versions(self):
|
||||||
return ['v2', 'v3']
|
return ['v2', 'v3']
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user