From 6b45cd8619a9c8ed6421ebe51f39b2463ae7da41 Mon Sep 17 00:00:00 2001 From: Petr Sklenar Date: Tue, 1 Feb 2022 09:36:40 +0100 Subject: [PATCH] init --- Smoke/IpaInstallAndStart/main.fmf | 12 ++++ Smoke/IpaInstallAndStart/test.sh | 109 ++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 Smoke/IpaInstallAndStart/main.fmf create mode 100755 Smoke/IpaInstallAndStart/test.sh diff --git a/Smoke/IpaInstallAndStart/main.fmf b/Smoke/IpaInstallAndStart/main.fmf new file mode 100644 index 0000000..9882368 --- /dev/null +++ b/Smoke/IpaInstallAndStart/main.fmf @@ -0,0 +1,12 @@ +summary: Ipa install, Start and basic usage +test: ./test.sh +framework: beakerlib +recommend: + - bind + - bind-utils + - python3 +contact: + - Petr Sklenar +component: + - bind + diff --git a/Smoke/IpaInstallAndStart/test.sh b/Smoke/IpaInstallAndStart/test.sh new file mode 100755 index 0000000..20d0a2f --- /dev/null +++ b/Smoke/IpaInstallAndStart/test.sh @@ -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 +# 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 +