add lacp bond

Change-Id: I2760636fb8dd2ebdb528f9668d52804afa83aebd
diff --git a/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/openstack.yaml b/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/openstack.yaml
index e47f36c..b8c6bd8 100644
--- a/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/openstack.yaml
+++ b/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/openstack.yaml
@@ -179,23 +179,6 @@
   retry: {count: 10, delay: 30}
   skip_fail: false
 
-
-  # Upload cirros image
-
-- description: Upload cirros image on ctl01
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
-    'wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img'
-  node_name: {{ HOSTNAME_CFG01 }}
-  retry: {count: 2, delay: 30}
-  skip_fail: false
-
-- description: Register image in glance
-  cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
-    '. /root/keystonercv3; glance --timeout 120 image-create --name cirros --visibility public --disk-format qcow2 --container-format bare --progress < /root/cirros-0.3.4-i386-disk.img'
-  node_name: {{ HOSTNAME_CFG01 }}
-  retry: {count: 1, delay: 30}
-  skip_fail: false
-
 - description: Create net04_external
   cmd: salt --hard-crash --state-output=mixed --state-verbose=False 'ctl01*' cmd.run
     '. /root/keystonercv3; neutron net-create net04_ext --router:external True --provider:physical_network physnet1 --provider:network_type flat'
@@ -243,12 +226,4 @@
     '. /root/keystonercv3; neutron router-interface-add net04_router01 net04__subnet'
   node_name: {{ HOSTNAME_CFG01 }}
   retry: {count: 1, delay: 30}
-  skip_fail: false
-
-- description: Temporary WR
-  cmd: |
-    rc=`salt "ctl01*" cmd.run 'cat /root/keystonercv3' | grep export`;
-    salt 'gtw01*' cmd.run "echo $rc > /root/keystonercv3";
-  node_name: {{ HOSTNAME_CFG01 }}
-  retry: {count: 1, delay: 10}
-  skip_fail: true
\ No newline at end of file
+  skip_fail: false
\ No newline at end of file
diff --git a/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/salt-context-cookiecutter-openstack_ovs_dpdk.yaml b/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/salt-context-cookiecutter-openstack_ovs_dpdk.yaml
index 41c12a5..fba1474 100644
--- a/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/salt-context-cookiecutter-openstack_ovs_dpdk.yaml
+++ b/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/salt-context-cookiecutter-openstack_ovs_dpdk.yaml
@@ -70,7 +70,7 @@
   cicd_public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyGITa8rXUofX88c72/khxPWiXeS4Ciu/oiBb7WlpP3DikWd0fYMdDFMmxnrb1yKD4QtUAodCeQ0PZT778MzbRqLll+k7CW9350v3n8VsZvrY7PHGTEGPJz8Ftuzwtxm1LVI35qB2SNAbVK2lyRRsWmmgn2fNaCcRx1h2idDppOGB35gusA5fTizdwyUJ+UKVCXeUYWjbhB2GT9jgzmuh1+p8Pk05IoSFg/91My6euLzMHltSJ+868JZQpQ7EuOTH3mtpjzbEwdShsxiTztFws9yrynLP3r8U+iIurEzWjOdMo2IjRtbTGN/sUWN8sKNNqkpk9HPz5aS/ObOPfksuv
   cluster_domain: cookied-bm-mcp-ovs-dpdk.local
   cluster_name: cookied-bm-mcp-ovs-dpdk
-  compute_bond_mode: active-backup
+  compute_bond_mode: balance-slb
   compute_primary_first_nic: eth1
   compute_primary_second_nic: eth2
   context_seed: zEFbUBMME6LFdiL0rJWFgHMdQGgywnDSE9vFYvHgEBeYHb4QJsDl3HqpdaTgqYlF
diff --git a/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/salt-context-environment.yaml b/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/salt-context-environment.yaml
index 2b693ab..64713fe 100644
--- a/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/salt-context-environment.yaml
+++ b/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/salt-context-environment.yaml
@@ -50,17 +50,16 @@
       - linux_system_codename_xenial
       - openstack_compute_sriov
       interfaces:
-        enp3s0f0:
-          role: single_mgm
-          deploy_address: 172.16.49.3
-        enp3s0f1:
-          role: single_vlan_ctl
-          single_address: 10.167.11.105
         enp5s0f0:
+          role: combined_vlan_ctl_mgm
+          single_address: 10.167.11.105
+        enp3s0f0:
+          role: bond_dpdk_prv_lacp
+          dpdk_pci: "0000:03:00.0"
           tenant_address: 10.167.12.105
-          role: single_ovs_dpdk_prv
-          dpdk_pci: "0000:05:00.0"
-
+        enp3s0f1:
+          role: bond_dpdk_prv_lacp
+          dpdk_pci: "0000:03:00.1"
 
     cmp02.cookied-bm-mcp-ovs-dpdk.local:
       reclass_storage_name: openstack_compute_node02
@@ -70,16 +69,16 @@
       - linux_system_codename_xenial
       - openstack_compute_sriov
       interfaces:
-        enp3s0f0:
-          role: single_mgm
-          deploy_address: 172.16.49.31
-        enp3s0f1:
-          role: single_vlan_ctl
-          single_address: 10.167.11.106
         enp5s0f0:
+          role: combined_vlan_ctl_mgm
+          single_address: 10.167.11.106
+        enp3s0f0:
+          role: bond_dpdk_prv_lacp
+          dpdk_pci: "0000:03:00.0"
           tenant_address: 10.167.12.106
-          role: single_ovs_dpdk_prv
-          dpdk_pci: "0000:05:00.0"
+        enp3s0f1:
+          role: bond_dpdk_prv_lacp
+          dpdk_pci: "0000:03:00.1"
 
     gtw01.cookied-bm-mcp-ovs-dpdk.local:
       reclass_storage_name: openstack_gateway_node01
diff --git a/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/salt.yaml b/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/salt.yaml
index e8eb622..53e5be1 100644
--- a/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/salt.yaml
+++ b/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/salt.yaml
@@ -35,14 +35,6 @@
 
 {{ SHARED.MACRO_GENERATE_INVENTORY() }}
 {{ SHARED.MACRO_NETWORKING_WORKAROUNDS() }}
-
-- description: "Workaround for PROD-14060"
-  cmd: |
-    set -e;
-    # Add tenant and single addresses for computes
-    salt-call reclass.cluster_meta_set tenant_address 10.167.12.105 /srv/salt/reclass/nodes/_generated/cmp01.cookied-bm-mcp-ovs-dpdk.local.yml
-    salt-call reclass.cluster_meta_set tenant_address 10.167.12.106 /srv/salt/reclass/nodes/_generated/cmp02.cookied-bm-mcp-ovs-dpdk.local.yml
-
   node_name: {{ HOSTNAME_CFG01 }}
   retry: {count: 1, delay: 10}
   skip_fail: false
@@ -64,15 +56,26 @@
   retry: {count: 1, delay: 10}
   skip_fail: false
 
-{{ SHARED.MACRO_BOOTSTRAP_ALL_MINIONS() }}
-
-- description: Temporary WR for PROD-###
-  cmd: |
-    salt --hard-crash --state-output=mixed --state-verbose=False -C 'cmp*' cmd.run "update-alternatives --remove ovs-vswitchd /usr/lib/openvswitch-switch/ovs-vswitchd";
-    salt --hard-crash --state-output=mixed --state-verbose=False -C 'cmp*' cmd.run "service openvswitch-switch restart"
+- description: "Workaround for PROD-18834: Pre-install linux-headers package"
+  cmd: salt 'cmp*' cmd.run "apt-get install -y linux-headers-$(uname -r)";
   node_name: {{ HOSTNAME_CFG01 }}
   retry: {count: 1, delay: 10}
-  skip_fail: true
+  skip_fail: false
+
+- description: "Workaround for PROD-17975: Pre-install ovs packages to update alternatives to DPDK"
+  cmd: |
+    set -ex;
+    salt --hard-crash --state-output=mixed --state-verbose=False -C 'I@linux:system' state.sls linux.system.repo
+    salt 'cmp*' cmd.run "apt-get install -y openvswitch-switch openvswitch-switch-dpdk";
+    salt 'cmp*' cmd.run "service openvswitch-switch stop";
+    salt 'cmp*' cmd.run "rm -f /var/lib/openvswitch/*";
+    salt 'cmp*' cmd.run "update-alternatives --remove ovs-vswitchd /usr/lib/openvswitch-switch/ovs-vswitchd";
+    salt 'cmp*' cmd.run "service openvswitch-switch start";
+  node_name: {{ HOSTNAME_CFG01 }}
+  retry: {count: 1, delay: 10}
+  skip_fail: false
+
+{{ SHARED.MACRO_BOOTSTRAP_ALL_MINIONS() }}
 
 ########################################
 # Spin up Control Plane VMs on KVM nodes
diff --git a/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/underlay.yaml b/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/underlay.yaml
index c4307eb..ae10126 100644
--- a/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/underlay.yaml
+++ b/tcp_tests/templates/cookied-bm-mcp-ovs-dpdk/underlay.yaml
@@ -318,7 +318,7 @@
 
               root_volume_name: system     # see 'volumes' below
               cloud_init_volume_name: iso  # see 'volumes' below
-              cloud_init_iface_up: enp3s0f0  # see 'interfaces' below.
+              cloud_init_iface_up: enp5s0f0  # see 'interfaces' below.
               volumes:
                 - name: system
                   capacity: !os_env NODE_VOLUME_SIZE, 200
@@ -337,30 +337,18 @@
 
               interfaces:
                 - label: enp3s0f0
-                  l2_network_device: admin
                   mac_address: !os_env ETH0_MAC_ADDRESS_CMP01
                 - label: enp3s0f1
                   mac_address: !os_env ETH1_MAC_ADDRESS_CMP01
                 - label: enp5s0f0
+                  l2_network_device: admin
                   mac_address: !os_env ETH2_MAC_ADDRESS_CMP01
-                  features: ['dpdk', 'dpdk_pci: 0000:05:00.0']
                 - label: enp5s0f1
                   mac_address: !os_env ETH3_MAC_ADDRESS_CMP01
-                  features: ['dpdk', 'dpdk_pci: 0000:05:00.1']
-
               network_config:
-                enp3s0f0:
+                enp5s0f0:
                   networks:
                    - admin
-                bond0:
-                  networks:
-                   - control
-                  aggregation: active-backup
-                  parents:
-                   - enp3s0f0
-                   - enp3s0f1
-
-
 
           - name: {{ HOSTNAME_CMP02 }}
             role: salt_minion
@@ -374,7 +362,7 @@
 
               root_volume_name: system     # see 'volumes' below
               cloud_init_volume_name: iso  # see 'volumes' below
-              cloud_init_iface_up: enp3s0f0  # see 'interfaces' below.
+              cloud_init_iface_up: enp5s0f0  # see 'interfaces' below.
               volumes:
                 - name: system
                   capacity: !os_env NODE_VOLUME_SIZE, 200
@@ -393,28 +381,18 @@
 
               interfaces:
                 - label: enp3s0f0
-                  l2_network_device: admin
                   mac_address: !os_env ETH0_MAC_ADDRESS_CMP02
                 - label: enp3s0f1
                   mac_address: !os_env ETH1_MAC_ADDRESS_CMP02
                 - label: enp5s0f0
+                  l2_network_device: admin
                   mac_address: !os_env ETH2_MAC_ADDRESS_CMP02
-                  features: ['dpdk', 'dpdk_pci: 0000:05:00.0']
                 - label: enp5s0f1
                   mac_address: !os_env ETH3_MAC_ADDRESS_CMP02
-                  features: ['dpdk', 'dpdk_pci: 0000:05:00.1']
               network_config:
-                enp3s0f0:
+                enp5s0f0:
                   networks:
                    - admin
-                bond0:
-                  networks:
-                   - control
-                  aggregation: active-backup
-                  parents:
-                   - enp3s0f0
-                   - enp3s0f1
-
 
           - name: {{ HOSTNAME_GTW01 }}
             role: salt_minion
diff --git a/tcp_tests/templates/cookied-model-generator/salt_cookied-bm-mcp-ovs-dpdk.yaml b/tcp_tests/templates/cookied-model-generator/salt_cookied-bm-mcp-ovs-dpdk.yaml
index 1f2017c..a52bf04 100644
--- a/tcp_tests/templates/cookied-model-generator/salt_cookied-bm-mcp-ovs-dpdk.yaml
+++ b/tcp_tests/templates/cookied-model-generator/salt_cookied-bm-mcp-ovs-dpdk.yaml
@@ -29,13 +29,6 @@
   retry: {count: 1, delay: 1}
   skip_fail: false
 
-- description: Temporary WR for cinder backend defined by default in reclass.system
-  cmd: |
-    sed -i 's/backend\:\ {}//g' /srv/salt/reclass/classes/system/cinder/control/cluster.yml;
-  node_name: {{ HOSTNAME_CFG01 }}
-  retry: {count: 1, delay: 5}
-  skip_fail: false
-
 - description: "Workaround for rack01 compute generator"
   cmd: |
     set -e;
@@ -44,10 +37,6 @@
     reclass-tools del-key parameters.reclass.storage.node.openstack_compute_rack01 /srv/salt/reclass/classes/cluster/{{ SHARED.CLUSTER_NAME }}/infra/config.yml;
     # Add openstack_compute_node definition from system
     reclass-tools add-key 'classes' 'system.reclass.storage.system.openstack_compute_multi' /srv/salt/reclass/classes/cluster/{{ SHARED.CLUSTER_NAME }}/infra/config.yml --merge;
-    # Set ipaddresses for our nodes
-    reclass-tools add-key parameters._param.openstack_compute_node01_tenant_address 10.167.12.105 /srv/salt/reclass/classes/cluster/{{ SHARED.CLUSTER_NAME }}/infra/config.yml;
-    reclass-tools add-key parameters._param.openstack_compute_node02_tenant_address 10.167.12.106 /srv/salt/reclass/classes/cluster/{{ SHARED.CLUSTER_NAME }}/infra/config.yml;
-
   node_name: {{ HOSTNAME_CFG01 }}
   retry: {count: 1, delay: 10}
   skip_fail: false
diff --git a/tcp_tests/tests/system/test_install_mcp_ovs_pike.py b/tcp_tests/tests/system/test_install_mcp_ovs_pike.py
index f022e0b..7c7c680 100644
--- a/tcp_tests/tests/system/test_install_mcp_ovs_pike.py
+++ b/tcp_tests/tests/system/test_install_mcp_ovs_pike.py
@@ -262,16 +262,12 @@
         LOG.info("*************** DONE **************")
 
     @pytest.mark.fail_snapshot
-    def test_bm_deploy(self, config, openstack_deployed,
-                       openstack_actions):
+    def test_bm_deploy(self, config, underlay,
+                       openstack_deployed):
         """Test for deploying an mcp environment on baremetal
 
         """
-        openstack_actions._salt.local(
+        openstack_deployed._salt.local(
             tgt='*', fun='cmd.run',
             args='service ntp stop; ntpd -gq; service ntp start')
-
-        if settings.RUN_TEMPEST:
-            openstack_actions.run_tempest(pattern=settings.PATTERN)
-            openstack_actions.download_tempest_report()
         LOG.info("*************** DONE **************")