Bug 1283318

Summary: instance stuck at migrating state when some unexpected error happened
Product: Red Hat OpenStack Reporter: Stephen Gordon <sgordon>
Component: openstack-novaAssignee: Sahid Ferdjaoui <sferdjao>
Status: CLOSED CURRENTRELEASE QA Contact: nlevinki <nlevinki>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 5.0 (RHEL 7)CC: berrange, dasmith, eglynn, jschluet, kchamart, ndipanov, sbauza, sferdjao, sgordon, vromanso, yeylon
Target Milestone: asyncKeywords: ZStream
Target Release: 5.0 (RHEL 7)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-nova-2014.1.5-14.el6ost, openstack-nova-2014.1.5-12.el7ost Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1292503 (view as bug list) Environment:
Last Closed: 2016-02-05 13:56:54 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1292503    

Description Stephen Gordon 2015-11-18 17:27:54 UTC
Cloned from launchpad bug 1397153.

Description:

As the code in conductor:

        try:
            live_migrate.execute(context, instance, destination,
                             block_migration, disk_over_commit)
        except (exception.NoValidHost,
                exception.ComputeServiceUnavailable,
                exception.InvalidHypervisorType,
                ....) as ex:
            with excutils.save_and_reraise_exception():
                # TODO(johngarbutt) - eventually need instance actions here
                request_spec = {'instance_properties': {
                    'uuid': instance['uuid'], },
                }
                scheduler_utils.set_vm_state_and_notify(context,
                        'compute_task', 'migrate_server',
                        dict(vm_state=instance['vm_state'],
                             task_state=None,
                             expected_task_state=task_states.MIGRATING,),
                        ex, request_spec, self.db)
        except Exception as ex:
            LOG.error(_LE('Migration of instance %(instance_id)s to host'
                          ' %(dest)s unexpectedly failed.'),
                      {'instance_id': instance['uuid'], 'dest': destination},
                      exc_info=True)
            raise exception.MigrationError(reason=six.text_type(ex))


When there is any unexpected exception raised from 'live_migrate.execute', the code will raise MigrationError, then the instance stuck at vm_state:active task_state: migrating and return 400 to user. This is confuse for user.

Specification URL (additional information):

https://bugs.launchpad.net/nova/+bug/1397153

Comment 2 Eoghan Glynn 2015-11-24 16:25:21 UTC
*** Bug 1283320 has been marked as a duplicate of this bug. ***

Comment 3 Eoghan Glynn 2015-11-24 16:25:29 UTC
*** Bug 1283321 has been marked as a duplicate of this bug. ***

Comment 6 Sahid Ferdjaoui 2015-12-16 10:31:51 UTC
can we have qa/pm ack for this please?

Comment 7 Sahid Ferdjaoui 2015-12-16 10:33:56 UTC
*** Bug 1283322 has been marked as a duplicate of this bug. ***

Comment 8 Lon Hohberger 2016-02-05 13:56:54 UTC
This patch has already been shipped live as part of other fixes.

It should be resolve by openstack-nova-2014.1.5-15.el7ost and openstack-nova-2014.1.5-16.el6ost