83 lines
2.5 KiB
Plaintext
83 lines
2.5 KiB
Plaintext
|
url --url=http://dl.fedoraproject.org/pub/fedora/linux/development/$releasever/$basearch/os/ --proxy=127.0.0.1:8080
|
||
|
repo --name=kstest-http --baseurl=HTTP-ADDON-REPO --proxy=127.0.0.1:8080 --install
|
||
|
install
|
||
|
network --bootproto=dhcp
|
||
|
|
||
|
bootloader --timeout=1
|
||
|
zerombr
|
||
|
clearpart --all
|
||
|
autopart
|
||
|
|
||
|
keyboard us
|
||
|
lang en
|
||
|
timezone America/New_York
|
||
|
rootpw qweqwe
|
||
|
shutdown
|
||
|
|
||
|
# Install @core, which will also pull in testpkg-http-core from the addon repo
|
||
|
%packages
|
||
|
%end
|
||
|
|
||
|
# Start the proxy server
|
||
|
%include proxy-common.ks
|
||
|
|
||
|
%post --nochroot
|
||
|
# Look for the following as evidence that a proxy was used:
|
||
|
# a .treeinfo request
|
||
|
grep -q '\.treeinfo$' /tmp/proxy.log
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
echo '.treeinfo request was not proxied' >> $ANA_INSTALL_PATH/root/RESULT
|
||
|
fi
|
||
|
|
||
|
# primary.xml from the repodata
|
||
|
grep -q 'repodata/.*primary.xml' /tmp/proxy.log
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
echo 'repodata requests were not provxied' >> $ANA_INSTALL_PATH/root/RESULT
|
||
|
fi
|
||
|
|
||
|
# the kernel package from the Fedora repo
|
||
|
grep -q 'kernel-.*\.rpm' /tmp/proxy.log
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
echo 'base repo package requests were not proxied' >> $ANA_INSTALL_PATH/root/RESULT
|
||
|
fi
|
||
|
|
||
|
# testpkg-http-core from the addon repo
|
||
|
grep -q 'testpkg-http-core.*\.rpm' /tmp/proxy.log
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
echo 'addon repo package requests were not proxied' >> $ANA_INSTALL_PATH/root/RESULT
|
||
|
fi
|
||
|
|
||
|
# Check that the addon repo file was installed
|
||
|
if [[ ! -f $ANA_INSTALL_PATH/etc/yum.repos.d/kstest-http.repo ]]; then
|
||
|
echo 'kstest-http.repo does not exist' >> $ANA_INSTALL_PATH/root/RESULT
|
||
|
fi
|
||
|
|
||
|
# Check that the proxy configuration was written to the repo file
|
||
|
grep -q 'proxy=http://127.0.0.1:8080' $ANA_INSTALL_PATH/etc/yum.repos.d/kstest-http.repo
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
echo 'kstest-http.repo does not contain proxy information' >> $ANA_INSTALL_PATH/root/RESULT
|
||
|
fi
|
||
|
|
||
|
# Check that the installed repo file is usable
|
||
|
# dnf exits with 0 even if something goes wrong, so do a repoquery and look for
|
||
|
# the package in the output
|
||
|
chroot $ANA_INSTALL_PATH \
|
||
|
dnf --disablerepo=\* --enablerepo=kstest-http --quiet repoquery testpkg-http-core 2>/dev/null | \
|
||
|
grep -q 'testpkg-http-core'
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
echo 'unable to query kstest-http repo' >> $ANA_INSTALL_PATH/root/RESULT
|
||
|
fi
|
||
|
|
||
|
# Finally, check that the repoquery used the proxy
|
||
|
tail -1 /tmp/proxy.log | grep -q repodata
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
echo 'repoquery on installed system was not proxied' >> $ANA_INSTALL_PATH/root/RESULT
|
||
|
fi
|
||
|
|
||
|
# If nothing was written to RESULT, it worked
|
||
|
if [[ ! -f $ANA_INSTALL_PATH/root/RESULT ]]; then
|
||
|
echo 'SUCCESS' > $ANA_INSTALL_PATH/root/RESULT
|
||
|
fi
|
||
|
|
||
|
%end
|