We are tickled pink to announce the release of: nova 19.0.1: Cloud computing fabric controller This release is part of the stein 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. 19.0.1 ^^^^^^ 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) * Fixes a bug that caused Nova to fail on mounting Quobyte volumes whose volume URL contained multiple registries. Changes in nova 19.0.0..19.0.1 ------------------------------ 8569eb9b4f Workaround missing RequestSpec.instance_group.uuid 8478a75480 Add regression recreate test for bug 1830747 95ace7cf8d [ironic] Don't remove instance info twice in destroy 9b21d1067a Block swap volume on volumes with >1 rw attachment b8f2cd689f cleanup evacuated instances not on hypervisor b45f47c757 Fix live-migration when glance image deleted dc7eb62c27 docs: Don't version links to reno docs 77a339c4e8 Allow driver to properly unplug VIFs on destination on confirm resize 84bb00a86d Move get_pci_mapping_for_migration to MigrationContext 656aa1cd40 Fixes multi-registry config in Quobyte driver ea71592d7a [stable-only] Improve the reno for consoleauth upgrade check c094a6ef0c Disable limit if affinity(anti)/same(different)host is requested 4ff46ff767 Restore connection_info after live migration rollback f1280ab849 libvirt: Do not reraise DiskNotFound exceptions during resize e13513010f Fix target used in nova.policy.check_is_admin 2f7b1031a9 Stop logging traceback when skipping quiesce 8330ab4e61 Skip _exclude_nested_providers() if not nested d250834734 Fix assert methods in unit tests 61fef49b15 Fix retry of instance_update_and_get_original d7d7f11543 Add functional confirm_migration_error test cfc3fa4908 Only call _fill_provider_mapping if claim succeeds 1c774315a5 Handle placement error during re-schedule c38a821902 Fix exception type in test_boot_reschedule_fill_provider_mapping_raises 07a1a8ff7d Reproduce bug #1819460 in functional test a2b1ef5f11 Log when port resource is leaked during port delete 91282f879c Use migration_status during volume migrating and retyping af07ddb734 Exclude fake marker instance when listing servers 840f109afc Add regression test for bug 1825034 1d4f64b190 Include all network devices in nova diagnostics 048d5b790f libvirt: Always disconnect volumes after libvirtError exceptions b3dedefcc5 libvirt: Stop ignoring unknown libvirtError exceptions during volume attach 3285210add Fix volume-backed resize with a smaller disk flavor b123b05a48 Fix help for ironic.peer_list config a1db4507ac Add functional regression recreate test for bug 1825020 c6432ac021 libvirt: Avoid using os-brick encryptors when device_path isn't provided c280d747fb AZ list performance optimization: avoid double service list DB fetch 64793cf6f7 xenapi/agent: Change openssl error handling 7cd816f43a Do not perform port update in case of baremetal instance. 222f462444 Pass on region when we don't have a valid ironic endpoint 870e5bcfb6 Create request spec, build request and mappings in one transaction e6ca3838d9 Fix {min|max}_version in ironic Adapter setup b3b1e6d4da OpenDev Migration Patch 7500c1910c libvirt: set device address tag only if setting disk unit 2bbd7f4a0c Change a log level for overwriting allocation d773e3b146 libvirt: disconnect volume when encryption fails fe5c8a517a Do not log a warning about not using compute monitors ef25fff5ec doc: Capitalize keystone domain name 5f515060f6 Delete allocations even if _confirm_resize raises 17e6ca7272 Don't warn on network-vif-unplugged event during live migration 972d4e0eb3 Error out migration when confirm_resize fails 6a5be4ae25 Fix bug preventing forbidden traits from working c97466456f Adding tests to demonstrate bug #1821824 b1b28169af Move create of ComputeAPI object in websocketproxy 76dfb9d0b6 Do not persist RequestSpec.ignore_hosts 20c1414945 Add functional regression test for bug 1669054 bcb42a43a9 Temporarily mutate migration object in finish_revert_resize 99b3f44eb1 Add retry_on_deadlock to migration_update DB API 7ccea385b1 doc: Fix openstack CLI command 26e5991283 Update instance.availability_zone on revertResize 0b2345442d Add functional recreate test for bug 1819963 eec39762cf Fix incomplete instance data returned after build failure a98fb711b5 Use Selection object to fill request group mapping ae40ceba84 Override the 'get' method in DriverBlockDevice class d0f540742e Eventlet monkey patching should be as early as possible Diffstat (except docs and test files) ------------------------------------- .gitreview | 2 +- .zuul.yaml | 8 +- api-ref/source/os-volume-attachments.inc | 3 + nova/__init__.py | 11 - nova/api/openstack/__init__.py | 1 + nova/api/openstack/compute/availability_zone.py | 16 +- nova/api/openstack/compute/views/servers.py | 6 +- nova/api/openstack/compute/volumes.py | 3 +- .../placement/handlers/allocation_candidate.py | 44 +-- .../placement/objects/resource_provider.py | 49 +++- nova/api/openstack/wsgi_app.py | 2 - nova/availability_zones.py | 23 +- nova/cmd/__init__.py | 6 +- nova/compute/api.py | 170 ++++++++++- nova/compute/manager.py | 311 ++++++++++++++------ nova/compute/monitors/__init__.py | 10 +- nova/conductor/manager.py | 110 ++++--- nova/conf/compute.py | 6 +- nova/conf/ironic.py | 10 +- nova/console/websocketproxy.py | 14 +- nova/context.py | 6 +- nova/db/sqlalchemy/api.py | 22 +- nova/exception.py | 9 + nova/monkey_patch.py | 97 ++++++ nova/network/neutronv2/api.py | 47 +-- nova/objects/migration_context.py | 32 ++ nova/objects/request_spec.py | 22 +- nova/policy.py | 2 +- nova/scheduler/client/report.py | 8 +- nova/scheduler/utils.py | 9 +- nova/test.py | 3 +- .../functional/libvirt/test_pci_sriov_servers.py | 76 +++++ .../functional/regressions/test_bug_1669054.py | 79 +++++ .../functional/regressions/test_bug_1825020.py | 80 +++++ .../functional/regressions/test_bug_1825034.py | 88 ++++++ .../functional/regressions/test_bug_1830747.py | 149 ++++++++++ .../openstack/compute/test_availability_zone.py | 92 ++++-- .../unit/api/openstack/compute/test_volumes.py | 75 +++++ nova/utils.py | 21 -- nova/virt/block_device.py | 8 + nova/virt/driver.py | 13 + nova/virt/fake.py | 6 +- nova/virt/ironic/client_wrapper.py | 12 +- nova/virt/ironic/driver.py | 18 +- nova/virt/libvirt/driver.py | 94 ++++-- nova/virt/libvirt/imagebackend.py | 14 +- nova/virt/libvirt/volume/quobyte.py | 54 ++-- nova/virt/libvirt/volume/volume.py | 17 +- nova/virt/xenapi/agent.py | 17 +- nova/volume/cinder.py | 3 + playbooks/legacy/nova-cells-v1/run.yaml | 6 +- .../legacy/nova-grenade-live-migration/run.yaml | 8 +- playbooks/legacy/nova-live-migration/run.yaml | 6 +- playbooks/legacy/nova-lvm/run.yaml | 6 +- playbooks/legacy/nova-next/run.yaml | 6 +- .../notes/bug-1775418-754fc50261f5d7c3.yaml | 10 + ...status-check-consoleauths-618acb3a67f97418.yaml | 10 +- .../notes/qb-bug-1730933-6695470ebaee0fbd.yaml | 5 + 97 files changed, 3356 insertions(+), 875 deletions(-)