]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: when all devices are filtered exit gracefully
authorAndrew Schoen <aschoen@redhat.com>
Tue, 9 Oct 2018 18:05:54 +0000 (14:05 -0400)
committerAndrew Schoen <aschoen@redhat.com>
Wed, 10 Oct 2018 19:30:29 +0000 (15:30 -0400)
Even if all devices are filtered we want to return a 0 exit code and
make sure the json reporting still works.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py
src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py

index efd2956dd84e62d21ae8db66b87a1ae566a72261..45834d72f853e1e1a6f54531ad887d1c262044db 100644 (file)
@@ -21,8 +21,11 @@ class SingleType(object):
         self.hdds = [device for device in devices if device.sys_api['rotational'] == '1']
         self.ssds = [device for device in devices if device.sys_api['rotational'] == '0']
         self.computed = {'osds': [], 'vgs': [], 'filtered_devices': args.filtered_devices}
-        self.validate()
-        self.compute()
+        if self.devices:
+            self.validate()
+            self.compute()
+        else:
+            self.computed["changed"] = False
 
     @staticmethod
     def type():
@@ -147,8 +150,11 @@ class MixedType(object):
         self.block_db_size = self.get_block_size()
         self.system_vgs = lvm.VolumeGroups()
         self.dbs_needed = len(self.hdds) * self.osds_per_device
-        self.validate()
-        self.compute()
+        if self.devices:
+            self.validate()
+            self.compute()
+        else:
+            self.computed["changed"] = False
 
     @staticmethod
     def type():
index 2309414da0deebf6cef68ea260e2034a16a93fdc..28bfef1c4aee0ced7b5ab10592a7d74ca0d8f37d 100644 (file)
@@ -33,8 +33,11 @@ class SingleType(object):
         self.ssds = [device for device in devices if device.sys_api['rotational'] == '0']
         self.computed = {'osds': [], 'vgs': [], 'filtered_devices': args.filtered_devices}
         self.journal_size = get_journal_size(args)
-        self.validate()
-        self.compute()
+        if self.devices:
+            self.validate()
+            self.compute()
+        else:
+            self.computed["changed"] = False
 
     @staticmethod
     def type():
@@ -189,8 +192,11 @@ class MixedType(object):
         self.journals_needed = len(self.hdds) * self.osds_per_device
         self.journal_size = get_journal_size(args)
         self.system_vgs = lvm.VolumeGroups()
-        self.validate()
-        self.compute()
+        if self.devices:
+            self.validate()
+            self.compute()
+        else:
+            self.computed["changed"] = False
 
     @staticmethod
     def type():