[EXTAPI] Deploy macromode and E2E slicing code changes
[oom.git] / kubernetes / readiness / src / main / scripts / ready.py
index 3f76d10..b932b04 100644 (file)
@@ -60,10 +60,8 @@ def wait_for_statefulset_complete(statefulset_name):
     try:
         response = api.read_namespaced_stateful_set(statefulset_name, namespace)
         s = response.status
-        if (s.updated_replicas == response.spec.replicas and
-                s.replicas == response.spec.replicas and
+        if (s.replicas == response.spec.replicas and
                 s.ready_replicas == response.spec.replicas and
-                s.current_replicas == response.spec.replicas and
                 s.observed_generation == response.metadata.generation):
             log.info("Statefulset " + statefulset_name + "  is ready")
             return True
@@ -92,6 +90,20 @@ def wait_for_deployment_complete(deployment_name):
         log.error("Exception when waiting for deployment status: %s\n" % e)
 
 
+def wait_for_daemonset_complete(daemonset_name):
+    try:
+        response = api_instance.read_namespaced_daemon_set(daemonset_name, namespace)
+        s = response.status
+        if s.desired_number_scheduled == s.number_ready:
+            log.info("DaemonSet: " + str(s.number_ready) + "/" + str(s.desired_number_scheduled) + " nodes ready --> " + daemonset_name + " is ready")
+            return True
+        else:
+            log.info("DaemonSet: " + str(s.number_ready) + "/" + str(s.desired_number_scheduled) + " nodes ready --> " + daemonset_name + " is not ready")
+            return False
+    except Exception as e:
+        log.error("Exception when waiting for DaemonSet status: %s\n" % e)
+
+
 def is_ready(container_name):
     ready = False
     log.info("Checking if " + container_name + "  is ready")
@@ -112,6 +124,8 @@ def is_ready(container_name):
                         ready = wait_for_deployment_complete(deployment_name)
                     elif i.metadata.owner_references[0].kind == "Job":
                         ready = is_job_complete(name)
+                    elif i.metadata.owner_references[0].kind == "DaemonSet":
+                        ready = wait_for_daemonset_complete(i.metadata.owner_references[0].name)
 
                     return ready
 
@@ -123,7 +137,7 @@ def is_ready(container_name):
 
 
 def read_name(item):
-    return item.metadata.owner_reference[0].name
+    return item.metadata.owner_references[0].name
 
 
 def get_deployment_name(replicaset):