octavia-tempest-plugin/devstack/plugin.sh

62 lines
1.9 KiB
Bash

#!/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