Merge "Create NIC templates for Neutron Networker composable role"
This commit is contained in:
commit
1b04a0f9a5
|
@ -0,0 +1,174 @@
|
||||||
|
heat_template_version: pike
|
||||||
|
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
|
||||||
|
- 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: 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
|
||||||
|
|
|
@ -0,0 +1,159 @@
|
||||||
|
heat_template_version: pike
|
||||||
|
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
|
||||||
|
- 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
|
||||||
|
|
|
@ -0,0 +1,160 @@
|
||||||
|
heat_template_version: pike
|
||||||
|
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: 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: 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
|
||||||
|
|
|
@ -0,0 +1,152 @@
|
||||||
|
heat_template_version: pike
|
||||||
|
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
|
||||||
|
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: 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
|
||||||
|
|
Loading…
Reference in New Issue