- keystone_username = event.relation.data[event.unit].get("username")
- keystone_password = event.relation.data[event.unit].get("password")
- keystone_service = event.relation.data[event.unit].get("service")
-
- if (
- keystone_host
- and keystone_port
- and keystone_user_domain_name
- and keystone_project_domain_name
- and keystone_username
- and keystone_password
- and keystone_service
- and (
- self.state.keystone_host != keystone_host
- or self.state.keystone_port != keystone_port
- or self.state.keystone_user_domain_name != keystone_user_domain_name
- or self.state.keystone_project_domain_name
- != keystone_project_domain_name
- or self.state.keystone_username != keystone_username
- or self.state.keystone_password != keystone_password
- or self.state.keystone_service != keystone_service
- )
- ):
- self.state.keystone_host = keystone_host
- self.state.keystone_port = keystone_port
- self.state.keystone_user_domain_name = keystone_user_domain_name
- self.state.keystone_project_domain_name = keystone_project_domain_name
- self.state.keystone_username = keystone_username
- self.state.keystone_password = keystone_password
- self.state.keystone_service = keystone_service
- self.on.configure_pod.emit()
-
- def _on_keystone_relation_departed(self, event: EventBase) -> NoReturn:
- """Clears data from keystone relation.
-
- Args:
- event (EventBase): Keystone relation event.
- """
- self.state.keystone_host = None
- self.state.keystone_port = None
- self.state.keystone_user_domain_name = None
- self.state.keystone_project_domain_name = None
- self.state.keystone_username = None
- self.state.keystone_password = None
- self.state.keystone_service = None
- self.on.configure_pod.emit()
-
- def _on_prometheus_relation_changed(self, event: EventBase) -> NoReturn:
- """Reads information about the prometheus relation.
-
- Args:
- event (EventBase): Prometheus relation event.
- """
- prometheus_host = event.relation.data[event.unit].get("hostname")
- prometheus_port = event.relation.data[event.unit].get("port")
-
- if (
- prometheus_host
- and prometheus_port
- and (
- self.state.prometheus_host != prometheus_host
- or self.state.prometheus_port != prometheus_port
- )
- ):
- self.state.prometheus_host = prometheus_host
- self.state.prometheus_port = prometheus_port
- self.on.configure_pod.emit()