summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Rozet <trozet@redhat.com>2017-02-28 17:27:48 -0500
committerTim Rozet <trozet@redhat.com>2017-03-10 11:42:38 -0500
commit5e376c3a4a3b655ec5974953e6798ac83f7bf8f3 (patch)
tree9196573f671b4a006200f2f23e6d442794edf992
parentc6cfe5ee1177728db51b65eb795679c3bb7c59c2 (diff)
Fixes mismatch for Java APIs between HC and VPP and L2 pkgs
This copies the same API jars used for VPP to the Honeycomb to help workaround the issues we are facing of incompatible Java APIs between HC and VPP versions. It also locks vpp/honeycomb/odl to known working packages for L2 scenarios. Also increases overcloud disk +400MB to accomodate more vpp pkgs. opnfv-tht-pr: 122 Change-Id: Id803834e1f1fa352778784da9ac246ab9c58a3b1 Signed-off-by: Tim Rozet <trozet@redhat.com>
-rwxr-xr-xbuild/honeycomb-jar-replace.sh19
-rwxr-xr-xbuild/overcloud-full.sh15
-rwxr-xr-xbuild/overcloud-opendaylight.sh4
-rw-r--r--build/variables.sh8
-rwxr-xr-xlib/overcloud-deploy-functions.sh8
5 files changed, 51 insertions, 3 deletions
diff --git a/build/honeycomb-jar-replace.sh b/build/honeycomb-jar-replace.sh
new file mode 100755
index 00000000..f89ddda7
--- /dev/null
+++ b/build/honeycomb-jar-replace.sh
@@ -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
diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh
index b94c0cb0..4222b278 100755
--- a/build/overcloud-full.sh
+++ b/build/overcloud-full.sh
@@ -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" \
diff --git a/build/overcloud-opendaylight.sh b/build/overcloud-opendaylight.sh
index cbb2178e..4a2173d0 100755
--- a/build/overcloud-opendaylight.sh
+++ b/build/overcloud-opendaylight.sh
@@ -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/ \
diff --git a/build/variables.sh b/build/variables.sh
index 4ba591c4..be610d43 100644
--- a/build/variables.sh
+++ b/build/variables.sh
@@ -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'
+)
diff --git a/lib/overcloud-deploy-functions.sh b/lib/overcloud-deploy-functions.sh
index d7e9b7e0..a46c6c6b 100755
--- a/lib/overcloud-deploy-functions.sh
+++ b/lib/overcloud-deploy-functions.sh
@@ -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