Comment 3 for bug 2007303

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-armada-app (master)

Reviewed: https://review.opendev.org/c/starlingx/openstack-armada-app/+/900791
Committed: https://opendev.org/starlingx/openstack-armada-app/commit/c1336173394040d168963cae26475036c107fe19
Submitter: "Zuul (22348)"
Branch: master

commit c1336173394040d168963cae26475036c107fe19
Author: Thales Elero Cervi <email address hidden>
Date: Mon Nov 13 09:25:40 2023 -0300

    Skip destination CPU check during live-migration

    OpenStack 2023.1 (Antelope) introduced this issue [1][2] when
    live-migrating instances, in which Nova uses getCapabilities() to
    determine the host CPU model but use the model from the
    domCapabilities for the guest VM using host-model [3].
    According to the libvirt maintainers nova should never use
    getCapabilities for anything any more.
    A solution for this issue is being developed in main branch [4], but
    taken as a medium priority since there is a workaround config option
    already available [5] to avoid this situation.

    Setting "skip_cpu_compare_on_dest" to True will, during live
    migration, skip comparing guest CPU with the destination host.
    When using QEMU >= 2.9 and libvirt >= 4.4.0, libvirt will do the
    correct thing with respect to checking CPU compatibility on the
    destination host during live migration.
    StarlingX currently delivers QEMU 5.2 and stx-openstack uses a libvirt
    on 7.0.0-3, therefore this can be safely used as part of our default
    nova configuration updates.

    [1] https://bugs.launchpad.net/nova/+bug/2023035
    [2] https://bugs.launchpad.net/nova/+bug/2039803
    [3] https://review.opendev.org/q/topic:fix_compareCPU_usage
    [4] https://review.opendev.org/c/openstack/nova/+/899185
    [5] https://docs.openstack.org/nova/latest/configuration/config.html#skip_cpu_compare_on_dest

    Closes-bug: 2007303

    TEST PLAN:
    PASS - Build python3-k8sapp-openstack plugins
    PASS - Build stx-openstack application
    PASS - Upload/Apply/Remove stx-openstack
    PASS - Live-migrate an instance
    PASS - Manually reboot a compute node in which
           an instance is running to ensure it is
           correctly evacuated to another compute

    Change-Id: Id7a93445af4115ee81b035b4f9dc7a6eb889555b
    Signed-off-by: Thales Elero Cervi <email address hidden>