← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1380742] Re: Mulitpath scsi devices are not removed if there is an error in multipath command stdout

 

** Also affects: nova
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1380742

Title:
  Mulitpath scsi devices are not removed if there is an error in
  multipath command stdout

Status in Cinder:
  Fix Released
Status in OpenStack Compute (Nova):
  New

Bug description:
  In cinder/brick/initiator/linuxscsi.py remove_multipath_devce() we are
  skipping over the remove_scsi_device() calls because
  find_multipath_device() fails to get information about the device. The
  problem is that there is a device connected and this then leaves it in
  a bad state afterwards.

  Inside of find_multipath_device() we do a call to 'mulitpath -l
  <device>' and then parse the stdout which we expect to be in this
  format:

  3624a9370590474d16e6708fd00012dc0 dm-0 PURE,FlashArray
  size=1.0G features='0' hwhandler='0' wp=rw
  `-+- policy='round-robin 0' prio=-1 status=active
    |- 34:0:0:1 sdc 8:32 active undef running
    `- 33:0:0:1 sdb 8:16 active undef running

  
  But with a slight misconfiguration you can get a string back that looks like:

  Oct 13 10:24:01 | /lib/udev/scsi_id exitted with 1
  3624a9370590474d16e6708fd00012dc0 dm-0 PURE,FlashArray
  size=1.0G features='0' hwhandler='0' wp=rw
  `-+- policy='round-robin 0' prio=-1 status=active
    |- 34:0:0:1 sdc 8:32 active undef running
    `- 33:0:0:1 sdb 8:16 active undef running

  Which is then unable to be parsed with the code in there currently,
  and we just bail out of disconnecting 'dm-0'. We probably should
  support being able to pick out the device from the string regardless
  of the extra line in stdout.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cinder/+bug/1380742/+subscriptions