aboutsummaryrefslogtreecommitdiffstats
path: root/net-config-bond.yaml
diff options
context:
space:
mode:
authorDan Prince <dprince@redhat.com>2016-11-23 10:39:11 -0500
committerDan Prince <dprince@redhat.com>2016-11-28 14:23:11 -0500
commit2985cd9a3a04acfe069c063c65ebf487a1413388 (patch)
treef92ed380008a0bc6a0bbd7536efc2bfa9139213e /net-config-bond.yaml
parentd1deaae25f8583603c9a8d9394a81c12d5d1742c (diff)
Apply os-net-config with a script instead of element
Wire in os-net-config via a normal script heat deployment, which has the following advantages: 1. Improved error path, currently o-a-c deployments don't report any errors, thus hang and eventually the deployment times out 2. It's far more hackable from a deployer perspective, e.g it's much easier to change the os-net-config options or include a mapping file 3. Reduces our dependencies on o-a-c (it's only os-net-config and hiera which requires it), although the script does currently still use oac to get the metadata IP. 4. May enable passing os-net-config yaml via a json parameter in future, reducing the need for resource_registry mappings (although we'll have to support that for backwards compatibility) The script used is based directly on 20-os-net-config (from t-i-e at cf94c5e, we can probably improve this now that we have an error path, but for this initial commit it's a straight copy other than the changes to replace o-a-c for rendering the json config file. Co-Authored-By: Steven Hardy <shardy@redhat.com> Change-Id: I0ed08332cfc49a579de2e83960f0d8047690b97a
Diffstat (limited to 'net-config-bond.yaml')
-rw-r--r--net-config-bond.yaml63
1 files changed, 33 insertions, 30 deletions
diff --git a/net-config-bond.yaml b/net-config-bond.yaml
index 01f8ac1d..db6ff2c7 100644
--- a/net-config-bond.yaml
+++ b/net-config-bond.yaml
@@ -1,20 +1,22 @@
-heat_template_version: 2016-10-14
-
+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
+ 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.
+ - 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
@@ -43,34 +45,35 @@ parameters:
default: ''
description: IP address/subnet on the management network
type: string
-
resources:
OsNetConfigImpl:
- type: OS::Heat::StructuredConfig
+ type: OS::Heat::SoftwareConfig
properties:
- group: os-apply-config
+ group: script
config:
- os_net_config:
- network_config:
- -
- type: ovs_bridge
- name: {get_input: bridge_name}
- use_dhcp: true
- members:
- -
- type: ovs_bond
+ 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
+ members:
+ - type: ovs_bond
name: bond1
use_dhcp: true
- ovs_options: {get_param: BondInterfaceOvsOptions}
+ ovs_options:
+ get_param: BondInterfaceOvsOptions
members:
- -
- type: interface
- name: nic1
- -
- type: interface
- name: nic2
-
+ - type: interface
+ name: nic1
+ - type: interface
+ name: nic2
outputs:
OS::stack_id:
description: The OsNetConfigImpl resource.
- value: {get_resource: OsNetConfigImpl}
+ value:
+ get_resource: OsNetConfigImpl
+