d727795d66
This adds the 2.37 microversion to the REST API for automatically allocating a network, i.e. get me a network. The majority of the changes to the REST API concern request validation. 'networks' is now required in the server POST body after this microversion. The 'auto' or 'none' special network uuid values are used, but if specified, can not be specified with any other requested network values. The other special case that is checked is when the minimum compute service version is not new enough to support this change, i.e. a Mitaka compute will not have the network API code that knows how to deal with the special auto/none network IDs. Because the REST API is checking the service version, the service caches the service version after the first check. Once all computes are updated to Newton then a restart of the nova-api service(s) will be required to flush the cache. A release note is provided for this situation. The api-ref docs are also updated for this microversion including an example API sample request. The matching Tempest change to test this is here: I89b18709e0cfbbcbf9be96a91a13a1356cdf85b0 The matching python-novaclient change is here: I6636ddcd3be7bf393d2d69cc6c1ba5c7d65ff674 Implements blueprint get-me-a-network Change-Id: I89b18709e0cfbbcbf9be96a91a13a1356cdf85b0
39 lines
2.0 KiB
YAML
39 lines
2.0 KiB
YAML
---
|
|
features:
|
|
- |
|
|
The 2.37 microversion adds support for automatic allocation of network
|
|
resources for a project when ``networks: auto`` is specified in a server
|
|
create request. If the project does not have any networks available to it
|
|
and the ``auto-allocated-topology`` API is available in the Neutron
|
|
networking service, Nova will call that API to allocate resources for the
|
|
project. There is some setup required in the deployment for the
|
|
``auto-allocated-topology`` API to work in Neutron. See the
|
|
`Additional features`_ section of the OpenStack Networking Guide
|
|
for more details for setting up this feature in Neutron.
|
|
|
|
.. note:: The API does not default to 'auto'. However, python-novaclient
|
|
will default to passing 'auto' for this microversion if no specific
|
|
network values are provided to the CLI.
|
|
|
|
.. note:: This feature is not available until all of the compute services
|
|
in the deployment are running Newton code. This is to avoid sending a
|
|
server create request to a Mitaka compute that can not understand a
|
|
network ID of 'auto' or 'none'. If this is the case, the API will treat
|
|
the request as if ``networks`` was not in the server create request body.
|
|
Once all computes are upgraded to Newton, a restart of the nova-api
|
|
service will be required to use this new feature.
|
|
|
|
.. _Additional features: http://docs.openstack.org/networking-guide/intro-os-networking-features.html
|
|
|
|
upgrade:
|
|
- |
|
|
The 2.37 microversion enforces the following:
|
|
|
|
* ``networks`` is required in the server create request body for the API.
|
|
Specifying ``networks: auto`` is similar to not requesting specific
|
|
networks when creating a server before 2.37.
|
|
* The ``uuid`` field in the ``networks`` object of a server create request
|
|
is now required to be in UUID format, it cannot be a random string. More
|
|
specifically, the API used to support a nic uuid with a "br-" prefix but
|
|
that is a legacy artifact which is no longer supported.
|