1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #!/bin/bash
- fw_depends databases
- fw_installed mongodb && return 0
- # send over the required files
- scp $FWROOT/toolset/setup/linux/databases/mongodb/mongodb.conf $DBHOST:~/
- scp $FWROOT/toolset/setup/linux/databases/mongodb/create.js $DBHOST:~/
- # install mongo on database machine
- ssh $DBHOST 'bash' <<"EOF"
- echo "Setting up MongoDB database"
- if service --status-all | grep -Fq 'mongod'; then
- sudo service mongod stop
- fi
- sudo apt-get -y remove --purge mongodb-org
- sudo apt-get -y autoremove
- sudo find /etc/apt/sources.list.d -type f -name 'mongodb-org-*.list' -delete -maxdepth 1
- sudo find /etc -type f -name 'mongo*.conf*' -delete -maxdepth 1
- sudo rm -rf /var/lib/mongodb
- sudo rm -rf /var/log/mongodb
- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
- echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
- sudo apt-get -y update
- sudo apt-get -y install mongodb-org
- sudo service mongod stop
- sudo mv mongodb.conf /etc/mongod.conf
- sudo rm -rf /ssd/mongodb
- sudo rm -rf /ssd/log/mongodb
- sudo mkdir -p /ssd/mongodb
- sudo mkdir -p /ssd/log/mongodb
- sudo chown -R mongodb:mongodb /ssd/mongodb
- sudo chown -R mongodb:mongodb /ssd/log/mongodb
- sudo service mongod start
- for i in {1..15}; do
- nc -z localhost 27017 && break || sleep 1;
- echo "Waiting for MongoDB ($i/15)"
- done
- nc -z localhost 27017
- if [ $? -eq 0 ]; then
- mongo < create.js
- mongod --version
- else
- >&2 echo "MongoDB did not start, skipping"
- fi
- EOF
- echo -e "ssh \$DBHOST 'bash' <<\"EOF\"" > $IROOT/mongodb.installed
- echo -e "sudo service mongod start || echo 'mongod service already started'" >> $IROOT/mongodb.installed
- echo -e "for i in {1..15}; do" >> $IROOT/mongodb.installed
- echo -e " nc -z localhost 27017 && break || sleep 1;" >> $IROOT/mongodb.installed
- echo -e " echo \"Waiting for MongoDB (\$i/15)\"" >> $IROOT/mongodb.installed
- echo -e "done" >> $IROOT/mongodb.installed
- echo -e "mongo < create.js" >> $IROOT/mongodb.installed
- echo -e "EOF" >> $IROOT/mongodb.installed
- source $IROOT/mongodb.installed
|