Adding NG-LCM charm
[osm/devops.git] / installers / charm / osm-lcm / src / charm.py
index 4a362a6..c7e1126 100755 (executable)
@@ -38,6 +38,7 @@ from charms.osm_libs.v0.utils import (
     check_container_ready,
     check_service_active,
 )
+from charms.osm_temporal.v0.temporal import TemporalRequires
 from charms.osm_ro.v0.ro import RoRequires
 from charms.osm_vca_integrator.v0.vca import VcaDataChangedEvent, VcaRequires
 from ops.charm import ActionEvent, CharmBase, CharmEvents
@@ -84,6 +85,7 @@ class OsmLcmCharm(CharmBase):
         super().__init__(*args)
         self.vca = VcaRequires(self)
         self.kafka = KafkaRequires(self)
+        self.temporal = TemporalRequires(self)
         self.mongodb_client = MongoClient(self, "mongodb")
         self._observe_charm_events()
         self.ro = RoRequires(self)
@@ -180,6 +182,8 @@ class OsmLcmCharm(CharmBase):
             self.on["mongodb"].relation_broken: self._on_required_relation_broken,
             self.on["ro"].relation_changed: self._on_config_changed,
             self.on["ro"].relation_broken: self._on_required_relation_broken,
+            self.on["temporal"].relation_changed: self._on_config_changed,
+            self.on["temporal"].relation_broken: self._on_required_relation_broken,
             self.on.vca_data_changed: self._on_config_changed,
             self.on["vca"].relation_broken: self._on_config_changed,
             # Action events
@@ -203,6 +207,8 @@ class OsmLcmCharm(CharmBase):
             missing_relations.append("mongodb")
         if not self.ro.host or not self.ro.port:
             missing_relations.append("ro")
+        if not self.temporal.host or not self.temporal.port:
+            missing_relations.append("temporal")
 
         if missing_relations:
             relations_str = ", ".join(missing_relations)
@@ -241,6 +247,9 @@ class OsmLcmCharm(CharmBase):
             "OSMLCM_STORAGE_URI": self.mongodb_client.connection_string,
             "OSMLCM_VCA_HELM_CA_CERTS": self.config["helm-ca-certs"],
             "OSMLCM_VCA_STABLEREPOURL": self.config["helm-stable-repo-url"],
+            # Temporal configuration
+            "OSMNBI_TEMPORAL_HOST": self.temporal.host,
+            "OSMNBI_TEMPORAL_PORT": self.temporal.port,
         }
         # Vca configuration
         if self.vca.data: