diff options
Diffstat (limited to 'build/nics-template.yaml.jinja2')
-rw-r--r-- | build/nics-template.yaml.jinja2 | 130 |
1 files changed, 104 insertions, 26 deletions
diff --git a/build/nics-template.yaml.jinja2 b/build/nics-template.yaml.jinja2 index 959a3926..6d1fb9c0 100644 --- a/build/nics-template.yaml.jinja2 +++ b/build/nics-template.yaml.jinja2 @@ -9,30 +9,14 @@ parameters: default: '' description: IP address/subnet on the ctlplane network type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal API network - type: string - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage mgmt network - type: string - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string + ControlPlaneStaticRoutes: + default: [] + description: > + Routes for the ctlplane 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 ExternalNetworkVlanID: default: 10 description: Vlan ID for the external network traffic. @@ -75,6 +59,90 @@ parameters: EC2MetadataIp: # Override this via parameter_defaults description: The IP address of the EC2 metadata server. type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + ExternalInterfaceRoutes: + default: [] + description: > + Routes for the external 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 + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal_api network + type: string + InternalApiInterfaceRoutes: + default: [] + description: > + Routes for the internal_api 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 + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageInterfaceRoutes: + default: [] + description: > + Routes for the storage 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 + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage_mgmt network + type: string + StorageMgmtInterfaceRoutes: + default: [] + description: > + Routes for the storage_mgmt 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 + StorageNFSIpSubnet: + default: '' + description: IP address/subnet on the storage_nfs network + type: string + StorageNFSRoutes: + default: [] + description: > + Routes for the storage_nfs 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 + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + TenantInterfaceRoutes: + default: [] + description: > + Routes for the tenant 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 + ManagementIpSubnet: + default: '' + description: IP address/subnet on the management network + type: string + ManagementInterfaceRoutes: + default: [] + description: > + Routes for the management 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 resources: OsNetConfigImpl: @@ -190,6 +258,18 @@ resources: name: {{ nets['tenant']['nic_mapping'][role]['members'][0] }} # force the MAC address of the bridge to this interface primary: true + {%- elif nets['tenant']['segmentation_type'] == 'vlan' %} + type: ovs_bridge + name: br-vlan + use_dhcp: false + addresses: + - + ip_netmask: {get_param: TenantIpSubnet} + members: + - + type: interface + name: {{ nets['tenant']['nic_mapping'][role]['members'][0] }} + primary: true {%- else %} - type: {{ nets['tenant']['nic_mapping'][role]['phys_type'] }} @@ -242,7 +322,6 @@ resources: name: {{ nets['external'][0]['nic_mapping'][role]['members'][0] }} # force the MAC address of the bridge to this interface primary: true - {%- if role == 'controller' %} dns_servers: {get_param: DnsServers} addresses: - @@ -252,7 +331,6 @@ resources: default: true ip_netmask: 0.0.0.0/0 next_hop: {get_param: ExternalInterfaceDefaultRoute} - {%- endif %} {%- endif %} {%- if nets['storage']['enabled'] and nets['storage']['nic_mapping'][role]['vlan'] == 'native' %} - |