new_disks, image_id):
IscsiClient.instance(gateway_name=gateway_name).delete_target_lun(target_iqn,
image_id)
- IscsiClient.instance(gateway_name=gateway_name).delete_disk(image_id)
+ pool, image = image_id.split('/', 1)
+ IscsiClient.instance(gateway_name=gateway_name).delete_disk(pool, image)
TaskManager.current_task().inc_progress(task_progress_inc)
if IscsiTarget._target_deletion_required(target, new_target_iqn, new_target_controls,
new_portals):
for disk in disks:
pool = disk['pool']
image = disk['image']
- image_id = '{}.{}'.format(pool, image)
+ image_id = '{}/{}'.format(pool, image)
if image_id not in config['disks']:
backstore = disk['backstore']
- IscsiClient.instance(gateway_name=gateway_name).create_disk(image_id, backstore)
+ IscsiClient.instance(gateway_name=gateway_name).create_disk(pool,
+ image,
+ backstore)
if not target_config or image_id not in target_config['disks']:
IscsiClient.instance(gateway_name=gateway_name).create_target_lun(target_iqn,
image_id)
controls = disk['controls']
if controls:
- IscsiClient.instance(gateway_name=gateway_name).reconfigure_disk(image_id,
+ IscsiClient.instance(gateway_name=gateway_name).reconfigure_disk(pool,
+ image,
controls)
TaskManager.current_task().inc_progress(task_progress_inc)
for client in clients:
for lun in client['luns']:
pool = lun['pool']
image = lun['image']
- image_id = '{}.{}'.format(pool, image)
+ image_id = '{}/{}'.format(pool, image)
IscsiClient.instance(gateway_name=gateway_name).create_client_lun(
target_iqn, client_iqn, image_id)
user = client['auth']['user']
members = group['members']
image_ids = []
for disk in group['disks']:
- image_ids.append('{}.{}'.format(disk['pool'], disk['image']))
+ image_ids.append('{}/{}'.format(disk['pool'], disk['image']))
if not target_config or group_id not in target_config['groups']:
IscsiClient.instance(gateway_name=gateway_name).create_group(
target_iqn, group_id, members, image_ids)
for client_iqn, client_config in target_config['clients'].items():
luns = []
for client_lun in client_config['luns'].keys():
- pool, image = client_lun.split('.', 1)
+ pool, image = client_lun.split('/', 1)
lun = {
'pool': pool,
'image': image
for group_id, group_config in target_config['groups'].items():
group_disks = []
for group_disk_key, _ in group_config['disks'].items():
- pool, image = group_disk_key.split('.', 1)
+ pool, image = group_disk_key.split('/', 1)
group_disk = {
'pool': pool,
'image': image
'skipchecks': 'true'
})
- @RestClient.api_put('/api/disk/{image_id}')
- def create_disk(self, image_id, backstore, request=None):
- logger.debug("iSCSI: Creating disk: %s", image_id)
+ @RestClient.api_put('/api/disk/{pool}/{image}')
+ def create_disk(self, pool, image, backstore, request=None):
+ logger.debug("iSCSI: Creating disk: %s/%s", pool, image)
return request({
'mode': 'create',
'backstore': backstore
})
- @RestClient.api_delete('/api/disk/{image_id}')
- def delete_disk(self, image_id, request=None):
- logger.debug("iSCSI: Deleting disk: %s", image_id)
+ @RestClient.api_delete('/api/disk/{pool}/{image}')
+ def delete_disk(self, pool, image, request=None):
+ logger.debug("iSCSI: Deleting disk: %s/%s", pool, image)
return request({
'preserve_image': 'true'
})
- @RestClient.api_put('/api/disk/{image_id}')
- def reconfigure_disk(self, image_id, controls, request=None):
- logger.debug("iSCSI: Reconfiguring disk: %s", image_id)
+ @RestClient.api_put('/api/disk/{pool}/{image}')
+ def reconfigure_disk(self, pool, image, controls, request=None):
+ logger.debug("iSCSI: Reconfiguring disk: %s/%s", pool, image)
return request({
'controls': json.dumps(controls),
'mode': 'reconfigure'
"portal_ip_address": ip_address[0]
}
- def create_disk(self, image_id, backstore):
- pool, image = image_id.split('.')
+ def create_disk(self, pool, image, backstore):
+ image_id = '{}/{}'.format(pool, image)
self.config['disks'][image_id] = {
"pool": pool,
"image": image,
target_config['disks'].append(image_id)
self.config['disks'][image_id]['owner'] = list(target_config['portals'].keys())[0]
- def reconfigure_disk(self, image_id, controls):
+ def reconfigure_disk(self, pool, image, controls):
+ image_id = '{}/{}'.format(pool, image)
self.config['disks'][image_id]['controls'] = controls
def create_client(self, target_iqn, client_iqn):
target_config['disks'].remove(image_id)
del self.config['disks'][image_id]['owner']
- def delete_disk(self, image_id):
+ def delete_disk(self, pool, image):
+ image_id = '{}/{}'.format(pool, image)
del self.config['disks'][image_id]
def delete_target(self, target_iqn):