Get Me a Network

Registered by Matt Riedemann on 2016-02-18

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

http://specs.openstack.org/openstack/neutron-specs/specs/liberty/get-me-a-network.html

With changes:

https://review.openstack.org/#/q/topic:bp/get-me-a-network,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:

http://lists.openstack.org/pipermail/openstack-dev/2016-February/086437.html

Dependencies:

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: https://review.openstack.org/#/c/277683/10/neutron/tests/api/admin/test_auto_allocated_topology.py

Blueprint information

Status:
Complete
Approver:
Michael Still
Priority:
High
Drafter:
Matt Riedemann
Direction:
Approved
Assignee:
Matt Riedemann
Definition:
Approved
Series goal:
Accepted for newton
Implementation:
Implemented
Milestone target:
milestone icon newton-3
Started by
Matt Riedemann on 2016-03-25
Completed by
Matt Riedemann on 2016-08-17

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/get-me-a-network,n,z

Addressed by: https://review.openstack.org/283206
    WIP: Get Me a Network

Addressed by: https://review.openstack.org/297870
    Add NetworkRequestList.from_tuples helper

Addressed by: https://review.openstack.org/297871
    Add helpers to NetworkRequest(List) objects for auto/none cases

Addressed by: https://review.openstack.org/297876
    WIP: neutron: validate auto-allocate is available

Addressed by: https://review.openstack.org/297906
    nova-net: handle 'auto' network request in allocate_for_instance

Addressed by: https://review.openstack.org/309574
    neutron: validate auto-allocate is available

Addressed by: https://review.openstack.org/309602
    Skip network validation if explicitly requesting no networks

Addressed by: https://review.openstack.org/309638
    WIP: Skip network allocation if 'none' is requested

Addressed by: https://review.openstack.org/316275
    neutron: handle 'auto' network request in allocate_for_instance

Addressed by: https://review.openstack.org/316398
    WIP: Add REST API support for get me a network

Addressed by: https://review.openstack.org/318953
    Bump the service version for get-me-a-network support

Addressed by: https://review.openstack.org/333480
    Handle UnableToAutoAllocateNetwork in _build_and_run_instance

Addressed by: https://review.openstack.org/356147
    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.

Subscribers

No subscribers.