'pool': disk_config['pool'],
'image': disk_config['image'],
'controls': disk_config['controls'],
- 'backstore': disk_config['backstore']
+ 'backstore': disk_config['backstore'],
+ 'wwn': disk_config['wwn']
}
+ # lun_id was introduced in ceph-iscsi config v11
+ if config['version'] > 10:
+ disk['lun'] = target_config['disks'][target_disk]['lun_id']
disks.append(disk)
disks = IscsiTarget._sorted_disks(disks)
clients = []
{
prop: 'displayName',
name: this.i18n('Name'),
- flexGrow: 2,
+ flexGrow: 1,
cellTemplate: this.highlightTpl
},
{
controls: disk.controls,
backstore: disk.backstore
};
-
+ ['wwn', 'lun'].forEach((k) => {
+ if (k in disk) {
+ this.metadata[id][k] = disk[k];
+ }
+ });
disks.push({
value: `${disk.pool}/${disk.image}`,
id: id
default: this.iscsiBackstorePipe.transform(this.settings.default_backstore),
current: this.iscsiBackstorePipe.transform(tempData.backstore)
});
+ ['wwn', 'lun'].forEach((k) => {
+ if (k in tempData) {
+ this.data.push({
+ displayName: k,
+ default: undefined,
+ current: tempData[k]
+ });
+ }
+ });
} else {
this.columns[2].isHidden = true;
this.data = _.map(tempData, (value, key) => {
"image": "lun3",
"pool": "rbd",
"controls": {},
- "backstore": "user:rbd"
+ "backstore": "user:rbd",
+ "wwn": "64af6678-9694-4367-bacc-f8eb0baa2",
+ "lun": 2
+
})
response['clients'][0]['luns'].append({"image": "lun3", "pool": "rbd"})
self._update_iscsi_target(create_request, update_request, response)
],
'disks': [
{'pool': 'rbd', 'image': 'lun1', 'backstore': 'user:rbd',
+ 'wwn': '64af6678-9694-4367-bacc-f8eb0baa0', 'lun': 0,
'controls': {'max_data_area_mb': 128}},
{'pool': 'rbd', 'image': 'lun2', 'backstore': 'user:rbd',
+ 'wwn': '64af6678-9694-4367-bacc-f8eb0baa1', 'lun': 1,
'controls': {'max_data_area_mb': 128}}
],
'clients': [
}
def get_config(self):
- return self.config
+ return copy.deepcopy(self.config)
def create_target(self, target_iqn, target_controls):
self.config['targets'][target_iqn] = {
},
"controls": target_controls,
"created": "2019/01/17 09:22:34",
- "disks": [],
+ "disks": {},
"groups": {},
"portals": {}
}
"pool": pool,
"image": image,
"backstore": backstore,
- "controls": {}
+ "controls": {},
+ "wwn": '64af6678-9694-4367-bacc-f8eb0baa' + str(len(self.config['disks']))
}
def create_target_lun(self, target_iqn, image_id):
target_config = self.config['targets'][target_iqn]
- target_config['disks'].append(image_id)
+ target_config['disks'][image_id] = {
+ "lun_id": len(target_config['disks'])
+ }
self.config['disks'][image_id]['owner'] = list(target_config['portals'].keys())[0]
def reconfigure_disk(self, pool, image, controls):
def delete_target_lun(self, target_iqn, image_id):
target_config = self.config['targets'][target_iqn]
- target_config['disks'].remove(image_id)
+ target_config['disks'].pop(image_id)
del self.config['disks'][image_id]['owner']
def delete_disk(self, pool, image):