milvus/tests/python_client/deploy/monitor_rolling_update.py
zhuwenxing e7d5196f68
[test]Wait index building complete before rolling update (#26377)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2023-08-17 16:38:18 +08:00

28 lines
1.1 KiB
Python

import argparse
import subprocess
import time
from loguru import logger as log
def run_kubectl_get_pod(duration, interval, release_name):
end_time = time.time() + duration
while time.time() < end_time:
cmd = f"kubectl get pod |grep {release_name}"
res = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = res.communicate()
output = stdout.decode("utf-8")
log.info(f"{cmd}\n{output}\n")
time.sleep(interval)
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Script to run "kubectl get pod" command at regular intervals')
parser.add_argument('-d', '--duration', type=int, default=600, help='Duration in seconds (default: 600)')
parser.add_argument('-i', '--interval', type=int, default=5, help='Interval in seconds (default: 30)')
parser.add_argument('-n', '--release_name', type=str, default="", help='release name (default: "None")')
args = parser.parse_args()
run_kubectl_get_pod(args.duration, args.interval, args.release_name)