X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=installers%2Fcharm%2Fosm-mon%2Fsrc%2Fcharm.py;h=12c5dcdaa781d06c978f3a2a1960a5dfdc4a8404;hb=9f20805a3d9c9cecdd5fce4ff7b311c1c3655c23;hp=620a9bb119f1f85cfe215f09565aa158ae01b5ca;hpb=e886c7c1a7624e76bf5f43246601f27439998c26;p=osm%2Fdevops.git diff --git a/installers/charm/osm-mon/src/charm.py b/installers/charm/osm-mon/src/charm.py index 620a9bb1..12c5dcda 100755 --- a/installers/charm/osm-mon/src/charm.py +++ b/installers/charm/osm-mon/src/charm.py @@ -29,7 +29,6 @@ See more: https://charmhub.io/osm import logging from typing import Any, Dict -from urllib.parse import urlparse from charms.data_platform_libs.v0.data_interfaces import DatabaseRequires from charms.kafka_k8s.v0.kafka import KafkaRequires, _KafkaAvailableEvent @@ -48,11 +47,6 @@ from ops.framework import EventSource, StoredState from ops.main import main from ops.model import ActiveStatus, Container -from grafana_datasource_handler import ( - DatasourceConfig, - GrafanaConfig, - GrafanaDataSourceHandler, -) from legacy_interfaces import KeystoneClient, PrometheusClient HOSTPATHS = [ @@ -167,47 +161,6 @@ class OsmMonCharm(CharmBase): } event.set_results(debug_info) - def _on_create_datasource_action(self, event: ActionEvent) -> None: - """Handler for the create-datasource action event.""" - url = event.params["url"] - if not self._is_valid_url(url): - event.fail(f"Invalid datasource url '{url}'") - return - grafana_config = self._get_grafana_config() - datasource_config = DatasourceConfig(event.params["name"], url) - response = GrafanaDataSourceHandler.create_datasource(grafana_config, datasource_config) - logger.debug(response) - if response.is_success: - event.set_results(response.results) - return - event.fail(response.message) - - def _on_list_datasources_action(self, event: ActionEvent) -> None: - """Handler for the list-datasource action event.""" - grafana_config = self._get_grafana_config() - response = GrafanaDataSourceHandler.list_datasources(grafana_config) - logger.debug(response) - if response.is_success: - event.set_results(response.results) - return - event.fail(response.message) - - def _on_delete_datasource_action(self, event: ActionEvent) -> None: - """Handler for the delete-datasource action event.""" - datasource_name = event.params["name"] - grafana_config = self._get_grafana_config() - response = GrafanaDataSourceHandler.delete_datasource(grafana_config, datasource_name) - logger.debug(response) - if not response.is_success: - event.fail(response.message) - - def _get_grafana_config(self) -> GrafanaConfig: - return GrafanaConfig( - self.config.get("grafana-user", ""), - self.config.get("grafana-password", ""), - self.config.get("grafana-url", ""), - ) - # --------------------------------------------------------------------------- # Validation and configuration and more # --------------------------------------------------------------------------- @@ -226,9 +179,6 @@ class OsmMonCharm(CharmBase): self.on["mongodb"].relation_broken: self._on_required_relation_broken, # Action events self.on.get_debug_mode_information_action: self._on_get_debug_mode_information_action, - self.on.create_datasource_action: self._on_create_datasource_action, - self.on.list_datasources_action: self._on_list_datasources_action, - self.on.delete_datasource_action: self._on_delete_datasource_action, } for relation in [self.on[rel_name] for rel_name in ["prometheus", "keystone"]]: event_handler_mapping[relation.relation_changed] = self._on_config_changed @@ -250,24 +200,6 @@ class OsmMonCharm(CharmBase): CharmError: if charm configuration is invalid. """ logger.debug("validating charm config") - missing_configs = [] - grafana_configs = ["grafana-url", "grafana-user", "grafana-password"] - for config in grafana_configs: - if not self.config.get(config): - missing_configs.append(config) - - if missing_configs: - config_str = ", ".join(missing_configs) - error_msg = f"need {config_str} config" - logger.warning(error_msg) - raise CharmError(error_msg) - - grafana_url = self.config["grafana-url"] - if not self._is_valid_url(grafana_url): - raise CharmError(f"Invalid value for grafana-url config: '{grafana_url}'") - - def _is_valid_url(self, url) -> bool: - return urlparse(url).hostname is not None def _check_relations(self) -> None: """Validate charm relations. @@ -322,9 +254,9 @@ class OsmMonCharm(CharmBase): "OSMMON_PROMETHEUS_URL": f"http://{self.prometheus_client.hostname}:{self.prometheus_client.port}", "OSMMON_PROMETHEUS_USER": self.prometheus_client.user, "OSMMON_PROMETHEUS_PASSWORD": self.prometheus_client.password, - "OSMMON_GRAFANA_URL": self.config.get("grafana-url", ""), - "OSMMON_GRAFANA_USER": self.config.get("grafana-user", ""), - "OSMMON_GRAFANA_PASSWORD": self.config.get("grafana-password", ""), + "OSMMON_GRAFANA_URL": self.config["grafana-url"], + "OSMMON_GRAFANA_USER": self.config["grafana-user"], + "OSMMON_GRAFANA_PASSWORD": self.config["grafana-password"], "OSMMON_KEYSTONE_ENABLED": self.config["keystone-enabled"], "OSMMON_KEYSTONE_URL": self.keystone_client.host, "OSMMON_KEYSTONE_DOMAIN_NAME": self.keystone_client.user_domain_name,