From: chenjiankun Date: Fri, 14 Jul 2017 03:54:06 +0000 (+0000) Subject: Add API(v2) to delete pod X-Git-Tag: opnfv-5.0.RC1~377^2 X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F85%2F37485%2F1;p=yardstick.git Add API(v2) to delete pod JIRA: YARDSTICK-725 API: /api/v2/yardstick/pods/ METHOD: DELETE Change-Id: Ib9e9f9ced455c4ee3b6e1f63d773ea2e3ee906a6 Signed-off-by: chenjiankun --- diff --git a/api/resources/v2/pods.py b/api/resources/v2/pods.py index ffb8a6046..ebc1312da 100644 --- a/api/resources/v2/pods.py +++ b/api/resources/v2/pods.py @@ -77,3 +77,24 @@ class V2Pod(ApiResource): content = jsonutils.loads(pod.content) return result_handler(consts.API_SUCCESS, {'pod': content}) + + def delete(self, pod_id): + try: + uuid.UUID(pod_id) + except ValueError: + return result_handler(consts.API_ERROR, 'invalid pod id') + + pod_handler = V2PodHandler() + try: + pod = pod_handler.get_by_uuid(pod_id) + except ValueError: + return result_handler(consts.API_ERROR, 'no such pod') + + LOG.info('update pod in environment') + environment_handler = V2EnvironmentHandler() + environment_handler.update_attr(pod.environment_id, {'pod_id': None}) + + LOG.info('delete pod in database') + pod_handler.delete_by_uuid(pod_id) + + return result_handler(consts.API_SUCCESS, {'pod': pod_id})