lib/poolparty/base_packages/poolparty.rb in auser-poolparty-0.2.22 vs lib/poolparty/base_packages/poolparty.rb in auser-poolparty-0.2.23
- old
+ new
@@ -1,32 +1,48 @@
module PoolParty
class Base
plugin :poolparty do
def enable
+ # These are all requirements on the master
+ execute_if("$hostname", "master") do
+ has_cron({:name => "maintain script ", :command => ". /etc/profile && which cloud-maintain | /bin/sh", :minute => "*/3"})
+ # TODO: Update this so it only runs when needed
+ has_exec(:name => ". /etc/profile && server-start-master")
+ # has_exec(:name => "download-activesupport", :cwd => Base.remote_storage_path) do
+ # command "wget http://rubyforge.org/frs/download.php/45627/activesupport-2.1.2.gem -O activesupport.gem"
+ # end
+ # has_exec(:name => "download-ParseTree", :cwd => Base.remote_storage_path) do
+ # command "wget http://rubyforge.org/frs/download.php/45600/ParseTree-3.0.1.gem -O ParseTree.gem"
+ # end
+ # has_exec(:name => "download-RubyInline", :cwd => Base.remote_storage_path) do
+ # command "wget http://rubyforge.org/frs/download.php/45683/RubyInline-3.8.1.gem -O RubyInline.gem"
+ # end
+ end
+
has_package(:name => "erlang")
has_package(:name => "erlang-dev")
has_package(:name => "erlang-src")
has_package(:name => "rubygems") do |g|
# These should be installed automagically by poolparty, but just in case
# TODO: Fix the requires method with a helper
- g.has_gempackage(:name => "logging")
+ g.has_gempackage(:name => "logging", :download_url => "http://rubyforge.org/frs/download.php/44731/logging-0.9.4.gem")
g.has_gempackage(:name => "xml-simple") do |x|
x.has_gempackage(:name => "grempe-amazon-ec2", :source => "http://gems.github.com")
end
- has_gempackage(:name => "ParseTree", :version => "3.0.1") do |pt|
- pt.has_gempackage(:name => "ruby2ruby")
- pt.has_gempackage(:name => "activesupport") do |a|
+ has_gempackage(:name => "ParseTree", :download_url => "http://rubyforge.org/frs/download.php/45600/ParseTree-3.0.1.gem") do |pt|
+ pt.has_gempackage(:name => "ruby2ruby", :download_url => "http://rubyforge.org/frs/download.php/45587/ruby2ruby-1.2.0.gem")
+ pt.has_gempackage(:name => "activesupport", :download_url => "http://rubyforge.org/frs/download.php/45627/activesupport-2.1.2.gem") do |a|
a.has_gempackage(:name => "auser-poolparty", :source => "http://gems.github.com") do |pool|
- pool.has_exec(:name => "build_messenger", :command => ". /etc/profile && server-build-messenger") do |mess|
+ pool.has_exec(:name => "build_messenger", :command => ". /etc/profile && server-build-messenger", :requires => get_gempackage("auser-poolparty")) do |mess|
mess.has_exec(:name => "start_node", :command => ". /etc/profile && server-start-node")
end
end
end
- has_gempackage(:name => "RubyInline")
+ has_gempackage(:name => "RubyInline", :download_url => "http://rubyforge.org/frs/download.php/45683/RubyInline-3.8.1.gem")
end
end
# Build hostsfile
@@ -38,17 +54,29 @@
# Custom run puppet to minimize footprint
# TODO: Update the offsetted times
has_cron(:name => "puppetd runner", :user => Base.user, :minute => [0,15,30,45]) do
command((self.respond_to?(:master) ? self : parent).master.puppet_runner_command)
end
-
- # These are all requirements on the master
- execute_if("$hostname", "master") do
- has_cron({:name => "maintain script ", :command => ". /etc/profile && which cloud-maintain | /bin/sh", :minute => "*/3"})
- # TODO: Update this so it only runs when needed
- has_exec(:name => ". /etc/profile && server-start-master")
- end
# has_host(:name => "puppet", :ip => (self.respond_to?(:master) ? self : parent).master.ip)
+ custom_function <<-EOE
+define download_file(
+ $site="",
+ $cwd="",
+ $creates="",
+ $require="",
+ $user="") {
+
+ exec { $name:
+ command => "wget ${site}/${name}",
+ cwd => $cwd,
+ creates => "${cwd}/${name}",
+ require => $require,
+ user => $user,
+ }
+
+}
+
+ EOE
end
end
end
end
\ No newline at end of file