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
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
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)
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
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
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)