100 lines
3.2 KiB
YAML
100 lines
3.2 KiB
YAML
![]() |
heat_template_version: 2015-04-30
|
||
|
|
||
|
description: >
|
||
|
Software Config to drive os-net-config for a simple bridge configured
|
||
|
with a static IP address for the ctlplane network.
|
||
|
|
||
|
parameters:
|
||
|
ControlPlaneIp:
|
||
|
default: ''
|
||
|
description: IP address/subnet on the ctlplane network
|
||
|
type: string
|
||
|
ExternalIpSubnet:
|
||
|
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
|
||
|
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
|
||
|
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::StructuredConfig
|
||
|
properties:
|
||
|
group: os-apply-config
|
||
|
config:
|
||
|
os_net_config:
|
||
|
network_config:
|
||
|
-
|
||
|
type: ovs_bridge
|
||
|
name: {get_input: bridge_name}
|
||
|
use_dhcp: true
|
||
|
members:
|
||
|
-
|
||
|
type: interface
|
||
|
name: {get_input: interface_name}
|
||
|
# force the MAC address of the bridge to this interface
|
||
|
primary: true
|
||
|
-
|
||
|
type: interface
|
||
|
# would like to do the following, but can't b/c of:
|
||
|
# https://bugs.launchpad.net/heat/+bug/1344284
|
||
|
# name:
|
||
|
# list_join:
|
||
|
# - '/'
|
||
|
# - - {get_input: bridge_name}
|
||
|
# - ':0'
|
||
|
# So, just hardcode to br-ex:0 for now, br-ex is hardcoded in
|
||
|
# controller.yaml anyway.
|
||
|
name: br-ex:0
|
||
|
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}
|
||
|
|
||
|
outputs:
|
||
|
OS::stack_id:
|
||
|
description: The OsNetConfigImpl resource.
|
||
|
value: {get_resource: OsNetConfigImpl}
|