Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- make_pw() {
- LEN=16
- PW=`openssl rand -hex $LEN`
- echo $PW
- }
- if [[ ! $EUID -eq 0 ]]; then
- echo "You need to be running this as root..."
- exit 1
- fi
- #various config and users and stuff...
- NOW=`date`
- DEST=${DEST:-/opt/stack}
- LOG_LOC="/tmp"
- USERMADE="stack"
- #take the first IP we find as the ip to use... (not localhost)
- MYIP=`ifconfig | grep -i 'inet addr:' | grep -v '127.0.0.1' | cut -d: -f2 | awk '{print $1}' | head -n 1`
- if [ -z "$MYIP" ]; then
- echo "You have no IP?"
- exit 1
- fi
- echo "Doing devstack install on $NOW"
- #this might fail...
- PW=`getent passwd $USERMADE`
- #now turn erroring on...
- set -o errexit
- echo "Generating passwords..."
- LOGFILE=$LOG_LOC/devstack-install.log
- MYSQL_PASSWORD=$(make_pw)
- RABBIT_PASSWORD=$(make_pw)
- SERVICE_TOKEN=$(make_pw)
- ADMIN_PASSWORD=$(make_pw)
- SWIFT_HASH=$(make_pw)
- #branch support, ie replace with "master@{2011-12-14 12:00}"
- BRANCH=""
- echo "Settings are the following..."
- echo "LOGFILE = $LOGFILE"
- echo "IP = $MYIP"
- echo "MYSQL_PASSWORD = $MYSQL_PASSWORD"
- echo "RABBIT_PASSWORD = $MYSQL_PASSWORD"
- echo "SERVICE_TOKEN = $SERVICE_TOKEN"
- echo "ADMIN_PASSWORD = $ADMIN_PASSWORD"
- echo "SWIFT_HASH = $SWIFT_HASH"
- if [ -n "$BRANCH" ]; then
- echo "USING BRANCH = $BRANCH"
- fi
- #give chance to see settings...
- sleep 5
- if [ -n "$PW" ]; then
- echo "Cleaning up old instances..."
- SCREENS=`sudo -u $USERMADE screen -list 2>/dev/null | grep -Pi "\\d+\.stack" | cut -f 2`
- for scr in $SCREENS
- do
- echo "Killing screen $scr..."
- sudo -u $USERMADE screen -r $scr -X kill
- sleep 5
- echo "Quitting screen $scr..."
- sudo -u $USERMADE screen -r $scr -X quit
- sleep 5
- done
- fi
- echo "Purging the database..."
- #this seems harsh but its what i go to work..
- apt-get -y purge mysql*
- echo "Removing installed directories & some files adjusted/created by devstack..."
- rm -rf devstack $DEST/* /var/cache/pip /etc/mysql/my.cnf
- echo "Autoremoving any other packages..."
- apt-get -y autoremove
- echo "Installing new packages..."
- apt-get install -y openssh-server git apache2
- echo "Cloning git..."
- git clone git://github.com/cloudbuilders/devstack.git
- echo "Making directory location at $LOG_LOC for logfile $LOGFILE..."
- mkdir -pv $LOG_LOC/
- echo "Saving local overrides..."
- echo "#Local overrides" >> ./devstack/localrc
- echo "MYSQL_PASSWORD=$MYSQL_PASSWORD" >> ./devstack/localrc
- echo "RABBIT_PASSWORD=$RABBIT_PASSWORD" >> ./devstack/localrc
- echo "SERVICE_TOKEN=$SERVICE_TOKEN" >> ./devstack/localrc
- echo "SWIFT_HASH=$SWIFT_HASH" >> ./devstack/localrc
- echo "ADMIN_PASSWORD=$ADMIN_PASSWORD" >> ./devstack/localrc
- echo "LOGFILE=$LOGFILE" >> ./devstack/localrc
- echo "HOST_IP=$MYIP" >> ./devstack/localrc
- #pickup from tags/branch
- if [ -n "$BRANCH" ]; then
- echo "Using branch $BRANCH"
- echo "KEYSTONE_BRANCH=$BRANCH" >> ./devstack/localrc
- echo "GLANCE_BRANCH=$BRANCH" >> ./devstack/localrc
- echo "SWIFT_KEYSTONE_BRANCH=$BRANCH" >> ./devstack/localrc
- #echo "NOVNC_BRANCH=$BRANCH" >> ./devstack/localrc
- echo "NOVA_BRANCH=$BRANCH" >> ./devstack/localrc
- echo "HORIZON_BRANCH=$BRANCH" >> ./devstack/localrc
- echo "QUANTUM_BRANCH=$BRANCH" >> ./devstack/localrc
- #echo "OPENSTACKX_BRANCH=$BRANCH" >> ./devstack/localrc
- fi
- echo "About to install devstack..."
- echo "Giving you 5 seconds to abort..."
- sleep 5
- echo "Installing devstack..."
- #go!
- cd devstack && ./stack.sh
Advertisement
Add Comment
Please, Sign In to add comment