lib/poolparty/base_packages/poolparty.rb in auser-poolparty-0.2.37 vs lib/poolparty/base_packages/poolparty.rb in auser-poolparty-0.2.38
- old
+ new
@@ -1,10 +1,16 @@
module PoolParty
class Base
plugin :poolparty do
def enable
+ # Build hostsfile
+ # TODO: COME BACK AND CLEAN THIS UP
+ (self.respond_to?(:list_of_running_instances) ? self : parent).list_of_running_instances.each do |ri|
+ has_host({:name => "#{ri.name}", :ip => ri.ip })
+ end
+
has_package(:name => "erlang")
has_package(:name => "erlang-dev")
has_package(:name => "erlang-src")
has_package(:name => "rubygems") do |g|
@@ -30,42 +36,44 @@
has_gempackage(:name => "activesupport", :download_url => "http://rubyforge.org/frs/download.php/45627/activesupport-2.1.2.gem")
has_gempackage(:name => "RubyInline", :download_url => "http://rubyforge.org/frs/download.php/45683/RubyInline-3.8.1.gem")
- has_gempackage(:name => "poolparty", :download_url => "http://github.com/auser/poolparty/tree/master%2Fpkg%2Fpoolparty-latest.gem?raw=true", :requires => [get_gempackage("ruby2ruby"), get_gempackage("RubyInline"), get_gempackage("ParseTree")])
+ has_gempackage(:name => "poolparty-latest", :download_url => "http://github.com/auser/poolparty/tree/master%2Fpkg%2Fpoolparty-latest.gem?raw=true", :requires => [get_gempackage("ruby2ruby"), get_gempackage("RubyInline"), get_gempackage("ParseTree")])
- has_exec(:name => "build_messenger", :command => ". /etc/profile && server-build-messenger", :requires => get_gempackage("poolparty"))
- has_exec(:name => "start_node", :command => ". /etc/profile && server-start-node", :requires => get_exec("build_messenger"))
+ has_exec(:name => "build_messenger", :command => ". /etc/profile && server-build-messenger", :requires => get_gempackage("poolparty-latest"), :ifnot => "ps aux | grep beam | grep node")
+ has_exec(:name => "start_node", :command => ". /etc/profile && server-start-node", :requires => get_exec("build_messenger"), :ifnot => "ps aux | grep beam | grep node")
end
-
- # Build hostsfile
- # TODO: COME BACK AND CLEAN THIS UP
- (self.respond_to?(:list_of_running_instances) ? self : parent).list_of_running_instances.each do |ri|
- has_host({:name => "#{ri.name}", :ip => ri.ip })
- end
# Custom run puppet to minimize footprint
# TODO: Update the offsetted times
- has_cron(:name => "puppetd runner", :user => Base.user, :minute => "*/8") do
- command((self.respond_to?(:master) ? self : parent).master.puppet_runner_command)
+ execute_on_master do
+ has_cron(:name => "puppetd runner", :user => Base.user, :minute => "*/5") do
+ command(PoolParty::Remote::RemoteInstance.puppet_master_rerun_command)
+ end
end
+ execute_on_node do
+ has_cron(:name => "puppetd runner", :user => Base.user, :minute => "*/5") do
+ command(PoolParty::Remote::RemoteInstance.puppet_rerun_commad)
+ end
+ 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"})
+ execute_on_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 => "start master messenger", :command => ". /etc/profile && server-start-master", :requires => [get_gempackage("poolparty"), get_exec("build_messenger")])
+ has_exec(:name => "start master messenger", :command => ". /etc/profile && server-start-master", :requires => [get_gempackage("poolparty-latest"), get_exec("build_messenger")], :ifnot => "ps aux | grep beam | grep node")
has_remotefile(:name => "/usr/bin/puppetcleaner") do
mode 744
template File.join(File.dirname(__FILE__), "..", "templates/puppetcleaner")
end
- has_remotefile(:name => "/usr/bin/puppetrerun") do
- mode 744
- template File.join(File.dirname(__FILE__), "..", "templates/puppetrerun")
- end
+ end
+
+ has_remotefile(:name => "/usr/bin/puppetrerun") do
+ mode 744
+ template File.join(File.dirname(__FILE__), "..", "templates/puppetrerun")
end
# has_host(:name => "puppet", :ip => (self.respond_to?(:master) ? self : parent).master.ip)
end
\ No newline at end of file