Merge "Fixes mismatch for Java APIs between HC and VPP and L2 pkgs"
authorTim Rozet <trozet@redhat.com>
Fri, 10 Mar 2017 20:57:19 +0000 (20:57 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Fri, 10 Mar 2017 20:57:19 +0000 (20:57 +0000)
build/honeycomb-jar-replace.sh [new file with mode: 0755]
build/overcloud-full.sh
build/overcloud-opendaylight.sh
build/variables.sh
lib/overcloud-deploy-functions.sh

diff --git a/build/honeycomb-jar-replace.sh b/build/honeycomb-jar-replace.sh
new file mode 100755 (executable)
index 0000000..f89ddda
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+JARS=$(find /usr/share/java/ -type f -iname 'jvpp-*.jar')
+if [ -z "$JARS" ]; then
+  echo "ERROR: JARS to replace from vpp-api-java are empty!"
+  exit 1
+fi
+
+for JAR in $JARS; do
+  JAR_PREFIX=$(basename $JAR | sed -n 's/-[0-9]\+\.[0-9]\+\.jar$//p')
+  JAR_VERSION=$(basename $JAR | grep -Eo '[0-9]+.[0-9]+')
+  HC_JAR_DIR=/opt/honeycomb/lib/io/fd/vpp/${JAR_PREFIX}/${JAR_VERSION}-SNAPSHOT
+  if [ ! -d "$HC_JAR_DIR" ]; then
+    echo "ERROR: Honeycomb JAR destination directory does not exist!"
+    exit 1
+  else
+    cp -f ${JAR} ${HC_JAR_DIR}/${JAR_PREFIX}-${JAR_VERSION}-SNAPSHOT.jar
+    echo "INFO: VPP API JAR: ${JAR} copied to ${HC_JAR_DIR}"
+  fi
+done
index b94c0cb..4222b27 100755 (executable)
@@ -80,8 +80,15 @@ EOF
 # Get Real Time Kernel from kvm4nfv
 populate_cache $kvmfornfv_uri_base/$kvmfornfv_kernel_rpm
 
-# Increase disk size by 500MB to accommodate more packages
-qemu-img resize overcloud-full_build.qcow2 +500MB
+# ODL/FDIO packages frozen for L2 scenarios
+fdio_l2_pkg_str=''
+for package in ${fdio_l2_pkgs[@]}; do
+  wget "$fdio_l2_uri_base/$package"
+  fdio_l2_pkg_str+=" --upload ${BUILD_DIR}/${package}:/root/fdio_l2/"
+done
+
+# Increase disk size by 900MB to accommodate more packages
+qemu-img resize overcloud-full_build.qcow2 +900MB
 
 # expand file system to max disk size
 # installing forked opnfv-puppet-tripleo
@@ -105,9 +112,11 @@ LIBGUESTFS_BACKEND=direct virt-customize \
     --run-command "mkdir /root/dpdk_rpms" \
     --upload ${BUILD_DIR}/fdio.repo:/etc/yum.repos.d/fdio.repo \
     $dpdk_pkg_str \
-    --run-command "yum install --downloadonly --downloaddir=/root/fdio vpp vpp-devel vpp-lib vpp-api-python vpp-plugins" \
+    --run-command "yum install --downloadonly --downloaddir=/root/fdio vpp vpp-devel vpp-lib vpp-api-python vpp-plugins vpp-api-java" \
     --upload ${BUILD_DIR}/noarch/$netvpp_pkg:/root/fdio \
     --run-command "yum install -y /root/fdio/*.rpm" \
+    --run-command "mkdir /root/fdio_l2" \
+    $fdio_l2_pkg_str \
     --run-command "yum install -y etcd" \
     --install python-etcd \
     --run-command "puppet module install cristifalcas/etcd" \
index cbb2178..4a2173d 100755 (executable)
@@ -88,8 +88,12 @@ LIBGUESTFS_BACKEND=direct virt-customize \
     --upload ${BUILD_DIR}/opendaylight_master.repo:/etc/yum.repos.d/opendaylight.repo \
     --run-command "yum install --downloadonly --downloaddir=/root/master/ opendaylight" \
     --upload ${BUILD_DIR}/opendaylight.repo:/etc/yum.repos.d/opendaylight.repo \
+    --run-command "wget ${fdio_l2_uri_base}/honeycomb-1.17.04-2439.noarch.rpm -O /root/fdio_l2/honeycomb-1.17.04-2439.noarch.rpm" \
+    --run-command "wget ${fdio_l2_uri_base}/opendaylight-6.0.0-0.1.20170228snap4111.el7.noarch.rpm -O /root/fdio_l2/opendaylight-6.0.0-0.1.20170228snap4111.el7.noarch.rpm" \
     --install opendaylight,python-networking-odl \
     --install honeycomb \
+    --upload ${BUILD_ROOT}/honeycomb-jar-replace.sh:/root/ \
+    --run-command "/root/honeycomb-jar-replace.sh" \
     --upload ${BUILD_DIR}/puppet-opendaylight.tar.gz:/etc/puppet/modules/ \
     --run-command "cd /etc/puppet/modules/ && tar xzf puppet-opendaylight.tar.gz" \
     --upload ${BUILD_DIR}/networking-bgpvpn.tar.gz:/root/ \
index 4ba591c..be610d4 100644 (file)
@@ -57,3 +57,11 @@ netvpp_commit=$(git ls-remote ${netvpp_repo} ${netvpp_branch} | awk '{print subs
 netvpp_pkg=python-networking-vpp-0.0.1-1.git${NETVPP_COMMIT}$(rpm -E %dist).noarch.rpm
 
 gluon_rpm=gluon-0.0.1-1_20170216.noarch.rpm
+fdio_l2_uri_base=http://artifacts.opnfv.org/apex/danube/fdio_l2_rpms
+fdio_l2_pkgs=(
+'vpp-17.04-rc0~300_gdef19da~b1923.x86_64.rpm'
+'vpp-api-python-17.04-rc0~300_gdef19da~b1923.x86_64.rpm'
+'vpp-devel-17.04-rc0~300_gdef19da~b1923.x86_64.rpm'
+'vpp-lib-17.04-rc0~300_gdef19da~b1923.x86_64.rpm'
+'vpp-plugins-17.04-rc0~300_gdef19da~b1923.x86_64.rpm'
+)
index d7e9b7e..a46c6c6 100755 (executable)
@@ -189,6 +189,14 @@ EOI
 EOI
   fi
 
+  # Override any previous packages if FDIO and L2
+  if [[ "${deploy_options_array['vpp']}" == 'True' && "${deploy_options_array['sdn_l3']}" == "False" ]]; then
+    ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
+         LIBGUESTFS_BACKEND=direct virt-customize --run-command "yum -y remove opendaylight vpp vpp-devel vpp-api-python vpp-lib vpp-plugins honeycomb" \
+                                                  --run-command "yum -y install /root/fdio_l2/*.rpm" \
+                                                  -a overcloud-full.qcow2
+EOI
+  fi
 
   # check if ceph should be enabled
   if [ "${deploy_options_array['ceph']}" == 'True' ]; then