]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/orch: make YAML of ServiceDescription readable
authorSebastian Wagner <sebastian.wagner@suse.com>
Thu, 11 Jun 2020 09:55:00 +0000 (11:55 +0200)
committerSebastian Wagner <sebastian.wagner@suse.com>
Thu, 25 Jun 2020 10:33:19 +0000 (12:33 +0200)
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
src/pybind/mgr/orchestrator/_interface.py

index daaad69c49c9bab4f1fe6408e6619f3725d8fa1b..7899b4fef48cd6145294dc5907bdfcb268aa081c 100644 (file)
@@ -1420,7 +1420,7 @@ class ServiceDescription(object):
     def __repr__(self):
         return f"<ServiceDescription of {self.spec.one_line_str()}>"
 
-    def to_json(self):
+    def to_json(self) -> OrderedDict:
         out = self.spec.to_json()
         status = {
             'container_image_id': self.container_image_id,
@@ -1452,6 +1452,13 @@ class ServiceDescription(object):
                 c_status[k] = datetime.datetime.strptime(c_status[k], DATEFMT)
         return cls(spec=spec, **c_status)
 
+    @staticmethod
+    def yaml_representer(dumper: 'yaml.SafeDumper', data: 'DaemonDescription'):
+        return dumper.represent_dict(data.to_json().items())
+
+
+yaml.add_representer(ServiceDescription, ServiceDescription.yaml_representer)
+
 
 class InventoryFilter(object):
     """