EMC VMAX terminate_connection unmaps volume from wrong VM

Bug #1395845 reported by Carl Pecinovsky
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Medium
Xing Yang

Bug Description

The terminate_connection() processing contains this flow in driver:

_unmap_lun() -->_remove_members() -->remove_and_reset_members() -->get_associated_masking_group_from_device()

However, this fails to take into account the particular masking view that is associated with the volume's connection. In the PowerVC live migration use case, a volume can be mapped to source and target VMs (NPIV) or hosts for a window of time, and if so, get_associated_masking_group_from_device() can look up the wrong masking storage group since the view is not passed in. It likely should be passed down from its initial lookup in find_device_number(), and that method's lookup of the view needs to take into account the initiator wwpns per https://bugs.launchpad.net/cinder/+bug/1382641

Tags: drivers emc
Xing Yang (xing-yang)
Changed in cinder:
assignee: nobody → Xing Yang (xing-yang)
tags: added: drivers emc
Xing Yang (xing-yang)
Changed in cinder:
importance: Undecided → Medium
status: New → Triaged
Carl Pecinovsky (csky)
description: updated
Xing Yang (xing-yang)
Changed in cinder:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

Fix proposed to branch: master
Review: https://review.openstack.org/140909

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/140909
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=d94cc2888c5097306c43de3b2b424b408d52161a
Submitter: Jenkins
Branch: master

commit d94cc2888c5097306c43de3b2b424b408d52161a
Author: Xing Yang <email address hidden>
Date: Mon Dec 15 11:47:44 2014 -0500

    Fixed a problem in terminate_connection in VMAX driver

    The VMAX driver unmaps the volume from the wrong VM in
    terminate_connection during live migration. This patche
    fixed this problem.

    Closes-Bug: #1395845
    Change-Id: Ida7136165b959a9e0d7d50c240b447bf237caa6c

Changed in cinder:
status: In Progress → Fix Committed
Revision history for this message
Carl Pecinovsky (csky) wrote :

Xing,
The fix done for this defect appears to be for the initialize_connection flow. However, this defect was written for terminate_connection(). Can you please explain, since it seems the method mentioned in the description still needs fixing?

Revision history for this message
Xing Yang (xing-yang) wrote :

Carl,

There's actually a second part of this bug that is more involved. It is submitted here:

https://review.openstack.org/#/c/143891/

I marked it as WIP because it depends on two other fixes which are still being reviewed:

https://review.openstack.org/#/c/140913/
https://review.openstack.org/#/c/135165/

I should have said "partially fixes bug" instead of "Closes-Bug" when submitting the fix that was already merged.

Thierry Carrez (ttx)
Changed in cinder:
milestone: none → kilo-2
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in cinder:
milestone: kilo-2 → 2015.1.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.