From 37fc882f7a67cfb8a878b4ea1f4c66cd3867f4d2 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Tue, 27 Nov 2018 09:45:17 -0500 Subject: [PATCH] ceph-volume util.disk add a helper to remove partitions Signed-off-by: Alfredo Deza (cherry picked from commit 870f9e5b48a5fe13e213be86ee8947ca7207c3bf) --- src/ceph-volume/ceph_volume/util/disk.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/ceph-volume/ceph_volume/util/disk.py b/src/ceph-volume/ceph_volume/util/disk.py index e3f5476207f72..b9982f52b3012 100644 --- a/src/ceph-volume/ceph_volume/util/disk.py +++ b/src/ceph-volume/ceph_volume/util/disk.py @@ -127,6 +127,23 @@ def get_device_from_partuuid(partuuid): return ' '.join(out).strip() +def remove_partition(device): + """ + Removes a partition using parted + + :param device: A ``Device()`` object + """ + parent_device = '/dev/%s' % device.disk_api['PKNAME'] + udev_info = udevadm_property(device.abspath) + partition_number = udev_info.get('ID_PART_ENTRY_NUMBER') + if not partition_number: + raise RuntimeError('Unable to detect the partition number for device: %s' % device_path) + + process.run( + ['parted', parent_device, '--script', '--', 'rm', partition_number] + ) + + def _stat_is_device(stat_obj): """ Helper function that will interpret ``os.stat`` output directly, so that other -- 2.39.5