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"]]
 | |
|   }
 | |
| }
 | 
