From: Sebastian Wagner Date: Fri, 23 Jul 2021 01:20:43 +0000 (+0200) Subject: python-common: Reparent AlertManagerSpec to MonitoringSpec X-Git-Tag: v16.2.8~273^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d292e6c4abe18f2ee1a9b89a1f009bd621a6f7bf;p=ceph.git python-common: Reparent AlertManagerSpec to MonitoringSpec And remove duplicated members Signed-off-by: Sebastian Wagner (cherry picked from commit f2b0b451766c94505674cc1e315989c52b6bcaf5) --- diff --git a/src/python-common/ceph/deployment/service_spec.py b/src/python-common/ceph/deployment/service_spec.py index 41b241a3df73..56ca21a00051 100644 --- a/src/python-common/ceph/deployment/service_spec.py +++ b/src/python-common/ceph/deployment/service_spec.py @@ -1020,7 +1020,7 @@ class MonitoringSpec(ServiceSpec): preview_only: bool = False, port: Optional[int] = None, ): - assert service_type in ['grafana', 'node-exporter', 'prometheus'] + assert service_type in ['grafana', 'node-exporter', 'prometheus', 'alertmanager'] super(MonitoringSpec, self).__init__( service_type, service_id, @@ -1040,13 +1040,14 @@ class MonitoringSpec(ServiceSpec): else: return {'prometheus': 9095, 'node-exporter': 9100, + 'alertmanager': 9093, 'grafana': 3000}[self.service_type] yaml.add_representer(MonitoringSpec, ServiceSpec.yaml_representer) -class AlertManagerSpec(ServiceSpec): +class AlertManagerSpec(MonitoringSpec): def __init__(self, service_type: str = 'alertmanager', service_id: Optional[str] = None, @@ -1062,7 +1063,7 @@ class AlertManagerSpec(ServiceSpec): super(AlertManagerSpec, self).__init__( 'alertmanager', service_id=service_id, placement=placement, unmanaged=unmanaged, - preview_only=preview_only, config=config, networks=networks) + preview_only=preview_only, config=config, networks=networks, port=port) # Custom configuration. # @@ -1079,17 +1080,10 @@ class AlertManagerSpec(ServiceSpec): # added to the default receivers' # configuration. self.user_data = user_data or {} - self.port = port def get_port_start(self) -> List[int]: return [self.get_port(), 9094] - def get_port(self) -> int: - if self.port: - return self.port - else: - return 9093 - def validate(self) -> None: super(AlertManagerSpec, self).validate() diff --git a/src/python-common/ceph/tests/test_service_spec.py b/src/python-common/ceph/tests/test_service_spec.py index 373809b3c41f..b0541d653ef6 100644 --- a/src/python-common/ceph/tests/test_service_spec.py +++ b/src/python-common/ceph/tests/test_service_spec.py @@ -327,6 +327,7 @@ def test_alertmanager_spec_1(): assert spec.service_type == 'alertmanager' assert isinstance(spec.user_data, dict) assert len(spec.user_data.keys()) == 0 + assert spec.get_port_start() == [9093, 9094] def test_alertmanager_spec_2():