Fix juju status in OSM Charms
Change-Id: Iab33813f81c394f2444fb9407b4fab4b70929c90
Signed-off-by: David Garcia <david.garcia@canonical.com>
diff --git a/installers/charm/ro-k8s/reactive/ro.py b/installers/charm/ro-k8s/reactive/ro.py
index afd7f45..8ad6f98 100644
--- a/installers/charm/ro-k8s/reactive/ro.py
+++ b/installers/charm/ro-k8s/reactive/ro.py
@@ -34,6 +34,7 @@
@when_not("mysql.available")
@when_not("ro-k8s.configured")
+@when("leadership.is_leader")
def waiting_for_mysql():
layer.status.waiting("Waiting for mysql to be ready")
@@ -46,22 +47,29 @@
try:
mysql = endpoint_from_flag("mysql.available")
- spec = make_pod_spec(
- mysql.host(),
- mysql.port(),
- mysql.user(),
- mysql.password(),
- mysql.root_password(),
- )
+ if mysql.host() is not None:
+ spec = make_pod_spec(
+ mysql.host(),
+ mysql.port(),
+ mysql.user(),
+ mysql.password(),
+ mysql.root_password(),
+ )
- log("set pod spec:\n{}".format(spec))
- pod_spec_set(spec)
- layer.status.active("creating container")
- set_flag("ro-k8s.configured")
+ log("set pod spec:\n{}".format(spec))
+ pod_spec_set(spec)
+ layer.status.active("creating container")
+ set_flag("ro-k8s.configured")
except Exception as e:
layer.status.blocked("k8s spec failed to deploy: {}".format(e))
+@when("mysql.available")
+@when_not("leadership.is_leader")
+def non_leaders_active():
+ layer.status.active("ready")
+
+
@when("ro-k8s.configured")
def set_ro_active():
layer.status.active("ready")