self.test_vol['name'],
'')
+ def test_volume_attach_detach_negative(self):
+ self.drv.zfssa.get_initiator_initiatorgroup.return_value = []
+
+ connector = dict(initiator='iqn.1-0.org.deb:01:d7')
+ self.assertRaises(exception.VolumeBackendAPIException,
+ self.drv.initialize_connection,
+ self.test_vol,
+ connector)
+
def test_get_volume_stats(self):
self.drv.zfssa.get_project_stats.return_value = 2 * units.Gi,\
3 * units.Gi
else:
LOG.warning(_LW('zfssa_initiator_config not found. '
'Using deprecated configuration options.'))
+ if (not lcfg.zfssa_initiator and
+ (not lcfg.zfssa_initiator_group and
+ lcfg.zfssa_initiator_group != 'default')):
+ LOG.error(_LE('zfssa_initiator cannot be empty when '
+ 'creating a zfssa_initiator_group.'))
+ raise exception.InvalidConfigurationValue(
+ value='',
+ option='zfssa_initiator')
+
if (lcfg.zfssa_initiator != '' and
(lcfg.zfssa_initiator_group == '' or
lcfg.zfssa_initiator_group == 'default')):
lcfg.zfssa_initiator_group != '' and
lcfg.zfssa_initiator_group != 'default'):
for initiator in lcfg.zfssa_initiator.split(','):
+ initiator = initiator.strip()
self.zfssa.create_initiator(
initiator, lcfg.zfssa_initiator_group + '-' +
initiator, chapuser=lcfg.zfssa_initiator_user,
lcfg = self.configuration
init_groups = self.zfssa.get_initiator_initiatorgroup(
connector['initiator'])
+ if not init_groups:
+ if lcfg.zfssa_initiator_group == 'default':
+ init_groups.append('default')
+ else:
+ exception_msg = (_('Failed to find iSCSI initiator group '
+ 'containing %(initiator)s.')
+ % {'initiator': connector['initiator']})
+ LOG.error(exception_msg)
+ raise exception.VolumeBackendAPIException(data=exception_msg)
if ((lcfg.zfssa_enable_local_cache is True) and
(volume['name'].startswith('os-cache-vol-'))):
project = lcfg.zfssa_cache_project
for initiator_group in val['groups']:
if initiator in initiator_group['initiators']:
groups.append(initiator_group["name"])
- if len(groups) == 0:
- LOG.debug("Initiator group not found. Attaching volume to "
- "default initiator group.")
- groups.append('default')
return groups
def create_schema(self, schema):