#!/bin/bash # # # #set -x setglobal IP = $1 setglobal ENVIRONMENT = $2 echo "initial configuration of $IP" setglobal SCPCMD = ""./nodescp $ENVIRONMENT $IP"" setglobal SSHCMD = ""./nodessh.sh $ENVIRONMENT $IP"" echo "Checking for Chef ..." setglobal CHEF = $[$SSHCMD "which chef-client || true] if [[ -z "$CHEF" ]] { echo "copy files..." $SCPCMD zap-ceph-disks.sh /home/ubuntu $SCPCMD cookbooks/bcpc/files/default/bins/chef-client.deb /home/ubuntu $SCPCMD install-chef.sh /home/ubuntu $SCPCMD finish-worker.sh /home/ubuntu $SCPCMD finish-head.sh /home/ubuntu if [[ -n "$(source proxy_setup.sh >/dev/null; echo $PROXY)" ]] { setglobal PROXY = $[source proxy_setup.sh >/dev/null; echo $PROXY] echo "setting up .wgetrc's to $PROXY" $SSHCMD "echo \"http_proxy = http://$PROXY\" > .wgetrc" # possibly set up a proxy for apt too if [[ -n "$APTPROXY" ]] { echo "Acquire::http::Proxy \"http://$(APTPROXY)\";" > /tmp/apt.conf $SCPCMD /tmp/apt.conf /tmp $SSHCMD "mv /tmp/apt.conf /etc/apt/apt.conf" sudo } } echo "setup chef" $SSHCMD "/home/ubuntu/install-chef.sh" sudo } else { echo "Chef is installed as $CHEF" } echo "zap disks" $SSHCMD "/home/ubuntu/zap-ceph-disks.sh" sudo echo "temporarily adjust system time to avoid time skew related failures" setglobal GOODDATE = $[date] $SSHCMD "date -s '$GOODDATE'" sudo echo "done."