Add Tempest gate with lower-constraints

Numerous times we hit issues when testing packaged versions of Kuryr
that use dependencies with versions between our lower-constraints.txt
and global requirements/upper-constraints.txt. Each time we found
issues and that's because our lower-constraints gate was not functional.
To further increase test coverage of lower-constraints this commit adds
a functional gate that will run Kuryr with old dependencies.

This is implemented by simply overwriting UPPER_CONSTRAINTS_FILE
build-arg when building Kuryr containers.

Besides that cotyledon's minimum version is raised to 1.5.0 as we're
actively using a feature added back then (it was in late 2016, so we
should be safe here).

Change-Id: Ic148020d1a0ec98150d8c61b21bbbe44b7be2075
This commit is contained in:
Michał Dulko 2019-06-05 17:44:03 +02:00
parent b74ebc0636
commit 1ec05b5581
6 changed files with 23 additions and 9 deletions

View File

@ -72,6 +72,17 @@
KURYR_K8S_CONTAINERIZED_DEPLOYMENT: true
voting: false
- job:
name: kuryr-kubernetes-tempest-containerized-lower-constraints
parent: kuryr-kubernetes-tempest-containerized
description: |
Kuryr-Kubernetes tempest job running kuryr containerized with
requirments from lower-constraints.txt
vars:
devstack_localrc:
KURYR_CONTAINERS_USE_LOWER_CONSTRAINTS: true
voting: false
- job:
name: kuryr-kubernetes-tempest-containerized-l2
parent: kuryr-kubernetes-tempest-containerized

View File

@ -19,6 +19,7 @@
- kuryr-kubernetes-tempest
- kuryr-kubernetes-tempest-openshift
- kuryr-kubernetes-tempest-containerized
- kuryr-kubernetes-tempest-containerized-lower-constraints
- kuryr-kubernetes-tempest-containerized-ovn
- kuryr-kubernetes-tempest-py36
- kuryr-kubernetes-tempest-containerized-py36

View File

@ -324,13 +324,11 @@ EOF
# the local docker registry as kuryr/controller:latest and
# kuryr/cni:latest respectively
function build_kuryr_containers() {
local cni_build_args
local cni_daemon
local build_args
local build_dir
local use_py3
local py_suffix
cni_daemon=$1
build_dir="${DEST}/kuryr-kubernetes"
pushd "$build_dir"
@ -339,8 +337,9 @@ function build_kuryr_containers() {
py_suffix="_py3"
fi
if [[ "$cni_daemon" == "False" ]]; then
cni_build_args="--build-arg CNI_DAEMON=False"
KURYR_CONTAINERS_USE_LOWER_CONSTRAINTS=$(trueorfalse False KURYR_CONTAINERS_USE_LOWER_CONSTRAINTS)
if [[ "$KURYR_CONTAINERS_USE_LOWER_CONSTRAINTS" == "True" ]]; then
build_args="--build-arg UPPER_CONSTRAINTS_FILE=/opt/kuryr-kubernetes/lower-constraints.txt"
fi
# Build images
@ -351,8 +350,8 @@ function build_kuryr_containers() {
sudo buildah bud -t docker.io/kuryr/controller -f controller${py_suffix}.Dockerfile .
sudo buildah bud -t docker.io/kuryr/cni -f cni${py_suffix}.Dockerfile .
else
container_runtime build -t kuryr/controller -f controller${py_suffix}.Dockerfile .
container_runtime build -t kuryr/cni -f cni${py_suffix}.Dockerfile ${cni_build_args} .
container_runtime build -t kuryr/controller -f controller${py_suffix}.Dockerfile ${build_args} .
container_runtime build -t kuryr/cni -f cni${py_suffix}.Dockerfile ${build_args} .
fi
popd
}

View File

@ -104,5 +104,8 @@ KURYR_L7_ROUTER_NAME=${KURYR_L7_ROUTER_NAME:-kuryr-l7-router}
# Whether to use Python3
KURYR_CONTAINERS_USE_PY3=${KURYR_CONTAINERS_USE_PY3:-False}
# Whether to use lower-constraints.txt when installing dependencies.
KURYR_CONTAINERS_USE_LOWER_CONSTRAINTS=${KURYR_CONTAINERS_USE_LOWER_CONSTRAINTS:-False}
# Kuryr overcloud VM port's name
KURYR_OVERCLOUD_VM_PORT=${KURYR_OVERCLOUD_VM_PORT:-port0}

View File

@ -11,7 +11,7 @@ click==6.7
cliff==2.11.0
cmd2==0.8.2
contextlib2==0.5.5
cotyledon==1.3.0
cotyledon==1.5.0
coverage==4.0
ddt==1.0.1
debtcollector==1.19.0

View File

@ -2,7 +2,7 @@
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
cotyledon>=1.3.0 # Apache-2.0
cotyledon>=1.5.0 # Apache-2.0
Flask!=0.11,>=0.12.3 # BSD
kuryr-lib>=0.5.0 # Apache-2.0
pbr!=2.1.0,>=2.0.0 # Apache-2.0