示例#1
0
 def test_delete_raise_exception_keypair_inuse(self):
     db.process_get_all(IsA(context.RequestContext),
                        GID,
                        filters={"keypair_id": KEYPAIR_ID})\
         .AndRaise(exception.keypairInUse(keypair_id=KEYPAIR_ID))
     self.mox.ReplayAll()
     url = "/v1/groups/" + GID + "/keypairs/" + KEYPAIR_ID
     req = get_request(url, "DELETE")
     res = req.get_response(self.app)
     self.assertEqual(res.status_code, 409)
示例#2
0
    def delete(self, req, gid, keypair_id):
        context = req.environ['rack.context']

        try:
            self._uuid_check(gid=gid, keypair_id=keypair_id)
            filters = {"keypair_id": keypair_id}
            processes = db.process_get_all(context, gid, filters=filters)
            if processes:
                raise exception.keypairInUse(keypair_id=keypair_id)

            keypair = db.keypair_get_by_keypair_id(context, gid, keypair_id)
            self.manager.keypair_delete(context, keypair["nova_keypair_id"])
            db.keypair_delete(context, gid, keypair_id)
        except exception.NotFound as e:
            raise webob.exc.HTTPNotFound(explanation=e.format_message())
        except exception.keypairInUse as e:
            raise webob.exc.HTTPConflict(explanation=e.format_message())
示例#3
0
    def delete(self, req, gid, keypair_id):
        context = req.environ["rack.context"]

        try:
            self._uuid_check(gid=gid, keypair_id=keypair_id)
            filters = {"keypair_id": keypair_id}
            processes = db.process_get_all(context, gid, filters=filters)
            if processes:
                raise exception.keypairInUse(keypair_id=keypair_id)
            keypair = db.keypair_delete(context, gid, keypair_id)
            host = self.scheduler_rpcapi.select_destinations(context, request_spec={}, filter_properties={})
            self.operator_rpcapi.keypair_delete(context, host["host"], nova_keypair_id=keypair["nova_keypair_id"])
        except exception.NotFound as e:
            raise webob.exc.HTTPNotFound(explanation=e.format_message())
        except exception.keypairInUse as e:
            raise webob.exc.HTTPConflict(explanation=e.format_message())
        except Exception as e:
            LOG.warn(e)
            raise exception.KeypairDeleteFailed()