#!/usr/bin/env bash saveenv=$- set -e # install_octavia_tempest_plugin function install_octavia_tempest_plugin { setup_dev_lib "octavia-tempest-plugin" } function build_backend_test_server { if is_fedora || is_ubuntu; then install_package golang else die "Distribution not supported. Supported distributions are: RHEL, CentOS, Fedora, Ubuntu" fi go_path=$(find $DEST/tempest/.tox/tempest/ -name test_server.go) sudo mkdir -m755 -p /opt/octavia-tempest-plugin sudo chown $STACK_USER /opt/octavia-tempest-plugin CGO_ENABLED=0 GOOS=linux go build \ -a -ldflags '-s -w -extldflags -static' \ -o /opt/octavia-tempest-plugin/test_server.bin \ ${DEST}/octavia-tempest-plugin/octavia_tempest_plugin/contrib/test_server/test_server.go } function _configure_tempest { if [ -n "$Q_ROUTER_NAME" ]; then iniset $TEMPEST_CONFIG load_balancer default_router "$Q_ROUTER_NAME" fi if [ -n "$SUBNETPOOL_NAME_V6" ]; then iniset $TEMPEST_CONFIG load_balancer default_ipv6_subnetpool "$SUBNETPOOL_NAME_V6" fi } if [[ "$1" == "stack" ]]; then case "$2" in install) # Install dev library if # - the release is more recent than train (devstack in train would # try to install it in a python2 env, but octavia-tempest-plugin # is now a python3-only project) # - or the user explicitly requests it (INSTALL_TEMPEST=True) if [[ ! "$DEVSTACK_SERIES" =~ (stein|train) ]] || [[ "$(trueorfalse False INSTALL_TEMPEST)" == "True" ]]; then echo_summary "Installing octavia-tempest-plugin" install_octavia_tempest_plugin fi ;; test-config) echo_summary "Building backend test server" build_backend_test_server _configure_tempest ;; esac fi if [[ $saveenv =~ e ]]; then set -e else set +e fi