Templates for networking

Registered by Aleksey Kasatkin

Feature Lead: Alexey Kasatkin
Mandatory Design Reviewers: Andrew Woodward, Sergey Vasilenko
Developers: Ivan Kliuk, Ryan Moe, Sergey Vasilenko, Stas Makar
QA: Alexander Kostrikov, Artem Panchenko

As a cloud administrator I would like to have a certain level of flexibility in networking configuration.

Description:
- Template solution is proposed to provide the following capabilities:
1. Ability to have variable number of networks.
2. Have a specific set of network roles.
3. Ability to create network only in case relevant node role is present on the node.
4. Ability to provide custom networking topologies (e.g. subinterface bonding).
- It is required to have an ability to use specific networks for swift & cinder traffic.
- All the networking metadata which is now defined within networks should be moved to network roles description.

Blueprint information

Status:
Complete
Approver:
Andrey Maximov
Priority:
Essential
Drafter:
Aleksey Kasatkin
Direction:
Approved
Assignee:
Aleksey Kasatkin
Definition:
Approved
Series goal:
Accepted for 7.0.x
Implementation:
Implemented
Milestone target:
milestone icon 7.0
Started by
Aleksey Kasatkin
Completed by
Aleksey Kasatkin

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/templates-for-networking,n,z

Addressed by: https://review.openstack.org/195109
    Blueprint: templates-for-networking

Addressed by: https://review.openstack.org/195447
    Add network roles metadata

Addressed by: https://review.openstack.org/196101
    Get rid of fixed networks' names

Addressed by: https://review.openstack.org/196110
    Add NETWORK method for get_network_role_property function

Addressed by: https://review.openstack.org/196602
    Add get_nodes_hash_by_roles parser function

Addressed by: https://review.openstack.org/196886
    Add API handler for setting network template

Addressed by: https://review.openstack.org/197046
    Fix get_nodes_hash_by_roles parser function

Addressed by: https://review.openstack.org/197092
    Flaxible networking for openstack-cinder task

Addressed by: https://review.openstack.org/197145
    Network template serializer

Addressed by: https://review.openstack.org/197164
    Add new parser function: get_network_role_to_ipaddr_map()

Addressed by: https://review.openstack.org/197314
    Prepare Swift for work over network-roles, instead fixed networks

Addressed by: https://review.openstack.org/197490
    Clarify the role for get_nodes_hash_by_roles function

Addressed by: https://review.openstack.org/197110
    Add possibility to deploy swift proxy

Gerrit topic: https://review.openstack.org/#q,topic:bp/detach-components-from-controllers,n,z

Addressed by: https://review.openstack.org/197731
    Add get_default_gateways() parser function

Addressed by: https://review.openstack.org/197901
    Adapt management HAproxy/VIP/VR to advanced networking

Addressed by: https://review.openstack.org/197913
    Adapt public HAproxy/VIP/VR to advanced networking

Addressed by: https://review.openstack.org/198573
    Add test case with network templates

Addressed by: https://review.openstack.org/198756
    Disable bonding and network configuration if template exists

Gerrit topic: https://review.openstack.org/#q,topic:bp/templates-for-networking__swift,n,z

Addressed by: https://review.openstack.org/199101
    Prepare some global constants for using network_roles

Gerrit topic: https://review.openstack.org/#q,topic:bp/templates-for-networking__globals,n,z

Addressed by: https://review.openstack.org/199174
    Adapt NOOP test to flaxible networking

Addressed by: https://review.openstack.org/199184
    Prepare RabbitMQ task for using 'mgmt/messaging' network role

Addressed by: https://review.openstack.org/199207
    Prepare glance task for using network roles instead

Addressed by: https://review.openstack.org/199521
    Add 'objects.Cluster.get_network_roles' method

Addressed by: https://review.openstack.org/199508
    Support Nova-Network with granular network roles

Gerrit topic: https://review.openstack.org/#q,topic:bp/templates-for-networking_man_vips,n,z

Addressed by: https://review.openstack.org/199982
    Prepare Keystone for using network-roles, instead fixed networks

Gerrit topic: https://review.openstack.org/#q,topic:bp/templates-for-networking__keystone,n,z

Addressed by: https://review.openstack.org/200056
    Add 'default_endpoints' to 'network_roles_metadata'

Addressed by: https://review.openstack.org/200091
    Adapt corosync/pacemaker to flexible networking

Gerrit topic: https://review.openstack.org/#q,topic:bp/templates-for-networking__rabbitmq,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bp/templates-for-networking__glance,n,z

Addressed by: https://review.openstack.org/200475
    Fix NOOP tests for flexible networking

Addressed by: https://review.openstack.org/200603
    Adapt database to flexible networking

Addressed by: https://review.openstack.org/201217
    API for managing network groups

Gerrit topic: https://review.openstack.org/#q,topic:bp/templates-for-networking__corosync,n,z

Gerrit topic: https://review.openstack.org/#q,topic:bug/1467700,n,z

Addressed by: https://review.openstack.org/194438
    Use ceph network endpoints to configure ceph networks

Addressed by: https://review.openstack.org/201487
    Adapt horizon to flexible networking

Addressed by: https://review.openstack.org/201522
    Adapt Memcached to advanced networking

Addressed by: https://review.openstack.org/202031
    Adapt Ceilometer to advanced networking

Addressed by: https://review.openstack.org/202142
    Add neutron/mesh role handling

Addressed by: https://review.openstack.org/202166
    Temporary workaround for changing VIP format from string to hash

Addressed by: https://review.openstack.org/202335
    Revert "Prepare Swift for using network-roles, instead of fixed networks"

Addressed by: https://review.openstack.org/202338
    Revert "Prepare Keystone for using network-roles, instead fixed networks"

Addressed by: https://review.openstack.org/202437
    Remove temporary workaround for VIP names and format

Addressed by: https://review.openstack.org/202483
    Adapt mongo to flexible networking

Gerrit topic: https://review.openstack.org/#q,topic:bp/templates-for-networking__VIPs,n,z

Addressed by: https://review.openstack.org/203176
    Add nova/migration network role

Addressed by: https://review.openstack.org/203186
    Add node_roles to VIP description

Addressed by: https://review.openstack.org/203561
    Adapt Neutron to flexible networking

Addressed by: https://review.openstack.org/203575
    Adapt heat to flexible networking

Addressed by: https://review.openstack.org/203602
    [WIP] Add network templates functionality

Addressed by: https://review.openstack.org/203943
    Adapt nova to use network roles for flexible networking

Addressed by: https://review.openstack.org/204004
    [Nailgun] Get network group from networking template

Addressed by: https://review.openstack.org/204208
    Separate nova live migration to nova/migration network role

Gerrit topic: https://review.openstack.org/#q,topic:bp/templates-for-networking__live_migration,n,z

Addressed by: https://review.openstack.org/204321
    Add support for network groups

Gerrit topic: https://review.openstack.org/#q,topic:bp/templates-for-networking__neutron,n,z

Addressed by: https://review.openstack.org/204559
    Adapt Sahara to flexible networking

Addressed by: https://review.openstack.org/204560
    Use mongo_roles instead of mongo_nodes

Addressed by: https://review.openstack.org/204568
    Adapt Murano to flexible networking

Addressed by: https://review.openstack.org/201247
    Refactor virtual_ips task

Gerrit topic: https://review.openstack.org/#q,topic:vips,n,z

Addressed by: https://review.openstack.org/206159
    Fix appearance and sync with latest changes

Addressed by: https://review.openstack.org/207771
    Correct default network roles mapping

Addressed by: https://review.openstack.org/214268
    [WIP] Add advanced checks to net templates tests

Addressed by: https://review.openstack.org/217299
    Test for multiple networks with templates

Addressed by: https://review.openstack.org/221987
    Test adding nodes to cloud with network template

Addressed by: https://review.openstack.org/223493
    Add networking template for manual test case

Addressed by: https://review.openstack.org/223494
    Add networking template for manual test case

Gerrit topic: https://review.openstack.org/#q,topic:bug/1479743,n,z

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.