diff --git a/tests/setup_gate.sh b/tests/setup_gate.sh deleted file mode 120000 index fbacb3f920..0000000000 --- a/tests/setup_gate.sh +++ /dev/null @@ -1 +0,0 @@ -../tools/setup_gate.sh \ No newline at end of file diff --git a/tests/setup_gate.sh b/tests/setup_gate.sh new file mode 100755 index 0000000000..5fcea9c4f0 --- /dev/null +++ b/tests/setup_gate.sh @@ -0,0 +1,136 @@ +#!/bin/bash + +set -o xtrace +set -o errexit +set -o pipefail + +# Enable unbuffered output for Ansible in Jenkins. +export PYTHONUNBUFFERED=1 + + +function setup_openstack_clients { + # Prepare virtualenv for openstack deployment tests + local packages=(python-openstackclient python-heatclient) + if [[ $SCENARIO == zun ]]; then + packages+=(python-zunclient) + fi + if [[ $SCENARIO == ironic ]]; then + packages+=(python-ironicclient) + fi + if [[ $SCENARIO == masakari ]]; then + packages+=(python-masakariclient) + fi + if [[ $SCENARIO == scenario_nfv ]]; then + packages+=(python-tackerclient python-barbicanclient python-mistralclient) + fi + if [[ "debian" == $BASE_DISTRO ]]; then + sudo apt -y install python3-venv + fi + python3 -m venv ~/openstackclient-venv + ~/openstackclient-venv/bin/pip install -U pip + ~/openstackclient-venv/bin/pip install -c $UPPER_CONSTRAINTS ${packages[@]} +} + +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 + GATE_IMAGES="bifrost" + fi + + if [[ $SCENARIO == "ceph-ansible" ]]; then + GATE_IMAGES+=",^cinder" + fi + + if [[ $SCENARIO == "zun" ]]; then + GATE_IMAGES+=",^zun,^kuryr,^etcd,^cinder,^iscsid" + if [[ $BASE_DISTRO != "centos" ]]; then + GATE_IMAGES+=",^tgtd" + fi + fi + + if [[ $SCENARIO == "scenario_nfv" ]]; then + GATE_IMAGES+=",^tacker,^mistral,^redis,^barbican" + fi + if [[ $SCENARIO == "ironic" ]]; then + GATE_IMAGES+=",^dnsmasq,^ironic,^iscsid" + fi + if [[ $SCENARIO == "masakari" ]]; then + GATE_IMAGES+=",^masakari" + fi + + if [[ $SCENARIO == "swift" ]]; then + GATE_IMAGES+=",^swift" + fi + + if [[ $SCENARIO == "ovn" ]]; then + GATE_IMAGES+=",^ovn" + fi + + if [[ $SCENARIO == "mariadb" ]]; then + GATE_IMAGES="^cron,^fluentd,^haproxy,^keepalived,^kolla-toolbox,^mariadb" + fi + + if [[ $SCENARIO == "prometheus-efk" ]]; then + GATE_IMAGES="^cron,^elasticsearch,^fluentd,^grafana,^haproxy,^keepalived,^kibana,^kolla-toolbox,^mariadb,^memcached,^prometheus,^rabbitmq" + fi + + # NOTE(yoctozepto): we cannot build and push at the same time on debian + # buster see https://github.com/docker/for-linux/issues/711. + PUSH="true" + if [[ "debian" == $BASE_DISTRO ]]; then + PUSH="false" + fi + + sudo tee /etc/kolla/kolla-build.conf < /tmp/logs/ansible/bootstrap-servers + +prepare_images diff --git a/tools/setup_gate.sh b/tools/setup_gate.sh deleted file mode 100755 index 5fcea9c4f0..0000000000 --- a/tools/setup_gate.sh +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/bash - -set -o xtrace -set -o errexit -set -o pipefail - -# Enable unbuffered output for Ansible in Jenkins. -export PYTHONUNBUFFERED=1 - - -function setup_openstack_clients { - # Prepare virtualenv for openstack deployment tests - local packages=(python-openstackclient python-heatclient) - if [[ $SCENARIO == zun ]]; then - packages+=(python-zunclient) - fi - if [[ $SCENARIO == ironic ]]; then - packages+=(python-ironicclient) - fi - if [[ $SCENARIO == masakari ]]; then - packages+=(python-masakariclient) - fi - if [[ $SCENARIO == scenario_nfv ]]; then - packages+=(python-tackerclient python-barbicanclient python-mistralclient) - fi - if [[ "debian" == $BASE_DISTRO ]]; then - sudo apt -y install python3-venv - fi - python3 -m venv ~/openstackclient-venv - ~/openstackclient-venv/bin/pip install -U pip - ~/openstackclient-venv/bin/pip install -c $UPPER_CONSTRAINTS ${packages[@]} -} - -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 - GATE_IMAGES="bifrost" - fi - - if [[ $SCENARIO == "ceph-ansible" ]]; then - GATE_IMAGES+=",^cinder" - fi - - if [[ $SCENARIO == "zun" ]]; then - GATE_IMAGES+=",^zun,^kuryr,^etcd,^cinder,^iscsid" - if [[ $BASE_DISTRO != "centos" ]]; then - GATE_IMAGES+=",^tgtd" - fi - fi - - if [[ $SCENARIO == "scenario_nfv" ]]; then - GATE_IMAGES+=",^tacker,^mistral,^redis,^barbican" - fi - if [[ $SCENARIO == "ironic" ]]; then - GATE_IMAGES+=",^dnsmasq,^ironic,^iscsid" - fi - if [[ $SCENARIO == "masakari" ]]; then - GATE_IMAGES+=",^masakari" - fi - - if [[ $SCENARIO == "swift" ]]; then - GATE_IMAGES+=",^swift" - fi - - if [[ $SCENARIO == "ovn" ]]; then - GATE_IMAGES+=",^ovn" - fi - - if [[ $SCENARIO == "mariadb" ]]; then - GATE_IMAGES="^cron,^fluentd,^haproxy,^keepalived,^kolla-toolbox,^mariadb" - fi - - if [[ $SCENARIO == "prometheus-efk" ]]; then - GATE_IMAGES="^cron,^elasticsearch,^fluentd,^grafana,^haproxy,^keepalived,^kibana,^kolla-toolbox,^mariadb,^memcached,^prometheus,^rabbitmq" - fi - - # NOTE(yoctozepto): we cannot build and push at the same time on debian - # buster see https://github.com/docker/for-linux/issues/711. - PUSH="true" - if [[ "debian" == $BASE_DISTRO ]]; then - PUSH="false" - fi - - sudo tee /etc/kolla/kolla-build.conf < /tmp/logs/ansible/bootstrap-servers - -prepare_images