mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-04-23 10:12:03 +08:00
New pipeline-as-a-service Koji is going to use Kerberos instead SSL. Added dist-git to services since new koji worker in pipeline-as-a-service is integrated with dist-git. Changing package_manager from dnf to yum which is configured in koji from pipeline-as-a-service.
52 lines
1.5 KiB
Bash
Executable File
52 lines
1.5 KiB
Bash
Executable File
#!/bin/bash -ex
|
|
|
|
export PIPELINE_ID=$1
|
|
if [ -z "$PIPELINE_ID" ]; then
|
|
echo You must specify the pipeline ID
|
|
exit 1
|
|
fi
|
|
|
|
if [ "$TESTCASES" == "skip" ]; then
|
|
echo "TESTCASES=skip defined, skipping tests"
|
|
exit 0
|
|
fi
|
|
|
|
DOMAIN=${2:-"cloud.paas.psi.redhat.com"}
|
|
CONTROLLER=http://${PIPELINE_ID}.${DOMAIN}
|
|
|
|
export TEST_DIR=$(realpath $(dirname $0))
|
|
echo "Provisioning pipeline services..."
|
|
curl -X POST -F data=@${TEST_DIR}/mbs-cgimport-vars.yaml $CONTROLLER/scripts/provision
|
|
CERT_DIR=$(mktemp -d)
|
|
export CACERT="${CERT_DIR}/ca.crt"
|
|
curl -s ${CONTROLLER}/ca/cacert > $CACERT
|
|
export KRB5_CONFIG=$(mktemp)
|
|
curl -so $KRB5_CONFIG ${CONTROLLER}/krb5/configfile
|
|
export MBS_FRONTEND_HOST="$(curl -s ${CONTROLLER}/vars/MBS_FRONTEND_HOST)"
|
|
# The MBS user is defined in the Ansible vars file
|
|
export MBS_USER="mbs-user-${PIPELINE_ID}"
|
|
export MBS_USER_PASSWORD=$(curl -s ${CONTROLLER}/krb5/principal/${MBS_USER})
|
|
kinit -V $MBS_USER <<<$MBS_USER_PASSWORD
|
|
|
|
KOJI_HUB_HOST="$(curl -s ${CONTROLLER}/vars/KOJI_HUB_HOST)"
|
|
export KOJI_CONFIG=$(mktemp)
|
|
cat > $KOJI_CONFIG <<EOF
|
|
[koji]
|
|
server = https://${KOJI_HUB_HOST}/kojihub
|
|
weburl = https://${KOJI_HUB_HOST}/koji
|
|
serverca = $CACERT
|
|
authtype = kerberos
|
|
EOF
|
|
|
|
for TEST_FILE in $(ls ${TEST_DIR}); do
|
|
TEST="${TEST_DIR}/${TEST_FILE}"
|
|
if [ -x "$TEST" ] && [ "${TEST_FILE}" != "runtests" ]; then
|
|
if [ -z "$TESTCASES" ] || echo "$TESTCASES" | grep "${TEST_FILE}"; then
|
|
echo "Running test ${TEST_FILE}"
|
|
$TEST
|
|
else
|
|
echo "Skipping test ${TEST_FILE}"
|
|
fi
|
|
fi
|
|
done
|