Fix juju status in OSM Charms
[osm/devops.git] / installers / charm / nbi-k8s / reactive / nbi.py
index edcdd4c..855d800 100644 (file)
@@ -46,23 +46,38 @@ def clear_keystone_ready():
 
 @when_not("kafka.ready")
 @when_not("nbi-k8s.configured")
+@when("leadership.is_leader")
 def waiting_for_kafka():
     layer.status.waiting("Waiting for kafka to be ready")
 
 
 @when_not("mongo.ready")
 @when_not("nbi-k8s.configured")
+@when("leadership.is_leader")
 def waiting_for_mongo():
     layer.status.waiting("Waiting for mongo to be ready")
 
 
 @when_not("endpoint.prometheus.available")
 @when_not("nbi-k8s.configured")
+@when("leadership.is_leader")
 def waiting_for_prometheus():
     layer.status.waiting("Waiting for prometheus to be ready")
 
 
 @when_not("keystone.ready")
+@when("leadership.is_leader")
+@when_not("nbi-k8s.configured")
+def waiting_for_keystone():
+    auth_backend = config().get("auth-backend")
+    if auth_backend == "keystone":
+        layer.status.waiting("Waiting for Keystone to be ready")
+    else:
+        set_flag("keystone.ready")
+
+
+@when_not("keystone.ready")
+@when("leadership.is_leader")
 @when_not("nbi-k8s.configured")
 def waiting_for_keystone():
     auth_backend = config().get("auth-backend")
@@ -162,6 +177,12 @@ def configure():
         log("Error: {}".format(traceback.format_exc()))
 
 
+@when("kafka.ready", "mongo.ready", "endpoint.prometheus.available")
+@when_not("leadership.is_leader")
+def non_leaders_active():
+    layer.status.active("ready")
+
+
 @when("nbi-k8s.configured")
 def set_nbi_active():
     layer.status.active("ready")