check = False
checker.add_error(_('"%s" is required.') %_('Storage Pool Name'))
-
if is_param(obj.input, 'pool_target_path'):
check = checker.check_directory(_('Directory Path'),
obj.input.pool_target_path,
CHECK_EMPTY | CHECK_STARTROOT | CHECK_NOTROOT
) and check
-
try:
kvc = KaresansuiVirtConnection()
check = False
checker.add_error(_('"%s" is required.') %_('Storage Pool Name'))
-
if is_param(obj.input, 'pool_target_iscsi'):
check = checker.check_string(_('iSCSI Target'),
obj.input.pool_target_iscsi,
CHECK_EMPTY | CHECK_ONLYSPACE,
None,
) and check
+ try:
+ kvc = KaresansuiVirtConnection()
+
+ for pool_name in now_pools:
+ pool_iqn = kvc.get_storage_pool_sourcedevicepath(pool)
+ if obj.input.pool_target_iscsi == pool_iqn:
+ check = False
+ # TRANSLATORS:
+ # ストレージプールのiSCSIターゲットIQN"%s"はすでに使われています。
+ checker.add_error(_('Storagepool iSCSI target IQN "%s" is already being used.') % (obj.input.pool_target_iscsi))
+ finally:
+ kvc.close()
+
else:
check = False
checker.add_error(_('"%s" is required.') %_('iSCSI Target'))