Fix vpp merge jobs 80/5580/9
authorEd Warnicke <eaw@cisco.com>
Wed, 1 Mar 2017 19:13:32 +0000 (12:13 -0700)
committerEd Warnicke <eaw@cisco.com>
Thu, 2 Mar 2017 21:39:58 +0000 (14:39 -0700)
This patch switches to installing the vpp-dpkg-dev whenever
possible rather than building it.  This means no duplicative
pushing of vpp-dpkg-dev, which should fix the merge jobs.
It also should mean faster vpp builds since we generally
won't need to build DPDK either.

Change-Id: I602fb09a847bb4b0d54c5844dc4c79a27393580d
Signed-off-by: Ed Warnicke <eaw@cisco.com>
jjb/scripts/setup_vpp_dpdk_dev_env.sh [new file with mode: 0644]
jjb/vpp/vpp.yaml

diff --git a/jjb/scripts/setup_vpp_dpdk_dev_env.sh b/jjb/scripts/setup_vpp_dpdk_dev_env.sh
new file mode 100644 (file)
index 0000000..ee9e98b
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/bash
+set -e -o pipefail
+
+# Figure out what system we are running on
+if [ -f /etc/lsb-release ];then
+    . /etc/lsb-release
+elif [ -f /etc/redhat-release ];then
+    sudo yum install -y redhat-lsb
+    DISTRIB_ID=`lsb_release -si`
+    DISTRIB_RELEASE=`lsb_release -sr`
+    DISTRIB_CODENAME=`lsb_release -sc`
+    DISTRIB_DESCRIPTION=`lsb_release -sd`
+fi
+echo DISTRIB_ID: $DISTRIB_ID
+echo DISTRIB_RELEASE: $DISTRIB_RELEASE
+echo DISTRIB_CODENAME: $DISTRIB_CODENAME
+echo DISTRIB_DESCRIPTION: $DISTRIB_DESCRIPTION
+
+function setup {
+    if [ -z ${REPO_NAME} ]; then
+        echo "INSTALLING VPP-DPKG-DEV from apt/yum repo"
+        REPO_URL="${NEXUSPROXY}/content/repositories/fd.io.${REPO_NAME}"
+        echo "REPO_URL: ${REPO_URL}"
+        # Setup by installing vpp-dev and vpp-lib
+        if [ $DISTRIB_ID == "Ubuntu" ]; then
+            echo "deb ${REPO_URL} ./" | sudo tee /etc/apt/sources.list.d/99fd.io.list
+            sudo apt-get update || true
+            sudo apt-get -y --force-yes install vpp-dpdk-dev || true
+        elif [[ $DISTRIB_ID == "CentOS" ]]; then
+            sudo cat << EOF > fdio-master.repo
+[fdio-master]
+name=fd.io master branch latest merge
+baseurl=${REPO_URL}
+enabled=1
+gpgcheck=0
+EOF
+            sudo mv fdio-master.repo /etc/yum.repos.d/fdio-master.repo
+            sudo yum -y install vpp-dpdk-dev || true
+        fi
+    fi
+}
+
+setup
\ No newline at end of file
index bc1d559..8791fc7 100644 (file)
@@ -86,6 +86,8 @@
             branch: '{branch}'
         - os-parameter:
             os: '{os}'
+        - repo-name-parameter:
+            repo-name: '{repo-stream-part}.{repo-os-part}'
 
     scm:
         - gerrit-trigger-scm:
         - shell:
             !include-raw-escape: include-raw-vpp-test-checkstyle.sh
         - shell:
-            !include-raw-escape: include-raw-vpp-build.sh
+            !include-raw-escape:
+                - ../scripts/setup_vpp_dpdk_dev_env.sh
+                - include-raw-vpp-build.sh
     publishers:
         - archive:
             artifacts: 'build-root/*.rpm,build-root/*.deb'
             branch: '{branch}'
         - os-parameter:
             os: '{os}'
+        - repo-name-parameter:
+            repo-name: '{repo-stream-part}.{repo-os-part}'
 
     scm:
         - gerrit-trigger-scm:
         - shell:
             !include-raw-escape: include-raw-vpp-checkstyle.sh
         - shell:
-            !include-raw-escape: include-raw-vpp-build.sh
+            !include-raw-escape:
+                - ../scripts/setup_vpp_dpdk_dev_env.sh
+                - include-raw-vpp-build.sh
 
     publishers:
       - fdio-infra-shiplogs:
         - shell:
             !include-raw-escape: include-raw-vpp-checkstyle.sh
         - shell:
-            !include-raw-escape: include-raw-vpp-build.sh
+            !include-raw-escape:
+                - ../scripts/setup_vpp_dpdk_dev_env.sh
+                - include-raw-vpp-build.sh
         - provide-maven-settings:
             settings-file: 'vpp-settings'
             global-settings-file: 'global-settings'
             branch: '{branch}'
         - os-parameter:
             os: '{os}'
+        - repo-name-parameter:
+            repo-name: '{repo-stream-part}.ubuntu.xenial.main'
         - is-csit-vpp-job-parameter:
             is-csit-vpp-job: 'True'
 
         - shell:
             !include-raw-escape: include-raw-vpp-checkstyle.sh
         - shell:
-            !include-raw-escape: include-raw-vpp-build.sh
+            !include-raw-escape:
+                - ../scripts/setup_vpp_dpdk_dev_env.sh
+                - include-raw-vpp-build.sh
         - shell:
             !include-raw-escape: include-raw-vpp-csit-functional.sh
 
             branch: '{branch}'
         - os-parameter:
             os: '{os}'
+        - repo-name-parameter:
+            repo-name: '{repo-stream-part}.ubuntu.xenial.main'
         - type-parameter:
             type: '{type}'
         - is-csit-vpp-job-parameter:
 
     builders:
         - shell:
-            !include-raw-escape: include-raw-vpp-build.sh
+            !include-raw-escape:
+                - ../scripts/setup_vpp_dpdk_dev_env.sh
+                - include-raw-vpp-build.sh
         - shell:
             !include-raw-escape: include-raw-vpp-csit-verify-perf.sh