Skip to content

Commit 06708cb

Browse files
authored
Merge pull request ceph#59742 from guits/wip-guits-cv-cbt-zap-device
ceph-volume: add call to `ceph-bluestore-tool zap-device`
2 parents a258b04 + dcf7439 commit 06708cb

File tree

1 file changed

+28
-6
lines changed
  • src/ceph-volume/ceph_volume/devices/lvm

1 file changed

+28
-6
lines changed

src/ceph-volume/ceph_volume/devices/lvm/zap.py

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,31 @@
1616
mlogger = terminal.MultiLogger(__name__)
1717

1818

19+
def zap_device(path: str) -> None:
20+
"""Remove any existing filesystem signatures.
21+
22+
Args:
23+
path (str): The path to the device to zap.
24+
"""
25+
zap_bluestore(path)
26+
wipefs(path)
27+
zap_data(path)
28+
29+
def zap_bluestore(path: str) -> None:
30+
"""Remove all BlueStore signature on a device.
31+
32+
Args:
33+
path (str): The path to the device to remove BlueStore signatures from.
34+
"""
35+
terminal.info(f'Removing all BlueStore signature on {path} if any...')
36+
process.run([
37+
'ceph-bluestore-tool',
38+
'zap-device',
39+
'--dev',
40+
path,
41+
'--yes-i-really-really-mean-it'
42+
])
43+
1944
def wipefs(path):
2045
"""
2146
Removes the filesystem from an lv or partition.
@@ -170,8 +195,7 @@ def zap_lv(self, device):
170195
device.vg_name})
171196
self.unmount_lv(lv)
172197

173-
wipefs(device.path)
174-
zap_data(device.path)
198+
zap_device(device.path)
175199

176200
if self.args.destroy:
177201
lvs = api.get_lvs(filters={'vg_name': device.vg_name})
@@ -217,8 +241,7 @@ def zap_partition(self, device):
217241
mlogger.info("Unmounting %s", device.path)
218242
system.unmount(device.path)
219243

220-
wipefs(device.path)
221-
zap_data(device.path)
244+
zap_device(device.path)
222245

223246
if self.args.destroy:
224247
mlogger.info("Destroying partition since --destroy was used: %s" % device.path)
@@ -263,8 +286,7 @@ def zap_raw_device(self, device):
263286
for part_name in device.sys_api.get('partitions', {}).keys():
264287
self.zap_partition(Device('/dev/%s' % part_name))
265288

266-
wipefs(device.path)
267-
zap_data(device.path)
289+
zap_device(device.path)
268290

269291
@decorators.needs_root
270292
def zap(self, devices=None):

0 commit comments

Comments
 (0)