Enable composable/custom networks

Registered by Steven Hardy on 2017-05-31

Enable composable/custom networks, similar to how we enable custom roles via j2 rendering of templates. Our current approach to network-isolation has hard-coded references to each network, and there are several situations where allowing operator full control over the number, name and role assignment of each network would be useful.

This may also be useful in the context of the tripleo-routed-networks-deployment blueprint (spine/leaf)

Blueprint information

Status:
Complete
Approver:
Emilien Macchi
Priority:
High
Drafter:
Steven Hardy
Direction:
Approved
Assignee:
Steven Hardy
Definition:
Approved
Series goal:
Accepted for pike
Implementation:
Implemented
Milestone target:
milestone icon pike-rc1
Started by
Steven Hardy on 2017-05-31
Completed by
Steven Hardy on 2017-08-23

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/composable-networks,n,z

Addressed by: https://review.openstack.org/469416
    Pass all role data into role templates when rendering

Addressed by: https://review.openstack.org/469421
    Convert role templates to consume roles_data map

Addressed by: https://review.openstack.org/469822
    Pass network_data into per-role j2 templating

Addressed by: https://review.openstack.org/409920
    Make network-isolation environment rendered for all roles

Addressed by: https://review.openstack.org/469853
    Convert role templates to consume roles_data map

Addressed by: https://review.openstack.org/469854
    Modify generic role template to support custom networks

Addressed by: https://review.openstack.org/475612
    Render isolated network templates using jinja2

Addressed by: https://review.openstack.org/476682
    Pass all network data to render network/port templates

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

Addressed by: https://review.openstack.org/480270
    Remove deprecated controllerExtraConfig parameter

Addressed by: https://review.openstack.org/480271
    Add NodeTLSData to generic role.role.j2.yaml

Addressed by: https://review.openstack.org/480272
    Convert controller-role.yaml to role.role.j2.yaml

Addressed by: https://review.openstack.org/481147
    Remove hardcoded enable_load_balancer from Controller role

Addressed by: https://review.openstack.org/481145
    Remove controller specific bootstack_nodeid

Addressed by: https://review.openstack.org/481084
    Remove special-case of memcache node ips for ipv6

Addressed by: https://review.openstack.org/482623
    Convert compute-role.yaml to role.role.j2.yaml

Addressed by: https://review.openstack.org/482624
    Convert objectstorage-role.yaml to role.role.j2.yaml

Addressed by: https://review.openstack.org/482625
    Convert blockstorage-role.yaml to role.role.j2.yaml

Addressed by: https://review.openstack.org/482626
    Convert cephstorage-role.yaml to role.role.j2.yaml

Addressed by: https://review.openstack.org/486260
    Render VIPs dynamically based on network_data.yaml

Addressed by: https://review.openstack.org/486280
    Render IP map and host maps according to network_data.yaml

Gerrit topic: https://review.openstack.org/#q,topic:bp/composable-networks-third,n,z

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

Addressed by: https://review.openstack.org/492218
    Convert network templates to be rendered via j2

Addressed by: https://review.openstack.org/492550
    Remove ipv6 specific network templates

Gerrit topic: https://review.openstack.org/#q,topic:haproxy-tls-template,n,z

Addressed by: https://review.openstack.org/491446
    Move HAProxy's public TLS logic from controller to service template

Addressed by: https://review.openstack.org/493933
    Add -n/--networks-data option

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

Addressed by: https://review.openstack.org/493984
    Render IP map and host maps according to network_data.yaml

Addressed by: https://review.openstack.org/495367
    Render port templates via j2

Addressed by: https://review.openstack.org/499385
    Remove ipv6 specific network templates

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

Addressed by: https://review.openstack.org/500146
    Remove ipv6 specific network templates

Addressed by: https://review.openstack.org/504008
    Add -n/--networks-data option

Addressed by: https://review.openstack.org/504076
    Add tests for networks-data option

Addressed by: https://review.openstack.org/521493
    Add composable networks documentation

Addressed by: https://review.openstack.org/546935
    Add NodeTLSData to generic role.role.j2.yaml

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.