Commit 31e06077 authored by Dr. David Alan Gilbert's avatar Dr. David Alan Gilbert Committed by Juan Quintela
Browse files

migration: Add 'pre-switchover' and 'device' statuses



Add two statuses for use when the 'pause-before-switchover'
capability is enabled.

'pre-switchover' is the state that we wait in for management
to allow us to continue.
'device' is the state we enter while serialising the devices
after management gives us the OK.

Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
parent 93fbd031
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -526,6 +526,8 @@ static bool migration_is_setup_or_active(int state)
    case MIGRATION_STATUS_ACTIVE:
    case MIGRATION_STATUS_POSTCOPY_ACTIVE:
    case MIGRATION_STATUS_SETUP:
    case MIGRATION_STATUS_PRE_SWITCHOVER:
    case MIGRATION_STATUS_DEVICE:
        return true;

    default:
@@ -600,6 +602,8 @@ MigrationInfo *qmp_query_migrate(Error **errp)
    case MIGRATION_STATUS_ACTIVE:
    case MIGRATION_STATUS_CANCELLING:
    case MIGRATION_STATUS_POSTCOPY_ACTIVE:
    case MIGRATION_STATUS_PRE_SWITCHOVER:
    case MIGRATION_STATUS_DEVICE:
         /* TODO add some postcopy stats */
        info->has_status = true;
        info->has_total_time = true;
@@ -1189,6 +1193,8 @@ bool migration_is_idle(void)
    case MIGRATION_STATUS_ACTIVE:
    case MIGRATION_STATUS_POSTCOPY_ACTIVE:
    case MIGRATION_STATUS_COLO:
    case MIGRATION_STATUS_PRE_SWITCHOVER:
    case MIGRATION_STATUS_DEVICE:
        return false;
    case MIGRATION_STATUS__MAX:
        g_assert_not_reached();
+7 −1
Original line number Diff line number Diff line
@@ -96,12 +96,18 @@
# @colo: VM is in the process of fault tolerance, VM can not get into this
#        state unless colo capability is enabled for migration. (since 2.8)
#
# @pre-switchover: Paused before device serialisation. (since 2.11)
#
# @device: During device serialisation when pause-before-switchover is enabled
#        (since 2.11)
#
# Since: 2.3
#
##
{ 'enum': 'MigrationStatus',
  'data': [ 'none', 'setup', 'cancelling', 'cancelled',
            'active', 'postcopy-active', 'completed', 'failed', 'colo' ] }
            'active', 'postcopy-active', 'completed', 'failed', 'colo',
            'pre-switchover', 'device' ] }

##
# @MigrationInfo: