Exemplo n.º 1
0
 def wrapper(self, ctx, instance_id, *args, **kwargs):
     try:
         res = method(self, ctx, instance_id, *args, **kwargs)
     except nova_exception.ClientException as e:
         if isinstance(e, nova_exception.NotFound):
             raise exception.InstanceNotFound(instance_id=instance_id)
         elif isinstance(e, nova_exception.BadRequest):
             raise exception.InvalidInput(reason=six.text_type(e))
     return res
Exemplo n.º 2
0
 def wrapper(self, ctx, instance_id, *args, **kwargs):
     try:
         res = method(self, ctx, instance_id, *args, **kwargs)
     except nova_exception.ClientException:
         exc_type, exc_value, exc_trace = sys.exc_info()
         if isinstance(exc_value, nova_exception.NotFound):
             exc_value = exception.InstanceNotFound(instance_id=instance_id)
         elif isinstance(exc_value, nova_exception.BadRequest):
             exc_value = exception.InvalidInput(reason=exc_value.message)
         raise exc_value, None, exc_trace
     return res
Exemplo n.º 3
0
 def test_ensure_server_not_exists(self):
     server_details = {'instance_id': 'fake_inst_id', 'ip': '1.2.3.4'}
     self.stubs.Set(self._manager, '_check_server_availability',
                    mock.Mock(return_value=True))
     self.stubs.Set(
         self._manager.compute_api, 'server_get',
         mock.Mock(side_effect=exception.InstanceNotFound(
             instance_id=server_details['instance_id'])))
     result = self._manager.ensure_service_instance(self._context,
                                                    server_details)
     self._manager.compute_api.server_get.assert_called_once_with(
         self._context, server_details['instance_id'])
     self.assertFalse(self._manager._check_server_availability.called)
     self.assertFalse(result)
Exemplo n.º 4
0
    def _access_changed_trigger(self, context, func_name, access_id,
                                share_instance_id):
        access = self.share_api.access_get(context, access_id=access_id)
        share = self.share_api.get(context, share_id=access.share_id)

        for ins in share.instances:
            if ins.id == share_instance_id:
                share_instance = ins
                break
        else:
            raise exception.InstanceNotFound(instance_id=share_instance_id)

        for ins in access.instance_mappings:
            if ins.share_instance_id == share_instance_id:
                access_instance = ins
                break
        else:
            raise exception.InstanceNotFound(instance_id=share_instance_id)

        is_allow_operation = 'allow' in func_name
        results = {
            'share_id': access.share_id,
            'share_instance_id': share_instance_id,
            'export_locations':
            [el.path for el in share_instance.export_locations],
            'share_proto': share.share_proto,
            'access_id': access.id,
            'access_instance_id': access_instance.id,
            'access_type': access.access_type,
            'access_to': access.access_to,
            'access_level': access.access_level,
            'access_state': access_instance.state,
            'is_allow_operation': is_allow_operation,
            'availability_zone': share_instance.availability_zone,
        }
        LOG.debug(results)
        return results
Exemplo n.º 5
0
        def rules_view(rules):
            result = []

            for rule in rules:
                access_instance = None

                for ins in rule.instance_mappings:
                    if ins.share_instance_id == share_instance_id:
                        access_instance = ins
                        break
                    else:
                        raise exception.InstanceNotFound(
                            instance_id=share_instance_id)

                result.append({
                    'access_id': rule.id,
                    'access_instance_id': access_instance.id,
                    'access_type': rule.access_type,
                    'access_to': rule.access_to,
                    'access_level': rule.access_level,
                })
            return result
Exemplo n.º 6
0
 def test_instance_not_found(self):
     # verify response code for exception.InstanceNotFound
     instance_id = "fake_instance_id"
     e = exception.InstanceNotFound(instance_id=instance_id)
     self.assertEqual(404, e.code)
     self.assertIn(instance_id, e.msg)