[nova] nova 14.0.4 (newton)
We are amped to announce the release of: nova 14.0.4: Cloud computing fabric controller This release is part of the newton stable release series. Download the package from: https://tarballs.openstack.org/nova/ For more details, please see below. 14.0.4 ^^^^^^ Known Issues ************ * When generating Libvirt XML to attach network interfaces for the *tap*, *ivs*, *iovisor*, *midonet*, and *vrouter* virtual interface types Nova previously generated an empty path attribute to the script element (*<script path=''/>*) of the interface. As of Libvirt 1.3.3 (commit) and later Libvirt no longer accepts an empty path attribute to the script element of the interface. Notably this includes Libvirt 2.0.0 as provided with RHEL 7.3 and CentOS 7.3-1611. The creation of virtual machines with offending interface definitions on a host with Libvirt 1.3.3 or later will result in an error "libvirtError: Cannot find '' in path: No such file or directory". Additionally, where virtual machines already exist that were created using earlier versions of Libvirt interactions with these virtual machines via Nova or other utilities (e.g. *virsh*) may result in similar errors. To mitigate this issue Nova no longer generates an empty path attribute to the script element when defining an interface. This resolves the issue with regards to virtual machine creation. To resolve the issue with regards to existing virtual machines a change to Libvirt is required, this is being tracked in Bugzilla 1412834 (https://libvirt.org/git/?p=libvirt.git;a=commit;h=9c17d665fdc5f0a b74500a14c30627014c11b2c0) (https://bugzilla.redhat.com/show_bug.cgi?id=1412834) Bug Fixes ********* * Fixes bug 1662699 which was a regression in the v2.1 API from the "block_device_mapping_v2.boot_index" validation that was performed in the legacy v2 API. With this fix, requests to create a server with "boot_index=None" will be treated as if "boot_index" was not specified, which defaults to meaning a non-bootable block device. (https://bugs.launchpad.net/nova/+bug/1662699) Changes in nova 14.0.3..14.0.4 ------------------------------ 642caf0 Skip soft-deleted records in 330_enforce_mitaka_online_migrations 0edc097 allocations.consumer_id is not used in query. f2ea55fe Remove straggling use of main db flavors in cellsv1 code db075fa Skip test_stamp_pattern in cells v1 job df95612 Prepare for using standard python tests dce8618 Allow None for block_device_mapping_v2.boot_index 68402ae Catch error and log warning when not able to update mtimes 9f8d15d libvirt: Limit destroying disks during cleanup to spawn bf6c5ba libvirt: fix nova can't delete the instance with nvram a2b886d libvirt: Use the mirror element to detect job completion 33004b8 libvirt: Mock is_job_complete in test_driver a021a72 libvirt: Fix BlockDevice.wait_for_job when qemu reports no job e30b750 Fix TypeError in _update_from_compute_node race 2927ead scheduler: Don't modify RequestSpec.numa_topology 99f8a3c libvirt: avoid generating script with empty path b51231c Raise DeviceNotFound detaching volume from persistent domain 7a7bbb6 libvirt: Detach volumes from a domain before detaching any encryptors 28e6fae Ensure we mark baremetal links as phy links ed1ebaa Let nova-manage cell_v2 commands use transport_url from CONF afa458f Make simple_cell_setup fully idempotent 13ba33a Make placement client keep trying to connect 9fb203f Handle Unauthorized exception in report client's safe_connect() b7e47f8 Guestfs handle no passwd or group in image c9ea2e1 libvirt: Improve _is_booted_from_volume implementation 5b2808c libvirt: Delete duplicate check when live-migrating 842f1b6 Fix cold migration with qcow2 ephemeral disks 608105a Provide an online data migration to cleanup orphaned build requests a6a67d8 Don't apply multi-queue to SRIOV ports d663437 libvirt: prepare domain XML update for serial ports 3197c15 libvirt: do not return serial address if disabled on destination c00d433 Fix BDM JSON-Schema validation 730530b Fix nova-manage cell_v2 discover_hosts RequestContext c5fb4eb Catch ImageNotAuthorized during boot instance 89bc79a Don't trace on ImageNotFound in delete_image_on_error 046b640 libvirt: fix incorrect host cpus giving to emulator threads when RT Diffstat (except docs and test files) ------------------------------------- devstack/tempest-dsvm-cells-rc | 3 + .../compute/schemas/block_device_mapping.py | 8 +- .../compute/schemas/block_device_mapping_v1.py | 2 +- nova/api/openstack/compute/servers.py | 1 + nova/block_device.py | 8 +- nova/cells/state.py | 8 +- nova/cmd/manage.py | 40 +- nova/compute/manager.py | 4 + .../330_enforce_mitaka_online_migrations.py | 12 +- nova/objects/build_request.py | 50 ++ nova/objects/resource_provider.py | 1 - nova/scheduler/client/report.py | 44 +- nova/scheduler/filters/numa_topology_filter.py | 9 + nova/scheduler/host_manager.py | 4 +- nova/scheduler/ironic_host_manager.py | 12 + .../openstack/compute/test_block_device_mapping.py | 60 +++ .../compute/test_block_device_mapping_v1.py | 12 +- .../unit/api/openstack/compute/test_serversV21.py | 8 + .../filters/test_numa_topology_filters.py | 9 +- .../unit/scheduler/test_ironic_host_manager.py | 12 +- nova/virt/disk/vfs/guestfs.py | 17 +- nova/virt/hardware.py | 25 +- nova/virt/ironic/driver.py | 23 + nova/virt/libvirt/config.py | 15 + nova/virt/libvirt/designer.py | 2 +- nova/virt/libvirt/driver.py | 193 ++++---- nova/virt/libvirt/guest.py | 141 ++++-- nova/virt/libvirt/migration.py | 52 +- nova/virt/libvirt/utils.py | 12 +- nova/virt/libvirt/vif.py | 37 +- .../notes/bug-1662699-06203e7262e02aa6.yaml | 10 + ...rt-script-with-empty-path-2b49caa68b05278d.yaml | 27 ++ tools/test-setup.sh | 54 +++ 54 files changed, 1502 insertions(+), 475 deletions(-)
participants (1)
-
no-reply@openstack.org