Blame Sanity/geoip-support/runtest.sh

c068eec
#!/bin/bash
c068eec
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
c068eec
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c068eec
#
c068eec
#   runtest.sh of /CoreOS/bind/Sanity/geoip-support
c068eec
#   Description: it tries more ip address from more locations
c068eec
#   Author: Petr Sklenar <psklenar@redhat.com>
c068eec
#
c068eec
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c068eec
#
c068eec
#   Copyright (c) 2019 Red Hat, Inc.
c068eec
#
c068eec
#   This program is free software: you can redistribute it and/or
c068eec
#   modify it under the terms of the GNU General Public License as
c068eec
#   published by the Free Software Foundation, either version 2 of
c068eec
#   the License, or (at your option) any later version.
c068eec
#
c068eec
#   This program is distributed in the hope that it will be
c068eec
#   useful, but WITHOUT ANY WARRANTY; without even the implied
c068eec
#   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
c068eec
#   PURPOSE.  See the GNU General Public License for more details.
c068eec
#
c068eec
#   You should have received a copy of the GNU General Public License
c068eec
#   along with this program. If not, see http://www.gnu.org/licenses/.
c068eec
#
c068eec
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c068eec
c068eec
# Include Beaker environment
c068eec
. /usr/bin/rhts-environment.sh || exit 1
c068eec
. /usr/share/beakerlib/beakerlib.sh || exit 1
c068eec
c068eec
PACKAGE="bind"
c068eec
c068eec
rlJournalStart
c068eec
    rlPhaseStartSetup
c068eec
        rlAssertRpm $PACKAGE
c068eec
	rlFileBackup /etc/named.conf /var/named/a  /var/named/b
c068eec
    rlPhaseEnd
c068eec
c068eec
    rlPhaseStartSetup 'files'
c068eec
	rlRun "cp named.conf /etc/named.conf"
c068eec
c068eec
	rlRun "cp a /var/named/a"
c068eec
	rlRun "cp b /var/named/b"
c068eec
	rlRun "cp c /var/named/c"
c068eec
	chown root.named /var/named/a
c068eec
	chown root.named /var/named/b
c068eec
	chown root.named /var/named/c
c068eec
	rlRun "rlServiceStart named"
c068eec
c068eec
    rlPhaseEnd
c068eec
c068eec
    rlPhaseStartSetup 'net'
c068eec
	ip netns add blue
c068eec
	ip link add cosi0 type veth peer name cosi1
c068eec
	ip link set cosi0 netns blue
c068eec
	ip addr add 4.3.2.1 dev cosi1
c068eec
	ip addr add 222.19.68.0 dev cosi1
c068eec
c068eec
	rlRun 'ip a|grep 222.19.68.0'
c068eec
	rlRun 'ip a|grep 4.3.2.1'
c068eec
c068eec
    rlPhaseEnd
c068eec
c068eec
    rlPhaseStartTest 'dig'
c068eec
	rlRun "dig -b 4.3.2.1 @127.0.0.1 test1.petr.god +short | grep '1.1.1.1'"
c068eec
	rlRun "dig -b 127.0.0.1 @127.0.0.1 test1.petr.god +short | grep '2.2.2.1'"
c068eec
	rlRun "dig -b 222.19.68.0 @127.0.0.1 test1.petr.god +short | grep '3.3.3.1'"
c068eec
c068eec
	rlRun "dig -b 4.3.2.1 +short @127.0.0.1 geo.petr.god TXT | grep 'geo A'"
c068eec
	rlRun "dig -b 222.19.68.0 +short @127.0.0.1 geo.petr.god TXT | grep 'geo C'"
c068eec
	rlRun "dig -b 127.0.0.1 +short @127.0.0.1 geo.petr.god TXT | grep 'geo B'"
c068eec
    rlPhaseEnd
c068eec
c068eec
#for i in `seq 1 100000`;do dig -b 4.3.2.1 @127.0.0.1 test1.petr.god +short & dig -b 127.0.0.1 @127.0.0.1 test1.petr.god +short & dig -b 222.19.68.0 @127.0.0.1 test1.petr.god +short & done
c068eec
c068eec
c068eec
    rlPhaseStartCleanup
c068eec
        ip netns del blue
c068eec
	rlFileRestore
c068eec
	rlServiceRestore named
c068eec
    rlPhaseEnd
c068eec
rlJournalPrintText
c068eec
rlJournalEnd