ironic-python-agent/playbooks/ironic-python-agent-buildimage/run.yaml

61 lines
2.2 KiB
YAML

- hosts: all
tasks:
- shell:
cmd: |
set -e
set -x
BRANCH={{ zuul.branch }}
export BRANCH_PATH=`echo $BRANCH | tr / -`
mkdir UPLOAD_RAW
mkdir UPLOAD_TAR
JOBNAME='ironic-python-agent-buildimage-{{ image_name }}'
TRANS_START_TIME=$(date +%s)
SUBUNIT_OUTPUT=testrepository.subunit
ERRORS=1
VENV=$(mktemp -d)
virtualenv $VENV
$VENV/bin/pip install -U os-testr
trap "finish" EXIT
function finish {
if [[ "$ERRORS" -eq 1 ]]; then
$VENV/bin/generate-subunit $TRANS_START_TIME $SECONDS 'fail' $JOBNAME >> $SUBUNIT_OUTPUT
else
$VENV/bin/generate-subunit $TRANS_START_TIME $SECONDS 'success' $JOBNAME >> $SUBUNIT_OUTPUT
fi
gzip -9 $SUBUNIT_OUTPUT
if [ "$VENV" != "" ] ; then
rm -rf $VENV
VENV=""
fi
}
type='{{ image_name }}'
case $type in
tinyipa)
export BUILD_AND_INSTALL_TINYIPA=true
export IPA_SOURCE_DIR={{ ansible_user_dir }}/src/opendev.org/openstack/ironic-python-agent
pushd {{ ansible_user_dir }}/src/opendev.org/openstack/ironic-python-agent-builder/tinyipa
make
mv tinyipa*.tar.gz* "$IPA_SOURCE_DIR/UPLOAD_TAR"
mv tinyipa*.* "$IPA_SOURCE_DIR/UPLOAD_RAW"
mv tiny-instance-uec*.tar.gz "$IPA_SOURCE_DIR/UPLOAD_TAR"
# NOTE(sambetts) Must clean up chroot directories before
# publisher rsync command tries and fails to read them
make clean
popd
;;
dib)
NAME=ipa-{{ image_distro }}-$BRANCH_PATH
ironic-python-agent-builder -e dhcp-all-interfaces -o $NAME {{ image_distro }}
tar -czf UPLOAD_TAR/$NAME.tar.gz ${NAME}*
mv ${NAME}* "$IPA_SOURCE_DIR/UPLOAD_RAW"
;;
esac
ERRORS=0
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/src/opendev.org/openstack/ironic-python-agent'