This commit is contained in:
Petr Sklenar 2022-02-01 09:36:40 +01:00
commit 6b45cd8619
2 changed files with 121 additions and 0 deletions

View file

@ -0,0 +1,12 @@
summary: Ipa install, Start and basic usage
test: ./test.sh
framework: beakerlib
recommend:
- bind
- bind-utils
- python3
contact:
- Petr Sklenar <psklenar@redhat.com>
component:
- bind

109
Smoke/IpaInstallAndStart/test.sh Executable file
View file

@ -0,0 +1,109 @@
#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
. /usr/share/beakerlib/beakerlib.sh || exit 1
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Author: Petr Sklenar <psklenar@redhat.com>
# test based on original Petr Mensik's tests
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DM_SECRET=dmSecret
ADMIN_SECRET=adminSecret
HOST_SECRET=hostSecret
DOMAIN=ipa.test
REALM=IPA.TEST
fetch_local_ipv4()
{
IP4=`ip address | awk '$1 == "inet" { print $2 }' | cut -d/ -f1 | grep -v '^127\.'`
}
prepareIpaServer()
{
rlRun "dnf -y module install idm:DL1"
rlRun "dnf -y install freeipa-server-dns"
HOSTNAME=`hostname`
if echo $HOSTNAME | grep '\.'
then
rlLog "Using full hostname $HOSTNAME"
else
IP4=`fetch_local_ipv4`
HOSTNAME=`dig +short -x ${IP4}`
HOSTNAME="${HOSTNAME%.}"
ORIG_HOSTNAME=${HOSTNAME}
HOSTNAME=primary.ipa.test
rlRun "hostname ${HOSTNAME}" 0 "Resetting machine hostname to $HOSTNAME"
fi
if ! ipactl status
then
if ! grep ${HOSTNAME} /etc/hosts
then
# getent hosts ${HOSTNAME} >> /etc/hosts
echo "${IP4} ${HOSTNAME} ${ORIG_HOSTNAME}" >> /etc/hosts
fi
rlRun "ipa-server-install -U --hostname ${HOSTNAME} -n ${DOMAIN} -r ${REALM} --setup-dns -p ${DM_SECRET} -a ${ADMIN_SECRET} --auto-forwarders"
fi
}
make_update()
{
local IPV4=`fetch_local_ipv4`
local TTL=600
cat << NSUPDATE
gsstsig
prereq yxdomain primary.ipa.test
update del primary.ipa.test
send
gsstsig
update add primary.ipa.test ${TTL} IN A ${IPV4}
send
NSUPDATE
}
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "TestDir=`pwd`" 0 "Saving test directory"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlPhaseStartSetup "Prepare IPA"
prepareIpaServer
rlPhaseEnd
rlPhaseStartTest
for i in `seq 5 6`;do
rlRun "ipactl restart"
sleep $i
rlRun "systemctl restart named.service"
sleep $i
done
rlPhaseEnd
rlPhaseStartTest
rlRun "kinit -kt /etc/krb5.keytab" 0 "Login machine into kerberos"
rlRun "klist" 0 "Ensure some ticket is there"
rlRun "make_update > update"
rlRun "cp $TestDir/update.gdb update.gdb"
rlPhaseEnd
rlPhaseStartCleanup
ipa-server-install --uninstall --unattended
killall bind
systemctl daemon-reload
rlServiceStop
rlRun "rm -f $rlRun_LOG"
rlRun "popd"
rlRun "hostname ${ORIG_HOSTNAME}"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd