import shlex import datetime import subprocess import time def execute_command(cmd): process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) result_f = process.stdout error_f = process.stderr errors = error_f.read() if errors: pass result_str = result_f.read().strip() if result_f: result_f.close() if error_f: error_f.close() return result_str def is_network_exist_in_infra(env, projectid): if env == "dev": normal_cmd = "cd /Users/zhongmin/Downloads && export KUBECONFIG=./infra-api-kubeconfig-dev.yaml " \ "&& kubectl get network -n nightly-ms-%s|grep -v free-tier|grep -v gcp|grep Normal|wc -l" % projectid hibernated_cmd = "cd /Users/zhongmin/Downloads && export KUBECONFIG=./infra-api-kubeconfig-dev.yaml " \ "&& kubectl get network -n nightly-ms-%s|grep -v free-tier|grep -v gcp|grep Hibernated|wc -l" \ % projectid else: normal_cmd = "cd /Users/zhongmin/Downloads && export KUBECONFIG=./infra-api-kubeconfig.yaml " \ "&& kubectl get network -n staging-%s|grep -v free-tier|grep -v gcp|grep Normal|wc -l" % projectid hibernated_cmd = "cd /Users/zhongmin/Downloads && export KUBECONFIG=./infra-api-kubeconfig.yaml " \ "&& kubectl get network -n staging-%s|grep -v free-tier|grep -v gcp|grep Hibernated|wc -l" \ % projectid print(env, projectid, normal_cmd, hibernated_cmd) normal_result = execute_command(normal_cmd) hibernated_result = execute_command(hibernated_cmd) normal_data = normal_result.decode(encoding='utf-8') hibernated_data = hibernated_result.decode(encoding='utf-8') print(normal_data[0]) if (int(normal_data[0]) + int(hibernated_data[0])) > 0: return True, int(normal_data[0]), int(hibernated_data[0]) else: return False, int(normal_data[0]), int(hibernated_data[0])