target-lun id of volume changed when live-migration failed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
New
|
Undecided
|
Xuanzhou Perry Dong |
Bug Description
Description
===========
target-lun id of volume changed when live-migration failed
I tried to live-migrate vm with attahed volume, but failed.
I think nova-compute should rollback vm as old status before live-migration.
But target-lun id of volume didn't changed as old lun-id.
Environment
===========
- OpenStack Release : Liberty
- OS : Ubuntu 14.04.2 LTS
- Hypervisor : KVM
- Cinder Storage : iSCSI (EMC VNX)
Steps to reproduce
==================
1. Create VM and Attach Volume to VM(target-lun id is 174)
2. Try to Live-migration... but failed (target-lun id changed 97)
3. Try to rollback (target-lun id still is 97)
* target-lun id didn't changed old one.
> before live-migration(
{"driver_
"data": {"target_luns": [174, 174, 174, 174],
"device_path": "/dev/mapper/
"target_iqn": "iqn.1992-
"target_lun": 174, "access_mode": "rw",
"target_portals": ["x.x.x.x:3260", "x.x.x.x:3260", "x.x.x.x:3260", "x.x.x.x:3260"]}}
(*) target_lun id was 174.
> after live-migration and rollback (nova.block_
{"driver_
"data": {"target_luns": [97, 97, 97, 97],
"target_
"target_portal": "x.x.x.x:3260", "volume_id": "6352f542-
"target_lun": 97, "access_mode": "rw",
"target_portals": ["x.x.x.x:3260", "x.x.x.x:3260", "x.x.x.x:3260", "x.x.x.x:3260"]}}
(*) target_lun id was changed 97.
Expected result
===============
If live-migration success, it is normal status that target-lun id changes 97.
Actual result
=============
otherwise target-lun id must change as old target id(174).
In this environment, if nova reboot the vm, vm will fail rebooting.
Because target-lun(97) doesn't exist in the server.
Or
If target-lun(97) used by other vm exist, vm will attach volume used by other vm.
It occurs critical situation that single volume attached by multi-vm.
Logs & Configs
=============
we don't have volume(
nova-compute couldn't reboot vm.
$ nova list
+------
| ID | Name | Status | Task State | Power State | Networks |
+------
| 44a127c3-
2016-04-23 22:51:48.704 28334 ERROR oslo_messaging.
2016-04-23 22:51:48.704 28334 ERROR oslo_messaging.
2016-04-23 22:51:48.704 28334 ERROR oslo_messaging.
Changed in nova: | |
assignee: | nobody → jangpro2 (jangseon-ryu) |
description: | updated |
Changed in nova: | |
status: | New → In Progress |
Changed in nova: | |
importance: | Undecided → High |
Changed in nova: | |
assignee: | nobody → Xuanzhou Perry Dong (oss-xzdong) |
Fix proposed to branch: stable/liberty /review. openstack. org/309693
Review: https:/