base.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:openshift-restclient-python 作者: openshift 项目源码 文件源码
def delete_object(self, name, namespace):
        self.logger.debug('Starting delete object {0} {1} {2}'.format(self.kind, name, namespace))
        delete_method = self.lookup_method('delete', namespace)

        if not namespace:
            try:
                if 'body' in inspect.getargspec(delete_method).args:
                    status_obj = delete_method(name, body=V1DeleteOptions(propagation_policy='Foreground'))
                else:
                    status_obj = delete_method(name)
            except ApiException as exc:
                msg = json.loads(exc.body).get('message', exc.reason)
                raise self.get_exception_class()(msg, status=exc.status)
            except MaxRetryError as ex:
                raise self.get_exception_class()(str(ex.reason))
        else:
            try:
                if 'body' in inspect.getargspec(delete_method).args:
                    status_obj = delete_method(name, namespace, body=V1DeleteOptions(propagation_policy='Foreground'))
                else:
                    status_obj = delete_method(name, namespace)
            except ApiException as exc:
                msg = json.loads(exc.body).get('message', exc.reason) if exc.body.startswith('{') else exc.body
                raise self.get_exception_class()(msg, status=exc.status)
            except MaxRetryError as ex:
                raise self.get_exception_class()(str(ex.reason))

        if status_obj is None or status_obj.status == 'Failure':
            msg = 'Failed to delete {}'.format(name)
            if namespace is not None:
                msg += ' in namespace {}'.format(namespace)
            msg += ' status: {}'.format(status_obj)
            raise self.get_exception_class()(msg)

        self._wait_for_response(name, namespace, 'delete')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号