d033c1a3e3
Related-Bug: #1828854
Change-Id: Ie35a159848bbe3f86127ab81a32904a5787eb6bb
Depends-On: I45231fc53c24e1aad3f4a0026696954096430586
(cherry picked from commit 91c08c1e2b
)
115 lines
4.2 KiB
YAML
115 lines
4.2 KiB
YAML
heat_template_version: rocky
|
|
description: >
|
|
Software Config to drive os-net-config with 2 bonded nics on a bridge.
|
|
parameters:
|
|
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.
|
|
ControlPlaneIp:
|
|
default: ''
|
|
description: IP address/subnet on the ctlplane network
|
|
type: string
|
|
ControlPlaneSubnetCidr:
|
|
default: ''
|
|
description: >
|
|
The subnet CIDR of the control plane network. (The parameter is
|
|
automatically resolved from the ctlplane subnet's cidr attribute.)
|
|
type: string
|
|
ControlPlaneDefaultRoute:
|
|
default: ''
|
|
description: The default route of the control plane network. (The parameter
|
|
is automatically resolved from the ctlplane subnet's gateway_ip attribute.)
|
|
type: string
|
|
ControlPlaneStaticRoutes:
|
|
default: []
|
|
description: >
|
|
Routes for the ctlplane network traffic.
|
|
JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}]
|
|
Unless the default is changed, the parameter is automatically resolved
|
|
from the subnet host_routes attribute.
|
|
type: json
|
|
ControlPlaneMtu:
|
|
default: 1500
|
|
description: The maximum transmission unit (MTU) size(in bytes) that is
|
|
guaranteed to pass through the data path of the segments in the network.
|
|
(The parameter is automatically resolved from the ctlplane network's mtu attribute.)
|
|
type: number
|
|
DnsServers: # Override this via parameter_defaults
|
|
default: []
|
|
description: >
|
|
DNS servers to use for the Overcloud (2 max for some implementations).
|
|
If not set the nameservers configured in the ctlplane subnet's
|
|
dns_nameservers attribute will be used.
|
|
type: comma_delimited_list
|
|
DnsSearchDomains: # Override this via parameter_defaults
|
|
default: []
|
|
description: A list of DNS search domains to be added (in order) to resolv.conf.
|
|
type: comma_delimited_list
|
|
EC2MetadataIp: # Here for compatability, not used.
|
|
default: ''
|
|
description: The IP address of the EC2 metadata server. (The parameter
|
|
is automatically resolved from the ctlplane subnet's host_routes attribute.)
|
|
type: string
|
|
{%- for network in networks %}
|
|
{{network.name}}IpSubnet:
|
|
default: ''
|
|
description: IP address/subnet on the {{network.name_lower}} network
|
|
type: string
|
|
{{network.name}}Mtu:
|
|
default: {{network.mtu|default('1500')}}
|
|
description: The maximum transmission unit (MTU) size(in bytes) that is
|
|
guaranteed to pass through the data path of the segments in the
|
|
{{network.name}} network.
|
|
type: number
|
|
{{network.name}}InterfaceDefaultRoute:
|
|
default: ''
|
|
description: default route for the {{network.name_lower}} network
|
|
type: string
|
|
{{network.name}}NetworkVlanID:
|
|
default: {{network.vlan|default(1)}}
|
|
description: Vlan ID for the {{network.name_lower}} network traffic.
|
|
type: number
|
|
{%- endfor %}
|
|
resources:
|
|
OsNetConfigImpl:
|
|
type: OS::Heat::SoftwareConfig
|
|
properties:
|
|
group: script
|
|
config:
|
|
str_replace:
|
|
template:
|
|
get_file: network/scripts/run-os-net-config.sh
|
|
params:
|
|
$network_config:
|
|
network_config:
|
|
- type: ovs_bridge
|
|
name: bridge_name
|
|
use_dhcp: true
|
|
dns_servers:
|
|
get_param: DnsServers
|
|
domain:
|
|
get_param: DnsSearchDomains
|
|
members:
|
|
- type: ovs_bond
|
|
name: bond1
|
|
use_dhcp: true
|
|
ovs_options:
|
|
get_param: BondInterfaceOvsOptions
|
|
members:
|
|
- type: interface
|
|
name: nic1
|
|
- type: interface
|
|
name: nic2
|
|
outputs:
|
|
OS::stack_id:
|
|
description: The OsNetConfigImpl resource.
|
|
value:
|
|
get_resource: OsNetConfigImpl
|