67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Puppet
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Puppet
		
	
	
	
	
	
# Basic virtualbox configuration
 | 
						|
Exec { path => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" }
 | 
						|
 | 
						|
node basenode {
 | 
						|
  package{["build-essential", "git-core", "vim"]:
 | 
						|
    ensure => installed
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
class xfstools {
 | 
						|
    package{['lvm2', 'xfsprogs']:
 | 
						|
        ensure => installed
 | 
						|
    }
 | 
						|
}
 | 
						|
class java {
 | 
						|
    package {['openjdk-7-jre-headless']:
 | 
						|
        ensure => installed 
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
class cassandra {
 | 
						|
  include xfstools
 | 
						|
  include java
 | 
						|
 | 
						|
  package {"wget":
 | 
						|
    ensure => latest
 | 
						|
  }
 | 
						|
 | 
						|
  file {"/etc/init/cassandra.conf":
 | 
						|
    source => "puppet:///modules/cassandra/cassandra.upstart",
 | 
						|
    owner  => root
 | 
						|
  }
 | 
						|
  
 | 
						|
  exec {"download-cassandra":
 | 
						|
    cwd => "/tmp",
 | 
						|
    command => "wget http://download.nextag.com/apache/cassandra/1.1.6/apache-cassandra-1.1.6-bin.tar.gz",
 | 
						|
    creates => "/tmp/apache-cassandra-1.1.6-bin.tar.gz",
 | 
						|
    require => [Package["wget"], File["/etc/init/cassandra.conf"]]
 | 
						|
  }
 | 
						|
 | 
						|
  exec {"install-cassandra":
 | 
						|
    cwd => "/tmp",
 | 
						|
    command => "tar -xzf apache-cassandra-1.1.6-bin.tar.gz; mv apache-cassandra-1.1.6 /usr/local/cassandra",
 | 
						|
    require => Exec["download-cassandra"],
 | 
						|
    creates => "/usr/local/cassandra/bin/cassandra"
 | 
						|
  }
 | 
						|
 | 
						|
  service {"cassandra":
 | 
						|
    ensure => running,
 | 
						|
    require => Exec["install-cassandra"]
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
node cassandraengine inherits basenode {
 | 
						|
  include cassandra
 | 
						|
  
 | 
						|
  package {["python-pip", "python-dev", "python-nose"]:
 | 
						|
    ensure => installed
 | 
						|
  }
 | 
						|
 | 
						|
  exec {"install-requirements":
 | 
						|
    cwd => "/vagrant",
 | 
						|
    command => "pip install -r requirements.txt",
 | 
						|
    require => [Package["python-pip"], Package["python-dev"]]
 | 
						|
  }
 | 
						|
}
 |