--- /dev/null
+#!/bin/bash\r
+\r
+# TODO: Let JJB to pass $WORKDIR instead of $BUILD_OUTPUT\r
+ESCALATORDIR=$1/../\r
+OPNFV_ARTIFACT_VERSION=$2\r
+\r
+cd ci/build_rpm\r
+./build_rpms.sh $ESCALATORDIR $OPNFV_ARTIFACT_VERSION\r
--- /dev/null
+FROM centos:7\r
+LABEL escalator_image_version=1.0\r
+RUN yum -y update\r
+RUN yum -y install centos-release-openstack-newton\r
+RUN yum -y install \\r
+ wget \\r
+ coreutils \\r
+ which \\r
+ gawk \\r
+ grep \\r
+ git \\r
+ intltool \\r
+ make \\r
+ rpm \\r
+ rpm-build \\r
+ python-sphinx \\r
+ python2-oslo-sphinx \\r
+ python2-oslo-messaging \\r
+ python2-oslo-concurrency \\r
+ python2-oslo-sphinx \\r
+ python-devel \\r
+ python-d2to1 \\r
+ python-django-compressor \\r
+ python-django-openstack-auth \\r
+ python-django-pyscss \\r
+ python-lesscpy \\r
+ python-migrate \\r
+ python-pint \\r
+ python-routes\r
--- /dev/null
+#!/bin/bash\r
+\r
+set -eux\r
+ESCALATORDIR=$1\r
+OPNFV_ARTIFACT_VERSION=$2\r
+\r
+function build_rpm_pkg {\r
+ # Cleanup prev build resutls\r
+ rm -rf $ESCALATORDIR/build_output\r
+ mkdir -p $ESCALATORDIR/build_output\r
+\r
+ sudo docker build -t escalator_rpm .\r
+ sudo docker run --rm -v $ESCALATORDIR:/opt/escalator -v $CACHE_DIRECTORY:/home/cache -t escalator_rpm \\r
+ /opt/escalator/ci/build_rpm/build_rpms_docker.sh $OPNFV_ARTIFACT_VERSION\r
+\r
+ # Here to collect build result from $ESCALATORDIR/build_output\r
+}\r
+\r
+function cleanup_container {\r
+ containers_to_kill=$(sudo docker ps --filter "label=escalator_image_version" \\r
+ --format "{{.Names}}" -a)\r
+\r
+ if [[ -z "$containers_to_kill" ]]; then\r
+ echo "No containers to cleanup."\r
+ else\r
+ volumes_to_remove=$(sudo docker inspect -f \\r
+ '{{range .Mounts}} {{printf "%s\n" .Name }}{{end}}' \\r
+ ${containers_to_kill} | egrep -v '(^\s*$)' | sort | uniq)\r
+ echo "Stopping containers... $containers_to_kill"\r
+ sudo docker stop -t 2 ${containers_to_kill} >/dev/null 2>&1\r
+\r
+ echo "Removing containers... $containers_to_kill"\r
+ sudo docker rm -v -f ${containers_to_kill} >/dev/null 2>&1\r
+\r
+ if [[ -z "$volumes_to_remove" ]]; then\r
+ echo "No volumes to cleanup."\r
+ else\r
+ echo "Removing volumes... $volumes_to_remove"\r
+ sudo docker volume rm ${volumes_to_remove} >/dev/null 2>&1\r
+ fi\r
+ fi\r
+}\r
+\r
+function cleanup_docker_image {\r
+ images_to_delete=$(sudo docker images -a --filter "label=escalator_image_version" \\r
+ --format "{{.ID}}")\r
+\r
+ echo "Removing images... $images_to_delete"\r
+ if [[ -z "$images_to_delete" ]]; then\r
+ echo "No images to cleanup"\r
+ else\r
+ sudo docker rmi -f ${images_to_delete} >/dev/null 2>&1\r
+ fi\r
+}\r
+\r
+cleanup_container\r
+cleanup_docker_image\r
+build_rpm_pkg\r
--- /dev/null
+#!/bin/bash\r
+\r
+OPNFV_ARTIFACT_VERSION=$1\r
+rpm_build_dir=/opt/escalator\r
+rpm_output_dir=$rpm_build_dir/build_output\r
+tmp_rpm_build_dir=/root/escalator\r
+\r
+cp -r $rpm_build_dir $tmp_rpm_build_dir\r
+cd $tmp_rpm_build_dir\r
+\r
+echo "#########################################################"\r
+echo " systemctl info: "\r
+echo "#########################################################"\r
+echo "###Uname: $(uname)"\r
+echo "###Hostname: $(hostname)"\r
+\r
+maxcount=3\r
+cnt=0\r
+rc=1\r
+while [ $cnt -lt $maxcount ] && [ $rc -ne 0 ]\r
+do\r
+ cnt=$[cnt + 1]\r
+ echo -e "\n\n\n*** Starting build attempt # $cnt"\r
+\r
+ cd api\r
+ python setup.py sdist\r
+\r
+ cd ..\r
+ cd client\r
+ python setup.py sdist\r
+\r
+ echo "######################################################"\r
+ echo " done "\r
+ echo "######################################################"\r
+ if [ $rc -ne 0 ]; then\r
+ echo "### Build failed with rc $rc ###"\r
+ else\r
+ echo "### Build successfully at attempt # $cnt"\r
+ fi\r
+done\r
+cd $rpm_output_dir\r
+mkdir upload_artifacts\r
+cp api/dist/escalator-* $rpm_output_dir/upload_artifacts\r
+cp client/dist/escalatorclient-* $rpm_output_dir/upload_artifacts\r
+tar zcvf opnfv-$OPNFV_ARTIFACT_VERSION.tar.gz upload_artifacts\r
+exit $rc\r