diff --git a/network/ports/port.j2 b/network/ports/port.j2 index bca7cc59e8..45e14d4184 100644 --- a/network/ports/port.j2 +++ b/network/ports/port.j2 @@ -58,6 +58,11 @@ parameters: default: delete constraints: - allowed_values: [delete, retain] + DefaultRoute: + description: > + Whether this interface is used for the default route + type: boolean + default: false conditions: network_is_ctlplane: @@ -98,6 +103,10 @@ resources: template: tripleo_stack_name=$STACK_NAME params: $STACK_NAME: {get_param: RootStackName} + - str_replace: + template: tripleo_default_route=$BOOL + params: + $BOOL: {get_param: DefaultRoute} outputs: ip_address: diff --git a/network/ports/port_from_pool.j2 b/network/ports/port_from_pool.j2 index 942c054710..d269710ee7 100644 --- a/network/ports/port_from_pool.j2 +++ b/network/ports/port_from_pool.j2 @@ -60,6 +60,11 @@ parameters: {%- endif %} description: Cidr for the {{network.name_lower}} network. type: string + DefaultRoute: # Here for compatibility + description: > + Whether this interface is used for the default route + type: boolean + default: false outputs: ip_address: diff --git a/puppet/role.role.j2.yaml b/puppet/role.role.j2.yaml index 9369a5da8e..53c8eb9e5b 100644 --- a/puppet/role.role.j2.yaml +++ b/puppet/role.role.j2.yaml @@ -338,6 +338,9 @@ resources: {%- endif %} - {get_param: {{role.name}}IPs} NodeIndex: {get_param: NodeIndex} +{%- if role.default_route_networks is defined and network.name in role.default_route_networks %} + DefaultRoute: true +{%- endif %} {%- endif %} {%- endfor %}