Blame tools/provision.sh

Packit Service 509fd4
#!/bin/bash
Packit Service 509fd4
set -euxo pipefail
Packit Service 509fd4
Packit Service 509fd4
source /etc/os-release
Packit Service 509fd4
Packit Service 3a6627
# koji and ansible are not in RHEL repositories. Depending on them in the spec
Packit Service 3a6627
# file breaks RHEL gating (see OSCI-1541). Therefore, we need to enable epel
Packit Service 3a6627
# and install koji and ansible here.
Packit Service bcdfb1
if [[ $ID == rhel || $ID == centos ]]; then
Packit Service 3a6627
    sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Packit Service 3a6627
    sudo dnf install -y koji ansible
Packit Service 3a6627
fi
Packit Service 3a6627
Packit Service 509fd4
sudo mkdir -p /etc/osbuild-composer
Packit Service 509fd4
sudo cp -a /usr/share/tests/osbuild-composer/composer/*.toml \
Packit Service 509fd4
    /etc/osbuild-composer/
Packit Service 509fd4
Packit Service 509fd4
# Copy rpmrepo snapshots for use in weldr tests
Packit Service 509fd4
sudo mkdir -p /etc/osbuild-composer/repositories
Packit Service 509fd4
# Copy all fedora repo overrides
Packit Service bcdfb1
sudo cp -a /usr/share/tests/osbuild-composer/repositories/{fedora,centos}-*.json \
Packit Service 509fd4
    /etc/osbuild-composer/repositories/
Packit Service 509fd4
# RHEL nightly repos need to be overriden in rhel-8.json and rhel-8-beta.json
Packit Service 509fd4
case "${ID}-${VERSION_ID}" in
Packit Service 509fd4
    "rhel-8.4")
Packit Service 509fd4
        # Override old rhel-8.json and rhel-8-beta.json because RHEL 8.4 test needs nightly repos
Packit Service 509fd4
        sudo cp /usr/share/tests/osbuild-composer/repositories/rhel-84.json /etc/osbuild-composer/repositories/rhel-8.json
Packit Service 509fd4
        # If multiple tests are run and call provision.sh the symlink will need to be overriden with -f
Packit Service 509fd4
        sudo ln -sf /etc/osbuild-composer/repositories/rhel-8.json /etc/osbuild-composer/repositories/rhel-8-beta.json;;
Packit Service 509fd4
    *) ;;
Packit Service 509fd4
esac
Packit Service 509fd4
Packit Service bcdfb1
# overrides for RHEL nightly builds testing
Packit Service bcdfb1
if [ -f "rhel-8.json" ]; then
Packit Service bcdfb1
    sudo mv rhel-8.json /etc/osbuild-composer/repositories/
Packit Service bcdfb1
fi
Packit Service bcdfb1
Packit Service bcdfb1
if [ -f "rhel-8-beta.json" ]; then
Packit Service bcdfb1
    sudo mv rhel-8-beta.json /etc/osbuild-composer/repositories/
Packit Service bcdfb1
fi
Packit Service bcdfb1
Packit Service 509fd4
# Generate all X.509 certificates for the tests
Packit Service 509fd4
# The whole generation is done in a $CADIR to better represent how osbuild-ca
Packit Service 509fd4
# it.
Packit Service 509fd4
CERTDIR=/etc/osbuild-composer
Packit Service 509fd4
OPENSSL_CONFIG=/usr/share/tests/osbuild-composer/x509/openssl.cnf
Packit Service 509fd4
CADIR=/etc/osbuild-composer-test/ca
Packit Service 509fd4
Packit Service 3a6627
scriptloc=$(dirname "$0")
Packit Service 3a6627
sudo "${scriptloc}/gen-certs.sh" "${OPENSSL_CONFIG}" "${CERTDIR}" "${CADIR}"
Packit Service 3a6627
sudo chown _osbuild-composer "${CERTDIR}"/composer-*.pem
Packit Service 509fd4
Packit Service 509fd4
sudo systemctl start osbuild-remote-worker.socket
Packit Service 509fd4
sudo systemctl start osbuild-composer.socket
Packit Service 509fd4
sudo systemctl start osbuild-composer-api.socket
Packit Service 509fd4
Packit Service 509fd4
# The keys were regenerated but osbuild-composer might be already running.
Packit Service 509fd4
# Let's try to restart it. In ideal world, this shouldn't be needed as every
Packit Service 509fd4
# test case is supposed to run on a pristine machine. However, this is
Packit Service 509fd4
# currently not true on Schutzbot
Packit Service 509fd4
sudo systemctl try-restart osbuild-composer
Packit Service 509fd4
Packit Service 509fd4
# Basic verification
Packit Service 509fd4
sudo composer-cli status show
Packit Service 509fd4
sudo composer-cli sources list
Packit Service 509fd4
for SOURCE in $(sudo composer-cli sources list); do
Packit Service 509fd4
    sudo composer-cli sources info "$SOURCE"
Packit Service 509fd4
done