**** CubicPower OpenStack Study ****
def _get_compute_api_class_name():
"""Returns the name of compute API class."""
cell_type = nova.cells.opts.get_cell_type()
return CELL_TYPE_TO_CLS_NAME[cell_type]
**** CubicPower OpenStack Study ****
def API(*args, **kwargs):
importutils = nova.openstack.common.importutils
class_name = _get_compute_api_class_name()
return importutils.import_object(class_name, *args, **kwargs)
**** CubicPower OpenStack Study ****
def HostAPI(*args, **kwargs):
"""Returns the 'HostAPI' class from the same module as the configured
compute api
"""
importutils = nova.openstack.common.importutils
compute_api_class_name = _get_compute_api_class_name()
compute_api_class = importutils.import_class(compute_api_class_name)
class_name = compute_api_class.__module__ + ".HostAPI"
return importutils.import_object(class_name, *args, **kwargs)
**** CubicPower OpenStack Study ****
def InstanceActionAPI(*args, **kwargs):
"""Returns the 'InstanceActionAPI' class from the same module as the
configured compute api.
"""
importutils = nova.openstack.common.importutils
compute_api_class_name = _get_compute_api_class_name()
compute_api_class = importutils.import_class(compute_api_class_name)
class_name = compute_api_class.__module__ + ".InstanceActionAPI"
return importutils.import_object(class_name, *args, **kwargs)