Moving to os-brick that now handles the mpath device lookup for Nova. Previously Nova would call `multipath -ll $path` that would often miss the actual creation of an mpath device when attaching thus causing the issues outlined in this bug when detaching. The new path lookup approach improves this situation but IMHO we could still add retry logic within _discover_mpath_device in os-brick [1].
[1] https://github.com/openstack/os- brick/blob/master/os_brick%2Finitiator%2Fconnector.py#L308 ** Project changed: nova => os-brick -- 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/1290681 Title: get_multipath_device_name can fail and lead to broken volumes Status in os-brick: Confirmed Bug description: This is hard to explain so here goes..... When a compute node is making a lot of multipath calls eg. due to bug 1277316 sometimes it can fail to retrieve a multipath device. When this happens it falls back to using the raw iscsi device. Example code: host_device = ("/dev/disk/by-path/ip-%s-iscsi-%s-lun-%s" % (iscsi_properties['target_portal'], iscsi_properties['target_iqn'], iscsi_properties.get('target_lun', 0))) if libvirt_iscsi_use_multipath: multipath_device = self._get_multipath_device_name(host_device) if multipath_device is not None: host_device = multipath_device ..... This still actually works for the attach but if you then detach this volume nova is expecting a multpath device and in the end it ends up disconnecting an iscsi connection which affects all volumes on the compute node. In my mind two things need to happen. 1. If it can't find the multipath device it should fail, not fall back to iscsi device 2. Need some retry logic in get_multipath_device_name To manage notifications about this bug go to: https://bugs.launchpad.net/os-brick/+bug/1290681/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

