From 89f7d349e058260e10c203de5268450070bae38d Mon Sep 17 00:00:00 2001 From: Carlos Goncalves Date: Fri, 17 May 2019 16:50:24 +0200 Subject: [PATCH] Delete unused files in tests/contrib Code in octavia/tests/contrib is now obsoleted with the retirement of neutron-lbaas. Change-Id: I73566e535a16dd73f3b32659668d0fb6ae6ad22c --- octavia/tests/contrib/decode_args.sh | 63 ---------- octavia/tests/contrib/deploy_c10k_test.sh | 80 ------------ octavia/tests/contrib/gate_hook.sh | 133 -------------------- octavia/tests/contrib/hooks/api_extensions | 1 - octavia/tests/contrib/hooks/apiv1 | 8 -- octavia/tests/contrib/hooks/scenario | 3 - octavia/tests/contrib/httpd.go | 134 --------------------- octavia/tests/contrib/post_test_hook.sh | 87 ------------- 8 files changed, 509 deletions(-) delete mode 100644 octavia/tests/contrib/decode_args.sh delete mode 100755 octavia/tests/contrib/deploy_c10k_test.sh delete mode 100755 octavia/tests/contrib/gate_hook.sh delete mode 100644 octavia/tests/contrib/hooks/api_extensions delete mode 100644 octavia/tests/contrib/hooks/apiv1 delete mode 100644 octavia/tests/contrib/hooks/scenario delete mode 100644 octavia/tests/contrib/httpd.go delete mode 100755 octavia/tests/contrib/post_test_hook.sh diff --git a/octavia/tests/contrib/decode_args.sh b/octavia/tests/contrib/decode_args.sh deleted file mode 100644 index e0d41e313e..0000000000 --- a/octavia/tests/contrib/decode_args.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash - -# This file is meant to be sourced by the other hooks - -# Legacy values for $1, $2 and $3: -# $1 - dsvm-functional, tempest (testtype) -# $2 - lbaasv2, lbaasv1 (octaviaversion) -# $3 - scenario, minimal, api, healthmonitor, listener, loadbalancer, member, pool (octaviatest) - -# Args being phased in: -# $1 - same -# $2 - same -# $3 - test-driver, with any missing -driver being "octavia" -# scenario-octavia -# minimal-octavia -# api-namespace -# api-{thirdparty} -# healthmonitor-octavia -# listener-octavia -# loadbalancer-octavia -# member-octavia -# pool-octavia - - - - -testtype="$1" -octaviaversion="$2" -octaviatest="$3" - -case $testtype in - "dsvm-functional") - testenv=$testtype - ;; - - "tempest") - lbaasenv=$(echo "$octaviatest" | perl -ne '/^(.*)-([^-]+)$/ && print "$1";') - if [ -z "$lbaasenv" ]; then - lbaasenv=$octaviatest - fi - lbaasdriver=$(echo "$octaviatest" | perl -ne '/^(.*)-([^-]+)$/ && print "$2";') - if [ -z "$lbaasdriver" ]; then - lbaasdriver='octavia' - fi - - testenv=${octaviatest:-"apiv1"} - - if [ "$octaviaversion" = "v1" ]; then - case "$lbaasenv" in - "api"|"healthmonitor"|"listener"|"loadbalancer"|"member"|"minimal"|"pool") - testenv="apiv1" - ;; - "scenario") - testenv="scenario" - ;; - *) - echo "Unrecognized env $lbaasenv". - exit 1 - ;; - esac - fi - ;; -esac diff --git a/octavia/tests/contrib/deploy_c10k_test.sh b/octavia/tests/contrib/deploy_c10k_test.sh deleted file mode 100755 index c4be42cf57..0000000000 --- a/octavia/tests/contrib/deploy_c10k_test.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/bash - -set -ex - -function wait_for_loadbalancer_active() { - lb_name=$1 - while [ $(neutron lbaas-loadbalancer-list \ - | grep $lb_name | grep ACTIVE \ - | wc --lines) == 0 ]; do - sleep 2 - done -} - -BUILD_DIR=$(mktemp -d) -cp $( dirname "${BASH_SOURCE[0]}" )/httpd.go ${BUILD_DIR} -pushd ${BUILD_DIR} - go build -ldflags "-linkmode external -extldflags -static" httpd.go -popd - -SEC_GROUP_ID=$( openstack security group create "app-server-sec-group" \ - -f value -c id) -openstack security group rule create ${SEC_GROUP_ID} --protocol tcp \ - --dst-port 22 -openstack security group rule create ${SEC_GROUP_ID} --protocol tcp \ - --dst-port 8080 - -ssh-keygen -q -b 4096 -t rsa -N "" -f ${BUILD_DIR}/id_rsa -openstack keypair create "app-server-key" --public-key ${BUILD_DIR}/id_rsa.pub - -PRIVATE_NET_ID=$( openstack network show private -f value -c id ) - -neutron lbaas-loadbalancer-create --name lb1 private-subnet -wait_for_loadbalancer_active lb -neutron lbaas-listener-create --name listener1 \ - --loadbalancer lb1 \ - --protocol HTTP \ - --protocol-port 80 \ - --connection-limit 100000 -wait_for_loadbalancer_active lb1 -neutron lbaas-pool-create --name pool1 \ - --lb-algorithm ROUND_ROBIN \ - --listener listener1 \ - --protocol HTTP -wait_for_loadbalancer_active lb1 - -for NUM in $( seq -f "%02.0f" 1 3 ); do - # For higher scale testing you may want to use a large flavor assuming your - # environment has capacity - SERVER_ID=$( openstack server create app${NUM} \ - --image cirros-0.3.4-x86_64-uec \ - --flavor m1.tiny \ - --security-group ${SEC_GROUP_ID} \ - --nic net-id=${PRIVATE_NET_ID} \ - --key-name "app-server-key" \ - --wait -f value -c id ) - sleep 30 - SERVER_IPV4=$( openstack server show ${SERVER_ID} \ - -c addresses -f value \ - | perl -ne 'print $1 if /(\d+\.\d+\.\d+\.\d+)/' ) - - scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ - -i ${BUILD_DIR}/id_rsa \ - ${BUILD_DIR}/httpd cirros@${SERVER_IPV4}:/dev/shm/ - ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ - -i ${BUILD_DIR}/id_rsa cirros@${SERVER_IPV4} \ - sudo sh -c "ulimit -n 100000; screen -d -m /dev/shm/httpd \ - -id ${NUM} -port 8080" - - neutron lbaas-member-create --subnet private-subnet \ - --address ${SERVER_IPV4} \ - --name app${NUM} \ - --protocol-port 8080 pool1 - wait_for_loadbalancer_active lb1 -done - -VIP_ADDRESS=$( neutron lbaas-loadbalancer-show lb1 -f value -c vip_address ) -neutron lbaas-loadbalancer-show lb1 - -echo -e "You can now perform a load test against this load balancer. " \ - "For example:\n ab -n 40000 -c 10000 http://${VIP_ADDRESS}/slow" diff --git a/octavia/tests/contrib/gate_hook.sh b/octavia/tests/contrib/gate_hook.sh deleted file mode 100755 index 6e531c5075..0000000000 --- a/octavia/tests/contrib/gate_hook.sh +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/bash - -set -ex - -GATE_DEST=$BASE/new - -_DEVSTACK_LOCAL_CONFIG_TAIL= - -# Inject config from hook -function load_conf_hook { - local hook="$1" - local GATE_HOOKS=$GATE_DEST/octavia/octavia/tests/contrib/hooks - - _DEVSTACK_LOCAL_CONFIG_TAIL+=$'\n'"$(cat $GATE_HOOKS/$hook)" -} - -export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin barbican https://opendev.org/openstack/barbican"$'\n' - -# Allow testing against diskimage-builder changes with depends-on -export DEVSTACK_LOCAL_CONFIG+=$'\n'"LIBS_FROM_GIT+=,diskimage-builder"$'\n' - -# Sort out our gate args -. $(dirname "$0")/decode_args.sh - -# Note: The check for OVH and limestone instances is temporary until they -# resolve the KVM failures as logged here: -# https://bugzilla.kernel.org/show_bug.cgi?id=192521 -# However, this may be resolved at OVH before the kernel bug is resolved. -if $(egrep --quiet '(vmx|svm)' /proc/cpuinfo) && [[ ( ! $(hostname) =~ "ovh" && ! $(hostname) =~ "limestone" ) ]]; then - export DEVSTACK_GATE_LIBVIRT_TYPE=kvm -fi - -function _setup_octavia_multinode { - - PRIMARY_NODE_IP=$(cat /etc/nodepool/primary_node_private) - SUBNODE_IP=$(head -n1 /etc/nodepool/sub_nodes_private) - - # OCTAVIA_CONTROLLER_IP_PORT_LIST are the ips inside the - # lb-mgmt network that the amphoras reach via heartbeats - COMMON_MULTINODE_CONFIG=" -OCTAVIA_USE_PREGENERATED_CERTS=True -OCTAVIA_USE_PREGENERATED_SSH_KEY=True -OCTAVIA_CONTROLLER_IP_PORT_LIST=192.168.0.3:5555,192.168.0.4:5555 - -# Embedded fix for devstack bug/1629133 , this line can be removed once -# that bug is fixed -SUBNETPOOL_PREFIX_V4=10.0.0.0/16"$'\n' - - export DEVSTACK_LOCAL_CONFIG+="$COMMON_MULTINODE_CONFIG -OCTAVIA_NODE=main -OCTAVIA_NODES=main:$PRIMARY_NODE_IP,second:$SUBNODE_IP -enable_service o-api-ha -OCTAVIA_MGMT_PORT_IP=192.168.0.3"$'\n' - - export DEVSTACK_SUBNODE_CONFIG+="$COMMON_MULTINODE_CONFIG -OCTAVIA_NODE=second -enable_plugin octavia https://opendev.org/openstack/octavia -OCTAVIA_MGMT_PORT_IP=192.168.0.4"$'\n' -} - -function _setup_octavia { - export DEVSTACK_LOCAL_CONFIG+=$'\n'"OCTAVIA_DIB_TRACING=True"$'\n' - export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin octavia https://opendev.org/openstack/octavia"$'\n' - # Use infra's cached version of the file - if [ -f /opt/stack/new/devstack/files/get-pip.py ]; then - export DEVSTACK_LOCAL_CONFIG+=$'\n'"DIB_REPOLOCATION_pip_and_virtualenv=file:///opt/stack/new/devstack/files/get-pip.py"$'\n' - fi - if [ "$testenv" != "apiv1" ]; then - ENABLED_SERVICES+="octavia,o-cw,o-hk,o-hm,o-api," - if [ "$DEVSTACK_GATE_TOPOLOGY" == "multinode" ]; then - _setup_octavia_multinode - fi - fi - if [ "$testenv" = "apiv1" ]; then - load_conf_hook apiv1 - fi - - if [ "$testenv" = "scenario" ]; then - load_conf_hook scenario - fi -} - -# Make sure lbaasv2 is listed as enabled for tempest -load_conf_hook api_extensions - -case "$testtype" in - - "dsvm-functional") - PROJECT_NAME=octavia - OCTAVIA_PATH=$GATE_DEST/$PROJECT_NAME - IS_GATE=True - USE_CONSTRAINT_ENV=False - export LOG_COLOR=False - source "$OCTAVIA"/tools/configure_for_lbaas_func_testing.sh - - # Make the workspace owned by the stack user - sudo chown -R "$STACK_USER":"$STACK_USER" "$BASE" - - configure_host_for_lbaas_func_testing - ;; - - "tempest") - # These are not needed with either v1 or v2 - ENABLED_SERVICES+="-c-api,-c-bak,-c-sch,-c-vol,-cinder," - ENABLED_SERVICES+="-s-account,-s-container,-s-object,-s-proxy," - - if [ "$testenv" != "scenario" ]; then - export DEVSTACK_LOCAL_CONFIG+=$'\n'"DISABLE_AMP_IMAGE_BUILD=True"$'\n' - # Not needed for API tests - ENABLED_SERVICES+="-horizon,-ceilometer-acentral,-ceilometer-acompute," - ENABLED_SERVICES+="-ceilometer-alarm-evaluator,-ceilometer-alarm-notifier," - ENABLED_SERVICES+="-ceilometer-anotification,-ceilometer-api," - ENABLED_SERVICES+="-ceilometer-collector," - fi - - if [ "$lbaasdriver" = "namespace" ]; then - export DEVSTACK_LOCAL_CONFIG+=$'\n'"NEUTRON_LBAAS_SERVICE_PROVIDERV2=LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default"$'\n' - fi - - if [ "$lbaasdriver" = "octavia" ]; then - _setup_octavia - fi - - export ENABLED_SERVICES - export DEVSTACK_LOCAL_CONFIG+=$'\n'"$_DEVSTACK_LOCAL_CONFIG_TAIL" - "$GATE_DEST"/devstack-gate/devstack-vm-gate.sh - ;; - - *) - echo "Unrecognized test type $testtype". - exit 1 - ;; -esac diff --git a/octavia/tests/contrib/hooks/api_extensions b/octavia/tests/contrib/hooks/api_extensions deleted file mode 100644 index c0af378565..0000000000 --- a/octavia/tests/contrib/hooks/api_extensions +++ /dev/null @@ -1 +0,0 @@ -NETWORK_API_EXTENSIONS="all,lbaasv2" diff --git a/octavia/tests/contrib/hooks/apiv1 b/octavia/tests/contrib/hooks/apiv1 deleted file mode 100644 index 1cf65b452d..0000000000 --- a/octavia/tests/contrib/hooks/apiv1 +++ /dev/null @@ -1,8 +0,0 @@ -[[post-config|/etc/octavia/octavia.conf]] -[DEFAULT] -debug = True - -[controller_worker] -amphora_driver = amphora_noop_driver -compute_driver = compute_noop_driver -network_driver = network_noop_driver diff --git a/octavia/tests/contrib/hooks/scenario b/octavia/tests/contrib/hooks/scenario deleted file mode 100644 index 00d6117dd2..0000000000 --- a/octavia/tests/contrib/hooks/scenario +++ /dev/null @@ -1,3 +0,0 @@ -[[post-config|/etc/octavia/octavia.conf]] -[DEFAULT] -debug = True diff --git a/octavia/tests/contrib/httpd.go b/octavia/tests/contrib/httpd.go deleted file mode 100644 index f35d56cdc9..0000000000 --- a/octavia/tests/contrib/httpd.go +++ /dev/null @@ -1,134 +0,0 @@ -package main - -import ( - "flag" - "fmt" - "io" - "net" - "net/http" - "sync" - "time" -) - -var sess_cookie http.Cookie -var resp string - -type ConnectionCount struct { - mu sync.Mutex - cur_conn int - max_conn int - total_conn int - packets int -} - -var scoreboard ConnectionCount - -func (cc *ConnectionCount) open() { - cc.mu.Lock() - defer cc.mu.Unlock() - - cc.cur_conn++ - cc.total_conn++ -} - -func (cc *ConnectionCount) close() { - cc.mu.Lock() - defer cc.mu.Unlock() - - if cc.cur_conn > cc.max_conn { - cc.max_conn = cc.cur_conn - } - cc.cur_conn-- -} - -func (cc *ConnectionCount) stats() (int, int, int) { - cc.mu.Lock() - defer cc.mu.Unlock() - - return cc.max_conn, cc.total_conn, cc.packets -} - -func (cc *ConnectionCount) inc() { - cc.mu.Lock() - defer cc.mu.Unlock() - - cc.packets++ -} - -func (cc *ConnectionCount) reset() { - cc.mu.Lock() - defer cc.mu.Unlock() - - cc.max_conn = 0 - cc.total_conn = 0 - cc.packets = 0 -} - -func root_handler(w http.ResponseWriter, r *http.Request) { - scoreboard.open() - defer scoreboard.close() - - http.SetCookie(w, &sess_cookie) - io.WriteString(w, resp) -} - -func slow_handler(w http.ResponseWriter, r *http.Request) { - scoreboard.open() - defer scoreboard.close() - - delay, err := time.ParseDuration(r.URL.Query().Get("delay")) - if err != nil { - delay = 3 * time.Second - } - - time.Sleep(delay) - http.SetCookie(w, &sess_cookie) - io.WriteString(w, resp) -} - -func stats_handler(w http.ResponseWriter, r *http.Request) { - http.SetCookie(w, &sess_cookie) - max_conn, total_conn, packets := scoreboard.stats() - fmt.Fprintf(w, "max_conn=%d\ntotal_conn=%d\npackets=%d\n", max_conn, total_conn, packets) -} - -func reset_handler(w http.ResponseWriter, r *http.Request) { - http.SetCookie(w, &sess_cookie) - scoreboard.reset() - fmt.Fprintf(w, "reset\n") -} - -func udp_handler(port *int) { - ServerConn, _ := net.ListenUDP("udp", &net.UDPAddr{IP: []byte{0, 0, 0, 0}, Port: *port, Zone: ""}) - defer ServerConn.Close() - buf := make([]byte, 1024) - for { - n, addr, _ := ServerConn.ReadFromUDP(buf) - scoreboard.inc() - fmt.Println("Received ", string(buf[0:n]), " from ", addr) - ServerConn.WriteTo([]byte(resp), addr) - } -} - -func main() { - portPtr := flag.Int("port", 8080, "TCP port to listen on") - idPtr := flag.String("id", "1", "Server ID") - udpPortPtr := flag.Int("udpPort", -1, "UDP port to listen on. If port <=0 UDP server won't start") - - flag.Parse() - - resp = fmt.Sprintf("%s", *idPtr) - sess_cookie.Name = "JSESSIONID" - sess_cookie.Value = *idPtr - - http.HandleFunc("/", root_handler) - http.HandleFunc("/slow", slow_handler) - http.HandleFunc("/stats", stats_handler) - http.HandleFunc("/reset", reset_handler) - portStr := fmt.Sprintf(":%d", *portPtr) - if *udpPortPtr > 0 { - // only start server if flag is set - go udp_handler(udpPortPtr) - } - http.ListenAndServe(portStr, nil) -} diff --git a/octavia/tests/contrib/post_test_hook.sh b/octavia/tests/contrib/post_test_hook.sh deleted file mode 100755 index 9ed6764464..0000000000 --- a/octavia/tests/contrib/post_test_hook.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/bash - -set -xe - -TEMPEST_CONFIG_DIR="$BASE/new/tempest/etc" -SCRIPTS_DIR="/usr/os-testr-env/bin" -OCTAVIA_DIR="$BASE/new/octavia" - -# Sort out our gate args -. $(dirname "$0")/decode_args.sh - -if [ "$testenv" = "apiv1" ]; then - case "$lbaasenv" in - minimal) - # Temporarily just do the happy path - test_subset="octavia.tests.tempest.v2.api.test_load_balancers_non_admin.LoadBalancersTestJSON.test_create_load_balancer(?!_) " - test_subset+="octavia.tests.tempest.v2.api.test_load_balancers_non_admin.LoadBalancersTestJSON.test_get_load_balancer_stats(?!_) " - test_subset+="octavia.tests.tempest.v2.api.test_load_balancers_non_admin.LoadBalancersTestJSON.test_get_load_balancer_status_tree(?!_) " - test_subset+="octavia.tests.tempest.v2.api.test_listeners_non_admin.ListenersTestJSON.test_create_listener(?!_) " - test_subset+="octavia.tests.tempest.v2.api.test_pools_non_admin.TestPools.test_create_pool(?!_) " - test_subset+="octavia.tests.tempest.v2.api.test_members_non_admin.MemberTestJSON.test_add_member(?!_) " - test_subset+="octavia.tests.tempest.v2.api.test_health_monitors_non_admin.TestHealthMonitors.test_create_health_monitor(?!_)" - ;; - healthmonitor) - test_subset="health_monitor" - ;; - listener) - test_subset="listeners" - ;; - loadbalancer) - test_subset="load_balancers" - ;; - member) - test_subset="members" - ;; - pool) - test_subset="pools" - ;; - scenario) - testenv="scenario" - ;; - esac -fi - -function generate_testr_results { - # Give job user rights to access tox logs - sudo -H -u "$owner" chmod o+rw . - if [ -d ".stestr" ] ; then - sudo -H -u "$owner" chmod o+rw -R .stestr - if [ -f ".stestr/0" ] ; then - stestr last --subunit > ./testrepository.subunit - $SCRIPTS_DIR/subunit2html ./testrepository.subunit testr_results.html - gzip -9 ./testrepository.subunit - gzip -9 ./testr_results.html - sudo mv ./*.gz /opt/stack/logs/ - fi - fi -} - -case $testtype in - "dsvm-functional") - owner=stack - sudo_env= - ;; - "tempest") - owner=tempest - # Configure the api and scenario tests to use the tempest.conf set by devstack - sudo_env="TEMPEST_CONFIG_DIR=$TEMPEST_CONFIG_DIR" - ;; -esac - -# Set owner permissions according to job's requirements. -cd "$OCTAVIA_DIR" -sudo chown -R $owner:stack "$OCTAVIA_DIR" - -# Run tests -echo "Running Octavia $testenv test suite" -set +e - -sudo -H -u $owner $sudo_env tox -e $testenv -- $test_subset - -testr_exit_code=$? -set -e - -# Collect and parse results -generate_testr_results -exit $testr_exit_code