[release-announce] nova 18.1.0 (rocky)

no-reply at openstack.org no-reply at openstack.org
Wed Dec 19 10:17:43 UTC 2018


We are amped to announce the release of:

nova 18.1.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.1.0
^^^^^^


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

* The "nova-manage db online_data_migrations" command now returns
  exit status 2 in the case where some migrations failed (raised
  exceptions) and no others were completed successfully from the last
  batch attempted. This should be considered a fatal condition that
  requires intervention. Exit status 1 will be returned in the case
  where the "--max-count" option was used and some migrations failed
  but others succeeded (updated at least one row), because more work
  may remain for the non-failing migrations, and their completion may
  be a dependency for the failing ones. The command should be
  reiterated while it returns exit status 1, and considered completed
  successfully only when it returns exit status 0.


Bug Fixes
*********

* The "long_rpc_timeout" configuration option is now used for the
  RPC call to the scheduler to select a host. This is in order to
  avoid a timeout when scheduling multiple servers in a single request
  and/or when the scheduler needs to process a large number of hosts.

* A new
  "[workarounds]/report_ironic_standard_resource_class_inventory"
  configuration option has been added.

  Starting in the 16.0.0 Pike release, ironic nodes can be scheduled
  using custom resource classes rather than the standard resource
  classes VCPU, MEMORY_MB and DISK_GB:

  https://docs.openstack.org/ironic/rocky/install/configure-nova-
  flavors.html

  However, existing ironic instances require a data migration which
  can be achieved either by restarting "nova-compute" services
  managing ironic nodes or running "nova-manage db
  ironic_flavor_migration". The completion of the data migration can
  be checked by running the "nova-status upgrade check" command and
  checking the "Ironic Flavor Migration" result.

  Once all data migrations are complete, you can set this option to
  False to stop reporting VCPU, MEMORY_MB and DISK_GB resource class
  inventory to the Placement service so that scheduling will only rely
  on the custom resource class for each ironic node, as described in
  the document above.

  Note that this option does not apply starting in the 19.0.0 Stein
  release since the ironic compute driver no longer reports standard
  resource class inventory regardless of configuration.

  Alternatives to this workaround would be unsetting "memory_mb"
  and/or "vcpus" properties from ironic nodes, or using host
  aggregates to segregate VM from BM compute hosts and restrict
  flavors to those aggregates, but those alternatives might not be
  feasible at large scale.

  See related bug https://bugs.launchpad.net/nova/+bug/1796920 for
  more details.

* When testing whether direct IO is possible on the backing storage
  for an instance, Nova now uses a block size of 4096 bytes instead of
  512 bytes, avoiding issues when the underlying block device has
  sectors larger than 512 bytes. See bug
  https://launchpad.net/bugs/1801702 for details.

* The "os-simple-tenant-usage" pagination has been fixed. In some
  cases, nova usage-list would have returned incorrect results because
  of this. See bug https://launchpad.net/bugs/1796689 for details.

Changes in nova 18.0.3..18.1.0
------------------------------

25dc6a4 Remove GROUP BY clause from CellMapping.get_by_project_id
7ef3304 Add secret=true to fixed_key configuration parameter
cbb9eb5 Handle tags in _bury_in_cell0
58d3ac0 Only warn about not having computes nodes once in rpcapi
bbc431f Ignore MoxStubout deprecation warnings
3028d25 Create BDMs/tags in cell with instance when over-quota
5b7e904 Add functional regression test for bug 1806064
899b4ca Note the aggregate allocation ratio restriction in scheduler docs
0208d64 Fix InstanceNotFound during _destroy_evacuated_instances
83d74db Add functional regression test for bug 1794996
7e6375c Add a bug tag for nova doc
d571e43 Remove unnecessary redirect
e54c5fb Add description of custom resource classes
4b5a21b Use long_rpc_timeout in select_destinations RPC call
031f04a Imported Translations from Zanata
99b1b3f Don't use private interface in oslo.service
c689c09 Default embedded instance.flavor.is_public attribute
386e574 Make supports_direct_io work on 4096b sector size
e90e892 Consider root id is None in the database case
2ddb689 Add recreate test for bug 1799892
7520d15 Handle unicode characters in migration params
4c0342b Mention meta key suffix in tenant isolation with placement docs
74ed2fe Harden placement init under wsgi
980013d Properly track local root disk usage during moves
d4ec966 Add regression test for bug 1796737
26c5ee1 Provide allocation_ratio/reserved amounts from update_provider_tree()
57ca928 Add functional recreate test for bug 1799727
133b194 Fix os-simple-tenant-usage result order
732b057 Update resources once in update_available_resource
954b200 Don't persist RequestSpec.requested_destination
cb9c96f Add regression test for bug 1797580
dd8354e Handle online_data_migrations exceptions
940034c Fix NoneType error in _notify_volume_usage_detach
dfbcf5e Handle IndexError in _populate_neutron_binding_profile
8e463aa Time how long select_destinations() takes in conductor
f7d0a76 [stable-only] Add report_ironic_standard_resource_class_inventory option
3d4e4a4 Set defult value of num_nvme_discover_tries=5
057a05d De-dupe subnet IDs when calling neutron /subnets API
74f1db7 placement: Always reset conf.CONF when starting the wsgi app
b35b812 Wait for network-vif-plugged on resize revert
3c2f07f Validate transport_url in nova-manage cell_v2 commands
1c1c373 Refix disk size during live migration with disk over-commit
5e69018 hardware: fix memory check usage for small/large pages


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

.../v2.40/simple-tenant-usage-get-all.json         |  68 ++++++
nova/api/openstack/compute/simple_tenant_usage.py  |   3 +-
nova/api/openstack/placement/db_api.py             |   6 +-
.../placement/objects/resource_provider.py         |  50 ++++-
nova/api/openstack/placement/wsgi.py               |   5 +
nova/cmd/manage.py                                 |  40 +++-
nova/compute/manager.py                            |  20 +-
nova/compute/resource_tracker.py                   |  39 ++--
nova/compute/rpcapi.py                             |  13 +-
nova/conductor/manager.py                          |  40 +++-
nova/conf/key_manager.py                           |   1 +
nova/conf/libvirt.py                               |   2 +-
nova/conf/rpc.py                                   |   1 +
nova/conf/workarounds.py                           |  33 +++
nova/locale/ko_KR/LC_MESSAGES/nova.po              |  28 ++-
nova/network/neutronv2/api.py                      |  21 +-
nova/objects/cell_mapping.py                       |  16 +-
nova/objects/instance.py                           |  20 +-
nova/objects/request_spec.py                       |   8 +-
nova/privsep/utils.py                              |   4 +-
nova/scheduler/client/__init__.py                  |   3 -
nova/scheduler/rpcapi.py                           |   4 +-
nova/scheduler/utils.py                            |  33 ---
.../placement/db/test_allocation_candidates.py     | 107 +++++++++
.../v2.40/simple-tenant-usage-get-all.json.tpl     |  68 ++++++
.../functional/compute/test_resource_tracker.py    |  99 ++++++++
.../functional/regressions/test_bug_1794996.py     | 179 +++++++++++++++
.../functional/regressions/test_bug_1797580.py     |  97 ++++++++
.../functional/regressions/test_bug_1806064.py     | 140 ++++++++++++
.../functional/regressions/test_bug_1806515.py     |  69 ++++++
.../unit/api/openstack/placement/test_db_api.py    |  52 +++++
.../api_samples_test_base/test_compare_result.py   |   2 +-
nova/utils.py                                      |  43 ++++
nova/virt/driver.py                                |  18 ++
nova/virt/fake.py                                  |  33 +++
nova/virt/hardware.py                              |  89 +++++---
nova/virt/ironic/driver.py                         |  33 +--
nova/virt/libvirt/driver.py                        |  19 +-
nova/virt/libvirt/guest.py                         |   4 +-
...meout-select_destinations-9712e8690160928f.yaml |   7 +
..._resource_class_inventory-85c1fc629a08038d.yaml |  35 +++
.../notes/bug-1801702-c8203d3d55007deb.yaml        |   8 +
...e-tenant-usage-pagination-393ed6e7d0e31594.yaml |   6 +
...ne-migrations-exit-status-9de5ea7836d0e368.yaml |  13 ++
75 files changed, 2262 insertions(+), 344 deletions(-)







More information about the Release-announce mailing list