We are ecstatic to announce the release of: nova 17.0.11: Cloud computing fabric controller This release is part of the queens stable release series. The source is available from: https://opendev.org/openstack/nova Download the package from: https://tarballs.openstack.org/nova/ Please report issues through: https://bugs.launchpad.net/nova/+bugs For more details, please see below. 17.0.11 ^^^^^^^ Upgrade Notes ************* * Live migration of instances with NUMA topologies is now disabled by default when using the libvirt driver. This includes live migration of instances with CPU pinning or hugepages. CPU pinning and huge page information for such instances is not currently re- calculated, as noted in bug #1289064. This means that if instances were already present on the destination host, the migrated instance could be placed on the same dedicated cores as these instances or use hugepages allocated for another instance. Alternately, if the host platforms were not homogeneous, the instance could be assigned to non-existent cores or be inadvertently split across host NUMA nodes. The long term solution to these issues is to recalculate the XML on the destination node. When this work is completed, the restriction on live migration with NUMA topologies will be lifted. For operators that are aware of the issues and are able to manually work around them, the "[workarounds] enable_numa_live_migration" option can be used to allow the broken behavior. For more information, refer to bug #1289064. (https://bugs.launchpad.net/nova/+bug/1289064) (https://blueprints.launchpad.net/nova/+spec/numa-aware-live- migration) Bug Fixes ********* * The os-volume_attachments update API, commonly referred to as the swap volume API will now return a "400" (BadRequest) error when attempting to swap from a multi attached volume with more than one active read/write attachment resolving bug #1775418. (https://developer.openstack.org/api-ref/compute/?expanded=update-a -volume-attachment-detail) (https://launchpad.net/bugs/1775418) Changes in nova 17.0.10..17.0.11 -------------------------------- 9cbd2aedde fix up numa-topology live migration hypervisor check 9999bce00f Fail to live migration if instance has a NUMA topology ab445a027a Allow driver to properly unplug VIFs on destination on confirm resize 8519b1ce6d Move get_pci_mapping_for_migration to MigrationContext d3bdeb2615 libvirt: Do not reraise DiskNotFound exceptions during resize 2009859b52 Include all network devices in nova diagnostics 20b90f2e26 Workaround missing RequestSpec.instance_group.uuid 581df2c986 Add regression recreate test for bug 1830747 95a3e0cf6a Restore connection_info after live migration rollback 88fd40fe5d DRY up test_rollback_live_migration_set_migration_status 58a140487c Block swap volume on volumes with >1 rw attachment 55deddf65d Fix live-migration when glance image deleted 944b24f462 Add functional confirm_migration_error test 5600309a1f [stable-only] Delete allocations even if _confirm_resize raises (part 2) b8435d6001 Delete allocations even if _confirm_resize raises 0cad3089d3 Stop logging traceback when skipping quiesce f9c2503609 Fix retry of instance_update_and_get_original 89063ecb61 Teardown networking when rolling back live migration even if shared disk 01141392db Use migration_status during volume migrating and retyping 99a63a6633 libvirt: Always disconnect volumes after libvirtError exceptions 63b45a87b8 libvirt: Stop ignoring unknown libvirtError exceptions during volume attach ba3ad2d65a Fix {min|max}_version in ironic Adapter setup 22cd12dbb7 Create request spec, build request and mappings in one transaction 5b0adaa0ca xenapi/agent: Change openssl error handling ec43a1348d libvirt: Avoid using os-brick encryptors when device_path isn't provided 899e881b18 Fix nova-grenade-live-migration run book for opendev migration d4dbbb645a Fix regression in glance client call 1cee746085 OpenDev Migration Patch 76418a32cb Move legacy-grenade-dsvm-neutron-multinode-live-migration in-tree 5d5e7be8cb Fix legacy-grenade-dsvm-neutron-multinode-live-migration c8ad9f4e19 libvirt: set device address tag only if setting disk unit ee52fb12bb libvirt: disconnect volume when encryption fails 5433dc6a75 Add missing libvirt exception during device detach c6a42cd3b3 Error out migration when confirm_resize fails f1554d1b52 prevent common kwargs from glance client failure dba9b722af Define irrelevant-files for tempest-full-py3 job 1b6f48354b Delete instance_id_mappings record in instance_destroy 8f1773a7af Do not persist RequestSpec.ignore_hosts 9fd4082d7c Add functional regression test for bug 1669054 99cbbcfd61 Update instance.availability_zone on revertResize 1b15a342e3 Add functional recreate test for bug 1819963 50a0c6a4b9 [Stable Only] hardware: Handle races during pinning ddc2c9118a Fix incomplete instance data returned after build failure ee07c1c67d Update instance.availability_zone during live migration 36d93675d9 Update resources once in update_available_resource 705284e18c Don't persist zero allocation ratios in ResourceTracker 7a3b072442 Document unset/reset wrinkle for *_allocation_ratio options 1265e9e8e2 Replace openstack.org git:// URLs with https:// 4a7575bf14 Ignore VolumeAttachmentNotFound exception in compute.manager Diffstat (except docs and test files) ------------------------------------- .gitreview | 2 +- .zuul.yaml | 74 +++++-- api-ref/source/os-volume-attachments.inc | 3 + nova/api/openstack/compute/migrate_server.py | 6 +- nova/api/openstack/compute/volumes.py | 3 +- nova/compute/api.py | 108 ++++++++- nova/compute/manager.py | 246 +++++++++++++++------ nova/compute/resource_tracker.py | 32 ++- nova/conductor/manager.py | 22 +- nova/conductor/tasks/live_migrate.py | 34 +++ nova/conf/compute.py | 12 +- nova/conf/workarounds.py | 26 +++ nova/db/sqlalchemy/api.py | 23 +- nova/exception.py | 5 + nova/image/glance.py | 45 ++-- nova/network/neutronv2/api.py | 47 +--- nova/objects/migration_context.py | 32 +++ nova/objects/request_spec.py | 22 +- .../functional/regressions/test_bug_1669054.py | 84 +++++++ .../functional/regressions/test_bug_1830747.py | 131 +++++++++++ .../openstack/compute/admin_only_action_common.py | 37 ++-- .../api/openstack/compute/test_migrate_server.py | 8 +- .../unit/api/openstack/compute/test_volumes.py | 76 +++++++ .../unit/conductor/tasks/test_live_migrate.py | 54 ++++- nova/virt/fake.py | 6 +- nova/virt/hardware.py | 12 + nova/virt/ironic/client_wrapper.py | 8 +- nova/virt/libvirt/driver.py | 94 +++++--- nova/virt/libvirt/guest.py | 3 +- nova/virt/libvirt/imagebackend.py | 14 +- nova/virt/libvirt/volume/volume.py | 17 +- nova/virt/xenapi/agent.py | 18 +- nova/volume/cinder.py | 3 + playbooks/legacy/nova-cells-v1/run.yaml | 6 +- .../legacy/nova-grenade-live-migration/post.yaml | 15 ++ .../legacy/nova-grenade-live-migration/run.yaml | 58 +++++ playbooks/legacy/nova-live-migration/run.yaml | 6 +- playbooks/legacy/nova-lvm/run.yaml | 6 +- playbooks/legacy/nova-multiattach/run.yaml | 6 +- playbooks/legacy/nova-next/run.yaml | 6 +- .../notes/bug-1775418-754fc50261f5d7c3.yaml | 10 + ...-live-migration-with-numa-bc710a1bcde25957.yaml | 25 +++ 70 files changed, 2605 insertions(+), 508 deletions(-)
participants (1)
-
no-reply@openstack.org