← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1946752] [NEW] live_migration_permit_post_copy and PAUSED vm fails

 

Public bug reported:

Description
===========

The combination of allowing post-copy and migrating a VM in PAUSED state
fails.

Steps to reproduce
==================
Suppose you have this in /etc/nova/nova-compute.conf:

live_migration_permit_post_copy = True

and you try to live-migrate a qemu VM which is in PAUSED state, it
fails:

openstack server migrate <UUID> --host <DEST HOST> --live-migration
--os-compute-api-version 2.30

Expected result
===============

Migration starts and succeeds

Actual result
=============

Migration fails: from /var/log/nova/nova-compute.log:

2021-10-12 12:15:24.847 15732 ERROR nova.virt.libvirt.driver
[req-85846e61-8afe-4934-a192-7e6a1d0c7bb1
25633ac974224d6bbb8bb4b84fd77fb1 60ac4b0ca9f649e39a8e88caaa703b5e -
default default] [instance: ceb414eb-932f-46bf-9bc6-27db0fb99cb1] Live
Migration failure: argument unsupported: post-copy migration is not
supported with non-live or paused migration: libvirtError: argument
unsupported: post-copy migration is not supported with non-live or
paused migration

which is rather annoying, because post-copy is very likely not needed
when migrating a VM which is not doing anything.

On the other hand, post-copy is pretty much essential to get VMs
migrated that change their memory faster than it can be migrated.

Environment
===========

I am seeing this problem in Queens and in Ussuri.

# dpkg -l | grep nova
ii  nova-common                          2:17.0.13-0ubuntu1+syseleven3~bionic            all          OpenStack Compute - common files
ii  nova-compute                         2:17.0.13-0ubuntu1+syseleven3~bionic            all          OpenStack Compute - compute node base
ii  nova-compute-kvm                     2:17.0.13-0ubuntu1+syseleven3~bionic            all          OpenStack Compute - compute node (KVM)
ii  nova-compute-libvirt                 2:17.0.13-0ubuntu1+syseleven3~bionic            all          OpenStack Compute - compute node libvirt support
ii  python-nova                          2:17.0.13-0ubuntu1+syseleven3~bionic            all          OpenStack Compute Python libraries
ii  python-novaclient                    2:9.1.1-0ubuntu1                                all          client library for OpenStack Compute API - Python 2.7
ii  python3-novaclient                   2:9.1.1-0ubuntu1                                all          client library for OpenStack Compute API - 3.x

We are using Qemu + kvm  + livirt:

ii  libvirt-clients                      4.0.0-1ubuntu8.19                               amd64        Programs for the libvirt library
ii  libvirt-daemon                       4.0.0-1ubuntu8.19                               amd64        Virtualization daemon
ii  libvirt-daemon-system                4.0.0-1ubuntu8.19                               amd64        Libvirt daemon configuration files
ii  libvirt0:amd64                       4.0.0-1ubuntu8.19                               amd64        library for interfacing with different virtualization systems
ii  python-libvirt                       4.0.0-1                                         amd64        libvirt Python bindings
ii  python3-libvirt                      4.0.0-1                                         amd64        libvirt Python 3 bindings

ii  qemu-kvm                             1:2.11+dfsg-1ubuntu7.37
amd64        QEMU Full virtualization on x86 hardware

We use shared storage (Quobyte) but that should not be relevant here.
We use Queens with Midonet and Ussuri with OVS which should not matter here either. 

(In fact, Queens has a much smarter strategy to switch to post-copy than
Ussuri...)

A workaround in Nova could be that it doesn't ask for
VIR_MIGRATE_POSTCOPY if the VM is in paused state.

(It would also be nice to be able to migrate SUSPENDED VMs...)

** Affects: nova
     Importance: Undecided
         Status: New

-- 
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/1946752

Title:
  live_migration_permit_post_copy and PAUSED vm fails

Status in OpenStack Compute (nova):
  New

Bug description:
  Description
  ===========

  The combination of allowing post-copy and migrating a VM in PAUSED
  state fails.

  Steps to reproduce
  ==================
  Suppose you have this in /etc/nova/nova-compute.conf:

  live_migration_permit_post_copy = True

  and you try to live-migrate a qemu VM which is in PAUSED state, it
  fails:

  openstack server migrate <UUID> --host <DEST HOST> --live-migration
  --os-compute-api-version 2.30

  Expected result
  ===============

  Migration starts and succeeds

  Actual result
  =============

  Migration fails: from /var/log/nova/nova-compute.log:

  2021-10-12 12:15:24.847 15732 ERROR nova.virt.libvirt.driver
  [req-85846e61-8afe-4934-a192-7e6a1d0c7bb1
  25633ac974224d6bbb8bb4b84fd77fb1 60ac4b0ca9f649e39a8e88caaa703b5e -
  default default] [instance: ceb414eb-932f-46bf-9bc6-27db0fb99cb1] Live
  Migration failure: argument unsupported: post-copy migration is not
  supported with non-live or paused migration: libvirtError: argument
  unsupported: post-copy migration is not supported with non-live or
  paused migration

  which is rather annoying, because post-copy is very likely not needed
  when migrating a VM which is not doing anything.

  On the other hand, post-copy is pretty much essential to get VMs
  migrated that change their memory faster than it can be migrated.

  Environment
  ===========

  I am seeing this problem in Queens and in Ussuri.

  # dpkg -l | grep nova
  ii  nova-common                          2:17.0.13-0ubuntu1+syseleven3~bionic            all          OpenStack Compute - common files
  ii  nova-compute                         2:17.0.13-0ubuntu1+syseleven3~bionic            all          OpenStack Compute - compute node base
  ii  nova-compute-kvm                     2:17.0.13-0ubuntu1+syseleven3~bionic            all          OpenStack Compute - compute node (KVM)
  ii  nova-compute-libvirt                 2:17.0.13-0ubuntu1+syseleven3~bionic            all          OpenStack Compute - compute node libvirt support
  ii  python-nova                          2:17.0.13-0ubuntu1+syseleven3~bionic            all          OpenStack Compute Python libraries
  ii  python-novaclient                    2:9.1.1-0ubuntu1                                all          client library for OpenStack Compute API - Python 2.7
  ii  python3-novaclient                   2:9.1.1-0ubuntu1                                all          client library for OpenStack Compute API - 3.x

  We are using Qemu + kvm  + livirt:

  ii  libvirt-clients                      4.0.0-1ubuntu8.19                               amd64        Programs for the libvirt library
  ii  libvirt-daemon                       4.0.0-1ubuntu8.19                               amd64        Virtualization daemon
  ii  libvirt-daemon-system                4.0.0-1ubuntu8.19                               amd64        Libvirt daemon configuration files
  ii  libvirt0:amd64                       4.0.0-1ubuntu8.19                               amd64        library for interfacing with different virtualization systems
  ii  python-libvirt                       4.0.0-1                                         amd64        libvirt Python bindings
  ii  python3-libvirt                      4.0.0-1                                         amd64        libvirt Python 3 bindings

  ii  qemu-kvm                             1:2.11+dfsg-1ubuntu7.37
  amd64        QEMU Full virtualization on x86 hardware

  We use shared storage (Quobyte) but that should not be relevant here.
  We use Queens with Midonet and Ussuri with OVS which should not matter here either. 

  (In fact, Queens has a much smarter strategy to switch to post-copy
  than Ussuri...)

  A workaround in Nova could be that it doesn't ask for
  VIR_MIGRATE_POSTCOPY if the VM is in paused state.

  (It would also be nice to be able to migrate SUSPENDED VMs...)

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1946752/+subscriptions