From 0fbf91708504994ca0e24c972bb605371540ac32 Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Mon, 8 Jan 2018 11:50:23 +0100 Subject: [PATCH] Add static MAC entries to configuration - Add static MAC entries to sfc_controller configuration of all l2bdbase tests. Change-Id: I38ba32246ed20204c5be1f98b0454b71dcff2e00 Signed-off-by: Peter Mikus --- VPP_AGENT_STABLE_VER | 2 +- bootstrap-verify-perf-ligato.sh | 25 +++++++++++++++------- resources/libraries/python/KubernetesUtils.py | 4 ++++ ...eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc.yaml | 10 ++++++++- ...eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc.yaml | 10 ++++++++- ...eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc.yaml | 8 +++++++ ...eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc.yaml | 8 +++++++ ...maclrn-eth-4memif-2drcl2xc-k8s-ndrpdrdisc.robot | 6 ++++++ ...maclrn-eth-8memif-4drcl2xc-k8s-ndrpdrdisc.robot | 6 ++++++ ...maclrn-eth-2memif-2drcl2xc-k8s-ndrpdrdisc.robot | 6 ++++++ ...maclrn-eth-2memif-4drcl2xc-k8s-ndrpdrdisc.robot | 6 ++++++ 11 files changed, 80 insertions(+), 11 deletions(-) diff --git a/VPP_AGENT_STABLE_VER b/VPP_AGENT_STABLE_VER index 037b62f79f..f1080a2a0c 100644 --- a/VPP_AGENT_STABLE_VER +++ b/VPP_AGENT_STABLE_VER @@ -1 +1 @@ -v1.0.8-6-gd4339b8 \ No newline at end of file +gpantheon-dev \ No newline at end of file diff --git a/bootstrap-verify-perf-ligato.sh b/bootstrap-verify-perf-ligato.sh index 6654972352..79fdba698e 100644 --- a/bootstrap-verify-perf-ligato.sh +++ b/bootstrap-verify-perf-ligato.sh @@ -62,7 +62,6 @@ then VPP_DEBS="$( readlink -f *.deb | tr '\n' ' ' )" fi - dpkg -x vpp-${VPP_STABLE_VER}${VPP_CLASSIFIER}.deb /tmp/vpp # Temporary workaround as ligato docker file requires specific file name rename -v 's/^(.*)-(\d.*)-deb.deb/$1_$2.deb/' *.deb cd ${SCRIPT_DIR} @@ -78,14 +77,14 @@ then VPP_STABLE_VER="$( expr match $1 'vpp-\(.*\)-deb.deb' )" # Move files to build-root for packing for deb in ${VPP_DEBS}; do mv ${deb} vpp/build-root/; done - dpkg -x vpp/build-root/vpp_${VPP_STABLE_VER}.deb /tmp/vpp else echo "Unable to identify job type based on JOB_NAME variable: ${JOB_NAME}" exit 1 fi +dpkg -x vpp/build-root/vpp_${VPP_STABLE_VER}.deb /tmp/vpp # Compress all VPP debs and remove temporary directory -tar -zcvf ${SCRIPT_DIR}/vpp.tar.gz vpp/* && rm -R vpp +tar -zcvf ${SCRIPT_DIR}/vpp.tar.gz vpp/* && rm -R vpp LIGATO_REPO_URL=$(cat ${SCRIPT_DIR}/LIGATO_REPO_URL) VPP_AGENT_STABLE_VER=$(cat ${SCRIPT_DIR}/VPP_AGENT_STABLE_VER) @@ -116,18 +115,28 @@ if [ $? != 0 ]; then fi # Pull ligato/dev_vpp_agent docker image and re-tag as local -sudo docker pull ligato/dev-vpp-agent:${VPP_AGENT_STABLE_VER} -sudo docker tag ligato/dev-vpp-agent:${VPP_AGENT_STABLE_VER}\ - dev_vpp_agent:latest +if [[ ${VPP_AGENT_STABLE_VER} == g* ]] ; +then + sudo docker pull ligato/dev-vpp-agent:${VPP_AGENT_STABLE_COMMIT} + sudo docker tag ligato/dev-vpp-agent:${VPP_AGENT_STABLE_COMMIT}\ + dev_vpp_agent:latest +else + sudo docker pull ligato/dev-vpp-agent:${VPP_AGENT_STABLE_VER} + sudo docker tag ligato/dev-vpp-agent:${VPP_AGENT_STABLE_VER}\ + dev_vpp_agent:latest +fi sudo docker images - # Start dev_vpp_agent container as daemon sudo docker run --rm -itd --name agentcnt dev_vpp_agent bash # Copy latest vpp api into running container sudo docker cp /tmp/vpp/usr/share/vpp/api agentcnt:/usr/share/vpp # Recompile vpp-agent sudo docker exec -i agentcnt \ - script -qc '. ~/.bashrc; cd /root/go/src/github.com/ligato/vpp-agent && make generate && make install' + script -qec '. ~/.bashrc; cd /root/go/src/github.com/ligato/vpp-agent && make generate && make install' +if [ $? != 0 ]; then + echo "Failed to build vpp-agent in Docker image." + exit 1 +fi # Extract vpp-agent rm -rf agent mkdir -p agent diff --git a/resources/libraries/python/KubernetesUtils.py b/resources/libraries/python/KubernetesUtils.py index 89c5bd2a57..8d658c65bc 100644 --- a/resources/libraries/python/KubernetesUtils.py +++ b/resources/libraries/python/KubernetesUtils.py @@ -322,6 +322,10 @@ class KubernetesUtils(object): "{nspace} $p; done".format(nspace=nspace) ssh.exec_command(cmd) + cmd = "kubectl exec {nspace} etcdv3 -- etcdctl --endpoints "\ + "\"localhost:22379\" get \"/\" --prefix=true".format(nspace=nspace) + ssh.exec_command(cmd) + @staticmethod def get_kubernetes_logs_on_all_duts(nodes, nspace): """Get Kubernetes logs from all PODs in namespace on all DUTs. diff --git a/resources/templates/kubernetes/configmaps/ch-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc.yaml b/resources/templates/kubernetes/configmaps/ch-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc.yaml index e06146fe86..46f7953734 100644 --- a/resources/templates/kubernetes/configmaps/ch-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc.yaml +++ b/resources/templates/kubernetes/configmaps/ch-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc.yaml @@ -24,10 +24,14 @@ data: - container: vswitch port_label: $$VSWITCH_IF1$$ etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF1_MAC1$$" type: 5 - container: vnf1 port_label: port1 etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF2_MAC1$$" type: 2 - name: vswitch-vnf2 description: VNF2 to vswitch - memif @@ -36,14 +40,18 @@ data: - container: vswitch port_label: $$VSWITCH_IF2$$ etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF2_MAC1$$" type: 5 - container: vnf2 port_label: port2 etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF1_MAC1$$" type: 2 - name: vnf1-vnf2 description: vnf1 to vnf2 via vswitch - memifs - type: 8 + type: 5 elements: - container: vnf1 port_label: port2 diff --git a/resources/templates/kubernetes/configmaps/ch-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc.yaml b/resources/templates/kubernetes/configmaps/ch-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc.yaml index 5cdf99e6ec..3dbc2ce9cd 100644 --- a/resources/templates/kubernetes/configmaps/ch-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc.yaml +++ b/resources/templates/kubernetes/configmaps/ch-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc.yaml @@ -24,10 +24,14 @@ data: - container: vswitch port_label: $$VSWITCH_IF1$$ etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF1_MAC1$$" type: 5 - container: vnf1 port_label: port1 etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF2_MAC1$$" type: 2 - name: vswitch-vnf4 description: VNF4 to vswitch - memif @@ -36,14 +40,18 @@ data: - container: vswitch port_label: $$VSWITCH_IF2$$ etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF2_MAC1$$" type: 5 - container: vnf4 port_label: port2 etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF1_MAC1$$" type: 2 - name: vnf1-vnf2 description: vnf1 to vnf2 via vswitch - memifs - type: 8 + type: 5 elements: - container: vnf1 port_label: port2 diff --git a/resources/templates/kubernetes/configmaps/ho-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc.yaml b/resources/templates/kubernetes/configmaps/ho-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc.yaml index c9693aa9a1..e672846e66 100644 --- a/resources/templates/kubernetes/configmaps/ho-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc.yaml +++ b/resources/templates/kubernetes/configmaps/ho-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc.yaml @@ -24,10 +24,14 @@ data: - container: vswitch port_label: $$VSWITCH_IF1$$ etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF1_MAC1$$" type: 5 - container: vnf1 port_label: port1 etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF2_MAC1$$" type: 2 - name: vswitch-vnf2 description: VNF2 to vswitch - memif @@ -36,10 +40,14 @@ data: - container: vswitch port_label: $$VSWITCH_IF2$$ etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF2_MAC1$$" type: 5 - container: vnf2 port_label: port2 etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF1_MAC1$$" type: 2 - name: vnf1-vnf2 description: vnf1 to vnf2 via direct - memifs diff --git a/resources/templates/kubernetes/configmaps/ho-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc.yaml b/resources/templates/kubernetes/configmaps/ho-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc.yaml index 4a2ba86977..4b3d301a2f 100644 --- a/resources/templates/kubernetes/configmaps/ho-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc.yaml +++ b/resources/templates/kubernetes/configmaps/ho-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc.yaml @@ -24,10 +24,14 @@ data: - container: vswitch port_label: $$VSWITCH_IF1$$ etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF1_MAC1$$" type: 5 - container: vnf1 port_label: port1 etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF2_MAC1$$" type: 2 - name: vswitch-vnf4 description: VNF4 to vswitch - memif @@ -36,10 +40,14 @@ data: - container: vswitch port_label: $$VSWITCH_IF2$$ etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF2_MAC1$$" type: 5 - container: vnf4 port_label: port2 etcd_vpp_switch_key: vswitch + l2fib_macs: + - "$$TG_IF1_MAC1$$" type: 2 - name: vnf1-vnf2 description: vnf1 to vnf2 via direct - memifs diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-ch-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-k8s-ndrpdrdisc.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-ch-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-k8s-ndrpdrdisc.robot index 2f5ee13f8d..cd054c822e 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-ch-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-k8s-ndrpdrdisc.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x520-ch-eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-k8s-ndrpdrdisc.robot @@ -134,6 +134,8 @@ | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} | | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} +| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} +| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} | | Create Kubernetes VSWITCH startup config on all DUTs | ${get_framesize} | | ... | ${wt} | ${rxq} | | Create Kubernetes VNF'1' startup config on all DUTs @@ -156,10 +158,14 @@ | | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} | | ... | $$VSWITCH_IF1$$=${dut1_if1_name} | | ... | $$VSWITCH_IF2$$=${dut1_if2_name} +| | ... | $$TG_IF1_MAC1$$=${tg_if1_mac} +| | ... | $$TG_IF2_MAC1$$=${tg_if2_mac} | | Apply Kubernetes resource on node | ${dut2} | | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} | | ... | $$VSWITCH_IF1$$=${dut2_if1_name} | | ... | $$VSWITCH_IF2$$=${dut2_if2_name} +| | ... | $$TG_IF1_MAC1$$=${tg_if1_mac} +| | ... | $$TG_IF2_MAC1$$=${tg_if2_mac} | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Run Keyword If | '${search_type}' == 'NDR' diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-ch-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-k8s-ndrpdrdisc.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-ch-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-k8s-ndrpdrdisc.robot index f8cfac7260..cc4d0c9924 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-ch-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-k8s-ndrpdrdisc.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x520-ch-eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-k8s-ndrpdrdisc.robot @@ -134,6 +134,8 @@ | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} | | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} +| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} +| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} | | Create Kubernetes VSWITCH startup config on all DUTs | ${get_framesize} | | ... | ${wt} | ${rxq} | | Create Kubernetes VNF'1' startup config on all DUTs @@ -170,10 +172,14 @@ | | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} | | ... | $$VSWITCH_IF1$$=${dut1_if1_name} | | ... | $$VSWITCH_IF2$$=${dut1_if2_name} +| | ... | $$TG_IF1_MAC1$$=${tg_if1_mac} +| | ... | $$TG_IF2_MAC1$$=${tg_if2_mac} | | Apply Kubernetes resource on node | ${dut2} | | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} | | ... | $$VSWITCH_IF1$$=${dut2_if1_name} | | ... | $$VSWITCH_IF2$$=${dut2_if2_name} +| | ... | $$TG_IF1_MAC1$$=${tg_if1_mac} +| | ... | $$TG_IF2_MAC1$$=${tg_if2_mac} | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Run Keyword If | '${search_type}' == 'NDR' diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-ho-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-k8s-ndrpdrdisc.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-ho-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-k8s-ndrpdrdisc.robot index 17e85f5abd..5fe0802edd 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-ho-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-k8s-ndrpdrdisc.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x520-ho-eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-k8s-ndrpdrdisc.robot @@ -134,6 +134,8 @@ | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} | | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} +| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} +| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} | | Create Kubernetes VSWITCH startup config on all DUTs | ${get_framesize} | | ... | ${wt} | ${rxq} | | Create Kubernetes VNF'1' startup config on all DUTs @@ -156,10 +158,14 @@ | | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} | | ... | $$VSWITCH_IF1$$=${dut1_if1_name} | | ... | $$VSWITCH_IF2$$=${dut1_if2_name} +| | ... | $$TG_IF1_MAC1$$=${tg_if1_mac} +| | ... | $$TG_IF2_MAC1$$=${tg_if2_mac} | | Apply Kubernetes resource on node | ${dut2} | | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} | | ... | $$VSWITCH_IF1$$=${dut2_if1_name} | | ... | $$VSWITCH_IF2$$=${dut2_if2_name} +| | ... | $$TG_IF1_MAC1$$=${tg_if1_mac} +| | ... | $$TG_IF2_MAC1$$=${tg_if2_mac} | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Run Keyword If | '${search_type}' == 'NDR' diff --git a/tests/kubernetes/perf/container_memif/10ge2p1x520-ho-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-k8s-ndrpdrdisc.robot b/tests/kubernetes/perf/container_memif/10ge2p1x520-ho-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-k8s-ndrpdrdisc.robot index 5695688008..88437b2a85 100644 --- a/tests/kubernetes/perf/container_memif/10ge2p1x520-ho-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-k8s-ndrpdrdisc.robot +++ b/tests/kubernetes/perf/container_memif/10ge2p1x520-ho-eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-k8s-ndrpdrdisc.robot @@ -134,6 +134,8 @@ | | ${dut1_if2_name}= | Get interface name | ${dut1} | ${dut1_if2} | | ${dut2_if1_name}= | Get interface name | ${dut2} | ${dut2_if1} | | ${dut2_if2_name}= | Get interface name | ${dut2} | ${dut2_if2} +| | ${tg_if1_mac}= | Get Interface MAC | ${tg} | ${tg_if1} +| | ${tg_if2_mac}= | Get Interface MAC | ${tg} | ${tg_if2} | | Create Kubernetes VSWITCH startup config on all DUTs | ${get_framesize} | | ... | ${wt} | ${rxq} | | Create Kubernetes VNF'1' startup config on all DUTs @@ -170,10 +172,14 @@ | | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} | | ... | $$VSWITCH_IF1$$=${dut1_if1_name} | | ... | $$VSWITCH_IF2$$=${dut1_if2_name} +| | ... | $$TG_IF1_MAC1$$=${tg_if1_mac} +| | ... | $$TG_IF2_MAC1$$=${tg_if2_mac} | | Apply Kubernetes resource on node | ${dut2} | | ... | ${sfc_profile}.yaml | $$TEST_NAME$$=${TEST NAME} | | ... | $$VSWITCH_IF1$$=${dut2_if1_name} | | ... | $$VSWITCH_IF2$$=${dut2_if2_name} +| | ... | $$TG_IF1_MAC1$$=${tg_if1_mac} +| | ... | $$TG_IF2_MAC1$$=${tg_if2_mac} | | Wait for Kubernetes PODs on all DUTs | ${nodes} | csit | | Set Kubernetes PODs affinity on all DUTs | ${nodes} | | Run Keyword If | '${search_type}' == 'NDR' -- 2.16.6