lorax/test/vm.install

64 lines
1.8 KiB
Plaintext
Raw Normal View History

#!/bin/sh -eux
SRPM="$1"
LATEST_REPO="/etc/yum.repos.d/rhel7-rel-eng-latest.repo"
if [ ! -f "$LATEST_REPO" ]; then
cat > $LATEST_REPO << __EOF__
[rhel7-rel-eng-latest]
gpgcheck=0
enabled=1
skip_if_unavailable=0
name=rhel7-rel-eng-latest
baseurl=http://download-node-02.eng.bos.redhat.com/rhel-7/rel-eng/latest-RHEL-7/compose/Server/\$basearch/os/
__EOF__
fi
if ! rpm -q beakerlib; then
if [ $(. /etc/os-release && echo $ID) = "rhel" ]; then
(cd /etc/yum.repos.d; curl -O -L http://download.devel.redhat.com/beakerrepos/beaker-client-RedHatEnterpriseLinux.repo)
# The beaker repository doesn't include repos for minor releases
VERSION=$(. /etc/os-release && echo ${VERSION_ID%.*})
yum install -y --releasever=$VERSION --setopt=sslverify=0 beakerlib
# prevent yum from trying to sync the cache again later (it fails without sslverify=0)
rm /etc/yum.repos.d/beaker-client-RedHatEnterpriseLinux.repo
else
yum install -y beakerlib
fi
fi
if rpm -q python2-cryptography; then
yum remove -y python2-cryptography
fi
if rpm -q pyparsing; then
yum remove -y pyparsing
fi
if ! rpm -q git; then
yum install -y git
fi
if ! rpm -q qemu-system-x86; then
yum install -y qemu-system-x86
fi
# Grow root partition to make room for images. This only works on Fedora right now.
parted --script /dev/vda resizepart 2 100%
partprobe
pvs --noheadings -opv_name | xargs pvresize
rootlv=$(findmnt --noheadings -oSOURCE /)
lvresize $rootlv -l+100%FREE -r
rm -rf build-results
su builder -c "/usr/bin/mock --no-clean --resultdir build-results --rebuild $SRPM"
packages=$(find build-results -name '*.rpm' -not -name '*.src.rpm')
rpm -e --verbose $(basename -a ${packages[@]} | sed 's/-[0-9].*.rpm$//') || true
yum install -y $packages
systemctl enable lorax-composer.socket
systemctl enable docker.service