NetApp E-Series driver: live-migration of instance with attached volume breaks connectivity between instance and volume

Bug #1433825 reported by Alex Meade
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Alex Meade

Bug Description

Currently, live migrations of instances with attached volumes that live on a NetApp E-Series backend will fail and break connectivity to the guest. This is because initialize_connection in the ESeries driver removes any existing mappings between volumes and instances before it initializes the new connection, which breaks connectivity. Then the migration fails when nova calls terminate_connection on the original connection which no longer exists, causing an error.

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/170990

Changed in cinder:
assignee: nobody → Alex Meade (alex-meade)
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

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

commit c5dcb730e94626b2f296af4565ed6f6bf6c24009
Author: Alex Meade <email address hidden>
Date: Tue Feb 24 16:22:58 2015 -0500

    NetApp E-Series: Fix instance live-migration with attached volumes

    Currently, live migrations of instances with attached volumes that live
    on a NetApp E-Series backend will fail and break connectivity to the
    guest. This patch adds the 'netapp_enable_multiattach' configuration
    option that enables multiattach operations with the E-Series driver.
    It defaults to allowing these operations but needs to be configurable
    since allowing for multiple attachments imposes a limit of 256 volumes
    on the backend due to how multiple attachments must be managed by
    E-Series.

    Multiattach operations are enabled by mapping volumes to an E-Series
    host group on the backend called 'cinder-host-group'. Host groups can
    only have 256 mappings at a time and so we must limit the number of
    volumes in order to guarantee any volume created could then be attached.

    Closes-bug: 1433825
    Change-Id: Icb73f5b65b12decbd7b7f21c2fcec6fe700eaf59

Changed in cinder:
status: In Progress → Fix Committed
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/179239

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

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

commit c4909c606f3e5c51afb2370561cf00c871e350e2
Author: Rushil Chugh <email address hidden>
Date: Wed Apr 22 18:40:18 2015 -0400

    Avoid LUN ID collisions in NetApp iSCSI drivers

    Previously, the logic to calculate the LUN ID only considered a single attached
    host. Because multiple hosts can be attached to a LUN, the logic needs to
    consider multiple hosts. This patchset proposes to choose non-conflicting
    LUN IDs across the whole array. This patch first checks for an empty LUN ID
    across the array. If it doesn't find one, then it looks for the least used
    LUN ID across the whole array.
    The value of MAX_LUNS_PER_HOST has been changed here as the range function
    iterates from 0 to n-1 LUN IDs. With Eseries backend, a maximum of 256 LUN_IDS
    are supported, thus a value of 256 MAX_LUNS_PER_HOST is required.

    Closes-bug: 1433825
    Closes-bug: 1457995
    Change-Id: I033368c12c90d7fbbaf81b065f1a1c8c5975006a

Thierry Carrez (ttx)
Changed in cinder:
milestone: none → liberty-1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in cinder:
milestone: liberty-1 → 7.0.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.