Exemple #1
0
def check_encryption_provider(db, volume, context):
    """Check that this is a LUKS encryption provider.

    :returns: encryption dict
    """

    encryption = db.volume_encryption_metadata_get(context, volume.id)

    if 'provider' not in encryption:
        message = _("Invalid encryption spec.")
        raise exception.VolumeDriverException(message=message)

    provider = encryption['provider']
    if provider in encryptors.LEGACY_PROVIDER_CLASS_TO_FORMAT_MAP:
        provider = encryptors.LEGACY_PROVIDER_CLASS_TO_FORMAT_MAP[provider]
        encryption['provider'] = provider
    if provider != encryptors.LUKS:
        message = _("Provider %s not supported.") % provider
        raise exception.VolumeDriverException(message=message)

    if 'cipher' not in encryption or 'key_size' not in encryption:
        msg = _('encryption spec must contain "cipher" and ' '"key_size"')
        raise exception.VolumeDriverException(message=msg)

    return encryption
 def index(self, req, volume_id):
     """Returns the encryption metadata for a given volume."""
     context = req.environ['cinder.context']
     volume = objects.Volume.get_by_id(context, volume_id)
     context.authorize(policy.ENCRYPTION_METADATA_POLICY,
                       target_obj=volume)
     return db.volume_encryption_metadata_get(context, volume_id)
Exemple #3
0
def check_encryption_provider(db, volume, context):
    """Check that this is a LUKS encryption provider.

    :returns: encryption dict
    """

    encryption = db.volume_encryption_metadata_get(context, volume.id)
    provider = encryption['provider']
    if provider in encryptors.LEGACY_PROVIDER_CLASS_TO_FORMAT_MAP:
        provider = encryptors.LEGACY_PROVIDER_CLASS_TO_FORMAT_MAP[provider]
    if provider != encryptors.LUKS:
        message = _("Provider %s not supported.") % provider
        raise exception.VolumeDriverException(message=message)

    if 'cipher' not in encryption or 'key_size' not in encryption:
        msg = _('encryption spec must contain "cipher" and '
                '"key_size"')
        raise exception.VolumeDriverException(message=msg)

    return encryption
 def _get_volume_encryption_metadata(self, context, volume_id):
     return db.volume_encryption_metadata_get(context, volume_id)
 def index(self, req, volume_id):
     """Returns the encryption metadata for a given volume."""
     context = req.environ['cinder.context']
     authorize(context)
     return db.volume_encryption_metadata_get(context, volume_id)
 def _get_volume_encryption_metadata(self, context, volume_id):
     return db.volume_encryption_metadata_get(context, volume_id)
Exemple #7
0
 def index(self, req, volume_id):
     """Returns the encryption metadata for a given volume."""
     context = req.environ['cinder.context']
     volume = objects.Volume.get_by_id(context, volume_id)
     context.authorize(policy.ENCRYPTION_METADATA_POLICY, target_obj=volume)
     return db.volume_encryption_metadata_get(context, volume_id)
 def index(self, req, volume_id):
     """Returns the encryption metadata for a given volume."""
     context = req.environ['cinder.context']
     context.authorize(policy.ENCRYPTION_METADATA_POLICY)
     return db.volume_encryption_metadata_get(context, volume_id)