host_routes using get_attr (Composable Networks)
Uses get_attr on the port resource to resolve attribute value from neutron subnet 'host_routes' attribute and pass it to the parameter '{{network.name}}InterfaceRoutes' in network configuration templates. A conditional is used in puppet/role.role.j2.yaml. The user provided parameter value is used whenever it is not the default: []. This allow advanced user's to override the routes in neutron. Co-Authored-By: Dan Sneddon <dsneddon@redhat.com> Partial: blueprint tripleo-routed-networks-templates Change-Id: Ie44b211c4aeab9ca79d7994f31961e34aa3517e6
This commit is contained in:
parent
f5f6553797
commit
d27ec26e56
@ -267,6 +267,16 @@ parameters:
|
|||||||
If not set the nameservers configured in the ctlplane subnet's
|
If not set the nameservers configured in the ctlplane subnet's
|
||||||
dns_nameservers attribute will be used.
|
dns_nameservers attribute will be used.
|
||||||
type: comma_delimited_list
|
type: comma_delimited_list
|
||||||
|
{%- for network in networks %}
|
||||||
|
{{network.name}}InterfaceRoutes:
|
||||||
|
default: []
|
||||||
|
description: >
|
||||||
|
Routes for the {{network.name_lower}} network traffic.
|
||||||
|
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
||||||
|
Unless the default is changed, the parameter is automatically resolved
|
||||||
|
from the subnet host_routes attribute.
|
||||||
|
type: json
|
||||||
|
{%- endfor %}
|
||||||
|
|
||||||
ServerDeletionPolicy:
|
ServerDeletionPolicy:
|
||||||
description: Whether to retain or delete servers on deletion of the stack
|
description: Whether to retain or delete servers on deletion of the stack
|
||||||
@ -337,6 +347,11 @@ conditions:
|
|||||||
equals:
|
equals:
|
||||||
- {get_param: [{{role.name}}IPs, '{{network.name_lower}}', {get_param: NodeIndex}]}
|
- {get_param: [{{role.name}}IPs, '{{network.name_lower}}', {get_param: NodeIndex}]}
|
||||||
- ''
|
- ''
|
||||||
|
{{network.name_lower}}_interface_routes_set:
|
||||||
|
not:
|
||||||
|
equals:
|
||||||
|
- {get_param: {{network.name}}InterfaceRoutes}
|
||||||
|
- []
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
ctlplane_subnet_cidr_set:
|
ctlplane_subnet_cidr_set:
|
||||||
not:
|
not:
|
||||||
@ -504,6 +519,11 @@ resources:
|
|||||||
|
|
||||||
{%- for network in networks %}
|
{%- for network in networks %}
|
||||||
{{network.name}}IpSubnet: {get_attr: [{{network.name}}Port, ip_subnet]}
|
{{network.name}}IpSubnet: {get_attr: [{{network.name}}Port, ip_subnet]}
|
||||||
|
{{network.name}}InterfaceRoutes:
|
||||||
|
if:
|
||||||
|
- {{network.name_lower}}_interface_routes_set
|
||||||
|
- {get_param: {{network.name}}InterfaceRoutes}
|
||||||
|
- {get_attr: [{{network.name}}Port, host_routes]}
|
||||||
{%- endfor %}
|
{%- endfor %}
|
||||||
|
|
||||||
NetIpMap:
|
NetIpMap:
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Routes specified in the ``host_routes`` attribute of neutron subnets is
|
||||||
|
passed to ``{{network.name}}InterfaceRoutes`` in network templates. (The
|
||||||
|
routes in neutron subnet's ``host_routes`` can be configured by setting the
|
||||||
|
``routes`` field in ``network_data.yaml``.)
|
Loading…
Reference in New Issue
Block a user