X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fcharm%2Fro-k8s%2Freactive%2Fro.py;h=8f91b4bd4390fd2346a18a84f4e40c1cd89a366c;hb=refs%2Fchanges%2F62%2F9962%2F1;hp=afd7f459186ea4950526329a6efcbb02172efce2;hpb=82c5ffa15e1abb4c7ff58dc489f22cbe276c78c3;p=osm%2Fdevops.git diff --git a/installers/charm/ro-k8s/reactive/ro.py b/installers/charm/ro-k8s/reactive/ro.py index afd7f459..8f91b4bd 100644 --- a/installers/charm/ro-k8s/reactive/ro.py +++ b/installers/charm/ro-k8s/reactive/ro.py @@ -34,6 +34,7 @@ def restart(): @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 @@ def configure(): try: mysql = endpoint_from_flag("mysql.available") - 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") + 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") 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") @@ -106,7 +114,6 @@ def make_pod_spec( data = { "name": md.get("name"), - "docker_image": cfg.get("image"), "mysql_host": mysql_host, "mysql_port": mysql_port, "mysql_user": mysql_user,