aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas F Herbert <therbert@redhat.com>2019-05-18 15:12:52 -0400
committerPeter Mikus <pmikus@cisco.com>2019-06-05 07:46:30 +0000
commitea6e8be86d47b288df5e11ca5515f6bda71dbd08 (patch)
tree379d48c7511a519550839f3bc4fff0b018e4cb4d
parent494c42cf77c2571a64854256a68abd7f180cd5d6 (diff)
CSIT changes to support new Centos 7 device testing container image.
CSIT-1505 Parse {os} parameter from job and use it to separate the correct image for each distro and the correct stable package versions. Use two vpp device image names, one for Ubuntu and one for Centos. Centos sut image is in https://hub.docker.com/r/snergster/csit-sut-centos Source for Centos sut image: https://github.com/snergfdio/multivppcache/tree/master/csit-sut-centos Change-Id: I568c82710d730c4ed0ca25bc12cb6074e1cbe27e Signed-off-by: Thomas F Herbert <therbert@redhat.com>
-rw-r--r--VPP_DEVICE_IMAGE_CENTOS1
-rw-r--r--VPP_DEVICE_IMAGE_UBUNTU (renamed from VPP_DEVICE_IMAGE)0
-rwxr-xr-xresources/libraries/bash/entry/bootstrap_vpp_device.sh1
-rw-r--r--resources/libraries/bash/function/common.sh31
-rw-r--r--resources/libraries/bash/function/gather.sh13
5 files changed, 40 insertions, 6 deletions
diff --git a/VPP_DEVICE_IMAGE_CENTOS b/VPP_DEVICE_IMAGE_CENTOS
new file mode 100644
index 0000000000..d5272b8af6
--- /dev/null
+++ b/VPP_DEVICE_IMAGE_CENTOS
@@ -0,0 +1 @@
+snergster/csit-sut-centos:latest
diff --git a/VPP_DEVICE_IMAGE b/VPP_DEVICE_IMAGE_UBUNTU
index 3f47e59a88..3f47e59a88 100644
--- a/VPP_DEVICE_IMAGE
+++ b/VPP_DEVICE_IMAGE_UBUNTU
diff --git a/resources/libraries/bash/entry/bootstrap_vpp_device.sh b/resources/libraries/bash/entry/bootstrap_vpp_device.sh
index 9605f70a4f..209943fb89 100755
--- a/resources/libraries/bash/entry/bootstrap_vpp_device.sh
+++ b/resources/libraries/bash/entry/bootstrap_vpp_device.sh
@@ -35,6 +35,7 @@ common_dirs || die
get_test_code "${1-}" || die
get_test_tag_string || die
select_topology || die
+select_os || die
gather_build || die
check_download_dir || die
activate_virtualenv || die
diff --git a/resources/libraries/bash/function/common.sh b/resources/libraries/bash/function/common.sh
index 2075f8fbd1..399b449fa0 100644
--- a/resources/libraries/bash/function/common.sh
+++ b/resources/libraries/bash/function/common.sh
@@ -33,6 +33,7 @@ function activate_docker_topology () {
# - TOPOLOGIES - Available topologies.
# - NODENESS - Node multiplicity of desired testbed.
# - FLAVOR - Node flavor string, usually describing the processor.
+ # - IMAGE_VER_FILE - Name of file that contains the image version.
# Variables set:
# - WORKING_TOPOLOGY - Path to topology file.
@@ -40,7 +41,7 @@ function activate_docker_topology () {
die "Source failed!"
}
- device_image="$(< ${CSIT_DIR}/VPP_DEVICE_IMAGE)"
+ device_image="$(< ${CSIT_DIR}/${IMAGE_VER_FILE})"
case_text="${NODENESS}_${FLAVOR}"
case "${case_text}" in
"1n_skx")
@@ -760,6 +761,34 @@ function select_vpp_device_tags () {
done
}
+function select_os () {
+
+ set -exuo pipefail
+
+ # Variables read:
+ # - OS - os or distro for selecting container image.
+ # Variables set:
+ # - VPP_VER_FILE - Name of File in CSIT dir containing vpp stable version.
+ # - IMAGE_VER_FILE - Name of File in CSIT dir containing the image name.
+ # - PKG_SUFFIX - Suffix of OS package file name, "rpm" or "deb."
+
+ case "${OS}" in
+ "ubuntu"*)
+ IMAGE_VER_FILE="VPP_DEVICE_IMAGE_UBUNTU"
+ VPP_VER_FILE="VPP_STABLE_VER_UBUNTU_BIONIC"
+ PKG_SUFFIX="deb"
+ ;;
+ "centos"*)
+ IMAGE_VER_FILE="VPP_DEVICE_IMAGE_CENTOS"
+ VPP_VER_FILE="VPP_STABLE_VER_CENTOS"
+ PKG_SUFFIX="rpm"
+ ;;
+ *)
+ die "Unable to identify distro or os from ${OS}"
+ ;;
+ esac
+}
+
function select_topology () {
diff --git a/resources/libraries/bash/function/gather.sh b/resources/libraries/bash/function/gather.sh
index 518c6b4105..56b148d1e1 100644
--- a/resources/libraries/bash/function/gather.sh
+++ b/resources/libraries/bash/function/gather.sh
@@ -35,6 +35,7 @@ function gather_build () {
# - ${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.
@@ -250,14 +251,16 @@ function gather_vpp () {
# - 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
@@ -277,7 +280,7 @@ function gather_vpp () {
warn "Downloading latest VPP packages from Packagecloud."
else
warn "Downloading stable VPP packages from Packagecloud."
- VPP_VERSION="$(<"${CSIT_DIR}/VPP_STABLE_VER_UBUNTU_BIONIC")" || {
+ VPP_VERSION="$(<"${CSIT_DIR}/${VPP_VER_FILE}")" || {
die "Read VPP stable version failed."
}
fi
@@ -286,7 +289,7 @@ function gather_vpp () {
;;
"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."
}
;;