HP LeftHand snapshot-delete-failed-when-dependent-volume-exist

Bug #1277339 reported by John Haan on 2014-02-07
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Jim Branen

Bug Description

When we use 'HpSanISCSIDriver ', there is some issues.

1. Create volume
2. Create snapshot from volume
3. Create new volume from snapshot
4. Try to delete snapshot.

In this work flow, the status of snapshot should be 'error_deleting'.

The error message says like this.

<gauche version="1.0">\n\n <response description="Volume delete operation failed: \'\'The snapshot \'snapshot-d357590a-47f7-4785-bd6b-debce5bd9a2a\' cannot be deleted because it is a clone point. When multiple volumes depend on a snapshot, that snapshot is a clone point. To delete the clone point, you must first delete all but one of the volumes that depend on it.\'\'" name="CliqOperationFailed" processingTime="330" result="80001010"/>\n\n</gauche>

John Haan (yongiman) wrote :

In my option, API should raise appropriate exception before request to cinder-volume side in order that status doesn't change.

Can I change the code at this point?

John Garbutt (johngarbutt) wrote :

seem like a cinder thing, but throw it back if you were using the nova api.

affects: nova → cinder
John Haan (yongiman) wrote :

Yes. It is about cinder side. Thank you for changing. Can I start patch this?

Changed in cinder:
assignee: nobody → John Haan (yongiman)
Mike Perez (thingee) on 2014-02-08
tags: added: 3par drivers
John Griffith (john-griffith) wrote :

This is definitely a 3'par issue, but I'm not sure i agree with your expectations. Volumes (whether created raw, or from other volumes or snapshots) are independent and do not rely on the snapshot.

The workflow you described actually seems fine to me and is actually expected behavior. The fact that 3par has an internal dependency on source volumes and snapshots needs to be abstracted out. This is something that's been discussed by the Cinder group in depth and everybody including representatives from HP-3Par team agreed to strict enforcement of abstractions.

summary: - snapshot-failed-when-dependent-volume-exist
+ HP 3Par snapshot-delete-failed-when-dependent-volume-exist
Changed in cinder:
status: New → Invalid

Marking invalid for now, but I'd love to chat with Walt or Kmartin about this.

Kurt Martin (kurt-f-martin) wrote :

The HPSanISCSIDriver is actually the HP LeftHand Driver not the 3PAR driver, different arrays. I would just like to verify what driver that's has this behavior is in fact the LeftHaand/StoreVirtual driver? Please adjust the title according.

summary: - HP 3Par snapshot-delete-failed-when-dependent-volume-exist
+ HP LeftHand snapshot-delete-failed-when-dependent-volume-exist
Kurt Martin (kurt-f-martin) wrote :

It was clear from the log message and driver name that this is in fact for the LeftHand driver, not the 3PAR. Updated the title and the tags.

Changed in cinder:
status: Invalid → Confirmed
assignee: John Haan (yongiman) → Jim Branen (james-branen)
Jim Branen (james-branen) wrote :

This bug had been fixed in the new HP LeftHand driver, https://review.openstack.org/#/c/65181. I will update the the driver commit message to state the bug has been fixed.

Changed in cinder:
status: Confirmed → In Progress

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

commit 0e83faf4b84722a88ab35d8f0c3e391b0ec2d2af
Author: Jim Branen <email address hidden>
Date: Mon Jan 6 16:14:35 2014 -0800

    New HP LeftHand array iSCSI driver

    This driver is intended to replace the current OpenStack Block
    Storage HP LeftHand (LH) StoreVirtual iSCSI Driver,
    (cinder.volume.drivers.san.HpSanISCSIDriver), by moving the
    existing SSH interface into the new driver to maintain backwards
    compatibility, and add the new LH REST interface for new driver

    We have the driver broken into 3 files:
    hp_lefthand_iscis.py (common interface)
    hp_lefthand_cliq_proxy.py (old SSH interface)
    hp_lefthand_rest_proxy.py (new REST interface)

    The reason we are doing this is because the SSH interface on LH
    array has connections and performance limitations. These problems
    will be resolved by moving to the new LH OS REST interface. Also,
    new LeftHand array capabilities will only be supported in the
    REST(hplefthandclient) interface.

    To support new driver capabilities (create cloned volume), the
    python REST client (hplefthandclient) is required and can be
    downloaded from the pypi repository:
    This REST client requires LeftHand firmware version 11.5 or

    The SSH interface will be phased out over time.

    Driver cert test results;
    Related-Bug: 1276809

    Closes-Bug: 1277339

    DocImpact: Document new driver configuration.

    Implements blueprint lefthand-cinder-driver

    Change-Id: Id557cab69022c3f7851be14cd82bdab0e4157e55

Changed in cinder:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2014-03-05
Changed in cinder:
milestone: none → icehouse-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2014-04-17
Changed in cinder:
milestone: icehouse-3 → 2014.1
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers