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