#!/bin/bash set -xe # for now we assume that master ip is 10.0.0.2 and slaves ips are 10.0.0.{3,4,5,...} ADMIN_PASSWORD=vagrant ADMIN_USER=vagrant INSTALL_DIR=/vagrant ENV_NAME=${ENV_NAME:-solar-example} SLAVES_COUNT=${SLAVES_COUNT:-0} CONF_PATH=${CONF_PATH:-utils/jenkins/default.yaml} IMAGE_PATH=${IMAGE_PATH:-bootstrap/output-qemu/ubuntu1404} TEST_SCRIPT=${TEST_SCRIPT:-/vagrant/examples/hosts_file/hosts.py} DEPLOY_TIMEOUT=${DEPLOY_TIMEOUT:-60} SOLAR_DB_BACKEND=${SOLAR_DB_BACKEND:-riak} SSH_OPTIONS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" dos.py erase ${ENV_NAME} || true mkdir -p tmp mkdir -p logs rm -rf logs/* ENV_NAME=${ENV_NAME} SLAVES_COUNT=${SLAVES_COUNT} IMAGE_PATH=${IMAGE_PATH} CONF_PATH=${CONF_PATH} python utils/jenkins/env.py create_env SLAVE_IPS=`ENV_NAME=${ENV_NAME} python utils/jenkins/env.py get_slaves_ips` ADMIN_IP=`ENV_NAME=${ENV_NAME} python utils/jenkins/env.py get_admin_ip` # Wait for master to boot elapsed_time=0 master_wait_time=30 while true do report=$(sshpass -p ${ADMIN_PASSWORD} ssh ${SSH_OPTIONS} ${ADMIN_USER}@${ADMIN_IP} echo ok || echo not ready) if [ "${report}" = "ok" ]; then break fi if [ "${elapsed_time}" -gt "${master_wait_time}" ]; then exit 2 fi sleep 1 let elapsed_time+=1 done sshpass -p ${ADMIN_PASSWORD} rsync -rz . -e "ssh ${SSH_OPTIONS}" ${ADMIN_USER}@${ADMIN_IP}:/home/vagrant/solar --include bootstrap/playbooks --exclude "bootstrap/*" --exclude .tox --exclude tmp --exclude x-venv set +e sshpass -p ${ADMIN_PASSWORD} ssh ${SSH_OPTIONS} ${ADMIN_USER}@${ADMIN_IP} bash -s <