From 5e376c3a4a3b655ec5974953e6798ac83f7bf8f3 Mon Sep 17 00:00:00 2001 From: Tim Rozet Date: Tue, 28 Feb 2017 17:27:48 -0500 Subject: 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 --- build/honeycomb-jar-replace.sh | 19 +++++++++++++++++++ build/overcloud-full.sh | 15 ++++++++++++--- build/overcloud-opendaylight.sh | 4 ++++ build/variables.sh | 8 ++++++++ lib/overcloud-deploy-functions.sh | 8 ++++++++ 5 files changed, 51 insertions(+), 3 deletions(-) create mode 100755 build/honeycomb-jar-replace.sh 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" <