[release-announce] nova 18.2.0 (rocky)

no-reply at openstack.org no-reply at openstack.org
Mon Mar 25 00:03:04 UTC 2019


We jubilantly announce the release of:

nova 18.2.0: Cloud computing fabric controller

This release is part of the rocky stable release series.

Download the package from:

    https://tarballs.openstack.org/nova/

For more details, please see below.

18.2.0
^^^^^^


Upgrade Notes
*************

* Adds a "use_cache" parameter to the virt driver "get_info" method.
  Out of tree drivers should add support for this parameter.

* 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
*********

* "PUT /os-aggregates/{aggregate_id}" and "POST /os-
  aggregates/{aggregate_id}/action" (for set_metadata action) will now
  return HTTP 400 for availability zone renaming if the hosts of the
  aggregate have any instances.

* Fixes a race condition that could allow a newly created Ironic
  instance to be powered off after deployment, without letting the
  user power it back on.

* [bug 1818295 (https://bugs.launchpad.net/nova/+bug/1818295)] Fixes
  the problem with endpoint lookup in Ironic driver where only public
  endpoint is possible, which breaks deployments where the controllers
  have no route to the public network per security requirement. Note
  that python-ironicclient fix
  I610836e5038774621690aca88b2aee25670f0262 must also be present to
  resolve the bug.


Other Notes
***********

* The "[workarounds]/ensure_libvirt_rbd_instance_dir_cleanup"
  configuration option has been introduced. This can be used by
  operators to ensure that instance directories are always removed
  during cleanup within the Libvirt driver while using
  "[libvirt]/images_type = rbd". This works around known issues such
  as bug 1414895 when cleaning up after an evacuation and bug 1761062
  when reverting from an instance resize.

  Operators should be aware that this workaround only applies when
  using the libvirt compute driver and rbd images_type as enabled by
  the following configuration options:

  * "[DEFAULT]/compute_driver = libvirt"

  * "[libvirt]/images_type = rbd"

  Warning: Operators will need to ensure that the instance directory
    itself, specified by "[DEFAULT]/instances_path", is not shared
    between computes before enabling this workaround, otherwise files
    associated with running instances may be removed.

   (https://bugs.launchpad.net/nova/+bug/1414895)
  (https://bugs.launchpad.net/nova/+bug/1761062)

Changes in nova 18.1.0..18.2.0
------------------------------

02d6146e4d Fix resetting non-persistent fields when saving obj
133763d358 Update instance.availability_zone during live migration
d4cea970c2 pass endpoint interface to Ironic client
7d0dd625d3 Allow utime call to fail on qcow2 image base file
cfad7a1faa Handle templated cell mappings in nova-status
50cc1e8bb6 Handle missing exception in instance creation code
31b74bfa40 Fix WeighedHost logging regression
1559db5704 Check hosts have no instances for AZ rename
e2185168f8 Fix an error when generating a host ID
b09f2e58e9 Fix resource tracker updates during instance evacuation
81b0e5a068 ironic: check fresh data when sync_power_state doesn't line up
4ede352811 ironic: stop hammering ironic API in power sync loop
40771bc155 Fix race in test_volume_swap_server_with_error
ecdf3c67ee fix up numa-topology live migration hypervisor check
32a77abbfc Move legacy-grenade-dsvm-neutron-multinode-live-migration in-tree
c4a2a32f07 Fix legacy-grenade-dsvm-neutron-multinode-live-migration
35a050a520 Avoid BadRequest error log on volume attachment
0794345ecd Don't emit warning when ironic properties are zero
3310c3cbf5 Lock detach_volume
a4017aaa53 Fix a missing policy in test policy data
315d9fab7a Provide a useful error message when trying to update non-compute services
1a684f6fbe Ignore VolumeAttachmentNotFound exception in compute.manager
99f0c4c014 tox: Don't write byte code (maybe)
75e0f5a9b1 Avoid redundant initialize_connection on source post live migration
cb65d3d69c Fix InstanceMapping to always default queued_for_delete=False
9f9f372f33 PCI: do not force remove allocated devices
218c0f5f97 Use X-Forwarded-Proto as origin protocol if present
e7dc43bf84 Don't call begin_detaching when detaching volume from shelved vm
d2662df485 Fix port dns_name reset
1ac56a4038 Skip checking of target_dev for vhostuser
780ccfcbde Fix overcommit for NUMA-based instances
444d65221c Fix typo
a0f5618ffa Fix using template cell urls with nova-manage
ba269da87a Convert port to str when validate console port
6061186d2d Fix incompatible version handling in BuildRequest
6e1120ae30 Send context.global_id on neutron calls
8c678ae572 libvirt: Add workaround to cleanup instance dir when using rbd
7a0203c9ad Restore nova-consoleauth to install docs
e54b064c91 Add links to summit videos in user/cells.rst
99bf929024 Removing pip-missing-reqs from default tox jobs
eea3de99c6 Imported Translations from Zanata
f5d8ee1bfc Ensure rbd auth fallback uses matching credentials
56778f82d6 Fix destination_type attribute in the bdm_v2 documentation
87be408b12 Fix a broken link
3eb0ba988f Exclude build request marker from server listing
44d405083d Fix a broken-link in nova doc
c4db57c3de Fix a broken-link in nova doc
ec91a66da4 Fix an inaccurate link in nova doc
3b18ab4b32 Document using service user tokens for long running operations
bc0a5d0355 Handle unbound vif plug errors on compute restart
3e38d1cf16 Update port device_owner when unshelving
52b8973442 Fail to live migration if instance has a NUMA topology
db6fc29ad2 Make compute rpcapi version calculation check all cells
a8b5d0c2bd Migrate nova v2.0 legacy job to zuulv3


Diffstat (except docs and test files)
-------------------------------------

.zuul.yaml                                         |  71 ++++++---
.../admin/migrate-instance-with-snapshot.rst       |   4 +
nova/api/openstack/compute/instance_actions.py     |   9 +-
nova/api/openstack/compute/migrate_server.py       |   6 +-
nova/api/openstack/compute/servers.py              |   1 +
nova/api/openstack/compute/services.py             |  11 +-
nova/cmd/manage.py                                 |   4 +-
nova/cmd/status.py                                 |  61 +++++---
nova/compute/api.py                                |  38 ++++-
nova/compute/manager.py                            | 157 +++++++++++++------
nova/compute/resource_tracker.py                   |   5 +-
nova/compute/rpcapi.py                             |  11 +-
nova/compute/task_states.py                        |   7 +
nova/conductor/tasks/live_migrate.py               |  34 ++++
nova/conf/compute.py                               |   4 +
nova/conf/libvirt.py                               |   1 +
nova/conf/workarounds.py                           |  58 +++++++
nova/console/websocketproxy.py                     |   7 +
nova/locale/ko_KR/LC_MESSAGES/nova.po              |  11 +-
nova/network/neutronv2/api.py                      |  61 +++++++-
nova/network/os_vif_util.py                        |  12 ++
nova/objects/build_request.py                      |  10 +-
nova/objects/cell_mapping.py                       |   8 +-
nova/objects/instance.py                           |  11 ++
nova/objects/instance_mapping.py                   |   5 +
nova/objects/migrate_data.py                       |   2 +
nova/objects/numa.py                               |  17 +-
nova/objects/request_spec.py                       |  13 ++
nova/pci/manager.py                                |  35 ++++-
nova/scheduler/filter_scheduler.py                 |   5 +-
.../functional/regressions/test_bug_1815153.py     | 173 +++++++++++++++++++++
.../openstack/compute/admin_only_action_common.py  |  36 ++++-
.../api/openstack/compute/test_flavor_manage.py    |   5 +-
.../api/openstack/compute/test_instance_actions.py |  63 +++++++-
.../api/openstack/compute/test_migrate_server.py   |   8 +-
.../unit/api/openstack/compute/test_serversV21.py  |  14 +-
.../unit/api/openstack/compute/test_services.py    |  14 +-
.../unit/conductor/tasks/test_live_migrate.py      |  55 ++++++-
nova/virt/driver.py                                |   7 +-
nova/virt/fake.py                                  |   2 +-
nova/virt/hardware.py                              |  23 ++-
nova/virt/hyperv/driver.py                         |   2 +-
nova/virt/ironic/client_wrapper.py                 |   6 +
nova/virt/ironic/driver.py                         |  46 +++---
nova/virt/libvirt/driver.py                        |  52 ++-----
nova/virt/libvirt/guest.py                         |   5 +-
nova/virt/libvirt/imagebackend.py                  |  32 +++-
nova/virt/libvirt/volume/net.py                    |   5 +-
nova/virt/powervm/driver.py                        |   3 +-
nova/virt/vmwareapi/driver.py                      |   2 +-
nova/virt/xenapi/driver.py                         |   2 +-
nova/virt/zvm/driver.py                            |   2 +-
nova/volume/cinder.py                              |  15 +-
.../legacy/nova-grenade-live-migration/post.yaml   |  15 ++
.../legacy/nova-grenade-live-migration/run.yaml    |  58 +++++++
...1378904-disable-az-rename-b22a558a20b12706.yaml |   7 +
.../notes/bug-1414895-8f7d8da6499f8e94.yaml        |  24 +++
.../notes/bug-1815791-f84a913eef9e3b21.yaml        |  11 ++
...-live-migration-with-numa-bc710a1bcde25957.yaml |  25 +++
...nterface-for-ironicclient-a0b6b8f8dedc7341.yaml |   9 ++
tox.ini                                            |   5 +-
108 files changed, 2326 insertions(+), 452 deletions(-)







More information about the Release-announce mailing list