diff --git a/tests/run.yml b/tests/run.yml index bc05b34ea1..78eca77131 100644 --- a/tests/run.yml +++ b/tests/run.yml @@ -60,13 +60,6 @@ when: - ansible_architecture == 'aarch64' - - name: Ensure tox is installed - pip: - name: tox - extra_args: "-c {{ upper_constraints_file }}" - when: need_build_image - become: true - # NOTE(yoctozepto): required to template template_overrides.j2 for Zuul - name: Include kolla Zuul vars if building new images include_vars: diff --git a/tools/setup_gate.sh b/tools/setup_gate.sh index b7a6df46cb..7dfae456c8 100755 --- a/tools/setup_gate.sh +++ b/tools/setup_gate.sh @@ -2,11 +2,11 @@ set -o xtrace set -o errexit +set -o pipefail # Enable unbuffered output for Ansible in Jenkins. export PYTHONUNBUFFERED=1 -GIT_PROJECT_DIR=$(mktemp -d) function setup_openstack_clients { # Prepare virtualenv for openstack deployment tests @@ -28,7 +28,11 @@ function setup_openstack_clients { ~/openstackclient-venv/bin/pip install -c $UPPER_CONSTRAINTS ${packages[@]} } -function setup_config { +function prepare_images { + if [[ "${BUILD_IMAGE}" == "False" ]]; then + return + fi + if [[ $SCENARIO != "bifrost" ]]; then GATE_IMAGES="^cron,^fluentd,^glance,^haproxy,^keepalived,^keystone,^kolla-toolbox,^mariadb,^memcached,^neutron,^nova-,^openvswitch,^rabbitmq,^horizon,^chrony,^heat,^placement" else @@ -70,7 +74,8 @@ function setup_config { if [[ "debian" == $BASE_DISTRO ]]; then PUSH="false" fi - cat <<EOF | sudo tee /etc/kolla/kolla-build.conf + + sudo tee /etc/kolla/kolla-build.conf <<EOF [DEFAULT] namespace = lokolla base = ${BASE_DISTRO} @@ -90,15 +95,16 @@ gate = ${GATE_IMAGES} EOF mkdir -p /tmp/logs/build -} -function prepare_images { - if [[ "${BUILD_IMAGE}" == "False" ]]; then - return - fi sudo docker run -d -p 4000:5000 --restart=always -v /opt/kolla_registry/:/var/lib/registry --name registry registry:2 - pushd "${KOLLA_SRC_DIR}" - sudo tox -e "build-${BASE_DISTRO}-${INSTALL_TYPE}" + + python3 -m venv ~/kolla-venv + . ~/kolla-venv/bin/activate + + pip install "${KOLLA_SRC_DIR}" + + sudo ~/kolla-venv/bin/kolla-build + # NOTE(yoctozepto): due to debian buster we push after images are built # see https://github.com/docker/for-linux/issues/711 if [[ "debian" == $BASE_DISTRO ]]; then @@ -106,13 +112,14 @@ function prepare_images { sudo docker push $img; done fi - popd + + deactivate } + setup_openstack_clients -setup_config - RAW_INVENTORY=/etc/kolla/inventory tools/kolla-ansible -i ${RAW_INVENTORY} -e ansible_user=$USER -vvv bootstrap-servers &> /tmp/logs/ansible/bootstrap-servers + prepare_images