VMAX: clone failed "A configuration mismatch was detected among members of your META device(s)"

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

Bug Description

Start with a concatenated volume with two member metas. Now clone the volume. _create_clone_v2() attempts to create the target volume with the same geometry as the source. However, when creating the base volume with:

                    rc, baseVolumeDict, storageSystemName = (
                        self._create_composite_volume(
                            volume, baseVolumeName, volumeSizeInbits,
                            extraSpecs))

The base volume returned contains 2 metas. Now when the additional meta is added later, the target has a total of 3 metas.

        ----------------------------------------------------------------------
                               BCV DATA RDF DATA
                      ---------------------------- --------------------------
        Sym Cap Std Inv BCV Inv Pair R1 Inv R2 Inv Pair
        Dev (MB) Tracks Tracks State Tracks Tracks State
        ----------------------------------------------------------------------
    --> 0C30 5121 - - N/A - - N/A
        0C31 5121 - - N/A - - N/A
        0C35 10240 - - N/A - - N/A
        ----------------------------------------------------------------------
              20482 - - - -
        }

The CIM call to CreateElementReplica later fails:

2015-04-08 14:34:09.801 29045 DEBUG cinder.volume.drivers.emc.emc_vmax_utils [req-0af555f3-3f73-4af6-b33a-af48734b90d3 0688b01e6439ca32d698d20789d52169126fb41fb1a4ddafcebb97d854e836c9 1529ddbf28b749179063d26fb0947870 - - -] Return code is: 1. Error Description is: Create Replica at step Issuing CreateReplica:StorRepGroupCloneEstablish failed: C:ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_FAILED R:1100017 L:2 C:ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_FAILED R:1100017 Metadevice configuration error : "Establish failed" : 2 : 182 : "A configuration mismatch was detected among members of your META device(s)" @
  [1] com.emc.cmp.osls.se.osl.Replica.StorRepGroupCloneEstablish():1380
  [0] com.emc.cmp.osls.se.array.job.JOB_RepCreate.run():261
. wait_for_job_complete /usr/lib/python2.7/site-packages/cinder/volume/drivers/emc/emc_vmax_utils.py:294
2015-04-08 14:34:09.802 29045 ERROR cinder.volume.drivers.emc.emc_vmax_provision [req-0af555f3-3f73-4af6-b33a-af48734b90d3 0688b01e6439ca32d698d20789d52169126fb41fb1a4ddafcebb97d854e836c9 1529ddbf28b749179063d26fb0947870 - - -] Error Create Cloned Volume: Volume: volume-Image_csky_dual_cap6_volume_1-dd968d15-16d4 Source Volume:00B0D+volume-csky_simple2-78a13346-00000009-8231E2-26f66e9e-d4ad. Return code: 1. Error: Create Replica at step Issuing CreateReplica:StorRepGroupCloneEstablish failed: C:ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_FAILED R:1100017 L:2 C:ERROR_CLASS_SOFTWARE F:ERROR_FAMILY_FAILED R:1100017 Metadevice configuration error : "Establish failed" : 2 : 182 : "A configuration mismatch was detected among members of your META device(s)" @
  [1] com.emc.cmp.osls.se.osl.Replica.StorRepGroupCloneEstablish():1380
  [0] com.emc.cmp.osls.se.array.job.JOB_RepCreate.run():261

It seems that the following flow does not guarantee a volume with a single meta:
self._create_composite_volume() --> self.provision.create_composite_volume() --> conn.InvokeMethod(
            'CreateOrModifyCompositeElement'...)

And the code in _create_clone_v2() assumes that it will be so that it ends up with a concatenated composite containing the same number of metas as the source.

Tags: drivers emc vmax
Xing Yang (xing-yang)
Changed in cinder:
assignee: nobody → Xing Yang (xing-yang)
importance: Undecided → Medium
status: New → Triaged
tags: added: drivers emc vmax
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/174044

Changed in cinder:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

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

commit 58556d2a16802444a325b7700eb11f8bf3f89b37
Author: Xing Yang <email address hidden>
Date: Wed Apr 15 15:33:59 2015 -0400

    Fixed issue with mismatched config in VMAX driver

    When the source and target volumes have different meta device
    configurations, clone volume will fail. This patch fixed the
    problem.

    Closes-Bug: #1442376
    Change-Id: If2f2c085596b0045d7af6762bddeb4cd59158a57

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