1cdc18211a
We now have experimental gates which will eventually be daily jobs to build, test and publish images to dockerhub. First step is to mimic our tarball publisher to build images -> save them to temp space -> run set of jobs that will sign off these images -> move images to regular tarballs. Depends-on: I0231bd07415ef05b3f4f937e32a9df4cd0643672 Change-Id: If578edcd4e431c0b93cb9cedcc3d9db47d41a637
65 lines
2.1 KiB
Bash
Executable File
65 lines
2.1 KiB
Bash
Executable File
# Script which is run in dockerhub publisher pipeline
|
|
# It will organize build/deploy gates and then publish images to final place
|
|
|
|
export ZUUL_REF=$ZUUL_REF
|
|
export BRANCH=$(echo "$ZUUL_BRANCH" | cut -d/ -f2)
|
|
export TMP_REGISTRY="tmp/"
|
|
export PUBLISHER=1
|
|
export SIGNOFF_FILENAME=${BASE_DISTRO}-${INSTALL_TYPE}-registry-${BRANCH}.txt
|
|
export FILENAME=${BASE_DISTRO}-${INSTALL_TYPE}-registry-${BRANCH}.tar.gz
|
|
|
|
# Ansible deployment gate to test out images
|
|
function deploy_ansible {
|
|
export KOLLA_ANSIBLE_DIR=$(mktemp -d)
|
|
cat > /tmp/clonemap <<EOF
|
|
clonemap:
|
|
- name: openstack/kolla-ansible
|
|
dest: ${KOLLA_ANSIBLE_DIR}
|
|
EOF
|
|
|
|
/usr/zuul-env/bin/zuul-cloner -m /tmp/clonemap --workspace "$(pwd)" \
|
|
--cache-dir /opt/git git://git.openstack.org openstack/kolla-ansible
|
|
|
|
pushd "${KOLLA_ANSIBLE_DIR}"
|
|
tools/setup_gate.sh
|
|
popd
|
|
}
|
|
|
|
# If test passes, add link to test data which later will be added to image
|
|
function signoff {
|
|
mkdir -p images/
|
|
curl -o images/$SIGNOFF_FILENAME http://tarballs.openstack.org/kolla/images/tmp/$SIGNOFF_FILENAME
|
|
echo http://logs.openstack.org/$LOG_PATH >> images/$SIGNOFF_FILENAME
|
|
}
|
|
|
|
# Building images that are supposed to be tested later
|
|
if [[ $ACTION == "build" ]]; then
|
|
tools/gate_run.sh
|
|
sudo touch images/$SIGNOFF_FILENAME
|
|
sudo chmod 777 images/$SIGNOFF_FILENAME
|
|
|
|
echo http://logs.openstack.org/$LOG_PATH >> images/$SIGNOFF_FILENAME
|
|
exit 0
|
|
fi
|
|
if [[ $ACTION == "deploy-multinode" ]]; then
|
|
if [[ $ORCH_ENGINE == "ansible" ]]; then
|
|
deploy_ansible
|
|
signoff
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
# After all tests pass, move images from temp to final dir on tarballs.o.o
|
|
if [[ $ACTION == "save" ]]; then
|
|
mkdir -p images/
|
|
wget -q -c -O "/tmp/$FILENAME" \
|
|
"http://tarballs.openstack.org/kolla/images/tmp/$FILENAME"
|
|
curl -o /tmp/$SIGNOFF_FILENAME http://tarballs.openstack.org/kolla/images/tmp/$SIGNOFF_FILENAME
|
|
gunzip /tmp/$FILENAME
|
|
tar -rf /tmp/${BASE_DISTRO}-${INSTALL_TYPE}-registry-${BRANCH}.tar /tmp/$SIGNOFF_FILENAME
|
|
gzip /tmp/${BASE_DISTRO}-${INSTALL_TYPE}-registry-${BRANCH}.tar
|
|
ls -la /tmp/
|
|
sudo mv /tmp/$FILENAME images/publisher-$FILENAME
|
|
fi
|
|
|