X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=installers%2Fcharm%2Fro-k8s%2Freactive%2Fro.py;h=8ad6f98c8dd346c81313d6a1d3ee922784777190;hb=refs%2Fchanges%2F47%2F9647%2F4;hp=afd7f459186ea4950526329a6efcbb02172efce2;hpb=6a70374d7269d181af98c392eba116abb70ee1e9;p=osm%2Fdevops.git diff --git a/installers/charm/ro-k8s/reactive/ro.py b/installers/charm/ro-k8s/reactive/ro.py index afd7f459..8ad6f98c 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")