From 80bbaa67d52841dae0969f8b556c1b97c5015d13 Mon Sep 17 00:00:00 2001 From: Sebastian Wagner Date: Fri, 23 Jul 2021 02:59:59 +0200 Subject: [PATCH] python-common: prettify `yaml.dump(MonitoringSpec())` Signed-off-by: Sebastian Wagner (cherry picked from commit f76c02a658ed1de54a380381932bb58b6ab91d41) --- src/python-common/ceph/deployment/service_spec.py | 6 +++++- src/python-common/ceph/tests/test_service_spec.py | 13 +++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/python-common/ceph/deployment/service_spec.py b/src/python-common/ceph/deployment/service_spec.py index b0b852c1216db..9e44f64ae6338 100644 --- a/src/python-common/ceph/deployment/service_spec.py +++ b/src/python-common/ceph/deployment/service_spec.py @@ -618,7 +618,8 @@ class ServiceSpec(object): if self.service_id: ret['service_id'] = self.service_id ret['service_name'] = self.service_name() - ret['placement'] = self.placement.to_json() + if self.placement.to_json(): + ret['placement'] = self.placement.to_json() if self.unmanaged: ret['unmanaged'] = self.unmanaged if self.networks: @@ -1095,3 +1096,6 @@ class MonitoringSpec(ServiceSpec): return {'prometheus': 9095, 'node-exporter': 9100, 'grafana': 3000}[self.service_type] + + +yaml.add_representer(MonitoringSpec, ServiceSpec.yaml_representer) diff --git a/src/python-common/ceph/tests/test_service_spec.py b/src/python-common/ceph/tests/test_service_spec.py index e8620b017339f..9cb85bb24cb9b 100644 --- a/src/python-common/ceph/tests/test_service_spec.py +++ b/src/python-common/ceph/tests/test_service_spec.py @@ -234,6 +234,19 @@ spec: objectstore: bluestore wal_devices: model: NVME-QQQQ-987 +--- +service_type: alertmanager +service_name: alertmanager +spec: + port: 1234 + user_data: + default_webhook_urls: + - foo +--- +service_type: grafana +service_name: grafana +spec: + port: 1234 """ for y in y.split('---\n'): -- 2.39.5