From b5b0196ee6cf15ece9eacf7775b6da41f9291231 Mon Sep 17 00:00:00 2001 From: Andrey Pavlov Date: Thu, 16 Mar 2017 17:05:39 +0400 Subject: [PATCH] Adding statefulsets to ccp status Change-Id: I993f174109f3d02aa2c5243dce2b82615983876d --- fuel_ccp/kubernetes.py | 7 +++++-- fuel_ccp/status.py | 8 ++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/fuel_ccp/kubernetes.py b/fuel_ccp/kubernetes.py index f092451d..129a6674 100644 --- a/fuel_ccp/kubernetes.py +++ b/fuel_ccp/kubernetes.py @@ -207,11 +207,14 @@ def list_cluster_ingress(): namespace=CONF.kubernetes.namespace) -def list_cluster_statefulsets(): +def list_cluster_statefulsets(selector=None): + ccp_selector = "ccp=true" + if selector: + ccp_selector += ',' + selector client = get_client() return pykube.StatefulSet.objects(client).filter( namespace=CONF.kubernetes.namespace, - selector="ccp=true") + selector=ccp_selector) def get_object_names(items): diff --git a/fuel_ccp/status.py b/fuel_ccp/status.py index 80913768..475d252b 100644 --- a/fuel_ccp/status.py +++ b/fuel_ccp/status.py @@ -64,6 +64,14 @@ def get_pod_states(components=None): states[app_name]["job_completed"] += ( job.obj["status"].get("succeeded", 0)) + for ss in kubernetes.list_cluster_statefulsets(selector): + states.setdefault(ss.name, copy.deepcopy(STATE_TEMPLATE)) + states[ss.name]["pod_total"] = ss.obj["spec"]["replicas"] + for pod in kubernetes.list_cluster_pods(ss.name): + if all((cont["ready"] for cont in + pod.obj["status"]["containerStatuses"])): + states[ss.name]["pod_running"] += 1 + if CONF.configs.ingress.enabled: url_template = "https://%s" if CONF.configs.ingress.get("port"):