Browse Source
This change converts the existing NIC templates to jinja2 in order to dynamically render the ports and networks according to the network_data.yaml. If networks are added to the network_data.yaml file, parameters will be added to all NIC templates. The YAML files (as output from jinja with the default network_data.yaml) are present as an example. The roles in roles_data.yaml are used to produce NIC configs for the standard and custom composable roles. In order to keep the ordering of NICs the same in the multiple-nics templates, the order of networks was changed in the network_data.yaml file. This is reflected in the network templates, and in some of the files that is the only change. The roles and roles_data.yaml were modified to include a legacy name for the NIC config templates for the built-in roles Controller, Compute, Object Storage, Block Storage, Ceph Storage, Compute-DPDK, and Networker roles. There will now be a file produced with the legacy name, but also one produced with the <role>-role.j2.yaml format (along with environment files to help use the new filenames). Note this change also fixes some typos as well as a number of templates that had VLANs with device: entries which were ignored. Closes-Bug: 1737041 Depends-On: I49c0245c36de3103671080fd1c8cfb3432856f35 Change-Id: I3bdb7d00dab5a023dd8b9c94c0f89f84357ae7a4changes/38/523638/32
98 changed files with 1234 additions and 4765 deletions
@ -0,0 +1,12 @@
|
||||
# This template configures each role to use a pair of bonded nics (nic2 and |
||||
# nic3) and configures an IP address on each relevant isolated network |
||||
# for each role. This template assumes use of network-isolation.yaml. |
||||
# |
||||
# FIXME: if/when we add functionality to heatclient to include heat |
||||
# environment files we should think about using it here to automatically |
||||
# include network-isolation.yaml. |
||||
resource_registry: |
||||
{%- for role in roles %} |
||||
# Port assignments for the {{role.name}} |
||||
OS::TripleO::{{role.name}}::Net::SoftwareConfig: ../network/config/bond-with-vlans/{{role.deprecated_nic_config_name|default(role.name.lower().yaml)}} |
||||
{%- endfor %} |
@ -1,13 +0,0 @@
|
||||
# This template configures each role to use a pair of bonded nics (nic2 and |
||||
# nic3) and configures an IP address on each relevant isolated network |
||||
# for each role. This template assumes use of network-isolation.yaml. |
||||
# |
||||
# FIXME: if/when we add functionality to heatclient to include heat |
||||
# environment files we should think about using it here to automatically |
||||
# include network-isolation.yaml. |
||||
resource_registry: |
||||
OS::TripleO::BlockStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/cinder-storage.yaml |
||||
OS::TripleO::Compute::Net::SoftwareConfig: ../network/config/bond-with-vlans/compute.yaml |
||||
OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/bond-with-vlans/controller.yaml |
||||
OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/swift-storage.yaml |
||||
OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/ceph-storage.yaml |
@ -0,0 +1,12 @@
|
||||
# This template configures each role to use a separate NIC for |
||||
# each isolated network. |
||||
# This template assumes use of network-isolation.yaml. |
||||
# |
||||
# FIXME: if/when we add functionality to heatclient to include heat |
||||
# environment files we should think about using it here to automatically |
||||
# include network-isolation.yaml. |
||||
resource_registry: |
||||
{%- for role in roles %} |
||||
# Port assignments for the {{role.name}} |
||||
OS::TripleO::{{role.name}}::Net::SoftwareConfig: ../network/config/multiple-nics/{{role.deprecated_nic_config_name|default(role.name.lower().yaml)}} |
||||
{%- endfor %} |
@ -1,13 +0,0 @@
|
||||
# This template configures each role to use a separate NIC for |
||||
# each isolated network. |
||||
# This template assumes use of network-isolation.yaml. |
||||
# |
||||
# FIXME: if/when we add functionality to heatclient to include heat |
||||
# environment files we should think about using it here to automatically |
||||
# include network-isolation.yaml. |
||||
resource_registry: |
||||
OS::TripleO::BlockStorage::Net::SoftwareConfig: ../network/config/multiple-nics/cinder-storage.yaml |
||||
OS::TripleO::Compute::Net::SoftwareConfig: ../network/config/multiple-nics/compute.yaml |
||||
OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/multiple-nics/controller.yaml |
||||
OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/multiple-nics/swift-storage.yaml |
||||
OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/multiple-nics/ceph-storage.yaml |
@ -0,0 +1,12 @@
|
||||
# This template configures each role to use Vlans on a single nic for |
||||
# each isolated network. |
||||
# This template assumes use of network-isolation.yaml. |
||||
# |
||||
# FIXME: if/when we add functionality to heatclient to include heat |
||||
# environment files we should think about using it here to automatically |
||||
# include network-isolation.yaml. |
||||
resource_registry: |
||||
{%- for role in roles %} |
||||
# Port assignments for the {{role.name}} |
||||
OS::TripleO::{{role.name}}::Net::SoftwareConfig: ../network/config/single-nic-linux-bridge-vlans/{{role.deprecated_nic_config_name|default(role.name.lower().yaml)}} |
||||
{%- endfor %} |
@ -1,13 +0,0 @@
|
||||
# This template configures each role to use Vlans on a single nic for |
||||
# each isolated network. |
||||
# This template assumes use of network-isolation.yaml. |
||||
# |
||||
# FIXME: if/when we add functionality to heatclient to include heat |
||||
# environment files we should think about using it here to automatically |
||||
# include network-isolation.yaml. |
||||
resource_registry: |
||||
OS::TripleO::BlockStorage::Net::SoftwareConfig: ../network/config/single-nic-linux-bridge-vlans/cinder-storage.yaml |
||||
OS::TripleO::Compute::Net::SoftwareConfig: ../network/config/single-nic-linux-bridge-vlans/compute.yaml |
||||
OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/single-nic-linux-bridge-vlans/controller.yaml |
||||
OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/single-nic-linux-bridge-vlans/swift-storage.yaml |
||||
OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/single-nic-linux-bridge-vlans/ceph-storage.yaml |
@ -0,0 +1,12 @@
|
||||
# This template configures each role to use Vlans on a single nic for |
||||
# each isolated network. |
||||
# This template assumes use of network-isolation.yaml. |
||||
# |
||||
# FIXME: if/when we add functionality to heatclient to include heat |
||||
# environment files we should think about using it here to automatically |
||||
# include network-isolation.yaml. |
||||
resource_registry: |
||||
{%- for role in roles %} |
||||
# Port assignments for the {{role.name}} |
||||
OS::TripleO::{{role.name}}::Net::SoftwareConfig: ../network/config/single-nic-vlans/{{role.deprecated_nic_config_name|default(role.name.lower().yaml)}} |
||||
{%- endfor %} |
@ -1,13 +0,0 @@
|
||||
# This template configures each role to use Vlans on a single nic for |
||||
# each isolated network. |
||||
# This template assumes use of network-isolation.yaml. |
||||
# |
||||
# FIXME: if/when we add functionality to heatclient to include heat |
||||
# environment files we should think about using it here to automatically |
||||
# include network-isolation.yaml. |
||||
resource_registry: |
||||
OS::TripleO::BlockStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/cinder-storage.yaml |
||||
OS::TripleO::Compute::Net::SoftwareConfig: ../network/config/single-nic-vlans/compute.yaml |
||||
OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/single-nic-vlans/controller.yaml |
||||
OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/swift-storage.yaml |
||||
OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/ceph-storage.yaml |
@ -0,0 +1,64 @@
|
||||
# NOTE: This file is deprecated, and is included for backwards-compatibility |
||||
# for use in upgrades. For new deployments, set ipv6: true for isolated |
||||
# networks using IPv6 (Tenant network should use IPv4 for tunneling), |
||||
# and set the default_route_networks to "['ControlPlane', 'External']" |
||||
# on the Controller role to use ControlPlane for IPv4 and External for IPv6 |
||||
# default routes, and include network-environment.yaml instead of this file. |
||||
resource_registry: |
||||
# Network Interface templates to use (these files must exist). You can |
||||
# override these by including one of the net-*.yaml environment files, |
||||
# such as net-bond-with-vlans-v6.yaml, or modifying the list here. |
||||
{%- for role in roles %} |
||||
# Port assignments for the {{role.name}} |
||||
OS::TripleO::{{role.name}}::Net::SoftwareConfig: |
||||
../network/config/single-nic-vlans/{{role.deprecated_nic_config_name|default(role.name.lower().yaml)}} |
||||
{%- endfor %} |
||||
|
||||
parameter_defaults: |
||||
# This section is where deployment-specific configuration is done |
||||
# CIDR subnet mask length for provisioning network |
||||
ControlPlaneSubnetCidr: '24' |
||||
# Gateway router for the provisioning network (or Undercloud IP) |
||||
ControlPlaneDefaultRoute: 192.168.24.254 |
||||
EC2MetadataIp: 192.168.24.1 # Generally the IP of the Undercloud |
||||
# Customize the IP subnets to match the local environment |
||||
{%- for network in networks if network.enabled|default(true) %} |
||||
{%- if network.name != 'Tenant' %} |
||||
{{network.name}}NetCidr: '{{network.ipv6_subnet}}' |
||||
{%- else %} |
||||
# Tenant tunneling network is IPv4 until IPv6 is fully supported |
||||
{{network.name}}NetCidr: '{{network.ip_subnet}}' |
||||
{%- endif %} |
||||
{%- endfor %} |
||||
# Customize the VLAN IDs to match the local environment |
||||
{%- for network in networks if network.enabled|default(true) %} |
||||
{{network.name}}NetworkVlanID: {{network.vlan}} |
||||
{%- endfor %} |
||||
# Customize the IP ranges on each network to use for static IPs and VIPs |
||||
{%- for network in networks if network.enabled|default(true) %} |
||||
{%- if network.name == 'External' %} |
||||
# Leave room if the external network is also used for floating IPs |
||||
{%- endif %} |
||||
{%- if network.name != 'Tenant' %} |
||||
{{network.name}}AllocationPools: {{network.ipv6_allocation_pools}} |
||||
{%- else %} |
||||
# Tenant tunneling network should be IPv4 |
||||
{{network.name}}AllocationPools: {{network.ip_allocation_pools}} |
||||
{%- endif %} |
||||
{%- endfor %} |
||||
# Gateway routers for routable networks |
||||
{%- for network in networks if network.enabled|default(true) and network.gateway_ipv6|default(false) %} |
||||
{{network.name}}InterfaceDefaultRoute: '{{network.gateway_ipv6}}' |
||||
{%- endfor %} |
||||
{#- FIXME: These global parameters should be defined in a YAML file, e.g. network_data.yaml. #} |
||||
# Define the DNS servers (maximum 2) for the overcloud nodes |
||||
DnsServers: ["8.8.8.8","8.8.4.4"] |
||||
# List of Neutron network types for tenant networks (will be used in order) |
||||
NeutronNetworkType: 'vxlan,vlan' |
||||
# The tunnel type for the tenant network (vxlan or gre). Set to '' to disable tunneling. |
||||
NeutronTunnelTypes: 'vxlan' |
||||
# Neutron VLAN ranges per network, for example 'datacentre:1:499,tenant:500:1000': |
||||
NeutronNetworkVLANRanges: 'datacentre:1:1000' |
||||
# Customize bonding options, e.g. "mode=4 lacp_rate=1 updelay=1000 miimon=100" |
||||
# for Linux bonds w/LACP, or "bond_mode=active-backup" for OVS active/backup. |
||||
BondInterfaceOvsOptions: "bond_mode=active-backup" |
@ -1,60 +0,0 @@
|
||||
#This file is an example of an environment file for defining the isolated |
||||
#networks and related parameters. |
||||
resource_registry: |
||||
# Network Interface templates to use (these files must exist) |
||||
OS::TripleO::BlockStorage::Net::SoftwareConfig: |
||||
../network/config/single-nic-vlans/cinder-storage.yaml |
||||
OS::TripleO::Compute::Net::SoftwareConfig: |
||||
../network/config/single-nic-vlans/compute.yaml |
||||
OS::TripleO::Controller::Net::SoftwareConfig: |
||||
../network/config/single-nic-vlans/controller.yaml |
||||
OS::TripleO::ObjectStorage::Net::SoftwareConfig: |
||||
../network/config/single-nic-vlans/swift-storage.yaml |
||||
OS::TripleO::CephStorage::Net::SoftwareConfig: |
||||
../network/config/single-nic-vlans/ceph-storage.yaml |
||||
|
||||
parameter_defaults: |
||||
# This section is where deployment-specific configuration is done |
||||
# CIDR subnet mask length for provisioning network |
||||
ControlPlaneSubnetCidr: '24' |
||||
# Gateway router for the provisioning network (or Undercloud IP) |
||||
ControlPlaneDefaultRoute: 192.168.24.254 |
||||
EC2MetadataIp: 192.168.24.1 # Generally the IP of the Undercloud |
||||
# Customize the IP subnets to match the local environment |
||||
InternalApiNetCidr: 'fd00:fd00:fd00:2000::/64' |
||||
StorageNetCidr: 'fd00:fd00:fd00:3000::/64' |
||||
StorageMgmtNetCidr: 'fd00:fd00:fd00:4000::/64' |
||||
# Tenant tunneling network is IPv4 until IPv6 is fully supported |
||||
TenantNetCidr: 172.16.0.0/24 |
||||
ExternalNetCidr: '2001:db8:fd00:1000::/64' |
||||
# Customize the VLAN IDs to match the local environment |
||||
InternalApiNetworkVlanID: 20 |
||||
StorageNetworkVlanID: 30 |
||||
StorageMgmtNetworkVlanID: 40 |
||||
TenantNetworkVlanID: 50 |
||||
ExternalNetworkVlanID: 10 |
||||
# Customize the IP ranges on each network to use for static IPs and VIPs |
||||
InternalApiAllocationPools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}] |
||||
StorageAllocationPools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}] |
||||
StorageMgmtAllocationPools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}] |
||||
TenantAllocationPools: [{'start': '172.16.0.10', 'end': '172.16.0.200'}] |
||||
# Leave room if the external network is also used for floating IPs |
||||
ExternalAllocationPools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}] |
||||
# Gateway router for the external network |
||||
ExternalInterfaceDefaultRoute: '2001:db8:fd00:1000::1' |
||||
# Uncomment if using the Management Network (see network-management-v6.yaml) |
||||
# ManagementNetCidr: 'fd00:fd00:fd00:6000::/64' |
||||
# ManagementAllocationPools: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}] |
||||
# Use either this parameter or ControlPlaneDefaultRoute in the NIC templates |
||||
# ManagementInterfaceDefaultRoute: 'fd00:fd00:fd00:6000::1' |
||||
# Define the DNS servers (maximum 2) for the overcloud nodes |
||||
DnsServers: ["8.8.8.8","8.8.4.4"] |
||||
# List of Neutron network types for tenant networks (will be used in order) |
||||
NeutronNetworkType: 'vxlan,vlan' |
||||
# The tunnel type for the tenant network (vxlan or gre). Set to '' to disable tunneling. |
||||
NeutronTunnelTypes: 'vxlan' |
||||
# Neutron VLAN ranges per network, for example 'datacentre:1:499,tenant:500:1000': |
||||
NeutronNetworkVLANRanges: 'datacentre:1:1000' |
||||
# Customize bonding options, e.g. "mode=4 lacp_rate=1 updelay=1000 miimon=100" |
||||
# for Linux bonds w/LACP, or "bond_mode=active-backup" for OVS active/backup. |
||||
BondInterfaceOvsOptions: "bond_mode=active-backup" |
@ -0,0 +1,61 @@
|
||||
#This file is an example of an environment file for defining the isolated |
||||
#networks and related parameters. |
||||
resource_registry: |
||||
# Network Interface templates to use (these files must exist). You can |
||||
# override these by including one of the net-*.yaml environment files, |
||||
# such as net-bond-with-vlans.yaml, or modifying the list here. |
||||
{%- for role in roles %} |
||||
# Port assignments for the {{role.name}} |
||||
OS::TripleO::{{role.name}}::Net::SoftwareConfig: |
||||
../network/config/single-nic-vlans/{{role.deprecated_nic_config_name|default(role.name.lower().yaml)}} |
||||
{%- endfor %} |
||||
|
||||
parameter_defaults: |
||||
# This section is where deployment-specific configuration is done |
||||
# CIDR subnet mask length for provisioning network |
||||
ControlPlaneSubnetCidr: '24' |
||||
# Gateway router for the provisioning network (or Undercloud IP) |
||||
ControlPlaneDefaultRoute: 192.168.24.254 |
||||
EC2MetadataIp: 192.168.24.1 # Generally the IP of the Undercloud |
||||
# Customize the IP subnets to match the local environment |
||||
{%- for network in networks if network.enabled|default(true) %} |
||||
{%- if network.ipv6|default(false) %} |
||||
{{network.name}}NetCidr: '{{network.ipv6_subnet}}' |
||||
{%- else %} |
||||
{{network.name}}NetCidr: '{{network.ip_subnet}}' |
||||
{%- endif %} |
||||
{%- endfor %} |
||||
# Customize the VLAN IDs to match the local environment |
||||
{%- for network in networks if network.enabled|default(true) %} |
||||
{{network.name}}NetworkVlanID: {{network.vlan}} |
||||
{%- endfor %} |
||||
{%- for network in networks if network.enabled|default(true) %} |
||||
{%- if network.name == 'External' %} |
||||
# Leave room if the external network is also used for floating IPs |
||||
{%- endif %} |
||||
{%- if network.ipv6|default(false) %} |
||||
{{network.name}}AllocationPools: {{network.ipv6_allocation_pools}} |
||||
{%- else %} |
||||
{{network.name}}AllocationPools: {{network.allocation_pools}} |
||||
{%- endif %} |
||||
{%- endfor %} |
||||
# Gateway routers for routable networks |
||||
{%- for network in networks if network.enabled|default(true) %} |
||||
{%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %} |
||||
{{network.name}}InterfaceDefaultRoute: '{{network.gateway_ipv6}}' |
||||
{%- elif network.gateway_ip|default(false) %} |
||||
{{network.name}}InterfaceDefaultRoute: '{{network.gateway_ip}}' |
||||
{%- endif %} |
||||
{%- endfor %} |
||||
{#- FIXME: These global parameters should be defined in a YAML file, e.g. network_data.yaml. #} |
||||
# Define the DNS servers (maximum 2) for the overcloud nodes |
||||
DnsServers: ["8.8.8.8","8.8.4.4"] |
||||
# List of Neutron network types for tenant networks (will be used in order) |
||||
NeutronNetworkType: 'vxlan,vlan' |
||||
# The tunnel type for the tenant network (vxlan or gre). Set to '' to disable tunneling. |
||||
NeutronTunnelTypes: 'vxlan' |
||||
# Neutron VLAN ranges per network, for example 'datacentre:1:499,tenant:500:1000': |
||||
NeutronNetworkVLANRanges: 'datacentre:1:1000' |
||||
# Customize bonding options, e.g. "mode=4 lacp_rate=1 updelay=1000 miimon=100" |
||||
# for Linux bonds w/LACP, or "bond_mode=active-backup" for OVS active/backup. |
||||
BondInterfaceOvsOptions: "bond_mode=active-backup" |
@ -1,59 +0,0 @@
|
||||
#This file is an example of an environment file for defining the isolated |
||||
#networks and related parameters. |
||||
resource_registry: |
||||
# Network Interface templates to use (these files must exist) |
||||
OS::TripleO::BlockStorage::Net::SoftwareConfig: |
||||
../network/config/single-nic-vlans/cinder-storage.yaml |
||||
OS::TripleO::Compute::Net::SoftwareConfig: |
||||
../network/config/single-nic-vlans/compute.yaml |
||||
OS::TripleO::Controller::Net::SoftwareConfig: |
||||
../network/config/single-nic-vlans/controller.yaml |
||||
OS::TripleO::ObjectStorage::Net::SoftwareConfig: |
||||
../network/config/single-nic-vlans/swift-storage.yaml |
||||
OS::TripleO::CephStorage::Net::SoftwareConfig: |
||||
../network/config/single-nic-vlans/ceph-storage.yaml |
||||
|
||||
parameter_defaults: |
||||
# This section is where deployment-specific configuration is done |
||||
# CIDR subnet mask length for provisioning network |
||||
ControlPlaneSubnetCidr: '24' |
||||
# Gateway router for the provisioning network (or Undercloud IP) |
||||
ControlPlaneDefaultRoute: 192.168.24.254 |
||||
EC2MetadataIp: 192.168.24.1 # Generally the IP of the Undercloud |
||||
# Customize the IP subnets to match the local environment |
||||
InternalApiNetCidr: 172.17.0.0/24 |
||||
StorageNetCidr: 172.18.0.0/24 |
||||
StorageMgmtNetCidr: 172.19.0.0/24 |
||||
TenantNetCidr: 172.16.0.0/24 |
||||
ExternalNetCidr: 10.0.0.0/24 |
||||
# Customize the VLAN IDs to match the local environment |
||||
InternalApiNetworkVlanID: 20 |
||||
StorageNetworkVlanID: 30 |
||||
StorageMgmtNetworkVlanID: 40 |
||||
TenantNetworkVlanID: 50 |
||||
ExternalNetworkVlanID: 10 |
||||
# Customize the IP ranges on each network to use for static IPs and VIPs |
||||
InternalApiAllocationPools: [{'start': '172.17.0.10', 'end': '172.17.0.200'}] |
||||
StorageAllocationPools: [{'start': '172.18.0.10', 'end': '172.18.0.200'}] |
||||
StorageMgmtAllocationPools: [{'start': '172.19.0.10', 'end': '172.19.0.200'}] |
||||
TenantAllocationPools: [{'start': '172.16.0.10', 'end': '172.16.0.200'}] |
||||
# Leave room if the external network is also used for floating IPs |
||||
ExternalAllocationPools: [{'start': '10.0.0.10', 'end': '10.0.0.50'}] |
||||
# Gateway router for the external network |
||||
ExternalInterfaceDefaultRoute: 10.0.0.1 |
||||
# Uncomment if using the Management Network (see network-management.yaml) |
||||
# ManagementNetCidr: 10.0.1.0/24 |
||||
# ManagementAllocationPools: [{'start': '10.0.1.10', 'end': '10.0.1.50'}] |
||||
# Use either this parameter or ControlPlaneDefaultRoute in the NIC templates |
||||
# ManagementInterfaceDefaultRoute: 10.0.1.1 |
||||
# Define the DNS servers (maximum 2) for the overcloud nodes |
||||
DnsServers: ["8.8.8.8","8.8.4.4"] |
||||
# List of Neutron network types for tenant networks (will be used in order) |
||||
NeutronNetworkType: 'vxlan,vlan' |
||||
# The tunnel type for the tenant network (vxlan or gre). Set to '' to disable tunneling. |
||||
NeutronTunnelTypes: 'vxlan' |
||||
# Neutron VLAN ranges per network, for example 'datacentre:1:499,tenant:500:1000': |
||||
NeutronNetworkVLANRanges: 'datacentre:1:1000' |
||||
# Customize bonding options, e.g. "mode=4 lacp_rate=1 updelay=1000 miimon=100" |
||||
# for Linux bonds w/LACP, or "bond_mode=active-backup" for OVS active/backup. |
||||
BondInterfaceOvsOptions: "bond_mode=active-backup" |
@ -1,35 +1,17 @@
|
||||
heat_template_version: queens |
||||
description: > |
||||
Software Config to drive os-net-config for a simple bridge. |
||||
Software Config to drive os-net-config for a simple interface on a bridge. |
||||
parameters: |
||||
ControlPlaneIp: |
||||
default: '' |
||||
description: IP address/subnet on the ctlplane network |
||||
type: string |
||||
ExternalIpSubnet: |
||||
{%- for network in networks %} |
||||
{{network.name}}IpSubnet: |
||||
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: |
||||
default: '' |
||||
description: IP address/subnet on the management network |
||||
description: IP address/subnet on the {{network.name_lower}} network |
||||
type: string |
||||
{%- endfor %} |
||||
resources: |
||||
OsNetConfigImpl: |
||||
type: OS::Heat::SoftwareConfig |
@ -1,35 +1,17 @@
|
||||
heat_template_version: queens |
||||
description: > |
||||
Software Config to drive os-net-config for a simple bridge. |
||||
Software Config to drive os-net-config for a simple linux bridge. |
||||
parameters: |
||||
ControlPlaneIp: |
||||
default: '' |
||||
description: IP address/subnet on the ctlplane network |
||||
type: string |
||||
ExternalIpSubnet: |
||||
{%- for network in networks %} |
||||
{{network.name}}IpSubnet: |
||||
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: |
||||
default: '' |
||||
description: IP address/subnet on the management network |
||||
description: IP address/subnet on the {{network.name_lower}} network |
||||
type: string |
||||
{%- endfor %} |
||||
ControlPlaneDefaultRoute: # Override this via parameter_defaults |
||||
description: The default route of the control plane network. |
||||
type: string |
@ -0,0 +1,29 @@
|
||||
heat_template_version: queens |
||||
|
||||
description: > |
||||
Software Config to no-op for os-net-config. Using this will allow you |
||||
to use the parameter driven (init-neutron-ovs) configuration instead. |
||||
|
||||
parameters: |
||||
ControlPlaneIp: |
||||
default: '' |
||||
description: IP address/subnet on the ctlplane network |
||||
type: string |
||||
{%- for network in networks %} |
||||
{{network.name}}IpSubnet: |
||||
default: '' |
||||
description: IP address/subnet on the {{network.name_lower}} network |
||||
type: string |
||||
{%- endfor %} |
||||
|
||||
resources: |
||||
OsNetConfigImpl: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
group: apply-config |
||||
config: {} |
||||
|
||||
outputs: |
||||
OS::stack_id: |
||||
description: The OsNetConfigImpl resource. |
||||
value: {get_resource: OsNetConfigImpl} |
@ -1,47 +0,0 @@
|
||||
heat_template_version: queens |
||||
|
||||
description: > |
||||
Software Config to no-op for os-net-config. Using this will allow you |
||||
to use the parameter driven (init-neutron-ovs) configuration instead. |
||||
|
||||
parameters: |
||||
ControlPlaneIp: |
||||
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: |
||||
default: '' |
||||
description: IP address/subnet on the management network |
||||
type: string |
||||
|
||||
resources: |
||||
OsNetConfigImpl: |
||||
type: OS::Heat::StructuredConfig |
||||
properties: |
||||
group: apply-config |
||||
config: {} |
||||
|
||||
outputs: |
||||
OS::stack_id: |
||||
description: The OsNetConfigImpl resource. |
||||
value: {get_resource: OsNetConfigImpl} |
@ -1,35 +1,18 @@
|
||||
heat_template_version: queens |
||||
description: > |
||||
Software Config to drive os-net-config for a simple bridge configured with a static IP address for the ctlplane network. |
||||
Software Config to drive os-net-config for a simple bridge configured with a |
||||
static IP address for the ctlplane network. |
||||
parameters: |
||||
ControlPlaneIp: |
||||
default: '' |
||||
description: IP address/subnet on the ctlplane network |
||||
type: string |
||||
ExternalIpSubnet: |
||||
{%- for network in networks %} |
||||
{{network.name}}IpSubnet: |
||||
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: |
||||
default: '' |
||||
description: IP address/subnet on the management network |
||||
description: IP address/subnet on the {{network.name_lower}} network |
||||
type: string |
||||
{%- endfor %} |
||||
ControlPlaneSubnetCidr: # Override this via parameter_defaults |
||||
default: '24' |
||||
description: The subnet CIDR of the control plane network. |
@ -1,35 +1,17 @@
|
||||
heat_template_version: queens |
||||
description: > |
||||
Software Config to drive os-net-config for a simple bridge. |
||||
Software Config to drive os-net-config for a simple interface with DHCP. |
||||
parameters: |
||||
ControlPlaneIp: |
||||
default: '' |
||||
description: IP address/subnet on the ctlplane network |
||||
type: string |
||||
ExternalIpSubnet: |
||||
{%- for network in networks %} |
||||
{{network.name}}IpSubnet: |
||||
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: |
||||
default: '' |
||||
description: IP address/subnet on the management network |
||||
description: IP address/subnet on the {{network.name_lower}} network |
||||
type: string |
||||
{%- endfor %} |
||||
ControlPlaneSubnetCidr: # Override this via parameter_defaults |
||||
default: '24' |
||||
description: The subnet CIDR of the control plane network. |
@ -1,35 +1,18 @@
|
||||
heat_template_version: queens |
||||
description: > |
||||
Software Config to drive os-net-config for a simple bridge configured with a static IP address for the ctlplane network. |
||||
Software Config to drive os-net-config for a simple bridge configured with a |
||||
static IP address for the ctlplane network. |
||||
parameters: |
||||
ControlPlaneIp: |
||||
default: '' |
||||
description: IP address/subnet on the ctlplane network |
||||
type: string |
||||
ExternalIpSubnet: |
||||
{%- for network in networks %} |
||||
{{network.name}}IpSubnet: |
||||
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: |
||||
default: '' |
||||
description: IP address/subnet on the management network |
||||
description: IP address/subnet on the {{network.name_lower}} network |
||||
type: string |
||||
{%- endfor %} |
||||
ControlPlaneSubnetCidr: # Override this via parameter_defaults |
||||
default: '24' |
||||
description: The subnet CIDR of the control plane network. |
@ -1,165 +0,0 @@
|
||||
heat_template_version: queens |
||||
description: > |
||||
Software Config to drive os-net-config with 2 bonded nics on a bridge with VLANs attached for the ceph storage role. |
||||
parameters: |
||||
ControlPlaneIp: |
||||
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 |
||||
BondInterfaceOvsOptions: |
||||
default: '' |
||||
description: 'The ovs_options or bonding_options string for the bond |
||||
interface. Set things like lacp=active and/or bond_mode=balance-slb |
||||
for OVS bonds or like mode=4 for Linux bonds using this option.' |
||||
type: string |
||||
constraints: |
||||
- allowed_pattern: ^((?!balance.tcp).)*$ |
||||
description: 'The balance-tcp bond mode is known to cause packet loss and |
||||
should not be used in BondInterfaceOvsOptions.' |
||||
ExternalNetworkVlanID: |
||||
default: 10 |
||||
description: Vlan ID for the external network traffic. |
||||
type: number |
||||
InternalApiNetworkVlanID: |
||||
default: 20 |
||||
description: Vlan ID for the internal_api network traffic. |
||||
type: number |
||||
StorageNetworkVlanID: |
||||
default: 30 |
||||
description: Vlan ID for the storage network traffic. |
||||
type: number |
||||
StorageMgmtNetworkVlanID: |
||||
default: 40 |
||||
description: Vlan ID for the storage mgmt network traffic. |
||||
type: number |
||||
TenantNetworkVlanID: |
||||
default: 50 |
||||
description: Vlan ID for the tenant network traffic. |
||||
type: number |
||||
ManagementNetworkVlanID: |
||||
default: 60 |
||||
description: Vlan ID for the management network traffic. |
||||
type: number |
||||
ControlPlaneSubnetCidr: # Override this via parameter_defaults |
||||
default: '24' |
||||
description: The subnet CIDR of the control plane network. |
||||
type: string |
||||
ControlPlaneDefaultRoute: # Override this via parameter_defaults |
||||
description: The default route of the control plane network. |
||||
type: string |
||||
ExternalInterfaceDefaultRoute: # Not used by default in this template |
||||
default: 10.0.0.1 |
||||
description: The default route of the external network. |
||||
type: string |
||||
ManagementInterfaceDefaultRoute: # Commented out by default in this template |
||||
default: unset |
||||
description: The default route of the management network. |
||||
type: string |
||||
DnsServers: # Override this via parameter_defaults |
||||
default: [] |
||||
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. |
||||
type: comma_delimited_list |
||||
EC2MetadataIp: # Override this via parameter_defaults |
||||
description: The IP address of the EC2 metadata server. |
||||
type: string |
||||
resources: |
||||
OsNetConfigImpl: |
||||
type: OS::Heat::SoftwareConfig |
||||
properties: |
||||
group: script |
||||
config: |
||||
str_replace: |
||||
template: |
||||
get_file: ../../scripts/run-os-net-config.sh |
||||
params: |
||||
$network_config: |
||||
network_config: |
||||
- type: interface |
||||
name: nic1 |
||||
use_dhcp: false |
||||
dns_servers: |
||||
get_param: DnsServers |
||||
addresses: |
||||
- ip_netmask: |
||||
list_join: |
||||
- / |
||||
- - get_param: ControlPlaneIp |
||||
- get_param: ControlPlaneSubnetCidr |
||||
routes: |
||||
- ip_netmask: 169.254.169.254/32 |
||||
next_hop: |
||||
get_param: EC2MetadataIp |
||||
- default: true |
||||
next_hop: |
||||
get_param: ControlPlaneDefaultRoute |
||||
- type: ovs_bridge |
||||
name: br-bond |
||||
members: |
||||
- type: ovs_bond |
||||
name: bond1 |
||||
ovs_options: |
||||
get_param: BondInterfaceOvsOptions |
||||
members: |
||||
- type: interface |
||||
name: nic2 |
||||
primary: true |
||||
- type: interface |
||||
name: nic3 |
||||
- type: vlan |
||||
device: bond1 |
||||
vlan_id: |
||||
get_param: StorageNetworkVlanID |
||||
addresses: |
||||
- ip_netmask: |
||||
get_param: StorageIpSubnet |
||||
- type: vlan |
||||
device: bond1 |
||||
vlan_id: |
||||
get_param: StorageMgmtNetworkVlanID |
||||
addresses: |
||||
- ip_netmask: |
||||
get_param: StorageMgmtIpSubnet |
||||
# Uncomment when including environments/network-management.yaml |
||||
# If setting default route on the Management interface, comment |
||||
# out the default route on the Control Plane. |
||||
#- |
||||
# type: vlan |
||||
# device: bond1 |
||||
# vlan_id: {get_param: ManagementNetworkVlanID} |
||||
# addresses: |
||||
# - |
||||
# ip_netmask: {get_param: ManagementIpSubnet} |
||||
# routes: |
||||
# - |
||||
# default: true |
||||
# next_hop: {get_param: ManagementInterfaceDefaultRoute} |
||||
outputs: |
||||
OS::stack_id: |
||||
description: The OsNetConfigImpl resource. |
||||
value: |
||||
get_resource: OsNetConfigImpl |
||||
|
@ -1,172 +0,0 @@
|
||||
heat_template_version: queens |
||||
description: > |
||||
Software Config to drive os-net-config with 2 bonded nics on a bridge with VLANs attached for the cinder storage role. |
||||
parameters: |
||||
ControlPlaneIp: |
||||
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 |
||||
BondInterfaceOvsOptions: |
||||
default: '' |
||||
description: 'The ovs_options or bonding_options string for the bond |
||||
interface. Set things like lacp=active and/or bond_mode=balance-slb |
||||
for OVS bonds or like mode=4 for Linux bonds using this option.' |
||||
type: string |
||||
constraints: |
||||
- allowed_pattern: ^((?!balance.tcp).)*$ |
||||
description: 'The balance-tcp bond mode is known to cause packet loss and |
||||
should not be used in BondInterfaceOvsOptions.' |
||||
ExternalNetworkVlanID: |
||||
default: 10 |
||||
description: Vlan ID for the external network traffic. |
||||
type |