]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/orchestrator: DG loads properly the unmanaged attribute
authorJuan Miguel Olmo Martínez <jolmomar@redhat.com>
Mon, 15 Mar 2021 13:19:33 +0000 (14:19 +0100)
committerSage Weil <sage@newdream.net>
Fri, 23 Apr 2021 12:24:14 +0000 (07:24 -0500)
Fixes: https://tracker.ceph.com/issues/49805
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
(cherry picked from commit 0af4ad8614e426adf60eec32bd4b36974c5cb30b)

src/python-common/ceph/deployment/drive_group.py
src/python-common/ceph/tests/test_service_spec.py

index da59cbd353eeaac8cc09f35e307066daeef01eec..48be66aa0e2878b8c23c892483b66bc500c70bf5 100644 (file)
@@ -255,6 +255,8 @@ class DriveGroupSpec(ServiceSpec):
         else:
             args.update(cls._drive_group_spec_from_json(json_drive_group))
 
+        args['unmanaged'] = json_drive_group.pop('unmanaged', False)
+
         return cls(**args)
 
     @classmethod
index 035018958356e942e5fdb17e5e6e60704f93affe..3642a9182fb0c0b5f79be5872062fe3fadc8cdea 100644 (file)
@@ -181,6 +181,16 @@ def test_servicespec_map_test(s_type, o_spec, s_id):
     assert spec.validate() is None
     ServiceSpec.from_json(spec.to_json())
 
+def test_osd_unmanaged():
+    osd_spec = {"placement": {"host_pattern": "*"},
+                "service_id": "all-available-devices",
+                "service_name": "osd.all-available-devices",
+                "service_type": "osd",
+                "spec": {"data_devices": {"all": True}, "filter_logic": "AND", "objectstore": "bluestore"},
+                "unmanaged": True}
+
+    dg_spec = ServiceSpec.from_json(osd_spec)
+    assert dg_spec.unmanaged == True
 
 def test_yaml():
     y = """service_type: crash