Merge "Add network templates for multiple NIC configuration"
This commit is contained in:
13
environments/net-multiple-nics.yaml
Normal file
13
environments/net-multiple-nics.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# 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
|
21
network/config/multiple-nics/README.md
Normal file
21
network/config/multiple-nics/README.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
This directory contains Heat templates to help configure
|
||||||
|
multiple NICs for each Overcloud role, where it is
|
||||||
|
assumed that each NIC is running a specific network
|
||||||
|
traffic type and that VLANs are not being used.
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
-------------
|
||||||
|
|
||||||
|
To make use of these templates create a Heat environment that looks
|
||||||
|
something like this:
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
Or use this Heat environment file:
|
||||||
|
|
||||||
|
environments/net-multiple-nics.yaml
|
113
network/config/multiple-nics/ceph-storage.yaml
Normal file
113
network/config/multiple-nics/ceph-storage.yaml
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
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
|
||||||
|
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
|
||||||
|
ExternalInterfaceDefaultRoute:
|
||||||
|
default: '10.0.0.1'
|
||||||
|
description: default route for the external network
|
||||||
|
type: string
|
||||||
|
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 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: json
|
||||||
|
EC2MetadataIp: # Override this via parameter_defaults
|
||||||
|
description: The IP address of the EC2 metadata server.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
resources:
|
||||||
|
OsNetConfigImpl:
|
||||||
|
type: OS::Heat::StructuredConfig
|
||||||
|
properties:
|
||||||
|
group: os-apply-config
|
||||||
|
config:
|
||||||
|
os_net_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}
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
OS::stack_id:
|
||||||
|
description: The OsNetConfigImpl resource.
|
||||||
|
value: {get_resource: OsNetConfigImpl}
|
120
network/config/multiple-nics/cinder-storage.yaml
Normal file
120
network/config/multiple-nics/cinder-storage.yaml
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
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
|
||||||
|
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
|
||||||
|
ExternalInterfaceDefaultRoute:
|
||||||
|
default: '10.0.0.1'
|
||||||
|
description: default route for the external network
|
||||||
|
type: string
|
||||||
|
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 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: json
|
||||||
|
EC2MetadataIp: # Override this via parameter_defaults
|
||||||
|
description: The IP address of the EC2 metadata server.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
resources:
|
||||||
|
OsNetConfigImpl:
|
||||||
|
type: OS::Heat::StructuredConfig
|
||||||
|
properties:
|
||||||
|
group: os-apply-config
|
||||||
|
config:
|
||||||
|
os_net_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}
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
OS::stack_id:
|
||||||
|
description: The OsNetConfigImpl resource.
|
||||||
|
value: {get_resource: OsNetConfigImpl}
|
116
network/config/multiple-nics/compute.yaml
Normal file
116
network/config/multiple-nics/compute.yaml
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
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
|
||||||
|
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
|
||||||
|
TenantNetworkVlanID:
|
||||||
|
default: 50
|
||||||
|
description: Vlan ID for the tenant 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 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: json
|
||||||
|
EC2MetadataIp: # Override this via parameter_defaults
|
||||||
|
description: The IP address of the EC2 metadata server.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
resources:
|
||||||
|
OsNetConfigImpl:
|
||||||
|
type: OS::Heat::StructuredConfig
|
||||||
|
properties:
|
||||||
|
group: os-apply-config
|
||||||
|
config:
|
||||||
|
os_net_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: nic4
|
||||||
|
use_dhcp: false
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: InternalApiIpSubnet}
|
||||||
|
-
|
||||||
|
# Create a bridge which can also be used for VLAN-mode bridge mapping
|
||||||
|
type: ovs_bridge
|
||||||
|
name: br-tenant
|
||||||
|
use_dhcp: false
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: TenantIpSubnet}
|
||||||
|
members:
|
||||||
|
-
|
||||||
|
type: interface
|
||||||
|
name: nic5
|
||||||
|
use_dhcp: false
|
||||||
|
# force the MAC address of the bridge to this interface
|
||||||
|
primary: true
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
OS::stack_id:
|
||||||
|
description: The OsNetConfigImpl resource.
|
||||||
|
value: {get_resource: OsNetConfigImpl}
|
152
network/config/multiple-nics/controller.yaml
Normal file
152
network/config/multiple-nics/controller.yaml
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
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
|
||||||
|
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
|
||||||
|
ExternalInterfaceDefaultRoute:
|
||||||
|
default: '10.0.0.1'
|
||||||
|
description: default route for the external network
|
||||||
|
type: string
|
||||||
|
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 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: json
|
||||||
|
EC2MetadataIp: # Override this via parameter_defaults
|
||||||
|
description: The IP address of the EC2 metadata server.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
resources:
|
||||||
|
OsNetConfigImpl:
|
||||||
|
type: OS::Heat::StructuredConfig
|
||||||
|
properties:
|
||||||
|
group: os-apply-config
|
||||||
|
config:
|
||||||
|
os_net_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}
|
||||||
|
-
|
||||||
|
# Create a bridge which can also be used for VLAN-mode bridge mapping
|
||||||
|
type: ovs_bridge
|
||||||
|
name: br-tenant
|
||||||
|
use_dhcp: false
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: TenantIpSubnet}
|
||||||
|
members:
|
||||||
|
-
|
||||||
|
type: interface
|
||||||
|
name: nic5
|
||||||
|
use_dhcp: false
|
||||||
|
# force the MAC address of the bridge to this interface
|
||||||
|
primary: true
|
||||||
|
-
|
||||||
|
type: ovs_bridge
|
||||||
|
name: {get_input: bridge_name}
|
||||||
|
use_dhcp: false
|
||||||
|
addresses:
|
||||||
|
-
|
||||||
|
ip_netmask: {get_param: ExternalIpSubnet}
|
||||||
|
routes:
|
||||||
|
-
|
||||||
|
ip_netmask: 0.0.0.0/0
|
||||||
|
next_hop: {get_param: ExternalInterfaceDefaultRoute}
|
||||||
|
members:
|
||||||
|
-
|
||||||
|
type: interface
|
||||||
|
name: nic6
|
||||||
|
# force the MAC address of the bridge to this interface
|
||||||
|
primary: true
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
OS::stack_id:
|
||||||
|
description: The OsNetConfigImpl resource.
|
||||||
|
value: {get_resource: OsNetConfigImpl}
|
120
network/config/multiple-nics/swift-storage.yaml
Normal file
120
network/config/multiple-nics/swift-storage.yaml
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
heat_template_version: 2015-04-30
|
||||||
|
|
||||||
|
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
|
||||||
|
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
|
||||||
|
ExternalInterfaceDefaultRoute:
|
||||||
|
default: '10.0.0.1'
|
||||||
|
description: default route for the external network
|
||||||
|
type: string
|
||||||
|
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 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: json
|
||||||
|
EC2MetadataIp: # Override this via parameter_defaults
|
||||||
|
description: The IP address of the EC2 metadata server.
|
||||||
|
type: string
|
||||||
|
|
||||||
|
resources:
|
||||||
|
OsNetConfigImpl:
|
||||||
|
type: OS::Heat::StructuredConfig
|
||||||
|
properties:
|
||||||
|
group: os-apply-config
|
||||||
|
config:
|
||||||
|
os_net_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}
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
OS::stack_id:
|
||||||
|
description: The OsNetConfigImpl resource.
|
||||||
|
value: {get_resource: OsNetConfigImpl}
|
Reference in New Issue
Block a user