tripleo-heat-templates/net-config-bond.yaml
Eugene Bagdasaryan df8eb861f3 Add BondInterfaceOvsOptions parameter to net-config-bond.yaml
This patch adds a new BondInterfaceOvsOptions to the bond.yaml.
Sometimes there is no need to use vlans and therefore bond-with-vlans
template files. This approach allows to setup things like LACP or
the bonding mode via a nested stack heat parameter.

Change-Id: I2d318aa738ab609bc76212bef49b2c5986d6dcdf
2016-02-24 20:23:18 +03:00

80 lines
2.3 KiB
YAML

heat_template_version: 2015-04-30
description: >
Software Config to drive os-net-config with 2 bonded nics on a bridge.
parameters:
BondInterfaceOvsOptions:
default: ''
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
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: os-apply-config
config:
os_net_config:
network_config:
-
type: ovs_bridge
name: {get_input: bridge_name}
use_dhcp: true
# Can't do this yet: https://bugs.launchpad.net/heat/+bug/1344284
#ovs_extra:
# - list_join:
# - ' '
# - - br-set-external-id
# - {get_input: bridge_name}
# - bridge-id
# - {get_input: bridge_name}
members:
-
type: ovs_bond
name: bond1
use_dhcp: true
ovs_options: {get_param: BondInterfaceOvsOptions}
members:
# os-net-config translates nic1 => em1 (for example)
-
type: interface
name: nic1
-
type: interface
name: nic2
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
value: {get_resource: OsNetConfigImpl}