import logging import sh import sys fmt = logging.Formatter('[%(levelname)s]%(asctime)s %(filename)s:%(lineno)d: %(message)s') hdlr = logging.StreamHandler(sys.stdout) hdlr.setFormatter(fmt) logger = logging.getLogger("main") logger.addHandler(hdlr) logger.setLevel(logging.DEBUG) def main(): fullname = sys.argv[1] kind, name = fullname.split('/') kubectl = sh.Command('kubectl') conditions = kubectl('get', fullname, '-ocustom-columns=conditions:.status.conditions') if 'does not exist' not in conditions: logger.warning(f'no "does not exist" in conditions: {conditions}') exit(1) kubectl = sh.Command('kubectl').bake( _out=sys.stdout, _err=sys.stderr, ) # remove pause annotation logger.info('try to remove pause annotation') kubectl('annotate', fullname, 'cloud.pingcap.com/pause-info-') # remove finalizer logger.info('try to remove finalizer') kubectl('patch', fullname, '-p', '{"metadata":{"finalizers":null}}', '--type=merge') if __name__ == '__main__': main()