Skip to content

Instantly share code, notes, and snippets.

@quartzjer
Created March 23, 2010 21:34
Show Gist options
  • Save quartzjer/341699 to your computer and use it in GitHub Desktop.
Save quartzjer/341699 to your computer and use it in GitHub Desktop.
#
# Cookbook Name:: cassandra
# Recipe:: default
#
package "openjdk-6-jre" do
action :install
end
directory "#{node[:basedir]}" do
owner node[:owner_name]
group node[:owner_name]
mode 0755
recursive true
end
directory "#{node[:basedir]}/logs" do
owner node[:owner_name]
group node[:owner_name]
mode 0755
recursive true
end
directory "/var/log/cassandra" do
owner node[:owner_name]
group node[:owner_name]
mode 0755
recursive true
end
remote_file "/mnt/cassandra.tgz" do
source "http://apache.multihomed.net/cassandra/0.5.1/apache-cassandra-0.5.1-bin.tar.gz"
mode "0644"
end
execute "untar" do
cwd "/mnt"
command "tar -zxf cassandra.tgz"
creates "/mnt/apache-cassandra-0.5.1"
action :run
end
execute "rename original conf files" do
cwd "/mnt/apache-cassandra-0.5.1/conf"
command "rename 's/$/\.orig/' ./*"
creates "/mnt/apache-cassandra-0.5.1"
action :run
end
link "/mnt/cassandra" do
to "/mnt/apache-cassandra-0.5.1"
end
link "/etc/cassandra" do
to "/mnt/cassandra/conf"
end
template "/mnt/apache-cassandra-0.5.1/conf/storage-conf.xml" do
owner 'root'
group 'root'
mode 0644
source "storage-conf.xml.erb"
end
template "/mnt/apache-cassandra-0.5.1/conf/log4j.properties" do
owner 'root'
group 'root'
mode 0644
source "log4j.properties.erb"
end
execute "ensure-cassandra-is-running" do
returns 1
command %Q{
/mnt/cassandra/bin/cassandra
}
not_if "pgrep -f org.apache.cassandra.service.CassandraDaemon"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment