diff options
-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 |