Fails to delete the source volume after volume migration in NFS driver backend

Bug #1344341 reported by Tomoki Sekiyama
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Tomoki Sekiyama

Bug Description

After volume migration, it always fails to delete source volume with NFS driver.

% ls /opt/stack/data/cinder/mnt/edb37302f7d05282c2cc7609ed83247c # <- nfsdriver-1
volume-e4ab1117-6306-466a-8714-05189f44dc96

% ls /opt/stack/data/cinder/mnt/afc6f9ac5b734a554c1e03d86a7c771e # <- nfsdriver-2

% cinder migrate vol1 control@nfsdriver-2

After volume migration, log file of cinder-voluem says:

2014-07-18 20:27:26.809 DEBUG cinder.volume.manager [req-f9b508a4-37c6-4db0-8ac0-426d5d24a360 ab87c77723074707a8c12bd3aae09c24 d7c7d592632f4d3d8cafce52dd3a68ec] migrate_volume_completion: completing migration for volume e4ab1117-6306-466a-8714-05189f44dc96 (temporary volume 1d0d2341-21e4-4af7-8f17-2311ff5acf37 from (pid=19849) migrate_volume_completion /opt/stack/cinder/cinder/volume/manager.py:973

2014-07-18 20:27:26.848 ERROR cinder.volume.manager [req-f9b508a4-37c6-4db0-8ac0-426d5d24a360 ab87c77723074707a8c12bd3aae09c24 d7c7d592632f4d3d8cafce52dd3a68ec] Failed to delete migration source vol e4ab1117-6306-466a-8714-05189f44dc96: 'NoneType' object has no attribute '__getitem__'

The volume migration itself has succeeded.

% cinder show vol1
+--------------------------------+--------------------------------------+
| Property | Value |
+--------------------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| created_at | 2014-07-18T23:47:08.000000 |
| description | None |
| encrypted | False |
| id | e4ab1117-6306-466a-8714-05189f44dc96 |
| metadata | {} |
| name | vol1 |
| os-vol-host-attr:host | control@nfsdriver-2 |
| os-vol-mig-status-attr:migstat | None |
| os-vol-mig-status-attr:name_id | 1d0d2341-21e4-4af7-8f17-2311ff5acf37 |
| os-vol-tenant-attr:tenant_id | d7c7d592632f4d3d8cafce52dd3a68ec |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | available |
| user_id | ab87c77723074707a8c12bd3aae09c24 |
| volume_type | lvm1 |
+--------------------------------+--------------------------------------+

% ls /opt/stack/data/cinder/mnt/edb37302f7d05282c2cc7609ed83247c # <- nfsdriver-1
volume-e4ab1117-6306-466a-8714-05189f44dc96

% ls /opt/stack/data/cinder/mnt/afc6f9ac5b734a554c1e03d86a7c771e # <- nfsdriver-2
volume-1d0d2341-21e4-4af7-8f17-2311ff5acf37

Tags: drivers nfs
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/108149

Changed in cinder:
assignee: nobody → Tomoki Sekiyama (tsekiyama)
status: New → In Progress
Jay Bryant (jsbryant)
tags: added: drivers
tags: added: nfs
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

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

commit 1945b82ff5ac30fad1c94849e86c4c3b5d4a28e1
Author: Tomoki Sekiyama <email address hidden>
Date: Fri Jul 18 20:36:56 2014 -0400

    Fix failure of source volume deletion in migrate_volume_completion

    In VolumeManager.migrate_volume_completion(), when volume_status is not
    'retyping', status_update is not set. However, status_update is always
    referenced as dictionary on volume deletion path, so it fails to delete
    migration source volume. This patch fixes the issue.

    Change-Id: I06889dae326b9557e044f1712d9f3205bb68a953
    Closes-Bug: 1344341

Changed in cinder:
status: In Progress → Fix Committed
Changed in cinder:
milestone: none → juno-2
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in cinder:
milestone: juno-2 → 2014.2
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.