X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fcharm%2Fro%2Fsrc%2Fcharm.py;h=b196b19541a0bcfc9fadacb08d3f75974f427943;hb=refs%2Fchanges%2F95%2F11695%2F6;hp=1367a440298598210aaf87c8a8985d2a3ff4889b;hpb=d326e879ade43b12055f37c5deab6972b2674f47;p=osm%2Fdevops.git diff --git a/installers/charm/ro/src/charm.py b/installers/charm/ro/src/charm.py index 1367a440..b196b195 100755 --- a/installers/charm/ro/src/charm.py +++ b/installers/charm/ro/src/charm.py @@ -26,9 +26,9 @@ import base64 import logging from typing import Dict, NoReturn, Optional +from charms.kafka_k8s.v0.kafka import KafkaEvents, KafkaRequires from ops.main import main from opslib.osm.charm import CharmedOsmBase, RelationsMissing -from opslib.osm.interfaces.kafka import KafkaClient from opslib.osm.interfaces.mongo import MongoClient from opslib.osm.interfaces.mysql import MysqlClient from opslib.osm.pod import ( @@ -126,6 +126,8 @@ class ConfigModel(ModelValidator): class RoCharm(CharmedOsmBase): """GrafanaCharm Charm.""" + on = KafkaEvents() + def __init__(self, *args) -> NoReturn: """Prometheus Charm constructor.""" super().__init__( @@ -144,9 +146,9 @@ class RoCharm(CharmedOsmBase): **_get_ro_host_paths(self.config.get("debug_ro_local_path")), }, ) - self.kafka_client = KafkaClient(self, "kafka") - self.framework.observe(self.on["kafka"].relation_changed, self.configure_pod) - self.framework.observe(self.on["kafka"].relation_broken, self.configure_pod) + self.kafka = KafkaRequires(self) + self.framework.observe(self.on.kafka_available, self.configure_pod) + self.framework.observe(self.on.kafka_broken, self.configure_pod) self.mysql_client = MysqlClient(self, "mysql") self.framework.observe(self.on["mysql"].relation_changed, self.configure_pod) @@ -176,10 +178,7 @@ class RoCharm(CharmedOsmBase): missing_relations = [] if config.enable_ng_ro: - if ( - self.kafka_client.is_missing_data_in_unit() - and self.kafka_client.is_missing_data_in_app() - ): + if not self.kafka.host or not self.kafka.port: missing_relations.append("kafka") if not config.mongodb_uri and self.mongodb_client.is_missing_data_in_unit(): missing_relations.append("mongodb") @@ -286,8 +285,8 @@ class RoCharm(CharmedOsmBase): container_builder.add_envs( { "OSMRO_MESSAGE_DRIVER": "kafka", - "OSMRO_MESSAGE_HOST": self.kafka_client.host, - "OSMRO_MESSAGE_PORT": self.kafka_client.port, + "OSMRO_MESSAGE_HOST": self.kafka.host, + "OSMRO_MESSAGE_PORT": self.kafka.port, # MongoDB configuration "OSMRO_DATABASE_DRIVER": "mongo", }