b2d3c05f4e
The new ansible os_net_config does not replace the interface_name and bridge_name variables in net config. This replaces those variables beforehand. Though it would have been good to handle it in module itself, in the proposed way to generate these configs with ansible would allow us to replace them with group_vars. Change-Id: I2049d3ce2ad10507fd846d3876e20cc3ec4b9fbe Closes-Bug: #1896829
109 lines
3.8 KiB
YAML
109 lines
3.8 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
|
|
{%- 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 %}
|
|
NeutronPhysicalBridge:
|
|
default: 'br-ex'
|
|
description: An OVS bridge to create for accessing external networks.
|
|
type: string
|
|
|
|
resources:
|
|
OsNetConfigImpl:
|
|
type: OS::Heat::Value
|
|
properties:
|
|
value:
|
|
network_config:
|
|
- type: ovs_bridge
|
|
name: {get_param: NeutronPhysicalBridge}
|
|
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:
|
|
config:
|
|
description: The OsNetConfigImpl resource.
|
|
value:
|
|
get_attr: [OsNetConfigImpl, value]
|