Merge "Render NIC config templates with jinja2"

This commit is contained in:
Zuul 2018-02-14 05:54:31 +00:00 committed by Gerrit Code Review
commit 9727a0d813
98 changed files with 1234 additions and 4765 deletions

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -48,7 +48,7 @@ parameters:
type: number type: number
StorageMgmtNetworkVlanID: StorageMgmtNetworkVlanID:
default: 40 default: 40
description: Vlan ID for the storage mgmt network traffic. description: Vlan ID for the storage_mgmt network traffic.
type: number type: number
TenantNetworkVlanID: TenantNetworkVlanID:
default: 50 default: 50

View File

@ -10,13 +10,14 @@
# environment files we should think about using it here to automatically # environment files we should think about using it here to automatically
# include network-isolation.yaml. # include network-isolation.yaml.
resource_registry: resource_registry:
# Set external ports to noop # Set external ports to noop
OS::TripleO::Network::External: OS::Heat::None OS::TripleO::Network::External: OS::Heat::None
OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/noop.yaml OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/noop.yaml
OS::TripleO::BlockStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/cinder-storage.yaml {%- for role in roles if role.name != "Controller" %}
OS::TripleO::Compute::Net::SoftwareConfig: ../network/config/bond-with-vlans/compute.yaml # 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 %}
# FIXME this should really be handled via enabled networks in roles_data not overriding here.
OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/bond-with-vlans/controller-no-external.yaml OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/bond-with-vlans/controller-no-external.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

View File

@ -7,8 +7,10 @@
# environment files we should think about using it here to automatically # environment files we should think about using it here to automatically
# include network-isolation-v6.yaml. # include network-isolation-v6.yaml.
resource_registry: resource_registry:
OS::TripleO::BlockStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/cinder-storage.yaml {%- for role in roles if role != "Controller" %}
OS::TripleO::Compute::Net::SoftwareConfig: ../network/config/bond-with-vlans/compute.yaml # 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 %}
# FIXME this should really be handled via setting ipv6:true in network_data not overriding here.
OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/bond-with-vlans/controller-v6.yaml OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/bond-with-vlans/controller-v6.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

View File

@ -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 %}

View File

@ -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

View File

@ -1,3 +1,5 @@
# NOTE: This environment file uses the compute-dpdk
#
# This template configures each role to use a pair of bonded nics (nic2 and # 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 # nic3) and configures an IP address on each relevant isolated network
# for each role. The nic4 and nic5 are configured for dpdkbond and a provider # for each role. The nic4 and nic5 are configured for dpdkbond and a provider
@ -8,8 +10,10 @@
# environment files we should think about using it here to automatically # environment files we should think about using it here to automatically
# include network-isolation.yaml. # include network-isolation.yaml.
resource_registry: resource_registry:
OS::TripleO::BlockStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/cinder-storage.yaml {%- for role in roles if role.name != "Compute" %}
# 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 %}
# FIXME this won't handle any custom compute roles, instead we should have a generic way to override this
OS::TripleO::Compute::Net::SoftwareConfig: ../network/config/bond-with-vlans/compute-dpdk.yaml OS::TripleO::Compute::Net::SoftwareConfig: ../network/config/bond-with-vlans/compute-dpdk.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

View File

@ -6,8 +6,10 @@
# environment files we should think about using it here to automatically # environment files we should think about using it here to automatically
# include network-isolation-v6.yaml. # include network-isolation-v6.yaml.
resource_registry: resource_registry:
OS::TripleO::BlockStorage::Net::SoftwareConfig: ../network/config/multiple-nics/cinder-storage.yaml {%- for role in roles if role.name != "Controller" %}
OS::TripleO::Compute::Net::SoftwareConfig: ../network/config/multiple-nics/compute.yaml # 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 %}
# FIXME this should really be handled via setting ipv6:true in network_data not overriding here.
OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/multiple-nics/controller-v6.yaml OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/multiple-nics/controller-v6.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

View File

@ -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 %}

View File

@ -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

View File

@ -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 %}

View File

@ -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

View File

@ -14,8 +14,10 @@ resource_registry:
OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/noop.yaml OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/noop.yaml
# Configure other ports as normal # Configure other ports as normal
OS::TripleO::BlockStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/cinder-storage.yaml {%- for role in roles if role.name != "Controller" %}
OS::TripleO::Compute::Net::SoftwareConfig: ../network/config/single-nic-vlans/compute.yaml # 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 %}
# FIXME this should really be handled via enabled networks in roles_data not overriding here.
OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/single-nic-vlans/controller-no-external.yaml OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/single-nic-vlans/controller-no-external.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

View File

@ -6,8 +6,10 @@
# environment files we should think about using it here to automatically # environment files we should think about using it here to automatically
# include network-isolation-v6.yaml. # include network-isolation-v6.yaml.
resource_registry: resource_registry:
OS::TripleO::BlockStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/cinder-storage.yaml {%- for role in roles if role.name != "Controller" %}
OS::TripleO::Compute::Net::SoftwareConfig: ../network/config/single-nic-vlans/compute.yaml # 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 %}
# FIXME this should really be handled via setting ipv6:true in network_data not overriding here.
OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/single-nic-vlans/controller-v6.yaml OS::TripleO::Controller::Net::SoftwareConfig: ../network/config/single-nic-vlans/controller-v6.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

View File

@ -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 %}

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -6,6 +6,11 @@
{%- endif -%} {%- endif -%}
{%- endfor -%} {%- endfor -%}
{%- set primary_role_name = primary_role[0].name -%} {%- set primary_role_name = primary_role[0].name -%}
# NOTE: This template is now deprecated, and is only included for compatibility
# when upgrading a deployment where this template was originally used. For new
# deployments, set "ipv6: true" on desired networks in network_data.yaml, and
# include network-isolation.yaml.
#
# Enable the creation of Neutron networks for isolated Overcloud # Enable the creation of Neutron networks for isolated Overcloud
# traffic and configure each role to assign ports (related # traffic and configure each role to assign ports (related
# to that role) on these networks. # to that role) on these networks.

View File

@ -16,30 +16,12 @@ parameters:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} 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 type: string
{%- endfor %}
resources: resources:
OsNetConfigImpl: OsNetConfigImpl:
type: OS::Heat::SoftwareConfig type: OS::Heat::SoftwareConfig
@ -71,4 +53,3 @@ outputs:
description: The OsNetConfigImpl resource. description: The OsNetConfigImpl resource.
value: value:
get_resource: OsNetConfigImpl get_resource: OsNetConfigImpl

View File

@ -1,35 +1,17 @@
heat_template_version: queens heat_template_version: queens
description: > 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: parameters:
ControlPlaneIp: ControlPlaneIp:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} 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 type: string
{%- endfor %}
resources: resources:
OsNetConfigImpl: OsNetConfigImpl:
type: OS::Heat::SoftwareConfig type: OS::Heat::SoftwareConfig

View File

@ -1,35 +1,17 @@
heat_template_version: queens heat_template_version: queens
description: > 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: parameters:
ControlPlaneIp: ControlPlaneIp:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} 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 type: string
{%- endfor %}
ControlPlaneDefaultRoute: # Override this via parameter_defaults ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network. description: The default route of the control plane network.
type: string type: string

29
net-config-noop.j2.yaml Normal file
View File

@ -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}

View File

@ -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}

View File

@ -1,35 +1,18 @@
heat_template_version: queens heat_template_version: queens
description: > 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
external DHCP and a static IP address for the ctlplane network.
parameters: parameters:
ControlPlaneIp: ControlPlaneIp:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} 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 type: string
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24' default: '24'
description: The subnet CIDR of the control plane network. description: The subnet CIDR of the control plane network.
@ -84,4 +67,3 @@ outputs:
description: The OsNetConfigImpl resource. description: The OsNetConfigImpl resource.
value: value:
get_resource: OsNetConfigImpl get_resource: OsNetConfigImpl

View File

@ -1,35 +1,18 @@
heat_template_version: queens heat_template_version: queens
description: > 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: parameters:
ControlPlaneIp: ControlPlaneIp:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} 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 type: string
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24' default: '24'
description: The subnet CIDR of the control plane network. description: The subnet CIDR of the control plane network.

View File

@ -1,35 +1,17 @@
heat_template_version: queens heat_template_version: queens
description: > 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: parameters:
ControlPlaneIp: ControlPlaneIp:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} 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 type: string
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24' default: '24'
description: The subnet CIDR of the control plane network. description: The subnet CIDR of the control plane network.

View File

@ -1,35 +1,18 @@
heat_template_version: queens heat_template_version: queens
description: > 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: parameters:
ControlPlaneIp: ControlPlaneIp:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} 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 type: string
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24' default: '24'
description: The subnet CIDR of the control plane network. description: The subnet CIDR of the control plane network.

View File

@ -1,5 +1,5 @@
This directory contains Heat templates to help configure This directory contains Heat templates to help configure
Vlans on a bonded pair of NICs for each Overcloud role. VLANs on a bonded pair of NICs for each Overcloud role.
There are two versions of the controller role template, one with There are two versions of the controller role template, one with
an external network interface, and another without. If the an external network interface, and another without. If the
@ -33,8 +33,10 @@ Same as above except set the following value for the controller role:
Configuration with System Management Network Configuration with System Management Network
-------------------------------------------- --------------------------------------------
To enable the optional System Management network, create a Heat environment The Management network is included for upgrade compatibility with
that looks something like this: previous versions, but disabled. To enable the optional System
Management network, create a Heat environment that looks something like
this:
resource\_registry: resource\_registry:
OS::TripleO::Network::Management: ../network/management.yaml OS::TripleO::Network::Management: ../network/management.yaml
@ -47,3 +49,9 @@ that looks something like this:
Or use this Heat environment file: Or use this Heat environment file:
environments/network-management.yaml environments/network-management.yaml
Or, enable the Management network in network_data.yaml, and add the network
to the list of networks used by each role in the role definition file
(e.g. roles_data.yaml). Refer to installation documentation for procedure
to generate a role file for custom roles.

View File

@ -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

View File

@ -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: 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: InternalApiNetworkVlanID
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- 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

View File

@ -1,64 +1,27 @@
# NOTE: This legacy template configures the Compute role for using OVS DPDK.
# This template is included for upgrades that originally used this file.
# If you are deploying a new installation, you should enable the ComputeOvsDpdk
# role and use compute-ovs-dpdk.yaml instead.
heat_template_version: queens heat_template_version: queens
description: > description: >
Software Config to drive os-net-config with OVS-DPDK bond in addition to the 2 bonded NICs with VLANs attached for the compute role. Software Config to drive os-net-config to configure VLANs for the compute role with DPDK.
parameters: parameters:
ControlPlaneIp: ControlPlaneIp:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} network
type: string type: string
InternalApiIpSubnet: {%- endfor %}
default: '' {%- for network in networks %}
description: IP address/subnet on the internal_api network {{network.name}}NetworkVlanID:
type: string default: {{network.vlan}}
StorageIpSubnet: description: Vlan ID for the {{network.name_lower}} network traffic.
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 bonding_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb using
this option. The default mode is active-backup.
type: string
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 type: number
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24' default: '24'
description: The subnet CIDR of the control plane network. description: The subnet CIDR of the control plane network.
@ -66,14 +29,19 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network. description: The default route of the control plane network.
type: string type: string
ExternalInterfaceDefaultRoute: # Not used by default in this template {%- for network in networks %}
default: 10.0.0.1 {%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
description: The default route of the external network. {{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string type: string
ManagementInterfaceDefaultRoute: # Commented out by default in this template {%- elif network.gateway_ip|default(false) %}
default: unset {{network.name}}InterfaceDefaultRoute:
description: The default route of the management network. default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string type: string
{%- endif %}
{%- endfor %}
DnsServers: # Override this via parameter_defaults DnsServers: # Override this via parameter_defaults
default: [] default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.

View File

@ -1,175 +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 compute 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: bridge_name
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: InternalApiNetworkVlanID
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
device: bond1
vlan_id:
get_param: StorageNetworkVlanID
addresses:
- ip_netmask:
get_param: StorageIpSubnet
# Uncomment when including environments/hyperconverged-ceph.yaml
#- type: vlan
# device: bond1
# vlan_id: {get_param: StorageMgmtNetworkVlanID}
# addresses:
# - ip_netmask: {get_param: StorageMgmtIpSubnet}
- type: vlan
device: bond1
vlan_id:
get_param: TenantNetworkVlanID
addresses:
- ip_netmask:
get_param: TenantIpSubnet
# 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

View File

@ -1,3 +1,7 @@
# NOTE: This template is now deprecated, and is only included for compatibility
# when upgrading a deployment where this template was originally used. For new
# deployments, remove the External network from the Controller role and set
# default_route_networks to ['ControlPlane'].
heat_template_version: queens heat_template_version: queens
description: > description: >
Software Config to drive os-net-config with 2 bonded nics on a bridge with VLANs attached for the controller role. Software Config to drive os-net-config with 2 bonded nics on a bridge with VLANs attached for the controller role.
@ -6,30 +10,12 @@ parameters:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} 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 type: string
{%- endfor %}
BondInterfaceOvsOptions: BondInterfaceOvsOptions:
default: '' default: ''
description: 'The ovs_options or bonding_options string for the bond description: 'The ovs_options or bonding_options string for the bond
@ -40,41 +26,28 @@ parameters:
- allowed_pattern: ^((?!balance.tcp).)*$ - allowed_pattern: ^((?!balance.tcp).)*$
description: 'The balance-tcp bond mode is known to cause packet loss and description: 'The balance-tcp bond mode is known to cause packet loss and
should not be used in BondInterfaceOvsOptions.' should not be used in BondInterfaceOvsOptions.'
ExternalNetworkVlanID: {%- for network in networks %}
default: 10 {{network.name}}NetworkVlanID:
description: Vlan ID for the external network traffic. default: {{network.vlan}}
type: number description: Vlan ID for the {{network.name_lower}} network traffic.
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 type: number
{%- endfor %}
ControlPlaneDefaultRoute: # Override this via parameter_defaults ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network. description: The default route of the control plane network.
type: string type: string
ExternalInterfaceDefaultRoute: {%- for network in networks %}
default: 10.0.0.1 {%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
description: default route for the external network {{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string type: string
ManagementInterfaceDefaultRoute: # Commented out by default in this template {%- elif network.gateway_ip|default(false) %}
default: unset {{network.name}}InterfaceDefaultRoute:
description: The default route of the management network. default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string type: string
{%- endif %}
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24' default: '24'
description: The subnet CIDR of the control plane network. description: The subnet CIDR of the control plane network.
@ -129,28 +102,24 @@ resources:
- type: interface - type: interface
name: nic3 name: nic3
- type: vlan - type: vlan
device: bond1
vlan_id: vlan_id:
get_param: InternalApiNetworkVlanID get_param: InternalApiNetworkVlanID
addresses: addresses:
- ip_netmask: - ip_netmask:
get_param: InternalApiIpSubnet get_param: InternalApiIpSubnet
- type: vlan - type: vlan
device: bond1
vlan_id: vlan_id:
get_param: StorageNetworkVlanID get_param: StorageNetworkVlanID
addresses: addresses:
- ip_netmask: - ip_netmask:
get_param: StorageIpSubnet get_param: StorageIpSubnet
- type: vlan - type: vlan
device: bond1
vlan_id: vlan_id:
get_param: StorageMgmtNetworkVlanID get_param: StorageMgmtNetworkVlanID
addresses: addresses:
- ip_netmask: - ip_netmask:
get_param: StorageMgmtIpSubnet get_param: StorageMgmtIpSubnet
- type: vlan - type: vlan
device: bond1
vlan_id: vlan_id:
get_param: TenantNetworkVlanID get_param: TenantNetworkVlanID
addresses: addresses:

View File

@ -8,30 +8,12 @@ parameters:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} 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 type: string
{%- endfor %}
BondInterfaceOvsOptions: BondInterfaceOvsOptions:
default: bond_mode=active-backup default: bond_mode=active-backup
description: 'The ovs_options or bonding_options string for the bond description: 'The ovs_options or bonding_options string for the bond
@ -42,30 +24,12 @@ parameters:
- allowed_pattern: ^((?!balance.tcp).)*$ - allowed_pattern: ^((?!balance.tcp).)*$
description: 'The balance-tcp bond mode is known to cause packet loss and description: 'The balance-tcp bond mode is known to cause packet loss and
should not be used in BondInterfaceOvsOptions.' should not be used in BondInterfaceOvsOptions.'
ExternalNetworkVlanID: {%- for network in networks %}
default: 10 {{network.name}}NetworkVlanID:
description: Vlan ID for the external network traffic. default: {{network.vlan}}
type: number description: Vlan ID for the {{network.name_lower}} network traffic.
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 type: number
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24' default: '24'
description: The subnet CIDR of the control plane network. description: The subnet CIDR of the control plane network.
@ -73,14 +37,19 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network. description: The default route of the control plane network.
type: string type: string
ExternalInterfaceDefaultRoute: {%- for network in networks %}
default: 10.0.0.1 {%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
description: default route for the external network {{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string type: string
ManagementInterfaceDefaultRoute: # Commented out by default in this template {%- elif network.gateway_ip|default(false) %}
default: unset {{network.name}}InterfaceDefaultRoute:
description: The default route of the management network. default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string type: string
{%- endif %}
{%- endfor %}
DnsServers: # Override this via parameter_defaults DnsServers: # Override this via parameter_defaults
default: [] default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.
@ -132,7 +101,6 @@ resources:
- type: interface - type: interface
name: nic3 name: nic3
- type: vlan - type: vlan
device: bond1
vlan_id: vlan_id:
get_param: ExternalNetworkVlanID get_param: ExternalNetworkVlanID
addresses: addresses:
@ -143,28 +111,24 @@ resources:
next_hop: next_hop:
get_param: ExternalInterfaceDefaultRoute get_param: ExternalInterfaceDefaultRoute
- type: vlan - type: vlan
device: bond1
vlan_id: vlan_id:
get_param: InternalApiNetworkVlanID get_param: InternalApiNetworkVlanID
addresses: addresses:
- ip_netmask: - ip_netmask:
get_param: InternalApiIpSubnet get_param: InternalApiIpSubnet
- type: vlan - type: vlan
device: bond1
vlan_id: vlan_id:
get_param: StorageNetworkVlanID get_param: StorageNetworkVlanID
addresses: addresses:
- ip_netmask: - ip_netmask:
get_param: StorageIpSubnet get_param: StorageIpSubnet
- type: vlan - type: vlan
device: bond1
vlan_id: vlan_id:
get_param: StorageMgmtNetworkVlanID get_param: StorageMgmtNetworkVlanID
addresses: addresses:
- ip_netmask: - ip_netmask:
get_param: StorageMgmtIpSubnet get_param: StorageMgmtIpSubnet
- type: vlan - type: vlan
device: bond1
vlan_id: vlan_id:
get_param: TenantNetworkVlanID get_param: TenantNetworkVlanID
addresses: addresses:
@ -176,7 +140,6 @@ resources:
# make the External API unreachable from remote subnets. # make the External API unreachable from remote subnets.
#- #-
# type: vlan # type: vlan
# device: bond1
# vlan_id: {get_param: ManagementNetworkVlanID} # vlan_id: {get_param: ManagementNetworkVlanID}
# addresses: # addresses:
# - # -

View File

@ -1,188 +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 controller 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: bond_mode=active-backup
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
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
ExternalInterfaceDefaultRoute:
default: 10.0.0.1
description: default route for 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
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane 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
addresses:
- ip_netmask:
list_join:
- /
- - get_param: ControlPlaneIp
- get_param: ControlPlaneSubnetCidr
routes:
- ip_netmask: 169.254.169.254/32
next_hop:
get_param: EC2MetadataIp
- type: ovs_bridge
name: bridge_name
dns_servers:
get_param: DnsServers
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: ExternalNetworkVlanID
addresses:
- ip_netmask:
get_param: ExternalIpSubnet
routes:
- default: true
next_hop:
get_param: ExternalInterfaceDefaultRoute
- type: vlan
device: bond1
vlan_id:
get_param: InternalApiNetworkVlanID
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- 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
- type: vlan
device: bond1
vlan_id:
get_param: TenantNetworkVlanID
addresses:
- ip_netmask:
get_param: TenantIpSubnet
# Uncomment when including environments/network-management.yaml
# If setting default route on the Management interface, comment
# out the default route on the External interface. This will
# make the External API unreachable from remote subnets.
#-
# 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

View File

@ -1,166 +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 a dedicated Neutron networker 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: bond_mode=active-backup
description: The ovs_options string for the bond interface. Set things like lacp=active and/or bond_mode=balance-slb 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
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
ExternalInterfaceDefaultRoute:
default: 10.0.0.1
description: default route for 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
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane 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
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: bridge_name
dns_servers:
get_param: DnsServers
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: InternalApiNetworkVlanID
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
device: bond1
vlan_id:
get_param: TenantNetworkVlanID
addresses:
- ip_netmask:
get_param: TenantIpSubnet
# Uncomment when including environments/network-management.yaml
# If setting default route on the Management interface, comment
# out the default route on the External interface. This will
# make the External API unreachable from remote subnets.
#-
# 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

View File

@ -0,0 +1,179 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config with 2 bonded nics on a bridge with VLANs attached for the {{role.name}} role.
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 %}
BondInterfaceOvsOptions:
default: bond_mode=active-backup
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.'
{%- for network in networks %}
{{network.name}}NetworkVlanID:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{%- endfor %}
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
{%- for network in networks %}
{%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string
{%- elif network.gateway_ip|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string
{%- endif %}
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane 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
{%- if role.name == 'ComputeOvsDpdk' %}
NumDpdkInterfaceRxQueues:
description: Number of Rx Queues required for DPDK bond or DPDK ports
default: 1
type: number
{%- endif %}
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
addresses:
- ip_netmask:
list_join:
- /
- - get_param: ControlPlaneIp
- get_param: ControlPlaneSubnetCidr
routes:
- ip_netmask: 169.254.169.254/32
next_hop:
get_param: EC2MetadataIp
{%- if role.default_route_networks is not defined or 'ControlPlane' in role.default_route_networks %}
- default: true
next_hop:
get_param: ControlPlaneDefaultRoute
{%- endif %}
{%- if role.name != 'ComputeOvsDpdk' %}
- type: ovs_bridge
name: bridge_name
dns_servers:
get_param: DnsServers
members:
- type: ovs_bond
name: bond1
ovs_options:
get_param: BondInterfaceOvsOptions
members:
- type: interface
name: nic2
primary: true
- type: interface
name: nic3
{%- for network in networks if network.enabled|default(true) and network.name in role.networks %}
- type: vlan
vlan_id:
get_param: {{network.name}}NetworkVlanID
addresses:
- ip_netmask:
get_param: {{network.name}}IpSubnet
{%- if network.name in role.default_route_networks %}
routes:
- default: true
next_hop:
get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %}
{%- endfor %}
{%- else %}
# Linux bond for non-DPDK traffic required when using DPDK
- type: linux_bond
name: bond_api
bonding_options:
get_param: BondInterfaceOvsOptions
use_dhcp: false
dns_servers:
get_param: DnsServers
members:
- type: interface
name: nic2
primary: true
- type: interface
name: nic3
{%- for network in networks if network.enabled|default(true) and network.name in role.networks %}
- type: vlan
device: bond_api
vlan_id:
get_param: {{network.name}}NetworkVlanID
addresses:
- ip_netmask:
get_param: {{network.name}}IpSubnet
{%- if network.name in role.default_route_networks %}
routes:
- default: true
next_hop:
get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %}
{%- endfor %}
# Used as a provider network with external DHCP
- type: ovs_user_bridge
name: br-dpdk0
members:
- type: ovs_dpdk_bond
name: dpdkbond0
rx_queue:
get_param: NumDpdkInterfaceRxQueues
members:
- type: ovs_dpdk_port
name: dpdk0
members:
- type: interface
name: nic4
- type: ovs_dpdk_port
name: dpdk1
members:
- type: interface
name: nic5
{%- endif %}
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
value:
get_resource: OsNetConfigImpl

View File

@ -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 swift 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: InternalApiNetworkVlanID
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- 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

View File

@ -23,8 +23,10 @@ Or use this Heat environment file:
Configuration with System Management Network Configuration with System Management Network
-------------------------------------------- --------------------------------------------
To enable the optional System Management network, create a Heat environment The Management network is included for upgrade compatibility with
that looks something like this: previous versions, but disabled. To enable the optional System
Management network, create a Heat environment that looks something like
this:
resource\_registry: resource\_registry:
OS::TripleO::Network::Management: ../network/management.yaml OS::TripleO::Network::Management: ../network/management.yaml
@ -37,3 +39,9 @@ that looks something like this:
Or use this Heat environment file: Or use this Heat environment file:
environments/network-management.yaml environments/network-management.yaml
Or, enable the Management network in network_data.yaml, and add the network
to the list of networks used by each role in the role definition file
(e.g. roles_data.yaml). Refer to installation documentation for procedure
to generate a role file for custom roles.

View File

@ -1,140 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure multiple interfaces 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
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: interface
name: nic2
use_dhcp: false
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: interface
name: nic3
use_dhcp: false
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: interface
# name: nic7
# use_dhcp: false
# 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

View File

@ -1,146 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure multiple interfaces 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
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: interface
name: nic2
use_dhcp: false
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: interface
name: nic3
use_dhcp: false
addresses:
- ip_netmask:
get_param: StorageMgmtIpSubnet
- type: interface
name: nic4
use_dhcp: false
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
# 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: interface
# name: nic7
# use_dhcp: false
# 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

View File

@ -1,3 +1,4 @@
# FIXME: This legacy template should be converted to a composable role
heat_template_version: queens heat_template_version: queens
description: > description: >
Software Config to drive os-net-config to configure multiple interfaces for the Software Config to drive os-net-config to configure multiple interfaces for the
@ -7,54 +8,18 @@ parameters:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} network
type: string type: string
InternalApiIpSubnet: {%- endfor %}
default: '' {%- for network in networks %}
description: IP address/subnet on the internal_api network {{network.name}}NetworkVlanID:
type: string default: {{network.vlan}}
StorageIpSubnet: description: Vlan ID for the {{network.name_lower}} network traffic.
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
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 type: number
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24' default: '24'
description: The subnet CIDR of the control plane network. description: The subnet CIDR of the control plane network.
@ -62,14 +27,19 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network. description: The default route of the control plane network.
type: string type: string
ExternalInterfaceDefaultRoute: # Not used by default in this template {%- for network in networks %}
default: 10.0.0.1 {%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
description: The default route of the external network. {{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string type: string
ManagementInterfaceDefaultRoute: # Commented out by default in this template {%- elif network.gateway_ip|default(false) %}
default: unset {{network.name}}InterfaceDefaultRoute:
description: The default route of the management network. default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string type: string
{%- endif %}
{%- endfor %}
DnsServers: # Override this via parameter_defaults DnsServers: # Override this via parameter_defaults
default: [] default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.

View File

@ -1,154 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure multiple interfaces for the compute 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
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: interface
name: nic2
use_dhcp: false
addresses:
- ip_netmask:
get_param: StorageIpSubnet
# Uncomment when including environments/hyperconverged-ceph.yaml
#- type: interface
# name: nic3
# use_dhcp: false
# addresses:
# - ip_netmask: {get_param: StorageMgmtIpSubnet}
- type: interface
name: nic4
use_dhcp: false
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: ovs_bridge
name: br-tenant
use_dhcp: false
addresses:
- ip_netmask:
get_param: TenantIpSubnet
members:
- type: interface
name: nic5
use_dhcp: false
primary: true
# 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: interface
# name: nic7
# use_dhcp: false
# 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

View File

@ -7,54 +7,18 @@ parameters:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} network
type: string type: string
InternalApiIpSubnet: {%- endfor %}
default: '' {%- for network in networks %}
description: IP address/subnet on the internal_api network {{network.name}}NetworkVlanID:
type: string default: {{network.vlan}}
StorageIpSubnet: description: Vlan ID for the {{network.name_lower}} network traffic.
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
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 type: number
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24' default: '24'
description: The subnet CIDR of the control plane network. description: The subnet CIDR of the control plane network.
@ -62,14 +26,19 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network. description: The default route of the control plane network.
type: string type: string
ExternalInterfaceDefaultRoute: {%- for network in networks %}
default: 10.0.0.1 {%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
description: default route for the external network {{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string type: string
ManagementInterfaceDefaultRoute: # Commented out by default in this template {%- elif network.gateway_ip|default(false) %}
default: unset {{network.name}}InterfaceDefaultRoute:
description: The default route of the management network. default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string type: string
{%- endif %}
{%- endfor %}
DnsServers: # Override this via parameter_defaults DnsServers: # Override this via parameter_defaults
default: [] default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.

View File

@ -1,171 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure multiple interfaces for the controller 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
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:
default: 10.0.0.1
description: default route for 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
- type: interface
name: nic2
use_dhcp: false
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: interface
name: nic3
use_dhcp: false
addresses:
- ip_netmask:
get_param: StorageMgmtIpSubnet
- type: interface
name: nic4
use_dhcp: false
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: ovs_bridge
name: br-tenant
use_dhcp: false
addresses:
- ip_netmask:
get_param: TenantIpSubnet
members:
- type: interface
name: nic5
use_dhcp: false
primary: true
- type: ovs_bridge
name: bridge_name
dns_servers:
get_param: DnsServers
use_dhcp: false
addresses:
- ip_netmask:
get_param: ExternalIpSubnet
routes:
- default: true
next_hop:
get_param: ExternalInterfaceDefaultRoute
members:
- type: interface
name: nic6
primary: true
# Uncomment when including environments/network-management.yaml
# If setting default route on the Management interface, comment
# out the default route on the External interface. This will
# make the External API unreachable from remote subnets.
#-
# type: interface
# name: nic7
# use_dhcp: false
# 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

View File

@ -1,152 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure multiple interfaces for a dedicated Neutron networker 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
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:
default: 10.0.0.1
description: default route for 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: interface
name: nic4
use_dhcp: false
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: ovs_bridge
name: br-tenant
use_dhcp: false
addresses:
- ip_netmask:
get_param: TenantIpSubnet
members:
- type: interface
name: nic5
use_dhcp: false
primary: true
- type: ovs_bridge
name: bridge_name
use_dhcp: false
members:
- type: interface
name: nic6
primary: true
# Uncomment when including environments/network-management.yaml
# If setting default route on the Management interface, comment
# out the default route on the Control Plane interface.
#-
# type: interface
# name: nic7
# use_dhcp: false
# 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

View File

@ -0,0 +1,152 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure multiple interfaces for the {{role.name}} role.
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 %}
{%- for network in networks %}
{{network.name}}NetworkVlanID:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{%- endfor %}
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
{%- for network in networks %}
{%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string
{%- elif network.gateway_ip|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string
{%- endif %}
{%- endfor %}
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
{%- if role.name == 'ComputeOvsDpdk' %}
NumDpdkInterfaceRxQueues:
description: Number of Rx Queues required for DPDK bond or DPDK ports
default: 1
type: number
{%- endif %}
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
{%- if role.default_route_networks is not defined or 'ControlPlane' in role.default_route_networks %}
- default: true
next_hop:
get_param: ControlPlaneDefaultRoute
{%- endif %}
{%- set nics_used = [1] %}
{%- for network in networks %}
{%- if network.name not in ["External", "Tenant"] %}
{%- if network.name in role.networks %}
- type: interface
name: nic{{loop.index + 1}}
use_dhcp: false
addresses:
- ip_netmask:
get_param: {{network.name}}IpSubnet
{%- endif %}
{%- elif network.name in role.networks or role.name == 'Networker' %}
- type: ovs_bridge
{%- if network.name == "External" %}
name: bridge_name
{%- else %}
name: br-{{network.name_lower}}
{%- endif %}
dns_servers:
get_param: DnsServers
use_dhcp: false
{%- if network.name in role.networks %}
addresses:
- ip_netmask:
get_param: {{network.name}}IpSubnet
{%- endif %}
{%- if network.name == role.default_route_network %}
routes:
- default: true
next_hop:
get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %}
members:
- type: interface
name: nic{{loop.index + 1}}
use_dhcp: false
primary: true
{%- endif %}
{#- This hack gets around Jinja scope limitations to update nics_used within loop. #}
{%- set _ = nics_used.append(loop.index) %}
{%- endfor %}
{%- if role.name == 'ComputeOvsDpdk' %}
# Used as a provider network with external DHCP
- type: ovs_user_bridge
name: br-dpdk0
members:
- type: ovs_dpdk_bond
name: dpdkbond0
rx_queue:
get_param: NumDpdkInterfaceRxQueues
members:
- type: ovs_dpdk_port
name: dpdk0
members:
- type: interface
name: nic{{nics_used[-1] + 1}}
- type: ovs_dpdk_port
name: dpdk1
members:
- type: interface
name: nic{{nics_used[-1] + 2}}
{%- endif %}
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
value:
get_resource: OsNetConfigImpl

View File

@ -1,146 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure multiple interfaces for the swift 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
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: interface
name: nic2
use_dhcp: false
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: interface
name: nic3
use_dhcp: false
addresses:
- ip_netmask:
get_param: StorageMgmtIpSubnet
- type: interface
name: nic4
use_dhcp: false
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
# 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: interface
# name: nic7
# use_dhcp: false
# 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

View File

@ -1,147 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs 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
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: linux_bridge
name: br-storage
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
members:
- type: interface
name: nic1
# force the MAC address of the bridge to this interface
primary: true
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
device: br-storage
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: vlan
vlan_id:
get_param: StorageMgmtNetworkVlanID
device: br-storage
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
# vlan_id: {get_param: ManagementNetworkVlanID}
# device: br-storage
# 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

View File

@ -1,154 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs 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
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: linux_bridge
name: br-storage
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
members:
- type: interface
name: nic1
# force the MAC address of the bridge to this interface
primary: true
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
device: br-storage
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
device: br-storage
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: vlan
vlan_id:
get_param: StorageMgmtNetworkVlanID
device: br-storage
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
# vlan_id: {get_param: ManagementNetworkVlanID}
# device: br-storage
# 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

View File

@ -1,157 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs for the compute 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
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: linux_bridge
name: bridge_name
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
members:
- type: interface
name: interface_name
# force the MAC address of the bridge to this interface
primary: true
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
device: bridge_name
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
device: bridge_name
addresses:
- ip_netmask:
get_param: StorageIpSubnet
# Uncomment when including environments/hyperconverged-ceph.yaml
#- type: vlan
# vlan_id: {get_param: StorageMgmtNetworkVlanID}
# device: bridge_name
# addresses:
# - ip_netmask: {get_param: StorageMgmtIpSubnet}
- type: vlan
vlan_id:
get_param: TenantNetworkVlanID
device: bridge_name
addresses:
- ip_netmask:
get_param: TenantIpSubnet
# 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
# vlan_id: {get_param: ManagementNetworkVlanID}
# device: bridge_name
# 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

View File

@ -7,65 +7,34 @@ parameters:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} network
type: string type: string
InternalApiIpSubnet: {%- endfor %}
default: '' {%- for network in networks %}
description: IP address/subnet on the internal_api network {{network.name}}NetworkVlanID:
type: string default: {{network.vlan}}
StorageIpSubnet: description: Vlan ID for the {{network.name_lower}} network traffic.
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
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 type: number
{%- endfor %}
ControlPlaneDefaultRoute: # Override this via parameter_defaults ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network. description: The default route of the control plane network.
type: string type: string
ExternalInterfaceDefaultRoute: {%- for network in networks %}
default: 10.0.0.1 {%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
description: default route for the external network {{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string type: string
ManagementInterfaceDefaultRoute: # Commented out by default in this template {%- elif network.gateway_ip|default(false) %}
default: unset {{network.name}}InterfaceDefaultRoute:
description: The default route of the management network. default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string type: string
{%- endif %}
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24' default: '24'
description: The subnet CIDR of the control plane network. description: The subnet CIDR of the control plane network.

View File

@ -1,172 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs for the controller 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
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
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
ExternalInterfaceDefaultRoute:
default: 10.0.0.1
description: default route for 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
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane 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: linux_bridge
name: bridge_name
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
members:
- type: interface
name: interface_name
primary: true
- type: vlan
vlan_id:
get_param: ExternalNetworkVlanID
device: bridge_name
addresses:
- ip_netmask:
get_param: ExternalIpSubnet
routes:
- default: true
next_hop:
get_param: ExternalInterfaceDefaultRoute
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
device: bridge_name
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
device: bridge_name
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: vlan
vlan_id:
get_param: StorageMgmtNetworkVlanID
device: bridge_name
addresses:
- ip_netmask:
get_param: StorageMgmtIpSubnet
- type: vlan
vlan_id:
get_param: TenantNetworkVlanID
device: bridge_name
addresses:
- ip_netmask:
get_param: TenantIpSubnet
# Uncomment when including environments/network-management.yaml
# If setting default route on the Management interface, comment
# out the default route on the External interface. This will
# make the External API unreachable from remote subnets.
#-
# type: vlan
# vlan_id: {get_param: ManagementNetworkVlanID}
# device: bridge_name
# 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

View File

@ -1,148 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs for a dedicated Neutron networker 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
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
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
ExternalInterfaceDefaultRoute:
default: 10.0.0.1
description: default route for 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
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane 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: linux_bridge
name: bridge_name
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
members:
- type: interface
# NOTE: "interface_name" will be replaced by the value of NeutronPublicInterface,
# default is "nic1". Set this value via parameter_defaults in an environment file.
name: interface_name
primary: true
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
device: bridge_name
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: TenantNetworkVlanID
device: bridge_name
addresses:
- ip_netmask:
get_param: TenantIpSubnet
# Uncomment when including environments/network-management.yaml
# If setting default route on the Management interface, comment
# out the default route on the Control Plane interface.
#-
# type: vlan
# vlan_id: {get_param: ManagementNetworkVlanID}
# device: bridge_name
# 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

View File

@ -0,0 +1,103 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs for the {{role.name}} role.
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 %}
{%- for network in networks %}
{{network.name}}NetworkVlanID:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{%- endfor %}
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
{%- for network in networks %}
{%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string
{%- elif network.gateway_ip|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string
{%- endif %}
{%- endfor %}
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: linux_bridge
name: bridge_name
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
{%- if role.default_route_networks is not defined or 'ControlPlane' in role.default_route_networks %}
- default: true
next_hop:
get_param: ControlPlaneDefaultRoute
{%- endif %}
members:
- type: interface
name: interface_name
primary: true
{%- for network in networks if network.enabled|default(true) and network.name in role.networks %}
- type: vlan
vlan_id:
get_param: {{network.name}}NetworkVlanID
device: bridge_name
addresses:
- ip_netmask:
get_param: {{network.name}}IpSubnet
{%- if network.name in role.default_route_networks %}
routes:
- default: true
next_hop:
get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %}
{%- endfor %}
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
value:
get_resource: OsNetConfigImpl

View File

@ -1,154 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs for the swift 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
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: linux_bridge
name: br-storage
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
members:
- type: interface
name: nic1
# force the MAC address of the bridge to this interface
primary: true
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
device: br-storage
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
device: br-storage
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: vlan
vlan_id:
get_param: StorageMgmtNetworkVlanID
device: br-storage
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
# vlan_id: {get_param: ManagementNetworkVlanID}
# device: br-storage
# 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

View File

@ -1,5 +1,5 @@
This directory contains Heat templates to help configure This directory contains Heat templates to help configure
Vlans on a single NIC for each Overcloud role. VLANs on a single NIC for each Overcloud role.
There are two versions of the controller role template, one with There are two versions of the controller role template, one with
an external network interface, and another without. If the an external network interface, and another without. If the
@ -33,8 +33,10 @@ Same as above except set the following value for the controller role:
Configuration with System Management Network Configuration with System Management Network
-------------------------------------------- --------------------------------------------
To enable the optional System Management network, create a Heat environment The Management network is included for upgrade compatibility with
that looks something like this: previous versions, but disabled. To enable the optional System
Management network, create a Heat environment that looks something like
this:
resource\_registry: resource\_registry:
OS::TripleO::Network::Management: ../network/management.yaml OS::TripleO::Network::Management: ../network/management.yaml
@ -47,3 +49,8 @@ that looks something like this:
Or use this Heat environment file: Or use this Heat environment file:
environments/network-management.yaml environments/network-management.yaml
Or, enable the Management network in network_data.yaml, and add the network
to the list of networks used by each role in the role definition file
(e.g. roles_data.yaml). Refer to installation documentation for procedure
to generate a role file for custom roles.

View File

@ -1,132 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs 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
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
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: ovs_bridge
name: br-storage
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
members:
- type: interface
name: nic1
# force the MAC address of the bridge to this interface
primary: true
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: vlan
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
# 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

View File

@ -1,142 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs 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
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
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: ovs_bridge
name: br-storage
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
members:
- type: interface
name: nic1
# force the MAC address of the bridge to this interface
primary: true
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: vlan
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
# 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

View File

@ -1,148 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs for the compute 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
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: ovs_bridge
name: bridge_name
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
members:
- type: interface
name: nic1
# force the MAC address of the bridge to this interface
primary: true
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
addresses:
- ip_netmask:
get_param: StorageIpSubnet
# Uncomment when including environments/hyperconverged-ceph.yaml
#- type: vlan
# vlan_id: {get_param: StorageMgmtNetworkVlanID}
# addresses:
# - ip_netmask: {get_param: StorageMgmtIpSubnet}
- type: vlan
vlan_id:
get_param: TenantNetworkVlanID
addresses:
- ip_netmask:
get_param: TenantIpSubnet
# 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
# 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

View File

@ -0,0 +1,100 @@
# NOTE: This template is now deprecated, and is only included for compatibility
# when upgrading a deployment where this template was originally used. For new
# deployments, remove the External network from the Controller role and set
# default_route_networks to ['ControlPlane'].
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs for the controller role. No external IP is configured.
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 %}
{%- for network in networks %}
{{network.name}}NetworkVlanID:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{%- endfor %}
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
{%- for network in networks %}
{%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string
{%- elif network.gateway_ip|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string
{%- endif %}
{%- endfor %}
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: ovs_bridge
name: bridge_name
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
members:
- type: interface
name: nic1
# force the MAC address of the bridge to this interface
primary: true
{%- for network in networks if network.enabled|default(true) and network.name != 'External' %}
- type: vlan
vlan_id:
get_param: {{network.name}}NetworkVlanID
addresses:
- ip_netmask:
get_param: {{network.name}}IpSubnet
{%- endfor %}
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
value:
get_resource: OsNetConfigImpl

View File

@ -1,156 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs for the controller role. No external IP is configured.
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
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
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
ExternalInterfaceDefaultRoute:
default: 10.0.0.1
description: default route for 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
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane 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: ovs_bridge
name: bridge_name
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
members:
- type: interface
name: nic1
# force the MAC address of the bridge to this interface
primary: true
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: vlan
vlan_id:
get_param: StorageMgmtNetworkVlanID
addresses:
- ip_netmask:
get_param: StorageMgmtIpSubnet
- type: vlan
vlan_id:
get_param: TenantNetworkVlanID
addresses:
- ip_netmask:
get_param: TenantIpSubnet
# 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
# 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

View File

@ -7,54 +7,18 @@ parameters:
default: '' default: ''
description: IP address/subnet on the ctlplane network description: IP address/subnet on the ctlplane network
type: string type: string
ExternalIpSubnet: {%- for network in networks %}
{{network.name}}IpSubnet:
default: '' default: ''
description: IP address/subnet on the external network description: IP address/subnet on the {{network.name_lower}} network
type: string type: string
InternalApiIpSubnet: {%- endfor %}
default: '' {%- for network in networks %}
description: IP address/subnet on the internal_api network {{network.name}}NetworkVlanID:
type: string default: {{network.vlan}}
StorageIpSubnet: description: Vlan ID for the {{network.name_lower}} network traffic.
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
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 type: number
{%- endfor %}
ControlPlaneSubnetCidr: # Override this via parameter_defaults ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24' default: '24'
description: The subnet CIDR of the control plane network. description: The subnet CIDR of the control plane network.
@ -62,14 +26,19 @@ parameters:
ControlPlaneDefaultRoute: # Override this via parameter_defaults ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network. description: The default route of the control plane network.
type: string type: string
ExternalInterfaceDefaultRoute: {%- for network in networks %}
default: 10.0.0.1 {%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
description: default route for the external network {{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string type: string
ManagementInterfaceDefaultRoute: # Commented out by default in this template {%- elif network.gateway_ip|default(false) %}
default: unset {{network.name}}InterfaceDefaultRoute:
description: The default route of the management network. default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string type: string
{%- endif %}
{%- endfor %}
DnsServers: # Override this via parameter_defaults DnsServers: # Override this via parameter_defaults
default: [] default: []
description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf.

View File

@ -1,164 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs for the controller 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
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
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
ExternalInterfaceDefaultRoute:
default: 10.0.0.1
description: default route for 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
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane 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: ovs_bridge
name: bridge_name
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
members:
- type: interface
name: nic1
# force the MAC address of the bridge to this interface
primary: true
- type: vlan
vlan_id:
get_param: ExternalNetworkVlanID
addresses:
- ip_netmask:
get_param: ExternalIpSubnet
routes:
- default: true
next_hop:
get_param: ExternalInterfaceDefaultRoute
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: vlan
vlan_id:
get_param: StorageMgmtNetworkVlanID
addresses:
- ip_netmask:
get_param: StorageMgmtIpSubnet
- type: vlan
vlan_id:
get_param: TenantNetworkVlanID
addresses:
- ip_netmask:
get_param: TenantIpSubnet
# Uncomment when including environments/network-management.yaml
# If setting default route on the Management interface, comment
# out the default route on the External interface. This will
# make the External API unreachable from remote subnets.
#-
# type: vlan
# 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

View File

@ -1,144 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs for a dedicated Neutron networker 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
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
ControlPlaneDefaultRoute: # Override this via parameter_defaults
description: The default route of the control plane network.
type: string
ExternalInterfaceDefaultRoute:
default: 10.0.0.1
description: default route for 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
ControlPlaneSubnetCidr: # Override this via parameter_defaults
default: '24'
description: The subnet CIDR of the control plane 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: ovs_bridge
name: bridge_name
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
members:
- type: interface
name: nic1
# force the MAC address of the bridge to this interface
primary: true
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: TenantNetworkVlanID
addresses:
- ip_netmask:
get_param: TenantIpSubnet
# Uncomment when including environments/network-management.yaml
# If setting default route on the Management interface, comment
# out the default route on the Control Plane interface.
#-
# type: vlan
# 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

View File

@ -0,0 +1,103 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs for the {{role.name}} role.
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 %}
{%- for network in networks %}
{{network.name}}NetworkVlanID:
default: {{network.vlan}}
description: Vlan ID for the {{network.name_lower}} network traffic.
type: number
{%- endfor %}
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
{%- for network in networks %}
{%- if network.ipv6|default(false) and network.gateway_ipv6|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ipv6}}'
description: default route for the {{network.name_lower}} network
type: string
{%- elif network.gateway_ip|default(false) %}
{{network.name}}InterfaceDefaultRoute:
default: '{{network.gateway_ip}}'
description: default route for the {{network.name_lower}} network
type: string
{%- endif %}
{%- endfor %}
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: ovs_bridge
name: bridge_name
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
{%- if role.default_route_networks is not defined or 'ControlPlane' in role.default_route_networks %}
- default: true
next_hop:
get_param: ControlPlaneDefaultRoute
{%- endif %}
members:
- type: interface
name: nic1
# force the MAC address of the bridge to this interface
primary: true
{%- for network in networks if network.enabled|default(true) and network.name in role.networks %}
- type: vlan
vlan_id:
get_param: {{network.name}}NetworkVlanID
addresses:
- ip_netmask:
get_param: {{network.name}}IpSubnet
{%- if network.name in role.default_route_network %}
routes:
- default: true
next_hop:
get_param: {{network.name}}InterfaceDefaultRoute
{%- endif %}
{%- endfor %}
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
value:
get_resource: OsNetConfigImpl

View File

@ -1,142 +0,0 @@
heat_template_version: queens
description: >
Software Config to drive os-net-config to configure VLANs for the swift 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
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
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: ovs_bridge
name: br-storage
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
members:
- type: interface
name: nic1
# force the MAC address of the bridge to this interface
primary: true
- type: vlan
vlan_id:
get_param: InternalApiNetworkVlanID
addresses:
- ip_netmask:
get_param: InternalApiIpSubnet
- type: vlan
vlan_id:
get_param: StorageNetworkVlanID
addresses:
- ip_netmask:
get_param: StorageIpSubnet
- type: vlan
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
# 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

View File

@ -67,8 +67,8 @@ parameters:
type: string type: string
{%- if network.vlan %} {%- if network.vlan %}
{{network.name}}NetworkVlanID: {{network.name}}NetworkVlanID:
default: {{network.vlan}} default: {{network.vlan|default('')}}
description: Vlan ID for the {{network.name}} network traffic. description: Vlan ID for the {{network.name_lower}} network traffic.
type: number type: number
{%- endif %} {%- endif %}

View File

@ -6,6 +6,7 @@
# name_lower: lowercase version of name used for filenames # name_lower: lowercase version of name used for filenames
# (optional, defaults to name.lower()) # (optional, defaults to name.lower())
# enabled: Is the network enabled (optional, defaults to true) # enabled: Is the network enabled (optional, defaults to true)
# NOTE: False will use noop.yaml for unused legacy networks to support upgrades.
# vlan: vlan for the network (optional) # vlan: vlan for the network (optional)
# vip: Enable creation of a virtual IP on this network # vip: Enable creation of a virtual IP on this network
# ip_subnet: IP/CIDR, e.g. '192.168.24.0/24' or '2001:db8:fd00:1000::/64' # ip_subnet: IP/CIDR, e.g. '192.168.24.0/24' or '2001:db8:fd00:1000::/64'
@ -40,51 +41,65 @@
# ipv6: true, and the network/<network>.yaml file will be configured as IPv6. # ipv6: true, and the network/<network>.yaml file will be configured as IPv6.
# #
# For configuring both IPv4 and IPv6 on the same interface, use two separate # For configuring both IPv4 and IPv6 on the same interface, use two separate
# networks, and then assign both IPs in the custom NIC configuration templates. # networks, and then assign both IPs to the same interface in a custom NIC
# configuration templates.
#
# The ordering of the networks below will determine the order in which NICs
# are assigned in the network/config/multiple-nics templates, beginning with
# NIC2, Control Plane is always NIC1.
- name: External
vip: true
name_lower: external
ip_subnet: '10.0.0.0/24'
allocation_pools: [{'start': '10.0.0.4', 'end': '10.0.0.250'}]
gateway_ip: '10.0.0.1'
ipv6_subnet: '2001:db8:fd00:1000::/64'
ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
gateway_ipv6: '2001:db8:fd00:1000::1'
- name: InternalApi
name_lower: internal_api
vip: true
ip_subnet: '172.16.2.0/24'
allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}]
ipv6_subnet: 'fd00:fd00:fd00:2000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
- name: Storage - name: Storage
vip: true vip: true
vlan: 30
name_lower: storage name_lower: storage
ip_subnet: '172.16.1.0/24' ip_subnet: '172.18.0.0/24'
allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}] allocation_pools: [{'start': '172.18.0.10', 'end': '172.18.0.250'}]
ipv6_subnet: 'fd00:fd00:fd00:3000::/64' ipv6_subnet: 'fd00:fd00:fd00:3000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}]
- name: StorageMgmt - name: StorageMgmt
name_lower: storage_mgmt name_lower: storage_mgmt
vip: true vip: true
ip_subnet: '172.16.3.0/24' vlan: 40
allocation_pools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}] ip_subnet: '172.19.0.0/24'
allocation_pools: [{'start': '172.19.0.10', 'end': '172.19.0.250'}]
ipv6_subnet: 'fd00:fd00:fd00:4000::/64' ipv6_subnet: 'fd00:fd00:fd00:4000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}]
- name: InternalApi
name_lower: internal_api
vip: true
vlan: 20
ip_subnet: '172.17.0.0/24'
allocation_pools: [{'start': '172.17.0.10', 'end': '172.17.0.250'}]
ipv6_subnet: 'fd00:fd00:fd00:2000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
- name: Tenant - name: Tenant
vip: false # Tenant network does not use VIPs vip: false # Tenant network does not use VIPs
name_lower: tenant name_lower: tenant
vlan: 50
ip_subnet: '172.16.0.0/24' ip_subnet: '172.16.0.0/24'
allocation_pools: [{'start': '172.16.0.4', 'end': '172.16.0.250'}] allocation_pools: [{'start': '172.16.0.10', 'end': '172.16.0.250'}]
# Note that tenant tunneling is only compatible with IPv4 addressing at this time.
ipv6_subnet: 'fd00:fd00:fd00:5000::/64' ipv6_subnet: 'fd00:fd00:fd00:5000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}]
- name: External
vip: true
name_lower: external
vlan: 10
ip_subnet: '10.0.0.0/24'
allocation_pools: [{'start': '10.0.0.10', 'end': '10.0.0.50'}]
gateway_ip: '10.0.0.1'
ipv6_subnet: '2001:db8:fd00:1000::/64'
ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
gateway_ipv6: '2001:db8:fd00:1000::1'
- name: Management - name: Management
# Management network is enabled by default for backwards-compatibility, but # Management network is included for backwards-compatibility, but
# is not included in any roles by default. Add to role definitions to use. # is not enabled or included in any role definitions by default.
enabled: true # Include environments/network-management yaml to override, or
# enable this network and add it to the roles in roles_data.yaml.
enabled: false
vip: false # Management network does not use VIPs vip: false # Management network does not use VIPs
name_lower: management name_lower: management
vlan: 60
ip_subnet: '10.0.1.0/24' ip_subnet: '10.0.1.0/24'
allocation_pools: [{'start': '10.0.1.4', 'end': '10.0.1.250'}] allocation_pools: [{'start': '10.0.1.4', 'end': '10.0.1.250'}]
ipv6_subnet: 'fd00:fd00:fd00:6000::/64' ipv6_subnet: 'fd00:fd00:fd00:6000::/64'

View File

@ -1,7 +1,4 @@
# Like network_data.yaml but adds and enables StorageNFS network, # List of networks, used for j2 templating of enabled networks
# used by manila with ceph-NFS back end.
#
## List of networks, used for j2 templating of enabled networks
# #
# Supported values: # Supported values:
# #
@ -9,6 +6,7 @@
# name_lower: lowercase version of name used for filenames # name_lower: lowercase version of name used for filenames
# (optional, defaults to name.lower()) # (optional, defaults to name.lower())
# enabled: Is the network enabled (optional, defaults to true) # enabled: Is the network enabled (optional, defaults to true)
# NOTE: False will use noop.yaml for unused legacy networks to support upgrades.
# vlan: vlan for the network (optional) # vlan: vlan for the network (optional)
# vip: Enable creation of a virtual IP on this network # vip: Enable creation of a virtual IP on this network
# ip_subnet: IP/CIDR, e.g. '192.168.24.0/24' or '2001:db8:fd00:1000::/64' # ip_subnet: IP/CIDR, e.g. '192.168.24.0/24' or '2001:db8:fd00:1000::/64'
@ -43,51 +41,65 @@
# ipv6: true, and the network/<network>.yaml file will be configured as IPv6. # ipv6: true, and the network/<network>.yaml file will be configured as IPv6.
# #
# For configuring both IPv4 and IPv6 on the same interface, use two separate # For configuring both IPv4 and IPv6 on the same interface, use two separate
# networks, and then assign both IPs in the custom NIC configuration templates. # networks, and then assign both IPs to the same interface in a custom NIC
# configuration templates.
#
# The ordering of the networks below will determine the order in which NICs
# are assigned in the network/config/multiple-nics templates, beginning with
# NIC2, Control Plane is always NIC1.
- name: External
vip: true
name_lower: external
ip_subnet: '10.0.0.0/24'
allocation_pools: [{'start': '10.0.0.4', 'end': '10.0.0.250'}]
gateway_ip: '10.0.0.1'
ipv6_subnet: '2001:db8:fd00:1000::/64'
ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
gateway_ipv6: '2001:db8:fd00:1000::1'
- name: InternalApi
name_lower: internal_api
vip: true
ip_subnet: '172.16.2.0/24'
allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}]
ipv6_subnet: 'fd00:fd00:fd00:2000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
- name: Storage - name: Storage
vip: true vip: true
vlan: 30
name_lower: storage name_lower: storage
ip_subnet: '172.16.1.0/24' ip_subnet: '172.18.0.0/24'
allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}] allocation_pools: [{'start': '172.18.0.10', 'end': '172.18.0.250'}]
ipv6_subnet: 'fd00:fd00:fd00:3000::/64' ipv6_subnet: 'fd00:fd00:fd00:3000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}]
- name: StorageMgmt - name: StorageMgmt
name_lower: storage_mgmt name_lower: storage_mgmt
vip: true vip: true
ip_subnet: '172.16.3.0/24' vlan: 40
allocation_pools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}] ip_subnet: '172.19.0.0/24'
allocation_pools: [{'start': '172.19.0.10', 'end': '172.19.0.250'}]
ipv6_subnet: 'fd00:fd00:fd00:4000::/64' ipv6_subnet: 'fd00:fd00:fd00:4000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}]
- name: InternalApi
name_lower: internal_api
vip: true
vlan: 20
ip_subnet: '172.17.0.0/24'
allocation_pools: [{'start': '172.17.0.10', 'end': '172.17.0.250'}]
ipv6_subnet: 'fd00:fd00:fd00:2000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
- name: Tenant - name: Tenant
vip: false # Tenant network does not use VIPs vip: false # Tenant network does not use VIPs
name_lower: tenant name_lower: tenant
vlan: 50
ip_subnet: '172.16.0.0/24' ip_subnet: '172.16.0.0/24'
allocation_pools: [{'start': '172.16.0.4', 'end': '172.16.0.250'}] allocation_pools: [{'start': '172.16.0.10', 'end': '172.16.0.250'}]
# Note that tenant tunneling is only compatible with IPv4 addressing at this time.
ipv6_subnet: 'fd00:fd00:fd00:5000::/64' ipv6_subnet: 'fd00:fd00:fd00:5000::/64'
ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}] ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}]
- name: External
vip: true
name_lower: external
vlan: 10
ip_subnet: '10.0.0.0/24'
allocation_pools: [{'start': '10.0.0.10', 'end': '10.0.0.50'}]
gateway_ip: '10.0.0.1'
ipv6_subnet: '2001:db8:fd00:1000::/64'
ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
gateway_ipv6: '2001:db8:fd00:1000::1'
- name: Management - name: Management
# Management network is enabled by default for backwards-compatibility, but # Management network is included for backwards-compatibility, but
# is not included in any roles by default. Add to role definitions to use. # is not enabled or included in any role definitions by default.
enabled: true # Include environments/network-management yaml to override, or
# enable this network and add it to the roles in roles_data.yaml.
enabled: false
vip: false # Management network does not use VIPs vip: false # Management network does not use VIPs
name_lower: management name_lower: management
vlan: 60
ip_subnet: '10.0.1.0/24' ip_subnet: '10.0.1.0/24'
allocation_pools: [{'start': '10.0.1.4', 'end': '10.0.1.250'}] allocation_pools: [{'start': '10.0.1.4', 'end': '10.0.1.250'}]
ipv6_subnet: 'fd00:fd00:fd00:6000::/64' ipv6_subnet: 'fd00:fd00:fd00:6000::/64'
@ -96,6 +108,7 @@
enabled: true enabled: true
vip: true vip: true
name_lower: storage_nfs name_lower: storage_nfs
vlan: 70
ip_subnet: '172.16.4.0/24' ip_subnet: '172.16.4.0/24'
allocation_pools: [{'start': '172.16.4.4', 'end': '172.16.4.250'}] allocation_pools: [{'start': '172.16.4.4', 'end': '172.16.4.250'}]
ipv6_subnet: 'fd00:fd00:fd00:7000::/64' ipv6_subnet: 'fd00:fd00:fd00:7000::/64'

View File

@ -8,6 +8,8 @@
- InternalApi - InternalApi
- Storage - Storage
- StorageMgmt - StorageMgmt
uses_deprecated_params: True
deprecated_nic_config_name: 'cinder-storage.yaml'
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD - OS::TripleO::Services::AuditD

View File

@ -7,6 +7,8 @@
networks: networks:
- Storage - Storage
- StorageMgmt - StorageMgmt
uses_deprecated_params: True
deprecated_nic_config_name: 'ceph-storage.yaml'
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD - OS::TripleO::Services::AuditD

View File

@ -19,6 +19,7 @@
deprecated_param_scheduler_hints: 'NovaComputeSchedulerHints' deprecated_param_scheduler_hints: 'NovaComputeSchedulerHints'
deprecated_param_ips: 'NovaComputeIPs' deprecated_param_ips: 'NovaComputeIPs'
deprecated_server_resource_name: 'NovaCompute' deprecated_server_resource_name: 'NovaCompute'
deprecated_nic_config_name: 'compute.yaml'
disable_upgrade_deployment: True disable_upgrade_deployment: True
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide

View File

@ -11,6 +11,8 @@
- Storage - Storage
HostnameFormatDefault: '%stackname%-computeovsdpdk-%index%' HostnameFormatDefault: '%stackname%-computeovsdpdk-%index%'
disable_upgrade_deployment: True disable_upgrade_deployment: True
uses_deprecated_params: True
deprecated_nic_config_name: 'compute-dpdk.yaml'
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD - OS::TripleO::Services::AuditD

View File

@ -15,6 +15,9 @@
- Storage - Storage
- StorageMgmt - StorageMgmt
- Tenant - Tenant
# For systems with both IPv4 and IPv6, you may specify a gateway network for
# each, such as ['ControlPlane', 'External']
default_route_networks: ['External']
HostnameFormatDefault: '%stackname%-controller-%index%' HostnameFormatDefault: '%stackname%-controller-%index%'
# Deprecated & backward-compatible values (FIXME: Make parameters consistent) # Deprecated & backward-compatible values (FIXME: Make parameters consistent)
# Set uses_deprecated_params to True if any deprecated params are used. # Set uses_deprecated_params to True if any deprecated params are used.
@ -22,6 +25,7 @@
deprecated_param_extraconfig: 'controllerExtraConfig' deprecated_param_extraconfig: 'controllerExtraConfig'
deprecated_param_flavor: 'OvercloudControlFlavor' deprecated_param_flavor: 'OvercloudControlFlavor'
deprecated_param_image: 'controllerImage' deprecated_param_image: 'controllerImage'
deprecated_nic_config_name: 'controller.yaml'
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide
- OS::TripleO::Services::AodhApi - OS::TripleO::Services::AodhApi

View File

@ -15,6 +15,7 @@
- Storage - Storage
- StorageMgmt - StorageMgmt
- Tenant - Tenant
default_route_networks: ['External']
HostnameFormatDefault: '%stackname%-controller-%index%' HostnameFormatDefault: '%stackname%-controller-%index%'
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::AodhApi - OS::TripleO::Services::AodhApi

View File

@ -15,6 +15,7 @@
- Storage - Storage
- StorageMgmt - StorageMgmt
- Tenant - Tenant
default_route_networks: ['External']
HostnameFormatDefault: '%stackname%-controller-no-ceph-%index%' HostnameFormatDefault: '%stackname%-controller-no-ceph-%index%'
# Deprecated & backward-compatible values (FIXME: Make parameters consistent) # Deprecated & backward-compatible values (FIXME: Make parameters consistent)
# Set uses_deprecated_params to True if any deprecated params are used. # Set uses_deprecated_params to True if any deprecated params are used.

View File

@ -14,6 +14,7 @@
- Storage - Storage
- StorageMgmt - StorageMgmt
- Tenant - Tenant
default_route_networks: ['External']
HostnameFormatDefault: '%stackname%-controller-%index%' HostnameFormatDefault: '%stackname%-controller-%index%'
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::AodhApi - OS::TripleO::Services::AodhApi

View File

@ -15,6 +15,7 @@
- Storage - Storage
- StorageMgmt - StorageMgmt
- Tenant - Tenant
default_route_networks: ['External']
HostnameFormatDefault: '%stackname%-controller-%index%' HostnameFormatDefault: '%stackname%-controller-%index%'
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide

View File

@ -15,6 +15,7 @@
deprecated_param_ips: 'SwiftStorageIPs' deprecated_param_ips: 'SwiftStorageIPs'
deprecated_param_image: 'SwiftStorageImage' deprecated_param_image: 'SwiftStorageImage'
deprecated_param_flavor: 'OvercloudSwiftStorageFlavor' deprecated_param_flavor: 'OvercloudSwiftStorageFlavor'
deprecated_nic_config_name: 'swift-storage.yaml'
disable_upgrade_deployment: True disable_upgrade_deployment: True
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide

View File

@ -18,6 +18,9 @@
- Storage - Storage
- StorageMgmt - StorageMgmt
- Tenant - Tenant
# For systems with both IPv4 and IPv6, you may specify a gateway network for
# each, such as ['ControlPlane', 'External']
default_route_networks: ['External']
HostnameFormatDefault: '%stackname%-controller-%index%' HostnameFormatDefault: '%stackname%-controller-%index%'
# Deprecated & backward-compatible values (FIXME: Make parameters consistent) # Deprecated & backward-compatible values (FIXME: Make parameters consistent)
# Set uses_deprecated_params to True if any deprecated params are used. # Set uses_deprecated_params to True if any deprecated params are used.
@ -25,6 +28,7 @@
deprecated_param_extraconfig: 'controllerExtraConfig' deprecated_param_extraconfig: 'controllerExtraConfig'
deprecated_param_flavor: 'OvercloudControlFlavor' deprecated_param_flavor: 'OvercloudControlFlavor'
deprecated_param_image: 'controllerImage' deprecated_param_image: 'controllerImage'
deprecated_nic_config_name: 'controller.yaml'
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide
- OS::TripleO::Services::AodhApi - OS::TripleO::Services::AodhApi
@ -187,6 +191,7 @@
deprecated_param_scheduler_hints: 'NovaComputeSchedulerHints' deprecated_param_scheduler_hints: 'NovaComputeSchedulerHints'
deprecated_param_ips: 'NovaComputeIPs' deprecated_param_ips: 'NovaComputeIPs'
deprecated_server_resource_name: 'NovaCompute' deprecated_server_resource_name: 'NovaCompute'
deprecated_nic_config_name: 'compute.yaml'
disable_upgrade_deployment: True disable_upgrade_deployment: True
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide
@ -242,6 +247,8 @@
- InternalApi - InternalApi
- Storage - Storage
- StorageMgmt - StorageMgmt
uses_deprecated_params: True
deprecated_nic_config_name: 'cinder-storage.yaml'
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD - OS::TripleO::Services::AuditD
@ -287,6 +294,7 @@
deprecated_param_ips: 'SwiftStorageIPs' deprecated_param_ips: 'SwiftStorageIPs'
deprecated_param_image: 'SwiftStorageImage' deprecated_param_image: 'SwiftStorageImage'
deprecated_param_flavor: 'OvercloudSwiftStorageFlavor' deprecated_param_flavor: 'OvercloudSwiftStorageFlavor'
deprecated_nic_config_name: 'swift-storage.yaml'
disable_upgrade_deployment: True disable_upgrade_deployment: True
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide
@ -324,6 +332,8 @@
networks: networks:
- Storage - Storage
- StorageMgmt - StorageMgmt
uses_deprecated_params: True
deprecated_nic_config_name: 'ceph-storage.yaml'
ServicesDefault: ServicesDefault:
- OS::TripleO::Services::Aide - OS::TripleO::Services::Aide
- OS::TripleO::Services::AuditD - OS::TripleO::Services::AuditD

View File

@ -183,6 +183,14 @@ def process_templates(template_path, role_data_path, output_dir,
os.path.basename(f).replace('.role.j2.yaml', os.path.basename(f).replace('.role.j2.yaml',
'.yaml')]) '.yaml')])
out_f_path = os.path.join(out_dir, out_f) out_f_path = os.path.join(out_dir, out_f)
if ('network/config' in file_path and
r_map[role].get('deprecated_nic_config_name')):
d_name = r_map[role].get(
'deprecated_nic_config_name')
out_f_path = os.path.join(out_dir, d_name)
elif ('network/config' in file_path):
d_name = "%s.yaml" % role.lower()
out_f_path = os.path.join(out_dir, d_name)
if not (out_f_path in excl_templates): if not (out_f_path in excl_templates):
if '{{role.name}}' in template_data: if '{{role.name}}' in template_data:
j2_data = {'role': r_map[role], j2_data = {'role': r_map[role],
@ -201,7 +209,7 @@ def process_templates(template_path, role_data_path, output_dir,
False): False):
j2_data['disable_constraints'] = True j2_data['disable_constraints'] = True
_j2_render_to_file( _j2_render_to_file(
template_data,j2_data, template_data, j2_data,
out_f_path, overwrite) out_f_path, overwrite)
else: else: