tripleo-heat-templates/net-config-bond.yaml
Brent Eagles 6298b7c35e Add constraint to prohibit balance-tcp from BondInterfaceOvsOptions
This patch adds an allowed_pattern contraint that uses a negative
lookahead assertion to only allow options strings that do not contain
the 'balance-tcp' option.

Change-Id: Icf8874e4e585f9a42d38091f8b38c3685f403cf1
Partial-Bug: #1612786
2016-08-25 21:57:28 -02:30

86 lines
2.5 KiB
YAML

heat_template_version: 2016-10-14
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
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
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}