コード例 #1
0
 def _validate_volume_size(size):
     """Validate the various possible errors for volume size"""
     try:
         volume_size = float(size)
     except (ValueError, TypeError) as err:
         LOG.error(err)
         msg = ("Required element/key - instance volume 'size' was not "
                "specified as a number (value was %s)." % size)
         raise exception.ReddwarfError(msg)
     if int(volume_size) != volume_size or int(volume_size) < 1:
         msg = ("Volume 'size' needs to be a positive "
                "integer value, %s cannot be accepted." % volume_size)
         raise exception.ReddwarfError(msg)
     max_size = int(config.Config.get('max_accepted_volume_size', 1))
     if int(volume_size) > max_size:
         msg = ("Volume 'size' cannot exceed maximum "
                "of %d Gb, %s cannot be accepted." %
                (max_size, volume_size))
         raise exception.VolumeQuotaExceeded(msg)
コード例 #2
0
 def _validate_create_body(self, body):
     try:
         body['backup']
         body['backup']['name']
         body['backup']['instance']
     except KeyError as e:
         LOG.error(_("Create Backup Required field(s) "
                     "- %s") % e)
         raise exception.ReddwarfError(
             "Required element/key - %s was not specified" % e)
コード例 #3
0
ファイル: models.py プロジェクト: tanisdeluna/reddwarf
 def __init__(self, security_group=None, id=None, context=None):
     if id is None and security_group is None:
         msg = "Security Group does not have id defined!"
         raise exception.InvalidModelError(msg)
     elif security_group is None:
         try:
             client = reddwarf.common.remote.create_nova_client(context)
             self._data_object = client.security_groups.get(id)
         except nova_exceptions.NotFound, e:
             raise exception.NotFound(id=id)
         except nova_exceptions.ClientException, e:
             raise exception.ReddwarfError(str(e))
コード例 #4
0
ファイル: models.py プロジェクト: tanisdeluna/reddwarf
    def delete(self, context):
        try:
            sec_group_rules = self.get_rules()
            if sec_group_rules:
                for rule in sec_group_rules:
                    rule.delete(context)

            RemoteSecurityGroup.delete(self.id, context)
            super(SecurityGroup, self).delete()

        except exception.ReddwarfError:
            LOG.exception('Failed to delete security group')
            raise exception.ReddwarfError("Failed to delete Security Group")