
This patch starts "ansiblization" of the image building script, while also cleaning it up. More importantly, it adds check and gate jobs that verify the same playbooks as used in the post job. Also correct source-repository for ironic-python-agent to use the project name, not the old element name. Change-Id: I9a404b24f95e47c84b22d4739fcf2b5b800886f9
50 lines
1.7 KiB
Bash
Executable File
50 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then
|
|
set -x
|
|
fi
|
|
set -eu
|
|
set -o pipefail
|
|
|
|
SCRIPTDIR=$(dirname $0)
|
|
IPADIR=/tmp/ironic-python-agent
|
|
|
|
# Generate upper-constraints
|
|
$IPADIR/imagebuild/common/generate_upper_constraints.sh $IPADIR/upper-constraints.txt
|
|
|
|
# create the virtual environment
|
|
virtualenv $IPADIR/venv
|
|
|
|
# pip might be an older version which does not support the -c option, therefore upgrade first
|
|
$IPADIR/venv/bin/pip install pip --upgrade
|
|
|
|
# install IPA inside the virtual environment
|
|
$IPADIR/venv/bin/pip install -c $IPADIR/upper-constraints.txt $IPADIR
|
|
|
|
# FIXME(lucasagomes): Figure out how we can use the "--install-option"
|
|
# parameter for pip install so we don't have to manually create a symlink
|
|
# create the launcher link so services can use it
|
|
ln -s $IPADIR/venv/bin/ironic-python-agent /usr/local/bin/ironic-python-agent
|
|
|
|
case "$DIB_INIT_SYSTEM" in
|
|
upstart)
|
|
install -D -g root -o root -m 0755 ${SCRIPTDIR}/ironic-python-agent.conf /etc/init/ironic-python-agent.conf
|
|
;;
|
|
systemd)
|
|
install -D -g root -o root -m 0755 ${SCRIPTDIR}/ironic-python-agent.service /usr/lib/systemd/system/ironic-python-agent.service
|
|
;;
|
|
sysv)
|
|
install -D -g root -o root -m 0755 ${SCRIPTDIR}/ironic-python-agent.init /etc/init.d/ironic-python-agent.init
|
|
update-rc.d ironic-python-agent.init defaults
|
|
;;
|
|
*)
|
|
echo "Unsupported init system"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# Copying the self signed certificate for request library
|
|
if [ -f /tmp/in_target.d/ipa-trusted-cert.pem ]; then
|
|
cat /tmp/in_target.d/ipa-trusted-cert.pem >> $($IPADIR/venv/bin/python -c "import requests; print requests.certs.where()")
|
|
fi
|