#9 Enable automated/gating tests.
Opened 3 years ago by bdperkin. Modified 3 years ago
rpms/ bdperkin/haproxy master  into  rawhide

file added
+14
@@ -0,0 +1,14 @@ 

+ --- !Policy

+ product_versions:

+   - fedora-*

+ decision_context: bodhi_update_push_testing

+ subject_type: koji_build

+ rules:

+   - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

+ --- !Policy

+ product_versions:

+   - fedora-*

+ decision_context: bodhi_update_push_stable

+ subject_type: koji_build

+ rules:

+   - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}

file added
+16
@@ -0,0 +1,16 @@ 

+ global

+     daemon

+     maxconn 1024

+     user haproxy

+     group haproxy

+ 

+ defaults

+     mode http

+     timeout connect 2s

+     timeout client 10s

+     timeout server 10s

+ 

+ listen test

+     bind *:81

+     server $VHOST1_NAME $VHOST1_ADDR:$VHOST1_PORT check

+     server $VHOST2_NAME $VHOST2_ADDR:$VHOST2_PORT check

file added
+140
@@ -0,0 +1,140 @@ 

+ #!/bin/sh

+ 

+ export VHOST1_NAME="vhost1"

+ export VHOST1_ADDR="192.168.100.101"

+ export VHOST1_PORT="80"

+ 

+ export VHOST2_NAME="vhost2"

+ export VHOST2_ADDR="192.168.100.102"

+ export VHOST2_PORT="80"

+ 

+ mkdir -p /var/www/html/${VHOST1_NAME}

+ mkdir -p /var/www/html/${VHOST2_NAME}

+ 

+ echo ${VHOST1_NAME} > /var/www/html/${VHOST1_NAME}/index.html

+ echo ${VHOST2_NAME} > /var/www/html/${VHOST2_NAME}/index.html

+ 

+ cat >/etc/httpd/conf.d/vhost.conf <<EOF

+ <VirtualHost ${VHOST1_ADDR}:${VHOST1_PORT}>

+     DocumentRoot /var/www/html/${VHOST1_NAME}

+ </VirtualHost>

+ <VirtualHost ${VHOST2_ADDR}:${VHOST2_PORT}>

+     DocumentRoot /var/www/html/${VHOST2_NAME}

+ </VirtualHost>

+ EOF

+ 

+ echo -ne "[debug]: adding ${VHOST1_ADDR} ... "

+ ip addr add ${VHOST1_ADDR} dev lo

+ if [ $? -ne 0 ] ; then

+     echo "FAIL"

+     exit 1

+ else

+     echo "OK"

+ fi

+ 

+ echo -ne "[debug]: adding ${VHOST1_ADDR} ... "

+ ip addr add ${VHOST2_ADDR} dev lo

+ if [ $? -ne 0 ] ; then

+     echo "FAIL"

+     exit 1

+ else

+     echo "OK"

+ fi

+ 

+ echo -ne "[debug]: starting httpd service ... "

+ systemctl start httpd

+ if [ $? -ne 0 ] ; then

+     echo "FAIL"

+     exit 1

+ else

+     echo "OK"

+ fi

+ 

+ echo -ne "[debug]: checking httpd active ... "

+ systemctl -q is-active httpd

+ if [ $? -ne 0 ] ; then

+     echo "FAIL"

+     exit 1

+ else

+     echo "OK"

+ fi

+ 

+ VHOST1_VARS='${VHOST1_NAME}:${VHOST1_ADDR}:${VHOST1_PORT}'

+ VHOST2_VARS='${VHOST2_NAME}:${VHOST2_ADDR}:${VHOST2_PORT}'

+ 

+ echo -ne "[debug]: setting up config file .... "

+ envsubst "${VHOST1_VARS},${VHOST2_VARS}" < ./haproxy.cfg.in > /etc/haproxy/haproxy.cfg

+ if [ $? -ne 0 ] ; then

+     echo "FAIL"

+     exit 1

+ else

+     echo "OK"

+ fi

+ 

+ echo -ne "[debug]: configuring selinux policy ... "

+ setsebool haproxy_connect_any 1

+ if [ $? -ne 0 ] ; then

+     echo "FAIL"

+     exit 1

+ else

+     echo "OK"

+ fi

+ 

+ echo -ne "[debug]: starting haproxy service ... "

+ systemctl start haproxy

+ if [ $? -ne 0 ] ; then

+     echo "FAIL"

+     exit 1

+ else

+     echo "OK"

+ fi

+ 

+ echo -ne "[debug]: checking haproxy active ... "

+ systemctl -q is-active haproxy

+ if [ $? -ne 0 ] ; then

+     echo "FAIL"

+     exit 1

+ else

+     echo "OK"

+ fi

+ 

+ echo -ne "[debug]: fetching URL via haproxy ... "

+ if [[ $( curl -s http://127.0.0.1:81 ) != ${VHOST1_NAME} ]] ; then

+     echo "FAIL"

+     exit 1

+ else

+     echo "OK"

+ fi

+ 

+ echo -ne "[debug]: fetching URL via haproxy ... "

+ if [[ $( curl -s http://127.0.0.1:81 ) != ${VHOST2_NAME} ]] ; then

+     echo "FAIL"

+     exit 1

+ else

+     echo "OK"

+ fi

+ 

+ echo -ne "[debug]: stopping haproxy service ... "

+ systemctl stop haproxy

+ if [ $? -ne 0 ] ; then

+     echo "FAIL"

+     exit 1

+ else

+     echo "OK"

+ fi

+ 

+ echo -ne "[debug]: checking haproxy inactive ... "

+ systemctl -q is-active haproxy

+ if [ $? -ne 3 ] ; then

+     echo "FAIL"

+     exit 1

+ else

+     echo "OK"

+ fi

+ 

+ systemctl stop httpd

+ 

+ ip addr del ${VHOST1_ADDR}/32 dev lo

+ ip addr del ${VHOST2_ADDR}/32 dev lo

+ 

+ exit 0

file added
+13
@@ -0,0 +1,13 @@ 

+ - hosts: localhost

+   roles:

+   - role: standard-test-basic

+     tags:

+     - classic

+     tests:

+     - simple:

+         dir: .

+         run: ./run_tests.sh

+     required_packages:

+      - curl

+      - gettext

+      - httpd