diff options
author | Tim Rozet <trozet@redhat.com> | 2017-02-28 17:27:48 -0500 |
---|---|---|
committer | Tim Rozet <trozet@redhat.com> | 2017-03-10 11:42:38 -0500 |
commit | 5e376c3a4a3b655ec5974953e6798ac83f7bf8f3 (patch) | |
tree | 9196573f671b4a006200f2f23e6d442794edf992 | |
parent | c6cfe5ee1177728db51b65eb795679c3bb7c59c2 (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-x | build/honeycomb-jar-replace.sh | 19 | ||||
-rwxr-xr-x | build/overcloud-full.sh | 15 | ||||
-rwxr-xr-x | build/overcloud-opendaylight.sh | 4 | ||||
-rw-r--r-- | build/variables.sh | 8 | ||||
-rwxr-xr-x | lib/overcloud-deploy-functions.sh | 8 |
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 |