**** 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)