What version of nova and cinder are you using?
I'm not familiar with the volume migration API in Cinder, but it looks
like it calls out to Nova to perform a swap volume operation.
Per your comment 1, you're expecting that Cinder will handle the failure
from the Nova swap volume operation and rollback the failure? That's
reasonable but would need the Cinder team to weigh in here.
Do you have the Cinder logs from the failure to see why those don't
rollback?
** Also affects: cinder
Importance: Undecided
Status: New
** Changed in: nova
Status: New => Incomplete
** Tags added: migration volumes
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1550639
Title:
After migrate volume being attached instance, the instance cann't
run normally
Status in Cinder:
New
Status in OpenStack Compute (nova):
Incomplete
Bug description:
Reproducing method as following:
1.create a volume from image
[root@2C5_10_DELL05 ~(keystone_admin)]# cinder create --image-id
fd8330b3-a307-4140-8fe0-01341b583e26 --name test_image_volume --volume-type
KSIP 1
+---------------------------------------+--------------------------------------+
| Property | Value
|
+---------------------------------------+--------------------------------------+
| attachments | []
|
| availability_zone | nova
|
| bootable | false
|
| consistencygroup_id | None
|
| created_at | 2016-02-27T04:20:37.000000
|
| description | None
|
| encrypted | False
|
| id |
a0dae16a-2669-49c7-a118-250c31adc655 |
| metadata | {}
|
| multiattach | False
|
| name | test_image_volume
|
| os-vol-host-attr:host | None
|
| os-vol-mig-status-attr:migstat | None
|
| os-vol-mig-status-attr:name_id | None
|
| os-vol-tenant-attr:tenant_id | 181a578bc97642f2b9e153bec622f130
|
| os-volume-replication:driver_data | None
|
| os-volume-replication:extended_status | None
|
| replication_status | disabled
|
| size | 1
|
| snapshot_id | None
|
| source_volid | None
|
| status | creating
|
| user_id | 8b34e1ab75024fcba0ea69a6fd0937c3
|
| volume_type | KSIP
|
+---------------------------------------+--------------------------------------+
2、boot a instance from the step 1 volume.
[root@2C5_10_DELL05 ~(keystone_admin)]# nova boot --flavor 1 --block-device
id=a0dae16a-2669-49c7-a118-250c31adc655,source=volume,dest=volume,bootindex=0
--nic net-id=5c8f7e7a-5a75-48eb-9c68-096278585c18 test_vm
+--------------------------------------+--------------------------------------------------+
| Property | Value
|
+--------------------------------------+--------------------------------------------------+
| OS-DCF:diskConfig | MANUAL
|
| OS-EXT-AZ:availability_zone | nova
|
| OS-EXT-SRV-ATTR:host | -
|
| OS-EXT-SRV-ATTR:hypervisor_hostname | -
|
| OS-EXT-SRV-ATTR:instance_name | instance-00000647
|
| OS-EXT-STS:power_state | 0
|
| OS-EXT-STS:task_state | scheduling
|
| OS-EXT-STS:vm_state | building
|
| OS-SRV-USG:launched_at | -
|
| OS-SRV-USG:terminated_at | -
|
| accessIPv4 |
|
| accessIPv6 |
|
| adminPass | JEeW4BR4WL3a
|
| autostart | TRUE
|
| boot_index_type |
|
| config_drive |
|
| created | 2016-02-27T04:22:42Z
|
| flavor | m1.tiny (1)
|
| hostId |
|
| id | a740b3da-42e7-4cba-9408-8df3b4846dcc
|
| image | Attempt to boot from volume - no
image supplied |
| key_name | -
|
| metadata | {}
|
| move | TRUE
|
| name | test_vm
|
| novnc | TRUE
|
| os-extended-volumes:volumes_attached | [{"id":
"a0dae16a-2669-49c7-a118-250c31adc655"}] |
| priority | 50
|
| progress | 0
|
| qos |
|
| security_groups | default
|
| status | BUILD
|
| tenant_id | 181a578bc97642f2b9e153bec622f130
|
| updated | 2016-02-27T04:22:43Z
|
| user_id | 8b34e1ab75024fcba0ea69a6fd0937c3
|
+--------------------------------------+--------------------------------------------------+
3. migrate the in-use status volume
[root@2C5_10_DELL05 ~(keystone_admin)]# cinder migrate
a0dae16a-2669-49c7-a118-250c31adc655
2C5_10_DELL05@KS3200ISCSIDriver-2#KS3200_IPSAN
4. migrate volume fail, nova-compute.log as following:
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher Traceback
(most recent call last):
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 142,
in _dispatch_and_reply
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
executor_callback))
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 186,
in _dispatch
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
executor_callback)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/oslo_messaging/rpc/dispatcher.py", line 130,
in _do_dispatch
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher result
= func(ctxt, **new_args)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 8699, in
swap_volume
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
new_volume_id)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/exception.py", line 88, in wrapped
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher payload)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 85, in __exit__
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
six.reraise(self.type_, self.value, self.tb)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/exception.py", line 71, in wrapped
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher return
f(self, context, *args, **kw)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 379, in
decorated_function
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
LOG.warning(msg, e, instance_uuid=instance_uuid)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 85, in __exit__
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
six.reraise(self.type_, self.value, self.tb)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 350, in
decorated_function
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher return
function(self, context, *args, **kwargs)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 407, in
decorated_function
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
kwargs['instance'], e, sys.exc_info())
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 85, in __exit__
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
six.reraise(self.type_, self.value, self.tb)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 395, in
decorated_function
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher return
function(self, context, *args, **kwargs)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 5965, in
swap_volume
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
new_volume_id)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 5932, in
_swap_volume
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
self.volume_api.unreserve_volume(context, new_volume_id)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 85, in __exit__
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
six.reraise(self.type_, self.value, self.tb)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 5913, in
_swap_volume
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
resize_to)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 1241, in
swap_volume
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher
self._disconnect_volume(old_connection_info, disk_dev)
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher File
"/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 1092, in
_disconnect_volume
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher raise
2016-02-27 11:32:47.986 29370 TRACE oslo_messaging.rpc.dispatcher TypeError:
exceptions must be old-style classes or derived from BaseException, not NoneType
5. Then, the instance is still running ,active. but login to the virtual
machine system, find the guest OS changed read-only file system.
To manage notifications about this bug go to:
https://bugs.launchpad.net/cinder/+bug/1550639/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp