Add running of advanced tempest suite for E/// networking features
Change-Id: I646d4036bf1d45dc60772652ee68fb4e00c36bba
Related-PROD: PROD-18430
diff --git a/tcp_tests/templates/virtual-mcp-pike-ovs-l2gw-bgpvpn/vswitch-config.yaml b/tcp_tests/templates/virtual-mcp-pike-ovs-l2gw-bgpvpn/vswitch-config.yaml
new file mode 100644
index 0000000..705e9be
--- /dev/null
+++ b/tcp_tests/templates/virtual-mcp-pike-ovs-l2gw-bgpvpn/vswitch-config.yaml
@@ -0,0 +1,81 @@
+
+{%- macro MACRO_CONFIGURE_VSWITCH(NODE_NAME, IP) %}
+{#################################################}
+
+- description: 'Install openvswitch-vtep package and configure it'
+ cmd: |
+ ip addr add {{ IP }}/24 dev ens4
+ ifconfig ens4 up
+
+ apt-get update
+ apt-get -y install openvswitch-switch
+ service openvswitch-switch stop
+ apt-get -y install openvswitch-vtep bridge-utils
+
+ ovsdb-tool create /etc/openvswitch/vtep.db /usr/share/openvswitch/vtep.ovsschema
+ ovsdb-tool create /etc/openvswitch/vswitch.db /usr/share/openvswitch/vswitch.ovsschema
+ ovsdb-server --pidfile --detach --log-file --remote ptcp:6632:{{ IP }} --remote punix:/var/run/openvswitch/db.sock --remote=db:hardware_vtep,Global,managers /etc/openvswitch/vswitch.db /etc/openvswitch/vtep.db
+ ovs-vswitchd --log-file --detach --pidfile unix:/var/run/openvswitch/db.sock
+ ovs-vsctl add-br v-switch
+ vtep-ctl add-ps v-switch
+ vtep-ctl set Physical_Switch v-switch tunnel_ips={{ IP }}
+ ovs-vsctl add-port v-switch port0 -- set interface port0 type=internal
+ vtep-ctl add-port v-switch port0
+ /usr/share/openvswitch/scripts/ovs-vtep --log-file=/var/log/openvswitch/ovs-vtep.log --pidfile=/var/run/openvswitch/ovs-vtep.pid --detach v-switch
+ node_name: {{ NODE_NAME }}
+ retry: {count: 1, delay: 5}
+ skip_fail: false
+
+{%- endmacro %}
+
+{%- macro MACRO_CHECK_BGPVPN_ENABLED_BY_DEFAULT() %}
+{#####################################################}
+
+- description: 'Check BGPVPN extension is enabled by default'
+ cmd: salt 'cmp*' pillar.get neutron:compute:bgp_vpn:enabled | grep True
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 1, delay: 5}
+ skip_fail: false
+
+{%- endmacro %}
+
+{%- macro MACRO_ENABLE_L2GW(CLUSTER_NAME, VSWITCH_IP) %}
+{#####################################################}
+
+- description: 'Check L2GW is disabled by default'
+ cmd: salt 'gtw01*' pillar.get neutron:gateway:l2gw:enabled | grep False
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 1, delay: 5}
+ skip_fail: false
+
+- description: 'Enable L2GW'
+ cmd: |
+ set -e;
+ set -x;
+ {%- set CLUSTER_PATH = '/srv/salt/reclass/classes/cluster/' + CLUSTER_NAME %}
+
+ echo "Setting 'enable: true' for L2gw feature to gateway.yml file"
+ L2GW_LINE=$(sed -n '/l2gw/=' {{ CLUSTER_PATH }}/openstack/gateway.yml)
+ L2GW_ENABLE_LINE=$((L2GW_LINE + 1))
+ sed -i "${L2GW_ENABLE_LINE}s/enabled: false/enabled: true/1" {{ CLUSTER_PATH }}/openstack/gateway.yml
+
+ echo "Setting 'ovsdb_hosts' ips for L2gw feature to gateway.yml file"
+ sed -i "s/ovsdbx: 127.0.0.1:6632/ovsdbx: {{VSWITCH_IP}}:6632/1" {{ CLUSTER_PATH }}/openstack/gateway.yml
+
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 1, delay: 5}
+ skip_fail: false
+
+- description: 'Refresh pillar data after L2GW enablement'
+ cmd: salt --hard-crash --state-output=mixed --state-verbose=False '*' saltutil.refresh_pillar
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 1, delay: 5}
+ skip_fail: false
+
+- description: 'Check L2GW is enabled'
+ cmd: salt 'gtw01*' pillar.get neutron:gateway:l2gw:enabled | grep True
+ node_name: {{ HOSTNAME_CFG01 }}
+ retry: {count: 1, delay: 5}
+ skip_fail: false
+
+{%- endmacro %}