Merge "Add contrail and virtlet parameters"
diff --git a/classes/cluster/os_aio_ovs/openstack/init.yml b/classes/cluster/os_aio_ovs/openstack/init.yml
index e0f6e3c..5226be4 100644
--- a/classes/cluster/os_aio_ovs/openstack/init.yml
+++ b/classes/cluster/os_aio_ovs/openstack/init.yml
@@ -12,7 +12,7 @@
     openstack_message_queue_node02_address: ${_param:openstack_control_node02_address}
     openstack_message_queue_node03_address: ${_param:openstack_control_node03_address}
 
-    openstack_version: newton
+    openstack_version: ocata
     apt_mk_version: nightly
     mcp_repo_version: 1.1
     openstack_region: RegionOne
diff --git a/classes/cluster/os_ha_ovs/infra/config.yml b/classes/cluster/os_ha_ovs/infra/config.yml
index 6975e0d..4161e85 100644
--- a/classes/cluster/os_ha_ovs/infra/config.yml
+++ b/classes/cluster/os_ha_ovs/infra/config.yml
@@ -17,7 +17,6 @@
 - system.mysql.client.single
 - system.reclass.storage.system.openstack_control_cluster
 - system.reclass.storage.system.openstack_compute_multi
-- system.reclass.storage.system.openstack_gateway_single
 - system.reclass.storage.system.openstack_dashboard_single
 - cluster.os_ha_ovs.openstack.proxy
 - cluster.os_ha_ovs
@@ -81,10 +80,6 @@
             single_address: 172.16.10.106
             tenant_address: 10.1.0.106
             external_address: 10.16.0.106
-        openstack_gateway_node01:
-          params:
-            tenant_address: 10.1.0.110
-            external_address: 10.16.0.110
         openstack_proxy_node01:
           classes:
           - cluster.os_ha_ovs.openstack.proxy
diff --git a/classes/cluster/os_ha_ovs/openstack/gateway.yml b/classes/cluster/os_ha_ovs/openstack/gateway.yml
deleted file mode 100644
index dcb29f5..0000000
--- a/classes/cluster/os_ha_ovs/openstack/gateway.yml
+++ /dev/null
@@ -1,78 +0,0 @@
-classes:
-- system.linux.system.repo.mcp.openstack
-- system.linux.system.repo.mcp.extra
-- system.linux.system.repo.saltstack.xenial
-- system.neutron.gateway.cluster
-- cluster.os_ha_ovs
-parameters:
-  _param:
-    primary_interface: ens4
-    tenant_interface: ens5
-    external_interface: ens6
-    interface_mtu: 9000
-    linux_system_codename: xenial
-  linux:
-    network:
-      bridge: openvswitch
-      interface:
-        dhcp_int:
-          enabled: true
-          name: ens3
-          proto: dhcp
-          type: eth
-          mtu: ${_param:interface_mtu}
-        primary_interface:
-          enabled: true
-          name: ${_param:primary_interface}
-          mtu: ${_param:interface_mtu}
-          proto: manual
-          type: eth
-        tenant_interface:
-          enabled: true
-          name: ${_param:tenant_interface}
-          mtu: ${_param:interface_mtu}
-          proto: manual
-          type: eth
-        external_interface:
-          enabled: true
-          name: ${_param:external_interface}
-          mtu: ${_param:interface_mtu}
-          proto: manual
-          type: eth
-        br-floating:
-          enabled: true
-          type: ovs_bridge
-          mtu: ${_param:interface_mtu}
-        br-mgmt:
-          enabled: true
-          type: bridge
-          proto: static
-          address: ${_param:single_address}
-          netmask: 255.255.255.0
-          mtu: ${_param:interface_mtu}
-          use_interfaces:
-          - ${_param:primary_interface}
-        br-mesh:
-          enabled: true
-          type: bridge
-          mtu: ${_param:interface_mtu}
-          proto: static
-          address: ${_param:tenant_address}
-          netmask: 255.255.255.0
-          use_interfaces:
-          - ${_param:tenant_interface}
-        float-to-ex:
-          enabled: true
-          type: ovs_port
-          mtu: ${_param:interface_mtu}
-          bridge: br-floating
-        br-ex:
-          enabled: true
-          type: bridge
-          mtu: ${_param:interface_mtu}
-          address: ${_param:external_address}
-          netmask: 255.255.255.0
-          use_interfaces:
-          - ${_param:external_interface}
-          use_ovs_ports:
-          - float-to-ex
\ No newline at end of file
diff --git a/classes/cluster/os_ha_ovs/openstack/init.yml b/classes/cluster/os_ha_ovs/openstack/init.yml
index e0f6e3c..62e9b94 100644
--- a/classes/cluster/os_ha_ovs/openstack/init.yml
+++ b/classes/cluster/os_ha_ovs/openstack/init.yml
@@ -1,4 +1,4 @@
-arameters:
+parameters:
   _param:
     openstack_proxy_address: 172.16.10.121
     openstack_proxy_node01_address: 172.16.10.121
@@ -12,7 +12,7 @@
     openstack_message_queue_node02_address: ${_param:openstack_control_node02_address}
     openstack_message_queue_node03_address: ${_param:openstack_control_node03_address}
 
-    openstack_version: newton
+    openstack_version: ocata
     apt_mk_version: nightly
     mcp_repo_version: 1.1
     openstack_region: RegionOne
@@ -128,11 +128,6 @@
           names:
           - ctl03
           - ctl03.${_param:cluster_domain}
-        gtw01:
-          address: ${_param:openstack_gateway_address}
-          names:
-          - gtw01
-          - gtw01.${_param:cluster_domain}
         cmp01:
           address: 172.16.10.105
           names:
diff --git a/classes/cluster/sl_k8s_calico/stacklight/server.yml b/classes/cluster/sl_k8s_calico/stacklight/server.yml
index fd5ade9..bef849f 100644
--- a/classes/cluster/sl_k8s_calico/stacklight/server.yml
+++ b/classes/cluster/sl_k8s_calico/stacklight/server.yml
@@ -45,7 +45,7 @@
     # Kibana
     kibana_elasticsearch_host: ${_param:cluster_vip_address}
     # Galera
-    openstack_version: newton
+    openstack_version: ocata
     # Grafana
     docker_grafana_replicas: 1
     grafana_database_type: mysql
diff --git a/classes/cluster/sl_k8s_contrail/stacklight/server.yml b/classes/cluster/sl_k8s_contrail/stacklight/server.yml
index 9f836b3..be7150d 100644
--- a/classes/cluster/sl_k8s_contrail/stacklight/server.yml
+++ b/classes/cluster/sl_k8s_contrail/stacklight/server.yml
@@ -45,7 +45,7 @@
     keepalived_prometheus_vip_password: password
     keepalived_prometheus_vip_interface: ens4
     # Galera
-    openstack_version: newton
+    openstack_version: ocata
     # Grafana
     grafana_database_type: mysql
     grafana_database_host: ${_param:cluster_vip_address}
diff --git a/classes/cluster/sl_os_ovs/infra/config.yml b/classes/cluster/sl_os_ovs/infra/config.yml
index 8cad637..bf516ea 100644
--- a/classes/cluster/sl_os_ovs/infra/config.yml
+++ b/classes/cluster/sl_os_ovs/infra/config.yml
@@ -17,7 +17,6 @@
 - system.mysql.client.single
 - system.reclass.storage.system.openstack_control_cluster
 - system.reclass.storage.system.openstack_compute_multi
-- system.reclass.storage.system.openstack_gateway_single
 - system.reclass.storage.system.openstack_dashboard_single
 - system.reclass.storage.system.stacklight_server_cluster
 - cluster.sl_os_ovs.openstack.proxy
@@ -83,10 +82,6 @@
             single_address: 172.16.10.106
             tenant_address: 10.1.0.106
             external_address: 10.16.0.106
-        openstack_gateway_node01:
-          params:
-            tenant_address: 10.1.0.110
-            external_address: 10.16.0.110
         openstack_proxy_node01:
           classes:
           - cluster.sl_os_ovs.openstack.proxy
diff --git a/classes/cluster/sl_os_ovs/openstack/gateway.yml b/classes/cluster/sl_os_ovs/openstack/gateway.yml
deleted file mode 100644
index e19356c..0000000
--- a/classes/cluster/sl_os_ovs/openstack/gateway.yml
+++ /dev/null
@@ -1,78 +0,0 @@
-classes:
-- system.linux.system.repo.mcp.openstack
-- system.linux.system.repo.mcp.extra
-- system.linux.system.repo.saltstack.xenial
-- system.neutron.gateway.cluster
-- cluster.sl_os_ovs
-parameters:
-  _param:
-    primary_interface: ens4
-    tenant_interface: ens5
-    external_interface: ens6
-    interface_mtu: 9000
-    linux_system_codename: xenial
-  linux:
-    network:
-      bridge: openvswitch
-      interface:
-        dhcp_int:
-          enabled: true
-          name: ens3
-          proto: dhcp
-          type: eth
-          mtu: ${_param:interface_mtu}
-        primary_interface:
-          enabled: true
-          name: ${_param:primary_interface}
-          mtu: ${_param:interface_mtu}
-          proto: manual
-          type: eth
-        tenant_interface:
-          enabled: true
-          name: ${_param:tenant_interface}
-          mtu: ${_param:interface_mtu}
-          proto: manual
-          type: eth
-        external_interface:
-          enabled: true
-          name: ${_param:external_interface}
-          mtu: ${_param:interface_mtu}
-          proto: manual
-          type: eth
-        br-floating:
-          enabled: true
-          type: ovs_bridge
-          mtu: ${_param:interface_mtu}
-        br-mgmt:
-          enabled: true
-          type: bridge
-          proto: static
-          address: ${_param:single_address}
-          netmask: 255.255.255.0
-          mtu: ${_param:interface_mtu}
-          use_interfaces:
-          - ${_param:primary_interface}
-        br-mesh:
-          enabled: true
-          type: bridge
-          mtu: ${_param:interface_mtu}
-          proto: static
-          address: ${_param:tenant_address}
-          netmask: 255.255.255.0
-          use_interfaces:
-          - ${_param:tenant_interface}
-        float-to-ex:
-          enabled: true
-          type: ovs_port
-          mtu: ${_param:interface_mtu}
-          bridge: br-floating
-        br-ex:
-          enabled: true
-          type: bridge
-          mtu: ${_param:interface_mtu}
-          address: ${_param:external_address}
-          netmask: 255.255.255.0
-          use_interfaces:
-          - ${_param:external_interface}
-          use_ovs_ports:
-          - float-to-ex
\ No newline at end of file
diff --git a/classes/cluster/sl_os_ovs/openstack/init.yml b/classes/cluster/sl_os_ovs/openstack/init.yml
index e2f6cf2..82f7f5a 100644
--- a/classes/cluster/sl_os_ovs/openstack/init.yml
+++ b/classes/cluster/sl_os_ovs/openstack/init.yml
@@ -12,7 +12,7 @@
     openstack_message_queue_node02_address: ${_param:openstack_control_node02_address}
     openstack_message_queue_node03_address: ${_param:openstack_control_node03_address}
 
-    openstack_version: newton
+    openstack_version: ocata
     apt_mk_version: nightly
     mcp_repo_version: 1.1
     openstack_region: RegionOne
@@ -129,11 +129,6 @@
           names:
           - ctl03
           - ctl03.${_param:cluster_domain}
-        gtw01:
-          address: ${_param:openstack_gateway_address}
-          names:
-          - gtw01
-          - gtw01.${_param:cluster_domain}
         cmp01:
           address: 172.16.10.105
           names:
diff --git a/classes/cluster/sl_os_ovs/stacklight/init.yml b/classes/cluster/sl_os_ovs/stacklight/init.yml
index 5dc9b59..9621aa3 100644
--- a/classes/cluster/sl_os_ovs/stacklight/init.yml
+++ b/classes/cluster/sl_os_ovs/stacklight/init.yml
@@ -6,7 +6,6 @@
     stacklight_monitor_node03_address: 172.16.10.109
     stacklight_telemetry_node01_address: ${_param:stacklight_monitor_node01_address}
     stacklight_log_address: ${_param:stacklight_monitor_address}
-    openstack_gateway_address: 172.16.10.110
     stacklight_telemetry_address: ${_param:stacklight_monitor_address}
 
     heka_elasticsearch_host: ${_param:stacklight_monitor_address}
diff --git a/classes/cluster/virtual-mcp11-contrail-nfv/infra/config.yml b/classes/cluster/virtual-mcp11-contrail-nfv/infra/config.yml
index 3da1578..3af2439 100755
--- a/classes/cluster/virtual-mcp11-contrail-nfv/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-contrail-nfv/infra/config.yml
@@ -2,6 +2,7 @@
 - service.git.client
 - system.linux.system.single
 - system.linux.system.repo.mcp.salt
+- system.linux.system.repo.mcp.openstack
 - system.openssh.client.lab
 - system.salt.master.api
 - system.salt.master.pkg
@@ -9,13 +10,22 @@
 - system.salt.minion.ca.salt_master
 - system.salt.minion.cert.proxy
 - system.sphinx.server.doc.reclass
-- system.keystone.client.single
+- system.keystone.client.core
 - system.keystone.client.service.aodh
 - system.keystone.client.service.ceilometer
-- system.keystone.client.service.nova21
-- system.keystone.client.service.glare
-- system.keystone.client.service.cinder3
 - system.keystone.client.service.designate
+- system.keystone.client.service.cinder
+- system.keystone.client.service.cinder2
+- system.keystone.client.service.cinder3
+- system.keystone.client.service.glance
+- system.keystone.client.service.glare
+- system.keystone.client.service.heat
+- system.keystone.client.service.heat-cfn
+- system.keystone.client.service.keystone
+- system.keystone.client.service.neutron
+- system.keystone.client.service.nova-ec2
+- system.keystone.client.service.nova21
+- system.keystone.client.service.nova-placement
 - system.mysql.client.single
 - system.reclass.storage.system.openstack_control_cluster
 - system.reclass.storage.system.opencontrail_control_cluster
@@ -92,7 +102,7 @@
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: ${_param:linux_system_codename}
             single_address: 172.16.10.105
-            compute_vrouter_dpdk_mac_address: 90:e2:ba:19:c2:19 #must be mac of ens4
+            compute_vrouter_dpdk_mac_address: 02:9e:de:d3:5b:ce #must be manually changed to mac of ens4
             compute_vrouter_dpdk_pci: "'0000:00:04.0'"
         openstack_compute_node02:
           name: ${_param:openstack_compute_node02_hostname}
@@ -103,5 +113,5 @@
             salt_master_host: ${_param:reclass_config_master}
             linux_system_codename: ${_param:linux_system_codename}
             single_address: 172.16.10.106
-            compute_vrouter_dpdk_mac_address: 00:1b:21:87:21:99 #must be mac of ens4
+            compute_vrouter_dpdk_mac_address: 02:de:aa:e6:12:81 #must be manually changed to mac of ens4
             compute_vrouter_dpdk_pci: "'0000:00:04.0'"
\ No newline at end of file
diff --git a/classes/cluster/virtual-mcp11-contrail-nfv/opencontrail/control.yml b/classes/cluster/virtual-mcp11-contrail-nfv/opencontrail/control.yml
index 6bfbcc3..439ee4f 100644
--- a/classes/cluster/virtual-mcp11-contrail-nfv/opencontrail/control.yml
+++ b/classes/cluster/virtual-mcp11-contrail-nfv/opencontrail/control.yml
@@ -3,8 +3,6 @@
 - system.linux.system.repo.cassandra
 - system.linux.system.repo.mcp.contrail
 - system.linux.system.repo.mcp.openstack
-- system.linux.system.repo.mos10
-- system.linux.system.repo.ubuntu
 - system.linux.system.repo.mcp.extra
 - system.linux.system.repo.saltstack.trusty
 - system.opencontrail.client.resource.edge_router
diff --git a/classes/cluster/virtual-mcp11-contrail-nfv/openstack/compute.yml b/classes/cluster/virtual-mcp11-contrail-nfv/openstack/compute.yml
index f09c9c6..51217c4 100755
--- a/classes/cluster/virtual-mcp11-contrail-nfv/openstack/compute.yml
+++ b/classes/cluster/virtual-mcp11-contrail-nfv/openstack/compute.yml
@@ -31,6 +31,9 @@
     linux_system_codename: xenial
   linux:
     network:
+      concat_iface_files:
+      - src: '/etc/network/interfaces.d/50-cloud-init.cfg'
+        dst: '/etc/network/interfaces'
       interface:
         ens4:
           enabled: true
@@ -46,6 +49,10 @@
           # - /usr/lib/contrail/if-vhost0
           # use_interfaces:
           # - ens4
+    system:
+      package:
+        liburcu4:
+          version: 0.9.1-3
   nova:
     compute:
       vncproxy_url: http://${_param:cluster_vip_address}:6080
@@ -70,3 +77,4 @@
     common:
       network:
         host: ${_param:openstack_control_address}
+
diff --git a/classes/cluster/virtual-mcp11-contrail/infra/config.yml b/classes/cluster/virtual-mcp11-contrail/infra/config.yml
index e0fd56c..ed6c8cc 100755
--- a/classes/cluster/virtual-mcp11-contrail/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-contrail/infra/config.yml
@@ -2,6 +2,7 @@
 - service.git.client
 - system.linux.system.single
 - system.linux.system.repo.mcp.salt
+- system.linux.system.repo.mcp.openstack
 - system.openssh.client.lab
 - system.salt.master.api
 - system.salt.master.pkg
@@ -9,13 +10,22 @@
 - system.salt.minion.ca.salt_master
 - system.salt.minion.cert.proxy
 - system.sphinx.server.doc.reclass
-- system.keystone.client.single
+- system.keystone.client.core
 - system.keystone.client.service.aodh
 - system.keystone.client.service.ceilometer
-- system.keystone.client.service.nova21
-- system.keystone.client.service.glare
-- system.keystone.client.service.cinder3
 - system.keystone.client.service.designate
+- system.keystone.client.service.cinder
+- system.keystone.client.service.cinder2
+- system.keystone.client.service.cinder3
+- system.keystone.client.service.glance
+- system.keystone.client.service.glare
+- system.keystone.client.service.heat
+- system.keystone.client.service.heat-cfn
+- system.keystone.client.service.keystone
+- system.keystone.client.service.neutron
+- system.keystone.client.service.nova-ec2
+- system.keystone.client.service.nova21
+- system.keystone.client.service.nova-placement
 - system.mysql.client.single
 - system.reclass.storage.system.openstack_control_cluster
 - system.reclass.storage.system.opencontrail_control_cluster
diff --git a/classes/cluster/virtual-mcp11-contrail/init.yml b/classes/cluster/virtual-mcp11-contrail/init.yml
index 9a5b947..ade1433 100755
--- a/classes/cluster/virtual-mcp11-contrail/init.yml
+++ b/classes/cluster/virtual-mcp11-contrail/init.yml
@@ -1,6 +1,7 @@
 classes:
 - service.grafana.collector
 - system.heka.log_collector.single
+- system.heka.log_collector.output.telegraf
 - system.linux.system.repo.mcp.extra
 - system.linux.system.single
 - system.rsyslog.client.single
diff --git a/classes/cluster/virtual-mcp11-contrail/openstack/compute.yml b/classes/cluster/virtual-mcp11-contrail/openstack/compute.yml
index 54e04c7..967d151 100755
--- a/classes/cluster/virtual-mcp11-contrail/openstack/compute.yml
+++ b/classes/cluster/virtual-mcp11-contrail/openstack/compute.yml
@@ -7,6 +7,7 @@
 - system.opencontrail.compute.cluster
 - system.opencontrail.client.cluster
 - system.opencontrail.client.resource.virtual_router
+- system.prometheus.exporters.libvirt
 - service.opencontrail.compute.cluster
 - cluster.virtual-mcp11-contrail
 parameters:
@@ -25,6 +26,9 @@
     linux_system_codename: xenial
   linux:
     network:
+      concat_iface_files:
+      - src: '/etc/network/interfaces.d/50-cloud-init.cfg'
+        dst: '/etc/network/interfaces'
       interface:
         ens4:
           enabled: true
diff --git a/classes/cluster/virtual-mcp11-dvr/init.yml b/classes/cluster/virtual-mcp11-dvr/init.yml
index eb107b3..0ac5d8a 100644
--- a/classes/cluster/virtual-mcp11-dvr/init.yml
+++ b/classes/cluster/virtual-mcp11-dvr/init.yml
@@ -1,6 +1,7 @@
 classes:
 - service.grafana.collector
 - system.heka.log_collector.single
+- system.heka.log_collector.output.telegraf
 - system.linux.system.repo.mcp.extra
 - system.linux.system.single
 - system.rsyslog.client.single
diff --git a/classes/cluster/virtual-mcp11-dvr/openstack/compute.yml b/classes/cluster/virtual-mcp11-dvr/openstack/compute.yml
index 2ee0b06..e1363e8 100644
--- a/classes/cluster/virtual-mcp11-dvr/openstack/compute.yml
+++ b/classes/cluster/virtual-mcp11-dvr/openstack/compute.yml
@@ -5,6 +5,7 @@
 - system.nova.compute.cluster
 - system.neutron.compute.cluster
 - system.linux.network.interface.single_ovs_dvr
+- system.prometheus.exporters.libvirt
 - cluster.virtual-mcp11-dvr
 parameters:
   _param:
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/infra/init.yml b/classes/cluster/virtual-mcp11-k8s-calico/infra/init.yml
index 29af1e1..a5d2d26 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/infra/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/infra/init.yml
@@ -9,6 +9,8 @@
 - system.openssh.server.team.mcp_qa
 - system.openssh.server.team.k8s_team
 - system.rsyslog.client.single
+- system.heka.log_collector.single
+- system.heka.log_collector.output.telegraf
 - system.telegraf.agent
 - system.prometheus.collector
 - service.grafana.collector
diff --git a/classes/cluster/virtual-mcp11-k8s-calico/stacklight/init.yml b/classes/cluster/virtual-mcp11-k8s-calico/stacklight/init.yml
index a6b4118..243a614 100644
--- a/classes/cluster/virtual-mcp11-k8s-calico/stacklight/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-calico/stacklight/init.yml
@@ -22,6 +22,10 @@
     galera_server_cluster_name: monitoring_cluster
     galera_server_maintenance_password: workshop
     galera_server_admin_password: workshop
+
+    heka_elasticsearch_host: ${_param:stacklight_monitor_address}
+    elasticsearch_port: 9200
+    stacklight_environment: ${_param:cluster_domain}
   linux:
     network:
       host:
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/infra/init.yml b/classes/cluster/virtual-mcp11-k8s-contrail/infra/init.yml
index 6ef0ebc..092165c 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/infra/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/infra/init.yml
@@ -9,6 +9,8 @@
 - system.openssh.server.team.mcp_qa
 - system.openssh.server.team.k8s_team
 - system.rsyslog.client.single
+- system.heka.log_collector.single
+- system.heka.log_collector.output.telegraf
 - system.telegraf.agent
 - system.prometheus.collector
 - service.grafana.collector
diff --git a/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/init.yml b/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/init.yml
index 3685807..4b37345 100644
--- a/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/init.yml
+++ b/classes/cluster/virtual-mcp11-k8s-contrail/stacklight/init.yml
@@ -20,6 +20,10 @@
     galera_server_cluster_name: monitoring_cluster
     galera_server_maintenance_password: workshop
     galera_server_admin_password: workshop
+
+    heka_elasticsearch_host: ${_param:stacklight_monitor_address}
+    elasticsearch_port: 9200
+    stacklight_environment: ${_param:cluster_domain}
   linux:
     network:
       host:
diff --git a/classes/cluster/virtual-mcp11-ovs-dpdk/infra/config.yml b/classes/cluster/virtual-mcp11-ovs-dpdk/infra/config.yml
index 5919aed..a111de2 100644
--- a/classes/cluster/virtual-mcp11-ovs-dpdk/infra/config.yml
+++ b/classes/cluster/virtual-mcp11-ovs-dpdk/infra/config.yml
@@ -80,15 +80,15 @@
             single_address: 172.16.10.105
             tenant_address: 10.1.0.105
             external_address: 10.16.0.105
-            dpdk0_name: ens4
-            dpdk0_pci: '"0000:00:04.0"'
+            dpdk0_name: ens5
+            dpdk0_pci: '"0000:00:05.0"'
         openstack_compute_node02:
           params:
             single_address: 172.16.10.106
             tenant_address: 10.1.0.106
             external_address: 10.16.0.106
-            dpdk0_name: ens4
-            dpdk0_pci: '"0000:00:04.0"'
+            dpdk0_name: ens5
+            dpdk0_pci: '"0000:00:05.0"'
         openstack_gateway_node01:
           params:
             tenant_address: 10.1.0.110
diff --git a/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/compute.yml b/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/compute.yml
index 80408fb..db35cb0 100644
--- a/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/compute.yml
+++ b/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/compute.yml
@@ -70,10 +70,16 @@
         #   use_interfaces:
         #   - ${_param:tenant_interface}
 ###
+        # dpdkbond1:
+        #   enabled: true
+        #   bridge: br-prv
+        #   type: dpdk_ovs_bond
+        #   mode: active-backup
         dpdk0:
           name: ${_param:dpdk0_name}
           pci: ${_param:dpdk0_pci}
           driver: igb_uio
+#          bond: dpdkbond1
           enabled: true
           type: dpdk_ovs_port
           n_rxq: 2
diff --git a/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/gateway.yml b/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/gateway.yml
index 1cf25df..f89cfcf 100644
--- a/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/gateway.yml
+++ b/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/gateway.yml
@@ -27,48 +27,31 @@
           mtu: ${_param:interface_mtu}
           proto: manual
           type: eth
-        tenant_interface:
+        # tenant_interface:
+        #   enabled: true
+        #   name: ${_param:tenant_interface}
+        #   mtu: ${_param:interface_mtu}
+        #   proto: manual
+        #   type: eth
+        external_interface:
           enabled: true
-          name: ${_param:tenant_interface}
+          name: ${_param:external_interface}
           mtu: ${_param:interface_mtu}
           proto: manual
           type: eth
-        # br-floating:
-        #   enabled: true
-        #   type: ovs_bridge
-        #   mtu: ${_param:interface_mtu}
-        # br-mgmt:
-        #   enabled: true
-        #   type: bridge
-        #   proto: static
-        #   address: ${_param:single_address}
-        #   netmask: 255.255.255.0
-        #   mtu: ${_param:interface_mtu}
-        #   use_interfaces:
-        #   - ${_param:primary_interface}
-        # br-mesh:
-        #   enabled: true
-        #   type: bridge
-        #   mtu: ${_param:interface_mtu}
-        #   proto: static
-        #   address: ${_param:tenant_address}
-        #   netmask: 255.255.255.0
-        #   use_interfaces:
-        #   - ${_param:tenant_interface}
-
-        br_ctl:
+        br-floating:
           enabled: true
-          type: ovs_port
-          bridge: br-floating
+          type: ovs_bridge
+          mtu: ${_param:interface_mtu}
+        br-mgmt:
+          enabled: true
+          type: bridge
           proto: static
           address: ${_param:single_address}
           netmask: 255.255.255.0
           mtu: ${_param:interface_mtu}
           use_interfaces:
           - ${_param:primary_interface}
-        br-floating:
-          enabled: true
-          type: ovs_bridge
         br-prv:
           enabled: true
           type: ovs_bridge
@@ -85,4 +68,19 @@
           type: ovs_port
           port_type: patch
           bridge: br-prv
-          peer: floating-to-prv
\ No newline at end of file
+          peer: floating-to-prv
+        float-to-ex:
+          enabled: true
+          type: ovs_port
+          mtu: ${_param:interface_mtu}
+          bridge: br-floating
+        br-ex:
+          enabled: true
+          type: bridge
+          mtu: ${_param:interface_mtu}
+          address: ${_param:external_address}
+          netmask: 255.255.255.0
+          use_interfaces:
+          - ${_param:external_interface}
+          use_ovs_ports:
+          - float-to-ex
\ No newline at end of file
diff --git a/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/init.yml b/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/init.yml
index 3a8b30c..026a8d7 100644
--- a/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/init.yml
+++ b/classes/cluster/virtual-mcp11-ovs-dpdk/openstack/init.yml
@@ -24,16 +24,16 @@
     cluster_vip_address: 172.16.10.254
     cluster_local_address: ${_param:single_address}
 
-    nova_cpu_pinning: "2,3"
-    compute_hugepages_size: 1G
-    compute_hugepages_count: 3
-    compute_hugepages_mount: /mnt/hugepages_1G
+    nova_cpu_pinning: "3"
+    compute_hugepages_size: 2M
+    compute_hugepages_count: 600
+    compute_hugepages_mount: /mnt/hugepages_2M
     compute_kernel_isolcpu: ${_param:nova_cpu_pinning}
     compute_dpdk_driver: uio
-    compute_ovs_pmd_cpu_mask: "0x6"
+    compute_ovs_pmd_cpu_mask: "0x2"
     compute_ovs_dpdk_socket_mem: "1024"
-    compute_ovs_dpdk_lcore_mask: "0x400"
-    compute_ovs_memory_channels: "2"
+    compute_ovs_dpdk_lcore_mask: "0x1"
+    compute_ovs_memory_channels: "1"
 
     cluster_node01_hostname: ctl01
     cluster_node01_address: 172.16.10.101
diff --git a/classes/system b/classes/system
index 70f7f59..deebb6d 160000
--- a/classes/system
+++ b/classes/system
@@ -1 +1 @@
-Subproject commit 70f7f5915dabf37b49b954514ecec0778578536c
+Subproject commit deebb6debf38c2a2df15581dbd364e5c827d1c76