Merge "added level of indirection causes incorrect hiera config" into stable/pike
[apex-tripleo-heat-templates.git] / net-config-bond.yaml
index d41356a..8a97c85 100644 (file)
@@ -1,16 +1,28 @@
-heat_template_version: 2015-04-30
-
+heat_template_version: pike
 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
   ExternalIpSubnet:
     default: ''
     description: IP address/subnet on the external network
     type: string
   InternalApiIpSubnet:
     default: ''
-    description: IP address/subnet on the internal API network
+    description: IP address/subnet on the internal_api network
     type: string
   StorageIpSubnet:
     default: ''
@@ -18,49 +30,45 @@ parameters:
     type: string
   StorageMgmtIpSubnet:
     default: ''
-    description: IP address/subnet on the storage mgmt network
+    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
+    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
-              # 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
+        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
                   members:
-                    # os-net-config translates nic1 => em1 (for example)
-                    -
-                      type: interface
-                      name: nic1
-                    -
-                      type: interface
-                      name: nic2
-
+                  - type: interface
+                    name: nic1
+                  - type: interface
+                    name: nic2
 outputs:
-  config_id:
-    description: The ID of the OsNetConfigImpl resource.
+  OS::stack_id:
+    description: The OsNetConfigImpl resource.
     value:
-      {get_resource: OsNetConfigImpl}
+      get_resource: OsNetConfigImpl
+