Exemplo n.º 1
0
 def handle_create(self, cxt, resource, name):
     try:
         cli = self._get_client(cxt)
         return cli.create_fake_res(name)
     except FakeException:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable(FAKE_TYPE, cli.endpoint)
Exemplo n.º 2
0
 def handle_action(self, cxt, resource, action, name, rename):
     try:
         cli = self._get_client(cxt)
         cli.action_fake_res(name, rename)
     except FakeException:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable(FAKE_TYPE, cli.endpoint)
Exemplo n.º 3
0
 def handle_list(self, cxt, resource, filters):
     try:
         cli = self._get_client(cxt)
         return cli.list_fake_res(
             resource_handle._transform_filters(filters))
     except FakeException:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable(FAKE_TYPE, cli.endpoint)
Exemplo n.º 4
0
 def handle_action(self, cxt, resource, action, *args, **kwargs):
     try:
         client = self._get_client(cxt)
         return getattr(client, '%s_%s' % (action, resource))(*args,
                                                              **kwargs)
     except q_exceptions.ConnectionFailed:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable(
             'neutron', client.httpclient.endpoint_url)
Exemplo n.º 5
0
 def handle_action(self, cxt, resource, action, *args, **kwargs):
     try:
         client = self._get_client(cxt)
         collection = '%ss' % resource
         resource_manager = getattr(client, collection)
         getattr(resource_manager, action)(*args, **kwargs)
     except r_exceptions.ConnectTimeout:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable('cinder',
                                               client.client.management_url)
Exemplo n.º 6
0
 def handle_create(self, cxt, resource, *args, **kwargs):
     try:
         resource = self._adapt_resource(resource)
         client = self._get_client(cxt)
         collection = '%ss' % resource
         return getattr(client, collection).create(*args,
                                                   **kwargs).to_dict()
     except r_exceptions.ConnectTimeout:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable('nova',
                                               client.client.management_url)
Exemplo n.º 7
0
 def handle_list(self, cxt, resource, filters):
     try:
         client = self._get_client(cxt)
         collection = '%ss' % resource
         return [
             res.to_dict() for res in getattr(client, collection).list(
                 filters=_transform_filters(filters))
         ]
     except g_exceptions.InvalidEndpoint:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable('glance',
                                               client.http_client.endpoint)
Exemplo n.º 8
0
 def handle_get(self, cxt, resource, resource_id):
     try:
         client = self._get_client(cxt)
         collection = '%ss' % resource
         res = getattr(client, collection).get(resource_id)
         info = {}
         info.update(res._info)
         return info
     except r_exceptions.ConnectTimeout:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable('cinder',
                                               client.client.management_url)
Exemplo n.º 9
0
 def handle_create(self, cxt, resource, *args, **kwargs):
     try:
         client = self._get_client(cxt)
         ret = getattr(client, 'create_%s' % resource)(*args, **kwargs)
         if resource in ret:
             return ret[resource]
         else:
             return ret['%ss' % resource]
     except q_exceptions.ConnectionFailed:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable(
             'neutron', client.httpclient.endpoint_url)
Exemplo n.º 10
0
 def handle_delete(self, cxt, resource, resource_id):
     try:
         client = self._get_client(cxt)
         return getattr(client, 'delete_%s' % resource)(resource_id)
     except q_exceptions.ConnectionFailed:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable(
             'neutron', client.httpclient.endpoint_url)
     except q_exceptions.NotFound:
         LOG.debug("Delete %(resource)s %(resource_id)s which not found", {
             'resource': resource,
             'resource_id': resource_id
         })
Exemplo n.º 11
0
 def handle_list(self, cxt, resource, filters):
     try:
         client = self._get_client(cxt)
         collection = '%ss' % resource
         search_opts = _transform_filters(filters)
         return [
             res for res in getattr(client, 'list_%s' %
                                    collection)(**search_opts)[collection]
         ]
     except q_exceptions.ConnectionFailed:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable(
             'neutron', client.httpclient.endpoint_url)
Exemplo n.º 12
0
 def handle_delete(self, cxt, resource, resource_id):
     try:
         client = self._get_client(cxt)
         collection = '%ss' % resource
         return getattr(client, collection).delete(resource_id)
     except r_exceptions.ConnectTimeout:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable('cinder',
                                               client.client.management_url)
     except c_exceptions.NotFound:
         LOG.debug("Delete %(resource)s %(resource_id)s which not found", {
             'resource': resource,
             'resource_id': resource_id
         })
Exemplo n.º 13
0
 def handle_action(self, cxt, resource, action, *args, **kwargs):
     try:
         resource = self._adapt_resource(resource)
         client = self._get_client(cxt)
         collection = '%ss' % resource
         resource_manager = getattr(client, collection)
         resource_manager.convert_into_with_meta = _convert_into_with_meta
         # NOTE(zhiyuan) yes, this is a dirty hack. but the original
         # implementation hides response object which is needed
         return getattr(resource_manager, action)(*args, **kwargs)
     except r_exceptions.ConnectTimeout:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable('nova',
                                               client.client.management_url)
Exemplo n.º 14
0
 def handle_get(self, cxt, resource, resource_id):
     try:
         client = self._get_client(cxt)
         collection = '%ss' % resource
         return getattr(client, collection).get(resource_id).to_dict()
     except g_exceptions.InvalidEndpoint:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable('glance',
                                               client.http_client.endpoint)
     except g_exceptions.HTTPNotFound:
         LOG.debug("%(resource)s %(resource_id)s not found", {
             'resource': resource,
             'resource_id': resource_id
         })
Exemplo n.º 15
0
 def handle_get(self, cxt, resource, resource_id):
     try:
         resource = self._adapt_resource(resource)
         client = self._get_client(cxt)
         collection = '%ss' % resource
         return getattr(client, collection).get(resource_id).to_dict()
     except r_exceptions.ConnectTimeout:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable('nova',
                                               client.client.management_url)
     except n_exceptions.NotFound:
         LOG.debug("%(resource)s %(resource_id)s not found", {
             'resource': resource,
             'resource_id': resource_id
         })
Exemplo n.º 16
0
 def handle_list(self, cxt, resource, filters):
     try:
         resource = self._adapt_resource(resource)
         client = self._get_client(cxt)
         collection = '%ss' % resource
         # only server list supports filter
         if resource == 'server':
             search_opts = _transform_filters(filters)
             return [
                 res.to_dict() for res in getattr(client, collection).list(
                     search_opts=search_opts)
             ]
         else:
             return [
                 res.to_dict()
                 for res in getattr(client, collection).list()
             ]
     except r_exceptions.ConnectTimeout:
         self.endpoint_url = None
         raise exceptions.EndpointNotAvailable('nova',
                                               client.client.management_url)