This patch exposes a more acurate exception message
when a user has created a manual host entry on a
3PAR system that is in an incorrect 3PAR domain than
the domain that is configured for the 3PAR driver.
The bug complained that it couldn't find a VLUN, when the
actual problem was the host existed in the wrong 3PAR domain.
Fixes bug #
1158991
Change-Id: I3f92e59ae43a10a0788d97d987785b6520f9f1be
message = _("3PAR Host already exists: %(err)s. %(info)s")
+class Invalid3PARDomain(CinderException):
+ message = _("Invalid 3PAR Domain: %(err)s")
+
+
class VolumeTypeCreateFailed(CinderException):
message = _("Cannot create volume_type with "
"name %(name)s and specs %(extra_specs)s")
self._cli_run('removehost %s' % hostname, None)
def _create_3par_vlun(self, volume, hostname):
- self._cli_run('createvlun %s auto %s' % (volume, hostname), None)
+ out = self._cli_run('createvlun %s auto %s' % (volume, hostname), None)
+ if out and len(out) > 1:
+ if "must be in the same domain" in out[0]:
+ err = out[0].strip()
+ err = err + " " + out[1].strip()
+ raise exception.Invalid3PARDomain(err=err)
def _safe_hostname(self, hostname):
"""