From: Robin H. Johnson Date: Thu, 10 Dec 2015 19:56:05 +0000 (-0800) Subject: buildpackages: pkgrepo host also needs user-data setup. X-Git-Tag: v0.94.10~27^2^2~53^2~2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=a66367b8432db958031d46d18fa079231c90d2f6;p=ceph.git buildpackages: pkgrepo host also needs user-data setup. The packages repo host fails in environments where networking setup is needed in VMs. Use the same user-data as the buildhosts to ensure this is the case. Signed-off-by: Robin H. Johnson (cherry picked from commit ebf8508c083b4a1bf39354597a6472034081962c) --- diff --git a/tasks/buildpackages/Makefile b/tasks/buildpackages/Makefile index 054558938473a..94389906d8549 100644 --- a/tasks/buildpackages/Makefile +++ b/tasks/buildpackages/Makefile @@ -1,6 +1,10 @@ SHELL=/bin/bash D=/tmp/stampsdir VPATH=${D} +PKG_REPO=packages-repository +PKG_REPO_OS_TYPE=ubuntu +PKG_REPO_OS_VERSION=14.04 +PKG_REPO_USER_DATA=${PKG_REPO_OS_TYPE}-${PKG_REPO_OS_VERSION}-user-data.txt # We want to extract the first listed IPv4 address! # Openstack will provide the addresses field in this format: @@ -25,22 +29,24 @@ ${HOME}/.ssh_agent: source ${HOME}/.ssh_agent ; ssh-add ; ssh-add -l grep -q ssh_agent ~/.bashrc_teuthology || echo 'source ${HOME}/.ssh_agent' >> ~/.bashrc_teuthology -flock-packages-repository: - openstack server create --image 'teuthology-ubuntu-14.04' --flavor ${HTTP_FLAVOR} --key-name teuthology --security-group teuthology --property ownedby=${MY_IP} --wait packages-repository +flock-${PKG_REPO}: + openstack server create --image 'teuthology-ubuntu-14.04' --flavor ${HTTP_FLAVOR} --key-name teuthology --security-group teuthology --property ownedby=${MY_IP} --user-data ${PKG_REPO_USER_DATA} --wait ${PKG_REPO} sleep 30 - ip=$(call get_ip,packages-repository) ; \ + set -ex ; \ + ip=$(call get_ip,${PKG_REPO}) ; \ + for delay in 1 2 4 8 8 8 8 8 8 8 8 8 16 16 16 16 16 32 32 32 64 128 256 512 ; do if ssh -o 'ConnectTimeout=3' $$ip bash -c '"grep -q READYTORUN /var/log/cloud-init*.log"' ; then break ; else sleep $$delay ; fi ; done ; \ ssh $$ip sudo apt-get update ; \ - ssh $$ip sudo apt-get install -y nginx ; \ - ssh $$ip sudo chown -R ubuntu /usr/share/nginx/html ; \ + ssh $$ip sudo apt-get install -y nginx && \ + ssh $$ip sudo chown -R ubuntu /usr/share/nginx/html && \ perl -pi -e "s/^gitbuilder_host:.*/gitbuilder_host: $$ip/" ~/.teuthology.yaml touch ${D}/$@ -packages-repository: +${PKG_REPO}: mkdir -p ${D} flock --close ${D}/flock-$@.lock ${MAKE} flock-$@ touch ${D}/$@ -ceph-${CEPH_PKG_TYPE}-${CEPH_DIST}-${CEPH_ARCH}-${CEPH_FLAVOR}-${CEPH_SHA1}: packages-repository +ceph-${CEPH_PKG_TYPE}-${CEPH_DIST}-${CEPH_ARCH}-${CEPH_FLAVOR}-${CEPH_SHA1}: ${PKG_REPO} openstack server create --image 'teuthology-${CEPH_OS_TYPE}-${CEPH_OS_VERSION}' --flavor ${BUILD_FLAVOR} --key-name teuthology --security-group teuthology --property ownedby=${MY_IP} --user-data ${CEPH_OS_TYPE}-${CEPH_OS_VERSION}-user-data.txt --wait $@ sleep 30 set -ex ; \