description:
- The OSD FSID
required: false
+ osd_id:
+ description:
+ - The OSD ID
+ required: false
journal:
description:
- The logical volume name or partition to use as a filestore journal.
wal = module.params.get('wal', None)
wal_vg = module.params.get('wal_vg', None)
osd_fsid = module.params.get('osd_fsid', None)
+ osd_id = module.params.get('osd_id', None)
destroy = module.params.get('destroy', True)
# build the CLI
if osd_fsid:
cmd.extend(['--osd-fsid', osd_fsid])
+ if osd_id:
+ cmd.extend(['--osd-id', osd_id])
+
if data:
data = get_data(data, data_vg)
cmd.append(data)
wal_devices=dict(type='list', required=False, default=[]),
report=dict(type='bool', required=False, default=False),
osd_fsid=dict(type='str', required=False),
+ osd_id=dict(type='str', required=False),
destroy=dict(type='bool', required=False, default=True),
)
module = AnsibleModule(
argument_spec=module_args,
- supports_check_mode=True
+ supports_check_mode=True,
+ mutually_exclusive=[
+ ('data', 'osd_fsid', 'osd_id'),
+ ],
+ required_if=[
+ ('action', 'zap', ('data', 'osd_fsid', 'osd_id'), True)
+ ]
)
result = dict(
cmd = zap_devices(module, container_image)
- if any(skip) or module.params.get('osd_fsid', None):
+ if any(skip) or module.params.get('osd_fsid', None) \
+ or module.params.get('osd_id', None):
rc, cmd, out, err = exec_command(
module, cmd)
for scan_cmd in ['vgscan', 'lvscan']:
result = ceph_volume.zap_devices(fake_module, fake_container_image)
assert result == expected_command_list
+ def test_zap_osd_id(self):
+ fake_module = MagicMock()
+ fake_module.params = {'osd_id': '123'}
+ fake_container_image = None
+ expected_command_list = ['ceph-volume',
+ '--cluster',
+ 'ceph',
+ 'lvm',
+ 'zap',
+ '--destroy',
+ '--osd-id',
+ '123']
+ result = ceph_volume.zap_devices(fake_module, fake_container_image)
+ assert result == expected_command_list
+
def test_activate_osd(self):
expected_command_list = ['ceph-volume',
'--cluster',