From aa4fcd602f8b1a1b17bc12e59334b19508f97d6d Mon Sep 17 00:00:00 2001 From: Andrew Schoen Date: Tue, 9 Oct 2018 14:05:54 -0400 Subject: [PATCH] ceph-volume: when all devices are filtered exit gracefully 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 --- .../devices/lvm/strategies/bluestore.py | 14 ++++++++++---- .../devices/lvm/strategies/filestore.py | 14 ++++++++++---- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py b/src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py index efd2956dd84e6..45834d72f853e 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/strategies/bluestore.py @@ -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(): diff --git a/src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py b/src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py index 2309414da0dee..28bfef1c4aee0 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py @@ -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(): -- 2.39.5