Add gating tests

Resolves: #1994617
This commit is contained in:
Ryan O'Hara 2021-08-17 10:09:37 -05:00
parent 95d9ebce43
commit 7e136b4e04
4 changed files with 180 additions and 1 deletions

6
gating.yaml Normal file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -1,7 +1,7 @@
Name: ipvsadm
Summary: Utility to administer the Linux Virtual Server
Version: 1.31
Release: 6%{?dist}
Release: 7%{?dist}
License: GPLv2+
URL: https://kernel.org/pub/linux/utils/kernel/ipvsadm/
@ -73,6 +73,9 @@ services. Supported Features include:
%{_mandir}/man8/%{name}-save.8*
%changelog
* Tue Aug 17 2021 Ryan O'Hara <rohara@redhat.com> - 1.31-7
- Add gating tests (#1994617)
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.31-6
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688

161
tests/run_tests.sh Executable file
View File

@ -0,0 +1,161 @@
#!/bin/sh
set -o pipefail
echo -ne "[debug]: getting IP address ... "
IP_ADDR=$( ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1 )
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
echo -ne "[debug]: adding virtual service ${IP_ADDR}:80 ... "
ipvsadm -A -t ${IP_ADDR}:80 -s rr
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
for i in {1..3}; do
echo -ne "[debug]: adding real server 192.168.100.10${i}:80 ... "
ipvsadm -a -t ${IP_ADDR}:80 -r 192.168.100.10${i}:80 -w 1 -m
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
done
echo -ne "[debug]: checking ipvs is populated ... "
ipvsadm -l -n | grep -q -E "(${IP_ADDR}|192.168.100.10)"
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
for mod in ip_vs_rr ip_vs; do
echo -ne "[debug]: checking for module ${mod} ... "
grep -q "^${mod} " /proc/modules
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
done
echo -ne "[debug]: saving ipvsadm configuration ... "
ipvsadm-save -n > /etc/sysconfig/ipvsadm
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
echo -ne "[debug]: clearing ipvsadm configuration ... "
ipvsadm -C
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
echo -ne "[debug]: checking ipvs is clear ... "
ipvsadm -l -n | grep -E "(${IP_ADDR}|192.168.100.10)"
if [ $? -eq 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
for mod in ip_vs_rr ip_vs; do
echo -ne "[debug]: removing module ${mod} ... "
modprobe -r ${mod}
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
done
for mod in ip_vs_rr ip_vs; do
echo -ne "[debug]: checking for no ${mod} module ... "
grep -q "^${mod} " /proc/modules
if [ $? -eq 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
done
echo -ne "[debug]: restoring ipvsadm configuration ... "
ipvsadm-restore < /etc/sysconfig/ipvsadm
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
echo -ne "[debug]: checking ipvs is populated ... "
ipvsadm -l -n | grep -q -E "(${IP_ADDR}|192.168.100.10)"
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
for mod in ip_vs_rr ip_vs; do
echo -ne "[debug]: checking for module ${mod} ... "
grep -q "^${mod} " /proc/modules
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
done
for i in {3..1}; do
echo -ne "[debug]: removing real server 192.168.100.10${i}:80 ... "
ipvsadm -d -t ${IP_ADDR}:80 -r 192.168.100.10${i}:80
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
done
echo -ne "[debug]: removing virtual service ${IP_ADDR}:80 ... "
ipvsadm -D -t ${IP_ADDR}:80
if [ $? -ne 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
echo -ne "[debug]: checking ipvs is clear ... "
ipvsadm -l -n | grep -E "(${IP_ADDR}|192.168.100.10)"
if [ $? -eq 0 ] ; then
echo "FAIL"
exit 1
else
echo "OK"
fi
exit 0

9
tests/tests.yml Normal file
View File

@ -0,0 +1,9 @@
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
tests:
- simple:
dir: .
run: ./run_tests.sh