-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
+# Copyright (c) 2019 PANTHEON.tech and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
function gather_build () {
- set -exuo pipefail
-
# Variables read:
# - TEST_CODE - String affecting test selection, usually jenkins job name.
# - DOWNLOAD_DIR - Path to directory pybot takes the build to test from.
# - ${DOWNLOAD_DIR} - Files needed by tests are gathered here.
# Functions called:
# - die - Print to stderr and exit, defined in common.sh
+ # - gather_os - Parse os parameter for OS/distro name.
# - gather_dpdk, gather_vpp, gather_ligato - See their definitions.
# Multiple other side effects are possible,
# see functions called from here for their current description.
# TODO: Separate DUT-from-TEST_CODE from gather-for-DUT,
# when the first one becomes relevant for per_patch.
+ set -exuo pipefail
+
pushd "${DOWNLOAD_DIR}" || die "Pushd failed."
case "${TEST_CODE}" in
*"hc2vpp"*)
function gather_dpdk () {
- set -exuo pipefail
-
# Ensure latest DPDK archive is downloaded.
#
# Variables read:
# Functions called:
# - die - Print to stderr and exit, defined in common.sh
+ set -exuo pipefail
+
dpdk_repo="https://fast.dpdk.org/rel"
# Use downloaded packages with specific version
if [[ "${TEST_CODE}" == *"daily"* ]] || \
function gather_ligato () {
- set -exuo pipefail
-
# Build docker image (with vpp, ligato and vpp-agent),
# and put it to ${DOWNLOAD_DIR}/.
#
# so maybe it is not worth introducing fragments/functions for the blocks.
# TODO: This fragment is too long anyway, split it up.
+ set -exuo pipefail
+
gather_vpp || die "The function should have died on error."
mkdir -p /tmp/vpp && rm -f /tmp/vpp/* || {
function gather_vpp () {
- set -exuo pipefail
-
# Variables read:
# - BASH_FUNCTION_DIR - Bash directory with functions.
# - TEST_CODE - The test selection string from environment or argument.
# - DOWNLOAD_DIR - Path to directory pybot takes the build to test from.
# - CSIT_DIR - Path to existing root of local CSIT git repository.
+ # Variables set:
+ # - VPP_VERSION - VPP stable version under test.
# Files read:
# - ${CSIT_DIR}/DPDK_STABLE_VER - DPDK version to use
# by csit-vpp not-timed jobs.
- # - ${CSIT_DIR}/VPP_STABLE_VER_UBUNTU - VPP version to use by those.
- # - ../vpp*.deb - Relative to ${DOWNLOAD_DIR}, copied for vpp-csit jobs.
+ # - ${CSIT_DIR}/VPP_STABLE_VER_UBUNTU - Ubuntu VPP version to usee.
+ # - ../vpp*.deb|rpm - Relative to ${DOWNLOAD_DIR}, copied for vpp-csit jobs.
# Directories updated:
# - ${DOWNLOAD_DIR}, vpp-*.deb files are copied here for vpp-csit jobs.
- # - ./ - Assumed ${DOWNLOAD_DIR}, vpp-*.deb files
+ # - ./ - Assumed ${DOWNLOAD_DIR}, vpp-*.deb|rpm files
# are downloaded here for csit-vpp.
# Functions called:
# - die - Print to stderr and exit, defined in common_functions.sh
# - ${CSIT_DIR}/resources/tools/scripts/download_install_vpp_pkgs.sh
# - Should download and extract requested files to ./.
+ set -exuo pipefail
+
case "${TEST_CODE}" in
# Not csit-vpp as this code is re-used by ligato gathering.
"csit-"*)
warn "Downloading latest VPP packages from Packagecloud."
else
warn "Downloading stable VPP packages from Packagecloud."
- if [[ "${TEST_CODE}" == *"device"* ]];
- then
- VPP_VERSION="$(<"${CSIT_DIR}/VPP_STABLE_VER_UBUNTU_BIONIC")" || {
- die "Read VPP stable version failed."
- }
- else
- VPP_VERSION="$(<"${CSIT_DIR}/VPP_STABLE_VER_UBUNTU")" || {
- die "Read VPP stable version failed."
- }
- fi
+ VPP_VERSION="$(<"${CSIT_DIR}/${VPP_VER_FILE}")" || {
+ die "Read VPP stable version failed."
+ }
fi
source "${BASH_FUNCTION_DIR}/artifacts.sh" || die "Source failed."
download_artifacts || die
;;
"vpp-csit-"*)
# Use locally built packages.
- mv "${DOWNLOAD_DIR}"/../"vpp"*".deb" "${DOWNLOAD_DIR}"/ || {
+ mv "${DOWNLOAD_DIR}"/../"vpp"*".${PKG_SUFFIX}" "${DOWNLOAD_DIR}"/ || {
die "Move command failed."
}
;;