can not migrate serve on aarch64

Bug #1855883 reported by Eric Xie
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
In Progress
Undecided
Eric Xie

Bug Description

Description
===========
We setup OpenStack env on aarch64 KylinOS.
Failed to live migrate instance cause of 'This operating system kernel does not support vITS migration'.

Steps to reproduce
==================
1. Setup OpenStack on aarch64 servers with openstack-helm
2. Live migrate instance from compute02 to compute03

Expected result
===============
Success, instance locate on compute03

Actual result
=============
Failed, instnace locate on compute02

Environment
===========
1. Exact version of OpenStack you are running. See the following
stable/rocky
# apt list --installed |egrep "libvirt|qemu"
ipxe-qemu/now 1.0.0+git-20180124.fbe8c52d-0ubuntu2.2~cloud0 all [installed,local]
ipxe-qemu-256k-compat-efi-roms/now 1.0.0+git-20150424.a25a16d-0ubuntu2~cloud0 all [installed,local]
libvirt-bin/now 4.0.0-1ubuntu8.11~cloud0 arm64 [installed,local]
libvirt-clients/now 4.0.0-1ubuntu8.11~cloud0 arm64 [installed,local]
libvirt-daemon/now 4.0.0-1ubuntu8.11~cloud0 arm64 [installed,local]
libvirt-daemon-system/now 4.0.0-1ubuntu8.11~cloud0 arm64 [installed,local]
libvirt0/now 4.0.0-1ubuntu8.11~cloud0 arm64 [installed,local]
qemu/now 1:2.11+dfsg-1ubuntu7.15~cloud1 arm64 [installed,local]

# uname -a
Linux compute03 4.4.131-20190726.kylin.server-generic #kylin SMP Tue Jul 30 16:44:09 CST 2019 aarch64 aarch64 aarch64 GNU/Linux

2. Which hypervisor did you use?
libvirt+kvm

Logs & Configs
==============
nova-compute:
File "/var/lib/openstack/local/lib/python2.7/site-packages/libvirt.py", line 1745, in migrateToURI3
    if ret == -1: raise libvirtError ('virDomainMigrateToURI3() failed', dom=self)
libvirtError: internal error: unable to execute QEMU command 'migrate': This operating system kernel does not support vITS migration

libvirt:
2019-12-07 05:34:34.820+0000: 57546: error : qemuMonitorJSONCheckError:392 : internal error: unable to execute QEMU command 'migrate': This operating system kernel does not support vITS migration
2019-12-07 05:34:35.226+0000: 57546: error : virNetClientProgramDispatchError:177 : internal error: qemu unexpectedly closed the monitor: 2019-12-07T05:34:29.355638Z qemu-system-aarch64: Not a migration stream
2019-12-07T05:34:29.355781Z qemu-system-aarch64: load of migration failed: Invalid argument

Revision history for this message
Eric Xie (eric-xie) wrote :

As we found, the failed reason is that libvirt create 'gic version='3'' in instance's domain.
  <features>
    <acpi/>
    <apic/>
    <gic version='3'/>
  </features>

gicv3 should be supported after kernel version 4.13, so we changed to gicv2. Then live migration worked.

I think should add feature 'gic version' for aarch64.

Changed in nova:
assignee: nobody → Eric Xie (eric-xie)
Matt Riedemann (mriedem)
tags: added: aarch64 libvirt live-migration
Changed in nova:
status: New → Triaged
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.opendev.org/698905

Changed in nova:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on nova (master)

Change abandoned by Eric Xie (eric_xiett@163.com) on branch: master
Review: https://review.opendev.org/698905

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.