diff options
| author | Andy McCurdy <andy@andymccurdy.com> | 2014-04-04 18:24:00 -0700 |
|---|---|---|
| committer | Andy McCurdy <andy@andymccurdy.com> | 2014-04-04 18:24:00 -0700 |
| commit | 5c4f4967858227d517a82e77088147bb54c08dba (patch) | |
| tree | ff220e600f8e894a57d6caaa7b7542a998ced9fb | |
| parent | c0ca9ad28382a7970c6f09fd7f7111110d95e779 (diff) | |
| download | redis-py-5c4f4967858227d517a82e77088147bb54c08dba.tar.gz | |
initial vagrant environment with working redis. need to install python next
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | vagrant/Vagrantfile | 18 | ||||
| -rwxr-xr-x | vagrant/bootstrap.sh | 4 | ||||
| -rwxr-xr-x | vagrant/install_redis.sh | 34 | ||||
| -rw-r--r-- | vagrant/redis-override.conf | 1 | ||||
| -rwxr-xr-x | vagrant/redis_init_script | 42 |
6 files changed, 100 insertions, 0 deletions
@@ -5,3 +5,4 @@ dist/ dump.rdb /.tox _build +vagrant/.vagrant diff --git a/vagrant/Vagrantfile b/vagrant/Vagrantfile new file mode 100644 index 0000000..37c321c --- /dev/null +++ b/vagrant/Vagrantfile @@ -0,0 +1,18 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! +VAGRANTFILE_API_VERSION = "2" + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + # ubuntu 64bit image + config.vm.box = "hashicorp/precise64" + + # map the root of redis-py to /home/vagrant/redis-py + config.vm.synced_folder "../", "/home/vagrant/redis-py" + + # install the redis server + config.vm.provision :shell, :path => "bootstrap.sh" + config.vm.provision :shell, :path => "install_redis.sh" + +end diff --git a/vagrant/bootstrap.sh b/vagrant/bootstrap.sh new file mode 100755 index 0000000..a5a0d2c --- /dev/null +++ b/vagrant/bootstrap.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# need make to build redis +sudo apt-get install make diff --git a/vagrant/install_redis.sh b/vagrant/install_redis.sh new file mode 100755 index 0000000..92e400c --- /dev/null +++ b/vagrant/install_redis.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +pushd /home/vagrant + +# if there's an existing redis running (started at boot?) kill it +if [ -a /etc/init.d/redis_master ] + then + sudo /etc/init.d/redis_master stop + sudo update-rc.d -f redis_master remove + sudo rm -f /etc/init.d/redis_master +fi + +# delete any previous provisioned redis +rm -rf /home/vagrant/redis +rm -rf /home/vagrant/redis-2.8.8.tar.gz + +# download, unpack and build redis in /home/vagrant/redis +wget http://download.redis.io/releases/redis-2.8.8.tar.gz +tar zxvf redis-2.8.8.tar.gz +mv redis-2.8.8 /home/vagrant/redis +cd /home/vagrant/redis +make + +# include our overridden config options +cat /home/vagrant/redis-py/vagrant/redis-override.conf >> /home/vagrant/redis/redis.conf + +# link to our init.d script +sudo cp /home/vagrant/redis-py/vagrant/redis_init_script /etc/init.d/redis_master +# and tell update-rc about it +sudo update-rc.d redis_master defaults 99 +# and finally start it +sudo /etc/init.d/redis_master start + +popd diff --git a/vagrant/redis-override.conf b/vagrant/redis-override.conf new file mode 100644 index 0000000..b8ce090 --- /dev/null +++ b/vagrant/redis-override.conf @@ -0,0 +1 @@ +daemonize yes diff --git a/vagrant/redis_init_script b/vagrant/redis_init_script new file mode 100755 index 0000000..aaa5a9e --- /dev/null +++ b/vagrant/redis_init_script @@ -0,0 +1,42 @@ +#!/bin/sh +# +# Simple Redis init.d script conceived to work on Linux systems +# as it does use of the /proc filesystem. + +REDISPORT=6379 +EXEC=/home/vagrant/redis/src/redis-server +CLIEXEC=/home/vagrant/redis/src/redis-cli + +PIDFILE=/var/run/redis.pid +CONF=/home/vagrant/redis/redis.conf + +case "$1" in + start) + if [ -f $PIDFILE ] + then + echo "$PIDFILE exists, process is already running or crashed" + else + echo "Starting Redis server..." + $EXEC $CONF + fi + ;; + stop) + if [ ! -f $PIDFILE ] + then + echo "$PIDFILE does not exist, process is not running" + else + PID=$(cat $PIDFILE) + echo "Stopping ..." + $CLIEXEC -p $REDISPORT shutdown + while [ -x /proc/${PID} ] + do + echo "Waiting for Redis to shutdown ..." + sleep 1 + done + echo "Redis stopped" + fi + ;; + *) + echo "Please use start or stop as first argument" + ;; +esac |
