Exemplo n.º 1
0
def _translate_plain_exception(exc_value):
    if isinstance(exc_value, (glanceclient.exc.Forbidden,
                    glanceclient.exc.Unauthorized)):
        return exception.Forbidden(six.text_type(exc_value))
    if isinstance(exc_value, glanceclient.exc.NotFound):
        return exception.NotFound(six.text_type(exc_value))
    if isinstance(exc_value, glanceclient.exc.BadRequest):
        return exception.Invalid(six.text_type(exc_value))
    return exc_value
Exemplo n.º 2
0
def status_to_ec2_attach_status(volume):
    """Get the corresponding EC2 attachment state.

    According to EC2 API, the valid attachment status in response is:
    attaching | attached | detaching | detached
    """
    volume_status = volume.get('status')
    attach_status = volume.get('attach_status')
    if volume_status in ('attaching', 'detaching'):
        ec2_attach_status = volume_status
    elif attach_status in ('attached', 'detached'):
        ec2_attach_status = attach_status
    else:
        msg = _("Unacceptable attach status:%s for ec2 API.") % attach_status
        raise exception.Invalid(msg)
    return ec2_attach_status
Exemplo n.º 3
0
 def create_security_group(self, context, name, description):
     neutron = neutronapi.get_client(context)
     body = self._make_neutron_security_group_dict(name, description)
     try:
         security_group = neutron.create_security_group(body).get(
             'security_group')
     except n_exc.BadRequest as e:
         raise exception.Invalid(six.text_type(e))
     except n_exc.NeutronClientException as e:
         exc_info = sys.exc_info()
         LOG.exception(_LE("Neutron Error creating security group %s"),
                       name)
         if e.status_code == 401:
             # TODO(arosen) Cannot raise generic response from neutron here
             # as this error code could be related to bad input or over
             # quota
             raise exc.HTTPBadRequest()
         elif e.status_code == 409:
             self.raise_over_quota(six.text_type(e))
         six.reraise(*exc_info)
     return self._convert_to_nova_security_group_format(security_group)
Exemplo n.º 4
0
 def raise_invalid_group(msg):
     raise exception.Invalid(msg)
Exemplo n.º 5
0
 def raise_group_already_exists(msg):
     raise exception.Invalid(msg)
Exemplo n.º 6
0
 def raise_invalid_property(msg):
     raise exception.Invalid(msg)