From: Andrew Schoen Date: Thu, 27 Sep 2018 13:55:20 +0000 (-0500) Subject: ceph-volume: adds a 'changed' key to lvm batch --report X-Git-Tag: v12.2.9~5^2~18 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2790db9430c7149f2461ec4a7a63a15bcf8cc249;p=ceph.git ceph-volume: adds a 'changed' key to lvm batch --report This will indicate if the command would result in any OSDs being created or not. Other tooling can use that key for idempotency checks. Signed-off-by: Andrew Schoen (cherry picked from commit 10f1d577d4c4e66c77046fc3b274d6653af99586) --- 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 af08c3108c4..fa7dc6ecb88 100644 --- a/src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py +++ b/src/ceph-volume/ceph_volume/devices/lvm/strategies/filestore.py @@ -99,6 +99,7 @@ class SingleType(object): # chose whichever is the one group we have to compute against devices = self.hdds or self.ssds osds = self.computed['osds'] + used_osds = [] for device in devices: for osd in range(self.osds_per_device): device_size = disk.Size(b=device.sys_api['size']) @@ -106,6 +107,7 @@ class SingleType(object): journal_size = self.journal_size data_size = osd_size - journal_size data_percentage = data_size * 100 / device_size + used_osds.append(device.used_by_ceph) osd = {'data': {}, 'journal': {}, 'used_by_ceph': device.used_by_ceph} osd['data']['path'] = device.abspath osd['data']['size'] = data_size.b.as_int() @@ -118,6 +120,8 @@ class SingleType(object): osd['journal']['human_readable_size'] = str(journal_size) osds.append(osd) + self.computed['changed'] = not any(used_osds) + def execute(self): """ Create vgs/lvs from the incoming set of devices, assign their roles