diff options
Diffstat (limited to 'cloudify-onap/docker-custom-readiness/ready.py')
-rw-r--r-- | cloudify-onap/docker-custom-readiness/ready.py | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/cloudify-onap/docker-custom-readiness/ready.py b/cloudify-onap/docker-custom-readiness/ready.py deleted file mode 100644 index 22b24d345d..0000000000 --- a/cloudify-onap/docker-custom-readiness/ready.py +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/python -#from kubernetes import client, config -import kubernetes -import time, argparse, logging, sys, os, base64 -import yaml - -#setup logging -log = logging.getLogger(__name__) -handler = logging.StreamHandler(sys.stdout) -handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')) -handler.setLevel(logging.DEBUG) -log.addHandler(handler) -log.setLevel(logging.DEBUG) - - -def is_ready(container_name): - log.info( "Checking if " + container_name + " is ready") - - kubernetes.config.kube_config.KubeConfigLoader(config_dict=get_k8s_config_env()).load_and_set() - client = kubernetes.client - namespace = get_namespace_env() - v1 = client.CoreV1Api() - - ready = False - - try: - response = v1.list_namespaced_pod(namespace=namespace, watch=False) - for i in response.items: - for s in i.status.container_statuses: - if s.name == container_name: - log.debug ( "response %s" % response ) - ready = s.ready - if not ready: - log.info( container_name + " is not ready.") - else: - log.info( container_name + " is ready!") - else: - continue - return ready - except Exception as e: - log.error("Exception when calling list_namespaced_pod: %s\n" % e) - - -def get_k8s_config_env(): - try: - k8s_config_env = os.environ.get("K8S_CONFIG_B64") - decoded = base64.b64decode(k8s_config_env) - return yaml.load(decoded) - except KeyError as ke: - raise Exception("K8S_CONFIG_B64 variable is not set.") - - -def get_namespace_env(): - try: - namespace_env = os.environ.get("NAMESPACE") - return namespace_env - except KeyError as ke: - raise Exception("NAMESPACE variable is not set.") - - -def main(args):#from kubernetes import client, config - - # args are a list of container names - for container_name in args: - # 5 min, TODO: make configurable - timeout = time.time() + 60 * 10 - while True: - ready = is_ready(container_name) - if ready is True: - break - elif time.time() > timeout: - log.warning( "timed out waiting for '" + container_name + "' to be ready") - exit(1) - else: - time.sleep(5) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser(description='Process some names.') - parser.add_argument('--container-name', action='append', required=True, help='A container name') - args = parser.parse_args() - arg_dict = vars(args) - - for arg in arg_dict.itervalues(): - main(arg) |