Skip to content

Commit

Permalink
Ignore stmf target must be offline exception
Browse files Browse the repository at this point in the history
Patch to ignore

"NexentaJSONException: : Unable to add member to targetgroup:
  stmfadm: STMF target must be offline"

This error happens when targetgroup is already configured and busy.

fixed bug 1209305

Change-Id: I2441118c0968a7a373b5990db6782129291c3051
  • Loading branch information
vitoordaz committed Aug 23, 2013
1 parent 5d6c11f commit 2b3b1d3
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions cinder/volume/drivers/nexenta/volume.py
Expand Up @@ -237,8 +237,8 @@ def _do_export(self, _ctx, volume, ensure=False):
except nexenta.NexentaException as exc:
if ensure and 'already configured' in exc.args[1]:
target_already_configured = True
LOG.info(_('Ignored target creation error "%s" while ensuring '
'export'), exc)
LOG.exception(_('Ignored target creation error while ensuring '
'export'))
else:
raise
try:
Expand All @@ -247,34 +247,36 @@ def _do_export(self, _ctx, volume, ensure=False):
if ((ensure and 'already exists' in exc.args[1]) or
(target_already_configured and
'target must be offline' in exc.args[1])):
LOG.info(_('Ignored target group creation error "%s"'
' while ensuring export'), exc)
LOG.exception(_('Ignored target group creation error while '
'ensuring export'))
else:
raise
try:
self.nms.stmf.add_targetgroup_member(target_group_name,
target_name)
except nexenta.NexentaException as exc:
if not ensure or 'already exists' not in exc.args[1]:
if ensure and ('already exists' in exc.args[1] or
'target must be offline' in exc.args[1]):
LOG.exception(_('Ignored target group member addition error '
'while ensuring export'))
else:
raise
LOG.info(_('Ignored target group member addition error "%s" while '
'ensuring export'), exc)
try:
self.nms.scsidisk.create_lu(zvol_name, {})
except nexenta.NexentaException as exc:
if not ensure or 'in use' not in exc.args[1]:
raise
LOG.info(_('Ignored LU creation error "%s"'
' while ensuring export'), exc)
LOG.exception(_('Ignored LU creation error while ensuring export'))
try:
self.nms.scsidisk.add_lun_mapping_entry(zvol_name, {
'target_group': target_group_name,
'lun': '0'})
'lun': '0'
})
except nexenta.NexentaException as exc:
if not ensure or 'view entry exists' not in exc.args[1]:
raise
LOG.info(_('Ignored LUN mapping entry addition error "%s"'
' while ensuring export'), exc)
LOG.exception(_('Ignored LUN mapping entry addition error while '
'ensuring export'))
return '%s:%s,1 %s 0' % (self.configuration.san_ip,
self.configuration.iscsi_port, target_name)

Expand Down

0 comments on commit 2b3b1d3

Please sign in to comment.