X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fcharm%2Flcm-k8s%2Freactive%2Flcm.py;h=313ed63ae34be34ae2c1dd71268b643c541c51b9;hb=refs%2Fchanges%2F96%2F9896%2F1;hp=3ada8cb27395e40501a5aac9c4fbc932145e3d7d;hpb=a4a37f7f9f5410ff2c7833b76bdc85f752c74849;p=osm%2Fdevops.git diff --git a/installers/charm/lcm-k8s/reactive/lcm.py b/installers/charm/lcm-k8s/reactive/lcm.py index 3ada8cb2..313ed63a 100644 --- a/installers/charm/lcm-k8s/reactive/lcm.py +++ b/installers/charm/lcm-k8s/reactive/lcm.py @@ -22,6 +22,10 @@ from charmhelpers.core.hookenv import ( ) from charms import layer import yaml +import logging + +logger = logging.getLogger(__name__) + @hook("upgrade-charm") @when("leadership.is_leader") @@ -37,18 +41,21 @@ def restart(): @when_not("kafka.ready") @when_not("lcm-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("lcm-k8s.configured") +@when("leadership.is_leader") def waiting_for_mongo(): layer.status.waiting("Waiting for mongo to be ready") @when_not("ro.ready") @when_not("lcm-k8s.configured") +@when("leadership.is_leader") def waiting_for_ro(): layer.status.waiting("Waiting for ro to be ready") @@ -96,7 +103,14 @@ def configure(): layer.status.blocked("k8s spec failed to deploy: {}".format(e)) +@when("kafka.ready", "mongo.ready", "ro.ready") +@when_not("leadership.is_leader") +def non_leaders_active(): + layer.status.active("ready") + + @when("lcm-k8s.configured") +@when("leadership.is_leader") def set_lcm_active(): layer.status.active("ready") @@ -130,8 +144,8 @@ def make_pod_spec(ro_host, ro_port, kafka_host, kafka_port, mongo_uri): "mongo_uri": mongo_uri, } data.update(cfg) - - spec = yaml.safe_dump(pod_spec_template % data) + logs = pod_spec_template % data + spec = yaml.safe_load(pod_spec_template % data) if "vca_apiproxy" in cfg and cfg["vca_apiproxy"] != "": spec["containers"][0]["config"]["OSMLCM_VCA_APIPROXY"] = cfg["vca_apiproxy"] - return spec \ No newline at end of file + return spec