X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fcharm%2Flcm-k8s%2Freactive%2Flcm.py;fp=installers%2Fcharm%2Flcm-k8s%2Freactive%2Flcm.py;h=1cb4661055744e246a1e852d598fb72704128aaf;hb=b1a1c46a60aa4981c7b01e9d6ff95958db7749a5;hp=3ada8cb27395e40501a5aac9c4fbc932145e3d7d;hpb=c52339680d17351fd5c873d82292d4c63af81c70;p=osm%2Fdevops.git diff --git a/installers/charm/lcm-k8s/reactive/lcm.py b/installers/charm/lcm-k8s/reactive/lcm.py index 3ada8cb2..1cb46610 100644 --- a/installers/charm/lcm-k8s/reactive/lcm.py +++ b/installers/charm/lcm-k8s/reactive/lcm.py @@ -11,17 +11,23 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from charms.layer.caas_base import pod_spec_set -from charms.reactive import endpoint_from_flag -from charms.reactive import when, when_not, hook -from charms.reactive.flags import set_flag, clear_flag +import logging +import yaml + from charmhelpers.core.hookenv import ( log, metadata, config, ) from charms import layer -import yaml +from charms.layer.caas_base import pod_spec_set +from charms.reactive import endpoint_from_flag +from charms.reactive import when, when_not, hook +from charms.reactive.flags import set_flag, clear_flag + + +logger = logging.getLogger(__name__) + @hook("upgrade-charm") @when("leadership.is_leader") @@ -37,18 +43,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 +105,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 +146,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