¡@

Home 

OpenStack Study: __init__.py

OpenStack Index

**** CubicPower OpenStack Study ****

def get_volume_encryptor(connection_info, **kwargs):

    """Creates a VolumeEncryptor used to encrypt the specified volume.

    :param: the connection information used to attach the volume

    :returns VolumeEncryptor: the VolumeEncryptor for the volume

    """

    encryptor = nop.NoOpEncryptor(connection_info, **kwargs)

    location = kwargs.get('control_location', None)

    if location and location.lower() == 'front-end':  # case insensitive

        provider = kwargs.get('provider')

        try:

            encryptor = importutils.import_object(provider, connection_info,

                                                  **kwargs)

        except Exception as e:

            LOG.error(_("Error instantiating %(provider)s: %(exception)s"),

                      provider=provider, exception=e)

            raise

    return encryptor

**** CubicPower OpenStack Study ****

def get_encryption_metadata(context, volume_api, volume_id, connection_info):

    metadata = {}

    if ('data' in connection_info and

            connection_info['data'].get('encrypted', False)):

        try:

            metadata = volume_api.get_volume_encryption_metadata(context,

                                                                 volume_id)

        except Exception as e:

            LOG.error(_("Failed to retrieve encryption metadata for "

                            "volume %(volume_id)s: %(exception)s"),

                          {'volume_id': volume_id, 'exception': e})

            raise

    return metadata