Get Me a Network

Registered by Matt Riedemann

This is the nova side of the neutron get-me-a-network spec:

With changes:,n,z

The main idea for the nova changes is:

1. User requests to create an instance and doesn't provide any network information in the create request.
2. When allocating network information for the instance:
  a) if a network is not provided and
  b) the project does not have access to a private network or a public shared network and
  c) the neutron auto-allocate-topology extension is enabled then
  d) Nova will request neutron to auto-allocate the network which nova will then use to associate with the instance (a port will be created by nova in the auto-allocated network).

A microversion will be added to the nova REST API to signal this change.

TBD: with the microversion, does nova default to auto-allocate the network and the user has to opt out of that if they don't want a network on the initial instance create, or does the user have to specify if they want a network auto-allocated? To be answered in the spec discussion and/or nova meeting on 2/18.

See the mailing list discussion on the microversion question:


1. The auto-allocate-topology REST API in neutron (merged in mitaka)
2. python API bindings in python-neutronclient for the auto-allocate-topology API (WIP)
3. devstack changes to setup the default public network and subnets:

Blueprint information

Michael Still
Matt Riedemann
Matt Riedemann
Series goal:
Accepted for newton
Milestone target:
milestone icon newton-3
Started by
Matt Riedemann
Completed by
Matt Riedemann

Related branches



Gerrit topic:,topic:bp/get-me-a-network,n,z

Addressed by:
    WIP: Get Me a Network

Addressed by:
    Add NetworkRequestList.from_tuples helper

Addressed by:
    Add helpers to NetworkRequest(List) objects for auto/none cases

Addressed by:
    WIP: neutron: validate auto-allocate is available

Addressed by:
    nova-net: handle 'auto' network request in allocate_for_instance

Addressed by:
    neutron: validate auto-allocate is available

Addressed by:
    Skip network validation if explicitly requesting no networks

Addressed by:
    WIP: Skip network allocation if 'none' is requested

Addressed by:
    neutron: handle 'auto' network request in allocate_for_instance

Addressed by:
    WIP: Add REST API support for get me a network

Addressed by:
    Bump the service version for get-me-a-network support

Addressed by:
    Handle UnableToAutoAllocateNetwork in _build_and_run_instance

Addressed by:
    Amend spec for 'get me a network'


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.


No subscribers.