Add iface role and feature for vcp gtw nodes

Change-Id: Ib0969cf3de42cdbc4b418d9912eafc41cf5891a2
diff --git "a/\173\043 interfaces \043\175/bond0_ab_nondvr_vxlan_ctl_mesh_raw" "b/\173\043 interfaces \043\175/bond0_ab_nondvr_vxlan_ctl_mesh_raw"
new file mode 100644
index 0000000..f4abbf2
--- /dev/null
+++ "b/\173\043 interfaces \043\175/bond0_ab_nondvr_vxlan_ctl_mesh_raw"
@@ -0,0 +1,76 @@
+{#- Tenant over VXLAN. For computes without dvr #}
+{#- Provides:     #}
+{#-   br_ctl (linux bridge) + control address #}
+{#-   br_mesh (linux bridge) + tenant address #}
+{#- Requirements:                     #}
+{#-   _param:single_address         #}
+{#-   _param:control_network_netmask         #}
+{#-   _param:control_vlan           #}
+{#-   _param:tenant_address         #}
+{#-   _param:tenant_netmask         #}
+{#-   _param:tenant_vlan           #}
+              # {{ interfaces_role }}
+              {%- for interface_name, interface in interfaces.items() %}
+              {{ interface_name }}:
+                mtu: 9000
+                enabled: true
+                name: {{ interface_name }}
+                proto: manual
+                type: eth
+                ipflush_onchange: true
+              {%- endfor %}
+              bond0:
+                enabled: true
+                mode: active-backup
+                proto: manual
+                slaves: {{ ' '.join(interfaces.keys()) }}
+                type: bond
+                use_interfaces:
+                {%- for interface_name in interfaces.keys() %}
+                - {{ interface_name }}
+                {%- endfor %}
+                require_interfaces:
+                {%- for interface_name in interfaces.keys() %}
+                - {{ interface_name }}
+                {%- endfor %}
+
+              br_ctl:
+                address: ${_param:_esc}{_param:single_address}
+                enabled: true
+                netmask: ${_param:_esc}{_param:control_network_netmask}
+                proto: static
+                type: bridge
+                use_interfaces:
+                - bond0.${_param:_esc}{_param:control_vlan}
+                require_interfaces:
+                - bond0.${_param:_esc}{_param:control_vlan}
+              bond0.control_vlan:
+                name: bond0.${_param:_esc}{_param:control_vlan}
+                enabled: true
+                proto: manual
+                type: vlan
+                use_interfaces:
+                - bond0
+                require_interfaces:
+                - bond0
+
+              br_mesh:
+                enabled: true
+                proto: manual
+                type: bridge
+                use_interfaces:
+                - bond0
+                require_interfaces:
+                - bond0
+
+              br_mesh.tenant_vlan:
+                name: br_mesh.${_param:_esc}{_param:tenant_vlan}
+                address: ${_param:_esc}{_param:tenant_address}
+                netmask: ${_param:_esc}{_param:tenant_network_netmask}
+                enabled: true
+                type: vlan
+                proto: static
+                use_interfaces:
+                - br_mesh
+                require_interfaces:
+                - br_mesh
\ No newline at end of file
diff --git "a/\173\043 roles \043\175/features_vcp_gateway" "b/\173\043 roles \043\175/features_vcp_gateway"
new file mode 100644
index 0000000..4615cfd
--- /dev/null
+++ "b/\173\043 roles \043\175/features_vcp_gateway"
@@ -0,0 +1,9 @@
+{#-
+parameters:
+  reclass:
+    storage:
+      node:
+        <reclass_storage_node_name>:
+          classes:
+#}
+          - environment.{{ cookiecutter._env_name }}.features.salt_control.vcp_gateway
diff --git "a/\173\173 cookiecutter._env_name \175\175/features/salt_control/init.yml" "b/\173\173 cookiecutter._env_name \175\175/features/salt_control/init.yml"
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ "b/\173\173 cookiecutter._env_name \175\175/features/salt_control/init.yml"
diff --git "a/\173\173 cookiecutter._env_name \175\175/features/salt_control/nic_gateway.yml" "b/\173\173 cookiecutter._env_name \175\175/features/salt_control/nic_gateway.yml"
new file mode 100644
index 0000000..086c22c
--- /dev/null
+++ "b/\173\173 cookiecutter._env_name \175\175/features/salt_control/nic_gateway.yml"
@@ -0,0 +1,16 @@
+parameters:
+  virt:
+    nic:
+      gateway:
+       - name: nic01
+         bridge: br_mgm
+         model: virtio
+       - name: nic02
+         bridge: br_ctl
+         model: virtio
+       - name: nic03
+         bridge: br-ten
+         model: virtio
+       - name: nic04
+         bridge: br-ten
+         model: virtio
diff --git "a/\173\173 cookiecutter._env_name \175\175/features/salt_control/nic_proxy.yml" "b/\173\173 cookiecutter._env_name \175\175/features/salt_control/nic_proxy.yml"
new file mode 100644
index 0000000..c5cb726
--- /dev/null
+++ "b/\173\173 cookiecutter._env_name \175\175/features/salt_control/nic_proxy.yml"
@@ -0,0 +1,15 @@
+parameters:
+  virt:
+    nic:
+      proxy:
+       - name: nic01
+         bridge: br-mgm
+         model: virtio
+       - name: nic02
+         bridge: br_ctl
+         model: virtio
+       - name: nic03
+         bridge: br-prv
+         model: virtio
+         virtualport:
+           type: openvswitch
\ No newline at end of file
diff --git "a/\173\173 cookiecutter._env_name \175\175/features/salt_control/vcp_gateway.yml" "b/\173\173 cookiecutter._env_name \175\175/features/salt_control/vcp_gateway.yml"
new file mode 100644
index 0000000..c4b9adc
--- /dev/null
+++ "b/\173\173 cookiecutter._env_name \175\175/features/salt_control/vcp_gateway.yml"
@@ -0,0 +1,27 @@
+parameters:
+  _param:
+    salt_control_xenial_image_backend: /var/lib/libvirt/images/backends/xenial.qcow2
+    openstack_gateway_backend_image: ${_param:salt_control_xenial_image_backend}
+  salt:
+    control:
+      size:
+        openstack.gateway:
+          cpu: 32
+          ram: 65536
+          disk_profile: small
+          net_profile: gateway
+  virt:
+    nic:
+      gateway:
+       - name: nic01
+         bridge: br_mgm
+         model: virtio
+       - name: nic02
+         bridge: br_ctl
+         model: virtio
+       - name: nic03
+         bridge: br_mesh
+         model: virtio
+       - name: nic04
+         bridge: br_mesh
+         model: virtio