auser-poolparty 0.2.66 → 0.2.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. data/Manifest.txt +83 -41
  2. data/PostInstall.txt +2 -2
  3. data/README.txt +1 -2
  4. data/Rakefile +14 -1
  5. data/bin/cloud-start +11 -10
  6. data/bin/{pool-spec → pool-generate} +0 -0
  7. data/bin/pool-init +3 -3
  8. data/bin/pool-start +8 -7
  9. data/bin/server-update-hosts +1 -1
  10. data/lib/erlang/messenger/ebin/pm_client_rel-0.1.rel +1 -1
  11. data/lib/erlang/messenger/ebin/pm_master_rel-0.1.rel +1 -1
  12. data/lib/erlang/messenger/ebin/pm_node_rel-0.1.rel +1 -1
  13. data/lib/erlang/messenger/include/defines.hrl +7 -3
  14. data/lib/erlang/messenger/lib/eunit/.svn/all-wcprops +53 -0
  15. data/lib/erlang/messenger/lib/eunit/.svn/entries +140 -0
  16. data/lib/erlang/messenger/lib/eunit/.svn/format +1 -0
  17. data/lib/erlang/messenger/lib/eunit/.svn/prop-base/NOTES.svn-base +5 -0
  18. data/lib/erlang/messenger/lib/eunit/.svn/text-base/AUTHORS.svn-base +2 -0
  19. data/lib/erlang/messenger/lib/eunit/.svn/text-base/CHANGELOG.svn-base +14 -0
  20. data/lib/erlang/messenger/lib/eunit/.svn/text-base/COPYING.svn-base +504 -0
  21. data/lib/erlang/messenger/lib/eunit/.svn/text-base/NOTES.svn-base +276 -0
  22. data/lib/erlang/messenger/lib/eunit/.svn/text-base/README.svn-base +3 -0
  23. data/lib/erlang/messenger/lib/eunit/.svn/text-base/sys.config.svn-base +9 -0
  24. data/lib/erlang/messenger/lib/eunit/.svn/text-base/vsn.mk.svn-base +1 -0
  25. data/lib/erlang/messenger/lib/eunit/doc/.svn/all-wcprops +59 -0
  26. data/lib/erlang/messenger/lib/eunit/doc/.svn/entries +142 -0
  27. data/lib/erlang/messenger/lib/eunit/doc/.svn/format +1 -0
  28. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/erlang.png.svn-base +5 -0
  29. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/eunit.html.svn-base +5 -0
  30. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/index.html.svn-base +5 -0
  31. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/modules-frame.html.svn-base +5 -0
  32. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/overview-summary.html.svn-base +5 -0
  33. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/packages-frame.html.svn-base +5 -0
  34. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/edoc-info.svn-base +3 -0
  35. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/erlang.png.svn-base +0 -0
  36. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/eunit.html.svn-base +172 -0
  37. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/index.html.svn-base +17 -0
  38. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/modules-frame.html.svn-base +12 -0
  39. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview-summary.html.svn-base +984 -0
  40. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview.edoc.svn-base +980 -0
  41. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/packages-frame.html.svn-base +11 -0
  42. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/stylesheet.css.svn-base +55 -0
  43. data/lib/erlang/messenger/lib/eunit/ebin/.svn/all-wcprops +5 -0
  44. data/lib/erlang/messenger/lib/eunit/ebin/.svn/dir-prop-base +8 -0
  45. data/lib/erlang/messenger/lib/eunit/ebin/.svn/entries +28 -0
  46. data/lib/erlang/messenger/lib/eunit/ebin/.svn/format +1 -0
  47. data/lib/erlang/messenger/lib/eunit/examples/.svn/all-wcprops +23 -0
  48. data/lib/erlang/messenger/lib/eunit/examples/.svn/entries +66 -0
  49. data/lib/erlang/messenger/lib/eunit/examples/.svn/format +1 -0
  50. data/lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/eunit_examples.erl.svn-base +5 -0
  51. data/lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/fib.erl.svn-base +5 -0
  52. data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/eunit_examples.erl.svn-base +339 -0
  53. data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/fib.erl.svn-base +19 -0
  54. data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/tests.txt.svn-base +1 -0
  55. data/lib/erlang/messenger/lib/eunit/include/.svn/all-wcprops +11 -0
  56. data/lib/erlang/messenger/lib/eunit/include/.svn/entries +41 -0
  57. data/lib/erlang/messenger/lib/eunit/include/.svn/format +1 -0
  58. data/lib/erlang/messenger/lib/eunit/include/.svn/prop-base/eunit.hrl.svn-base +5 -0
  59. data/lib/erlang/messenger/lib/eunit/include/.svn/text-base/eunit.hrl.svn-base +313 -0
  60. data/lib/erlang/messenger/lib/eunit/src/.svn/all-wcprops +113 -0
  61. data/lib/erlang/messenger/lib/eunit/src/.svn/entries +259 -0
  62. data/lib/erlang/messenger/lib/eunit/src/.svn/format +1 -0
  63. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/autoload.erl.svn-base +5 -0
  64. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/code_monitor.erl.svn-base +5 -0
  65. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit.erl.svn-base +5 -0
  66. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_autoexport.erl.svn-base +5 -0
  67. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_data.erl.svn-base +5 -0
  68. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_internal.hrl.svn-base +5 -0
  69. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_lib.erl.svn-base +5 -0
  70. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_proc.erl.svn-base +5 -0
  71. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_serial.erl.svn-base +5 -0
  72. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_server.erl.svn-base +5 -0
  73. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_striptests.erl.svn-base +5 -0
  74. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_test.erl.svn-base +5 -0
  75. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tests.erl.svn-base +5 -0
  76. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tty.erl.svn-base +5 -0
  77. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/file_monitor.erl.svn-base +5 -0
  78. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/autoload.erl.svn-base +388 -0
  79. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/code_monitor.erl.svn-base +243 -0
  80. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.app.src.svn-base +21 -0
  81. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.appup.src.svn-base +1 -0
  82. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.erl.svn-base +196 -0
  83. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_autoexport.erl.svn-base +102 -0
  84. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_data.erl.svn-base +798 -0
  85. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_internal.hrl.svn-base +48 -0
  86. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_lib.erl.svn-base +682 -0
  87. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_proc.erl.svn-base +552 -0
  88. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_serial.erl.svn-base +157 -0
  89. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_server.erl.svn-base +340 -0
  90. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_striptests.erl.svn-base +64 -0
  91. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_test.erl.svn-base +334 -0
  92. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tests.erl.svn-base +45 -0
  93. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tty.erl.svn-base +272 -0
  94. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/file_monitor.erl.svn-base +409 -0
  95. data/lib/erlang/messenger/pm_client_rel-0.1.boot +0 -0
  96. data/lib/erlang/messenger/pm_client_rel-0.1.script +77 -85
  97. data/lib/erlang/messenger/pm_master_rel-0.1.boot +0 -0
  98. data/lib/erlang/messenger/pm_master_rel-0.1.script +78 -85
  99. data/lib/erlang/messenger/pm_node_rel-0.1.boot +0 -0
  100. data/lib/erlang/messenger/pm_node_rel-0.1.script +77 -86
  101. data/lib/erlang/messenger/src/pm_node.erl +46 -9
  102. data/lib/erlang/messenger/src/utils.erl +7 -1
  103. data/lib/poolparty.rb +17 -23
  104. data/lib/poolparty/base_packages/poolparty.rb +1 -1
  105. data/lib/poolparty/core/string.rb +11 -2
  106. data/lib/poolparty/helpers/binary.rb +31 -0
  107. data/lib/poolparty/helpers/console.rb +25 -16
  108. data/lib/poolparty/helpers/nice_printer.rb +36 -0
  109. data/lib/poolparty/helpers/optioner.rb +8 -0
  110. data/lib/poolparty/helpers/provisioner_base.rb +7 -5
  111. data/lib/poolparty/helpers/provisioners/master.rb +1 -1
  112. data/lib/poolparty/helpers/provisioners/slave.rb +2 -1
  113. data/lib/poolparty/modules/cloud_resourcer.rb +1 -1
  114. data/lib/poolparty/modules/file_writer.rb +12 -1
  115. data/lib/poolparty/modules/resourcing_dsl.rb +2 -1
  116. data/lib/poolparty/monitors/base_monitor.rb +3 -0
  117. data/lib/poolparty/net/remoter.rb +13 -11
  118. data/lib/poolparty/pool/base.rb +25 -13
  119. data/lib/poolparty/pool/cloud.rb +32 -10
  120. data/lib/poolparty/pool/custom_resource.rb +16 -7
  121. data/lib/poolparty/pool/plugin_model.rb +2 -2
  122. data/lib/poolparty/pool/pool.rb +2 -2
  123. data/lib/poolparty/pool/resource.rb +25 -7
  124. data/lib/poolparty/pool/resources/class_package.rb +3 -2
  125. data/lib/poolparty/pool/resources/exec.rb +1 -1
  126. data/lib/poolparty/pool/resources/variable.rb +4 -0
  127. data/lib/poolparty/version.rb +1 -1
  128. data/poolparty.gemspec +13 -11
  129. data/spec/poolparty/core/hash_spec.rb +1 -1
  130. data/spec/poolparty/core/time_spec.rb +1 -1
  131. data/spec/poolparty/net/remote_spec.rb +1 -1
  132. data/spec/poolparty/pool/base_spec.rb +25 -20
  133. data/spec/poolparty/pool/cloud_spec.rb +50 -3
  134. data/spec/poolparty/pool/plugin_spec.rb +1 -0
  135. data/spec/poolparty/pool/resource_spec.rb +4 -3
  136. data/spec/poolparty/spec_helper.rb +3 -4
  137. data/tasks/deployment.rake +15 -3
  138. data/website/index.html +2 -2
  139. metadata +88 -46
  140. data/lib/erlang/messenger/Makefile +0 -15
  141. data/lib/erlang/messenger/lib/eunit/Makefile +0 -28
  142. data/lib/erlang/messenger/lib/eunit/ebin/autoload.beam +0 -0
  143. data/lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam +0 -0
  144. data/lib/erlang/messenger/lib/eunit/ebin/eunit.beam +0 -0
  145. data/lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam +0 -0
  146. data/lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam +0 -0
  147. data/lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam +0 -0
  148. data/lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam +0 -0
  149. data/lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam +0 -0
  150. data/lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam +0 -0
  151. data/lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam +0 -0
  152. data/lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam +0 -0
  153. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam +0 -0
  154. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam +0 -0
  155. data/lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam +0 -0
  156. data/lib/erlang/messenger/lib/eunit/src/Makefile +0 -46
  157. data/lib/poolparty/config/allowed_commands.yml +0 -1
  158. data/lib/poolparty/plugins/git.rb +0 -45
  159. data/spec/poolparty/plugins/git_spec.rb +0 -40
@@ -50,7 +50,8 @@ module PoolParty
50
50
  def template(file, opts={})
51
51
  raise TemplateNotFound.new("no template given") unless file
52
52
  raise TemplateNotFound.new("template cannot be found #{file}") unless ::File.file?(file)
53
- unless opts[:just_copy]
53
+
54
+ unless opts[:just_copy]
54
55
  options.merge!({:content => "template(\"#{::File.basename(file)}\")"})
55
56
  options.delete(:source) if options.has_key?(:source)
56
57
  copy_template_to_storage_directory(file)
@@ -3,6 +3,8 @@
3
3
 
4
4
  TODO: Fill this out
5
5
  =end
6
+ require "#{::File.dirname(__FILE__)}/../pool/base"
7
+
6
8
  module PoolParty
7
9
  module Monitors
8
10
 
@@ -48,6 +50,7 @@ module PoolParty
48
50
  end
49
51
 
50
52
  Dir["#{File.dirname(__FILE__)}/monitors/*.rb"].each {|f| require f}
53
+ Dir["#{PoolParty::Base.custom_monitor_directories}/*.rb"].each {|f| require f}
51
54
 
52
55
  module PoolParty
53
56
  module Cloud
@@ -178,20 +178,22 @@ module PoolParty
178
178
  def launch_and_configure_master!(testing=false)
179
179
  vputs "Requesting to launch new instance"
180
180
  logger.debug "Launching master"
181
- request_launch_master_instance if list_of_pending_instances.size.zero? && can_start_a_new_instance? && !is_master_running?
181
+ request_launch_master_instance if list_of_pending_instances.size.zero? && can_start_a_new_instance? && !is_master_running? && !testing
182
182
  reset!
183
- vputs ""
184
- vputs "Waiting for there to be no pending instances..."
185
- when_no_pending_instances do
186
- when_all_assigned_ips {wait "20.seconds"}
183
+ unless testing
187
184
  vputs ""
188
- vputs "Provisioning master..."
189
-
190
- verbose ? Provisioner.provision_master(self, testing) : hide_output { Provisioner.provision_master(self, testing) }
191
- verbose ? Provisioner.clear_master_ssl_certs(self, testing) : hide_output { Provisioner.clear_master_ssl_certs(self, testing) }
185
+ vputs "Waiting for there to be no pending instances..."
186
+ when_no_pending_instances do
187
+ when_all_assigned_ips {wait "20.seconds"}
188
+ vputs ""
189
+ vputs "Provisioning master..."
190
+ # cleanup_storage_directory
191
+ verbose ? Provisioner.provision_master(self, testing) : hide_output { Provisioner.provision_master(self, testing) }
192
+ verbose ? Provisioner.clear_master_ssl_certs(self, testing) : hide_output { Provisioner.clear_master_ssl_certs(self, testing) }
192
193
 
193
- after_launched
194
- end
194
+ after_launched
195
+ end
196
+ end
195
197
  end
196
198
  def is_master_running?
197
199
  !list_of_running_instances.select {|a| a.name == "master"}.first.nil?
@@ -40,10 +40,10 @@ module PoolParty
40
40
  end
41
41
  # Get the access_key
42
42
  def access_key
43
- ENV["AWS_ACCESS_KEY_ID"] ? ENV["AWS_ACCESS_KEY_ID"] : load_keys_from_file[:access_key]
43
+ @access_key ||= ENV["AWS_ACCESS_KEY"] ? ENV["AWS_ACCESS_KEY"] : load_keys_from_file[:access_key]
44
44
  end
45
45
  def secret_access_key
46
- ENV["AWS_SECRET_ACCESS_KEY"] ? ENV["AWS_SECRET_ACCESS_KEY"] : load_keys_from_file[:secret_access_key]
46
+ @secret_access_key ||= ENV["AWS_SECRET_ACCESS_KEY"] ? ENV["AWS_SECRET_ACCESS_KEY"] : load_keys_from_file[:secret_access_key]
47
47
  end
48
48
  def read_keyfile
49
49
  open(get_working_key_file_locations).read
@@ -58,6 +58,13 @@ module PoolParty
58
58
  write_to_file( key_file_locations.first, YAML::dump({:access_key => access_key, :secret_access_key => secret_access_key}))
59
59
  end
60
60
  end
61
+ def store_keys_in_file_for(obj=nil)
62
+ if obj
63
+ @access_key = obj.access_key
64
+ @secret_access_key = obj.secret_access_key
65
+ end
66
+ store_keys_in_file
67
+ end
61
68
  def reset!
62
69
  @keys = nil
63
70
  end
@@ -76,32 +83,37 @@ module PoolParty
76
83
  "ppkeys"
77
84
  ]
78
85
  end
79
-
80
86
  def storage_directory
81
87
  [
82
88
  "/var/poolparty"
83
89
  ].select do |dir|
84
- dir if ::File.directory?(dir) && ::File.readable?(dir)
90
+ dir if viable_directory?(dir)
85
91
  end.first || ::File.join( "/tmp/poolparty")
86
92
  end
87
-
88
93
  def logger_location
89
94
  [
90
95
  "/var/log/poolparty"
91
96
  ].select do |dir|
92
- dir if ::File.directory?(dir) && ::File.readable?(dir)
97
+ dir if viable_directory?(dir)
93
98
  end.first || ::File.join(Dir.pwd, "log")
94
99
  end
95
-
100
+ # Assume the logs will be at the pool.log location within the
101
+ # logger_location set above
96
102
  def pool_logger_location
97
- ::File.join(logger_location, "pool.logs")
103
+ ::File.join(logger_location, "pool.log")
104
+ end
105
+ def custom_monitor_directories
106
+ [
107
+ "/var/poolparty/monitors",
108
+ "/etc/poolparty/monitors",
109
+ "#{Dir.pwd}/monitors"
110
+ ].select {|d| d if viable_directory?(d) }
98
111
  end
99
-
100
- # Array of allowed_commands that you can run on the remote nodes
101
- def allowed_commands
102
- @allowed_commands ||= open(::File.join( ::File.dirname(__FILE__), "..", "config", "allowed_commands.yml")).read.split(/\n/).map {|a| a.chomp }
112
+ # Only return true if the directory we are reading is both readable
113
+ # and exists
114
+ def viable_directory?(dir)
115
+ ::File.directory?(dir) && ::File.readable?(dir)
103
116
  end
104
-
105
117
  end
106
118
  end
107
119
  end
@@ -38,8 +38,7 @@ module PoolParty
38
38
  :secret_access_key => Base.secret_access_key,
39
39
  :ec2_dir => ENV["EC2_HOME"],
40
40
  :keypair => (ENV["KEYPAIR_NAME"].nil? || ENV["KEYPAIR_NAME"].empty?) ? nil : ENV["KEYPAIR_NAME"],
41
- :ami => 'ami-44bd592d',
42
- :polling_time => "30.seconds"
41
+ :ami => 'ami-44bd592d'
43
42
  })
44
43
 
45
44
  def initialize(name, pare=self, &block)
@@ -54,8 +53,7 @@ module PoolParty
54
53
  # set_parent(parent) if parent && !@parent
55
54
  # self.run_in_context parent, &block if block
56
55
  setup_defaults
57
- reset_remoter_base!
58
- realize_plugins!
56
+ reset_remoter_base!
59
57
  end
60
58
 
61
59
  def setup_defaults
@@ -87,19 +85,29 @@ module PoolParty
87
85
  # Then, send the saved containing cloud instances to give the
88
86
  # remote master access to the cloud options that are required
89
87
  # for the master to run checks
90
- def prepare_to_configuration
88
+ def prepare_for_configuration
91
89
  # clear_base_directory
92
90
  make_base_directory
93
91
  copy_misc_templates
94
- Base.store_keys_in_file
92
+ copy_custom_monitors
93
+ store_keys_in_file
95
94
  Script.save!(self)
96
- copy_ssh_key # not my favorite...
95
+ # not my favorite...
96
+ copy_ssh_key
97
97
  end
98
98
 
99
+ # Copy the ssh keys to the storage directory in preparation for
100
+ # configuration
99
101
  def copy_ssh_key
100
102
  copy_file_to_storage_directory(full_keypair_path)
101
103
  end
102
104
 
105
+ # Store our keys for cloud access in a file
106
+ # that is specific to this cloud
107
+ def store_keys_in_file
108
+ Base.store_keys_in_file_for(self)
109
+ end
110
+
103
111
  # Build the new poolparty manifest
104
112
  # Wrapping all of these requirements into the one
105
113
  # poolparty class.
@@ -112,17 +120,30 @@ module PoolParty
112
120
  manifest = force ? rebuild_manifest : build_manifest
113
121
  config_file = ::File.join(Base.storage_directory, "poolparty.pp")
114
122
  ::File.open(config_file, "w") do |file|
115
- # file << "class poolparty {"
116
123
  file << manifest
117
- # file << "}"
118
124
  end
119
125
  end
120
126
 
121
127
  def copy_misc_templates
122
- ["namespaceauth.conf", "yaws.conf"].each do |f|
128
+ ["namespaceauth.conf"].each do |f|
123
129
  copy_file_to_storage_directory(::File.join(::File.dirname(__FILE__), "..", "templates", f))
124
130
  end
125
131
  end
132
+
133
+ # If there is a directory named monitors in the same directory
134
+ # as the pool specification file is in,
135
+ # then create a monitors directory in the storage directory
136
+ # and mirror the two. When PoolParty "boots" up, it scans
137
+ # the monitors directory for any custom monitors
138
+ # that are in known locations, these are included
139
+ def copy_custom_monitors
140
+ unless Base.custom_monitor_directories.empty?
141
+ make_directory_in_storage_directory("monitors")
142
+ Dir["#{Base.custom_monitor_directories}/*.rb"].each do |f|
143
+ copy_file_to_storage_directory(f, "monitors")
144
+ end
145
+ end
146
+ end
126
147
 
127
148
  # Configuration files
128
149
  def build_manifest
@@ -193,6 +214,7 @@ module PoolParty
193
214
  haproxy
194
215
  ruby
195
216
  poolparty_base_packages
217
+ realize_plugins!
196
218
  end
197
219
 
198
220
  def other_clouds
@@ -4,26 +4,35 @@ module PoolParty
4
4
  def available_custom_resources
5
5
  $available_custom_resources ||= []
6
6
  end
7
- module DefinableFact
8
- def define_fact(name, string="")
9
-
10
- end
11
- end
12
7
 
13
8
  module Resources
14
9
 
15
10
  def call_function(str, opts={}, &block)
16
- returning PoolParty::Resources::CallFunction.new(str, opts, &block) do |o|
17
- resource(:call_function) << o
11
+
12
+ if !global_resources_store.select {|r| r.key == str.keyerize }.empty?
13
+ @res = get_resource(:call_function, str.keyerize, parent)
14
+ else
15
+ @res = returning PoolParty::Resources::CallFunction.new(str, opts.merge(:key => str.keyerize), &block) do |o|
16
+ store_into_global_resource_store(o)
17
+ resource(:call_function) << o
18
+ end
18
19
  end
20
+ @res
19
21
  end
20
22
 
21
23
  # Resources for function call
22
24
  class CallFunction < Resource
23
25
  def initialize(str="", opts={}, parent=self, &block)
26
+ @key = opts[:key] || str.keyerize
24
27
  @str = str
25
28
  # super(opts, parent, &block)
26
29
  end
30
+ def key
31
+ @key || @str.keyerize
32
+ end
33
+ def duplicatable?
34
+ false
35
+ end
27
36
  def to_string(pre="")
28
37
  returning Array.new do |arr|
29
38
  arr << "#{pre}#{@str}"
@@ -26,13 +26,13 @@ module PoolParty
26
26
  # Create the class to evaluate the plugin on the implemented call
27
27
  klass = class_string_name.class_constant(PoolParty::Plugin::Plugin)
28
28
  mod = class_string_name.module_constant(&block)
29
-
29
+
30
30
  klass.send :include, mod
31
31
 
32
32
  # Store the name of the class for pretty printing later
33
33
  klass.name = name
34
34
  # Add the plugin definition to the cloud as an instance method
35
- Cloud::Cloud.class_eval <<-EOE
35
+ PoolParty::Cloud::Cloud.class_eval <<-EOE
36
36
  def #{name}(parent=self, &block)
37
37
  @pa = parent
38
38
  @#{class_string_name.downcase} ||= returning #{class_string_name.class_constant}.new(parent, &block) do |pl|
@@ -20,7 +20,7 @@ module PoolParty
20
20
  end
21
21
 
22
22
  class Pool
23
- include PoolParty::Cloud
23
+ # include PoolParty::Cloud
24
24
  include MethodMissingSugar
25
25
  # include PluginModel
26
26
  include Configurable
@@ -47,7 +47,7 @@ module PoolParty
47
47
  end
48
48
 
49
49
  def setup_defaults
50
- plugin_directory "#{::Dir.pwd}/plugins"
50
+ plugin_directory "#{::File.dirname(pool_specfile)}/plugins"
51
51
  end
52
52
 
53
53
  # This is where the entire process starts
@@ -17,9 +17,15 @@ module PoolParty
17
17
  resources[type] ||= []
18
18
  end
19
19
 
20
- def add_resource(type, opts={}, parent=self, &block)
21
- if in_resources?(type, opts[:name])
20
+ def add_resource(type, opts={}, parent=self, &block)
21
+ if in_a_resource_store?(type, opts[:name])
22
22
  @res = get_resource(type, opts[:name], parent)
23
+ if should_duplicate_resource?(type, @res, parent, opts)
24
+ @res = @res.dup
25
+ @pa = parent
26
+ @res.instance_eval {@parent = @pa}
27
+ # parent.resource(type) << @res
28
+ end
23
29
  else
24
30
  @res = returning "PoolParty::Resources::#{type.to_s.camelize}".classify.constantize.new(opts, parent, &block) do |o|
25
31
  store_into_global_resource_store(o)
@@ -27,13 +33,25 @@ module PoolParty
27
33
  end
28
34
  end
29
35
  @res
30
- end
36
+ end
37
+ def should_duplicate_resource?(type, res, pare, opts)
38
+ pare != @res.parent &&
39
+ pare.cloud != @res.cloud &&
40
+ in_global_resource_store?(type, opts[:name]) &&
41
+ !in_resources?(type, res, pare)
42
+ end
31
43
  def get_resource(ty, key, parent=self)
32
- resource(ty).select {|r| r.key == key }.first || get_from_global_resource_store(ty, key)
44
+ get_from_local_resource_store(ty, key, parent) || get_from_global_resource_store(ty, key)
33
45
  end
34
- def in_resources?(type, key, parent=self)
46
+ def get_from_local_resource_store(type, key, parent)
47
+ resource(type).select {|r| r.key == key }.first
48
+ end
49
+ def in_a_resource_store?(type, key, parent=self)
35
50
  !(get_resource(type, key) && in_global_resource_store?(type, key)).nil?
36
51
  end
52
+ def in_resources?(type, key, parent=self)
53
+ !get_resource(type, key).nil?
54
+ end
37
55
  def global_resources_store
38
56
  $global_resources ||= []
39
57
  end
@@ -81,7 +99,7 @@ module PoolParty
81
99
  add_resource(:#{lowercase_class_name}, opts, parent, &blk)
82
100
  end
83
101
  def get_#{lowercase_class_name}(name)
84
- get_resource(:#{lowercase_class_name}, name) if in_resources?(:#{lowercase_class_name}, name)
102
+ get_resource(:#{lowercase_class_name}, name) if in_a_resource_store?(:#{lowercase_class_name}, name)
85
103
  end
86
104
  EOE
87
105
  PoolParty::Resources.module_eval method
@@ -140,7 +158,7 @@ module PoolParty
140
158
  def cloud
141
159
  @pa = parent
142
160
  while !(@pa.is_a?(PoolParty::Cloud::Cloud) || @pa.nil? || @pa == self)
143
- @pa = @pa.parent
161
+ @pa = @pa.respond_to?(:parent) ? @pa.parent : nil
144
162
  end
145
163
  @pa
146
164
  end
@@ -2,7 +2,7 @@ module PoolParty
2
2
  module Resources
3
3
 
4
4
  def global_classpackages
5
- $global_classpackage_store ||= []
5
+ @global_classpackage_store ||= []
6
6
  end
7
7
 
8
8
  def in_global_classpackages?(name)
@@ -45,6 +45,7 @@ module PoolParty
45
45
  store_into_global_classpackage_store(@@cp)
46
46
  end
47
47
  return @@cp
48
+ @@parent_resources = nil
48
49
  end
49
50
 
50
51
  class Classpackage < Resource
@@ -79,7 +80,7 @@ module PoolParty
79
80
  end
80
81
 
81
82
  def not_printed?
82
- @not_printed ||= true
83
+ true
83
84
  end
84
85
 
85
86
  def include_string
@@ -13,7 +13,7 @@ module PoolParty
13
13
  # exclude it in the gempackage, but this is an example
14
14
  # of how to exclude it as well
15
15
  def disallowed_options
16
- [:ensure, :name, :source, :version, :download_url]
16
+ [:ensure, :name, :source, :version, :download_url, :template]
17
17
  end
18
18
 
19
19
  def key
@@ -11,6 +11,10 @@ module PoolParty
11
11
  def to_string(pre="\t")
12
12
  "$#{name} = #{value_string}"
13
13
  end
14
+
15
+ def duplicatable?
16
+ false
17
+ end
14
18
 
15
19
  def value_string
16
20
  value.to_option_string
@@ -2,7 +2,7 @@ module PoolParty
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- TINY = 66
5
+ TINY = 67
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/poolparty.gemspec CHANGED
@@ -1,18 +1,20 @@
1
+ # -*- encoding: utf-8 -*-
2
+
1
3
  Gem::Specification.new do |s|
2
4
  s.name = %q{poolparty}
3
- s.version = "0.2.66"
5
+ s.version = "0.2.67"
4
6
 
5
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
6
8
  s.authors = ["Ari Lerner"]
7
- s.date = %q{2008-11-19}
9
+ s.date = %q{2008-11-23}
8
10
  s.description = %q{Self-healing, auto-scaling system administration, provisioning and maintaining tool that makes cloud computing fun and easy}
9
11
  s.email = ["ari.lerner@citrusbyte.com"]
10
- s.executables = ["cloud", "cloud-add-keypair", "cloud-configure", "cloud-contract", "cloud-ensure-provisioning", "cloud-expand", "cloud-handle-load", "cloud-list", "cloud-maintain", "cloud-osxcopy", "cloud-provision", "cloud-refresh", "cloud-run", "cloud-ssh", "cloud-start", "cloud-stats", "cloud-terminate", "messenger-get-current-nodes", "pool", "pool-console", "pool-describe", "pool-init", "pool-list", "pool-spec", "pool-start", "server-build-messenger", "server-fire-cmd", "server-get-load", "server-list-active", "server-list-responding", "server-rerun", "server-send-command", "server-show-stats", "server-start-client", "server-start-master", "server-start-node", "server-stop-client", "server-stop-master", "server-stop-node", "server-update-hosts"]
12
+ s.executables = ["cloud", "cloud-add-keypair", "cloud-configure", "cloud-contract", "cloud-ensure-provisioning", "cloud-expand", "cloud-handle-load", "cloud-list", "cloud-maintain", "cloud-osxcopy", "cloud-provision", "cloud-refresh", "cloud-run", "cloud-ssh", "cloud-start", "cloud-stats", "cloud-terminate", "messenger-get-current-nodes", "pool", "pool-console", "pool-describe", "pool-generate", "pool-init", "pool-list", "pool-start", "server-build-messenger", "server-fire-cmd", "server-get-load", "server-list-active", "server-list-responding", "server-rerun", "server-send-command", "server-show-stats", "server-start-client", "server-start-master", "server-start-node", "server-stop-client", "server-stop-master", "server-stop-node", "server-update-hosts"]
11
13
  s.extra_rdoc_files = ["History.txt", "License.txt", "Manifest.txt", "PostInstall.txt", "README.txt", "lib/erlang/messenger/lib/eunit/examples/tests.txt", "lib/poolparty/config/postlaunchmessage.txt", "website/index.txt"]
12
- s.files = ["History.txt", "License.txt", "Manifest.txt", "PostInstall.txt", "README.txt", "Rakefile", "bin/cloud", "bin/cloud-add-keypair", "bin/cloud-configure", "bin/cloud-contract", "bin/cloud-ensure-provisioning", "bin/cloud-expand", "bin/cloud-handle-load", "bin/cloud-list", "bin/cloud-maintain", "bin/cloud-osxcopy", "bin/cloud-provision", "bin/cloud-refresh", "bin/cloud-run", "bin/cloud-ssh", "bin/cloud-start", "bin/cloud-stats", "bin/cloud-terminate", "bin/messenger-get-current-nodes", "bin/pool", "bin/pool-console", "bin/pool-describe", "bin/pool-init", "bin/pool-list", "bin/pool-spec", "bin/pool-start", "bin/server-build-messenger", "bin/server-fire-cmd", "bin/server-get-load", "bin/server-list-active", "bin/server-list-responding", "bin/server-rerun", "bin/server-send-command", "bin/server-show-stats", "bin/server-start-client", "bin/server-start-master", "bin/server-start-node", "bin/server-stop-client", "bin/server-stop-master", "bin/server-stop-node", "bin/server-update-hosts", "config/hoe.rb", "config/requirements.rb", "examples/basic.rb", "examples/plugin_without_plugin_directory.rb", "examples/poolparty.rb", "generators/poolspec/USAGE", "generators/poolspec/poolspec_generator.rb", "generators/poolspec/templates/pool_spec_template.erb", "lib/erlang/messenger/Emakefile", "lib/erlang/messenger/Makefile", "lib/erlang/messenger/README", "lib/erlang/messenger/Rakefile", "lib/erlang/messenger/control", "lib/erlang/messenger/ebin/client.app", "lib/erlang/messenger/ebin/client_app.beam", "lib/erlang/messenger/ebin/client_server.beam", "lib/erlang/messenger/ebin/erl_crash.dump", "lib/erlang/messenger/ebin/master.app", "lib/erlang/messenger/ebin/master_app.beam", "lib/erlang/messenger/ebin/node.app", "lib/erlang/messenger/ebin/node_app.beam", "lib/erlang/messenger/ebin/packager.app", "lib/erlang/messenger/ebin/pm_client.beam", "lib/erlang/messenger/ebin/pm_client_old.beam", "lib/erlang/messenger/ebin/pm_client_rel-0.1.rel", "lib/erlang/messenger/ebin/pm_client_supervisor.beam", "lib/erlang/messenger/ebin/pm_cluster.beam", "lib/erlang/messenger/ebin/pm_event_manager.beam", "lib/erlang/messenger/ebin/pm_master.beam", "lib/erlang/messenger/ebin/pm_master_event_handler.beam", "lib/erlang/messenger/ebin/pm_master_rel-0.1.rel", "lib/erlang/messenger/ebin/pm_master_supervisor.beam", "lib/erlang/messenger/ebin/pm_node.beam", "lib/erlang/messenger/ebin/pm_node_rel-0.1.rel", "lib/erlang/messenger/ebin/pm_node_supervisor.beam", "lib/erlang/messenger/ebin/pm_packager.beam", "lib/erlang/messenger/ebin/pm_strings.beam", "lib/erlang/messenger/ebin/utils.beam", "lib/erlang/messenger/include/defines.hrl", "lib/erlang/messenger/lib/eunit/AUTHORS", "lib/erlang/messenger/lib/eunit/CHANGELOG", "lib/erlang/messenger/lib/eunit/COPYING", "lib/erlang/messenger/lib/eunit/Makefile", "lib/erlang/messenger/lib/eunit/NOTES", "lib/erlang/messenger/lib/eunit/README", "lib/erlang/messenger/lib/eunit/doc/edoc-info", "lib/erlang/messenger/lib/eunit/doc/erlang.png", "lib/erlang/messenger/lib/eunit/doc/eunit.html", "lib/erlang/messenger/lib/eunit/doc/index.html", "lib/erlang/messenger/lib/eunit/doc/modules-frame.html", "lib/erlang/messenger/lib/eunit/doc/overview-summary.html", "lib/erlang/messenger/lib/eunit/doc/overview.edoc", "lib/erlang/messenger/lib/eunit/doc/packages-frame.html", "lib/erlang/messenger/lib/eunit/doc/stylesheet.css", "lib/erlang/messenger/lib/eunit/ebin/autoload.beam", "lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam", "lib/erlang/messenger/lib/eunit/ebin/eunit.app", "lib/erlang/messenger/lib/eunit/ebin/eunit.appup", "lib/erlang/messenger/lib/eunit/ebin/eunit.beam", "lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam", "lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam", "lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam", "lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam", "lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam", "lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam", "lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam", "lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam", "lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam", "lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam", "lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam", "lib/erlang/messenger/lib/eunit/examples/eunit_examples.erl", "lib/erlang/messenger/lib/eunit/examples/fib.erl", "lib/erlang/messenger/lib/eunit/examples/tests.txt", "lib/erlang/messenger/lib/eunit/include/eunit.hrl", "lib/erlang/messenger/lib/eunit/src/Makefile", "lib/erlang/messenger/lib/eunit/src/autoload.erl", "lib/erlang/messenger/lib/eunit/src/code_monitor.erl", "lib/erlang/messenger/lib/eunit/src/eunit.app.src", "lib/erlang/messenger/lib/eunit/src/eunit.appup.src", "lib/erlang/messenger/lib/eunit/src/eunit.erl", "lib/erlang/messenger/lib/eunit/src/eunit_autoexport.erl", "lib/erlang/messenger/lib/eunit/src/eunit_data.erl", "lib/erlang/messenger/lib/eunit/src/eunit_internal.hrl", "lib/erlang/messenger/lib/eunit/src/eunit_lib.erl", "lib/erlang/messenger/lib/eunit/src/eunit_proc.erl", "lib/erlang/messenger/lib/eunit/src/eunit_serial.erl", "lib/erlang/messenger/lib/eunit/src/eunit_server.erl", "lib/erlang/messenger/lib/eunit/src/eunit_striptests.erl", "lib/erlang/messenger/lib/eunit/src/eunit_test.erl", "lib/erlang/messenger/lib/eunit/src/eunit_tests.erl", "lib/erlang/messenger/lib/eunit/src/eunit_tty.erl", "lib/erlang/messenger/lib/eunit/src/file_monitor.erl", "lib/erlang/messenger/lib/eunit/sys.config", "lib/erlang/messenger/lib/eunit/vsn.mk", "lib/erlang/messenger/log/pool.logs", "lib/erlang/messenger/pm_client_rel-0.1.boot", "lib/erlang/messenger/pm_client_rel-0.1.script", "lib/erlang/messenger/pm_master_rel-0.1.boot", "lib/erlang/messenger/pm_master_rel-0.1.script", "lib/erlang/messenger/pm_node_rel-0.1.boot", "lib/erlang/messenger/pm_node_rel-0.1.script", "lib/erlang/messenger/src/client_app.erl", "lib/erlang/messenger/src/client_server.erl", "lib/erlang/messenger/src/master_app.erl", "lib/erlang/messenger/src/node_app.erl", "lib/erlang/messenger/src/pm_client.erl", "lib/erlang/messenger/src/pm_client_old.erl", "lib/erlang/messenger/src/pm_client_supervisor.erl", "lib/erlang/messenger/src/pm_cluster.erl", "lib/erlang/messenger/src/pm_event_manager.erl", "lib/erlang/messenger/src/pm_master.erl", "lib/erlang/messenger/src/pm_master_event_handler.erl", "lib/erlang/messenger/src/pm_master_supervisor.erl", "lib/erlang/messenger/src/pm_node.erl", "lib/erlang/messenger/src/pm_node_supervisor.erl", "lib/erlang/messenger/src/pm_packager.erl", "lib/erlang/messenger/src/pm_strings.erl", "lib/erlang/messenger/src/utils.erl", "lib/erlang/messenger/useful_snippets", "lib/poolparty.rb", "lib/poolparty/aska/aska.rb", "lib/poolparty/base_packages/haproxy.rb", "lib/poolparty/base_packages/heartbeat.rb", "lib/poolparty/base_packages/poolparty.rb", "lib/poolparty/base_packages/ruby.rb", "lib/poolparty/base_packages/runit.rb", "lib/poolparty/config/allowed_commands.yml", "lib/poolparty/config/postlaunchmessage.txt", "lib/poolparty/core/array.rb", "lib/poolparty/core/class.rb", "lib/poolparty/core/exception.rb", "lib/poolparty/core/float.rb", "lib/poolparty/core/hash.rb", "lib/poolparty/core/kernel.rb", "lib/poolparty/core/metaid.rb", "lib/poolparty/core/module.rb", "lib/poolparty/core/my_open_struct.rb", "lib/poolparty/core/object.rb", "lib/poolparty/core/proc.rb", "lib/poolparty/core/string.rb", "lib/poolparty/core/symbol.rb", "lib/poolparty/core/time.rb", "lib/poolparty/dependency_resolutions/base.rb", "lib/poolparty/dependency_resolutions/puppet.rb", "lib/poolparty/exceptions/CloudNotFoundException.rb", "lib/poolparty/exceptions/LoadRulesException.rb", "lib/poolparty/exceptions/MasterException.rb", "lib/poolparty/exceptions/RemoteException.rb", "lib/poolparty/exceptions/ResourceException.rb", "lib/poolparty/exceptions/RuntimeException.rb", "lib/poolparty/exceptions/SpecException.rb", "lib/poolparty/exceptions/TemplateNotFound.rb", "lib/poolparty/exceptions/UnacceptableCommand.rb", "lib/poolparty/helpers/binary.rb", "lib/poolparty/helpers/console.rb", "lib/poolparty/helpers/display.rb", "lib/poolparty/helpers/optioner.rb", "lib/poolparty/helpers/provisioner_base.rb", "lib/poolparty/helpers/provisioners/master.rb", "lib/poolparty/helpers/provisioners/slave.rb", "lib/poolparty/modules/cloud_dsl.rb", "lib/poolparty/modules/cloud_resourcer.rb", "lib/poolparty/modules/configurable.rb", "lib/poolparty/modules/definable_resource.rb", "lib/poolparty/modules/file_writer.rb", "lib/poolparty/modules/method_missing_sugar.rb", "lib/poolparty/modules/output.rb", "lib/poolparty/modules/pretty_printer.rb", "lib/poolparty/modules/resourcing_dsl.rb", "lib/poolparty/modules/s3_string.rb", "lib/poolparty/modules/safe_instance.rb", "lib/poolparty/modules/thread_pool.rb", "lib/poolparty/monitors/base_monitor.rb", "lib/poolparty/monitors/monitors/cpu_monitor.rb", "lib/poolparty/monitors/monitors/memory_monitor.rb", "lib/poolparty/monitors/monitors/web_monitor.rb", "lib/poolparty/net/messenger.rb", "lib/poolparty/net/remote.rb", "lib/poolparty/net/remote_bases/ec2.rb", "lib/poolparty/net/remote_bases/ec2/ec2_response_object.rb", "lib/poolparty/net/remote_instance.rb", "lib/poolparty/net/remoter.rb", "lib/poolparty/net/remoter_base.rb", "lib/poolparty/plugins/deploydirectory.rb", "lib/poolparty/plugins/git.rb", "lib/poolparty/plugins/line.rb", "lib/poolparty/plugins/rsyncmirror.rb", "lib/poolparty/plugins/runit.rb", "lib/poolparty/plugins/svn.rb", "lib/poolparty/pool/base.rb", "lib/poolparty/pool/cloud.rb", "lib/poolparty/pool/custom_resource.rb", "lib/poolparty/pool/loggable.rb", "lib/poolparty/pool/plugin.rb", "lib/poolparty/pool/plugin_model.rb", "lib/poolparty/pool/pool.rb", "lib/poolparty/pool/resource.rb", "lib/poolparty/pool/resources/class_package.rb", "lib/poolparty/pool/resources/conditional.rb", "lib/poolparty/pool/resources/cron.rb", "lib/poolparty/pool/resources/custom_service.rb", "lib/poolparty/pool/resources/directory.rb", "lib/poolparty/pool/resources/exec.rb", "lib/poolparty/pool/resources/file.rb", "lib/poolparty/pool/resources/gem_package.rb", "lib/poolparty/pool/resources/host.rb", "lib/poolparty/pool/resources/mount.rb", "lib/poolparty/pool/resources/package.rb", "lib/poolparty/pool/resources/remote_file.rb", "lib/poolparty/pool/resources/service.rb", "lib/poolparty/pool/resources/sshkey.rb", "lib/poolparty/pool/resources/symlink.rb", "lib/poolparty/pool/resources/variable.rb", "lib/poolparty/pool/script.rb", "lib/poolparty/templates/authkeys", "lib/poolparty/templates/cib.xml", "lib/poolparty/templates/gem", "lib/poolparty/templates/ha.cf", "lib/poolparty/templates/haproxy.conf", "lib/poolparty/templates/haresources", "lib/poolparty/templates/messenger/client/log-run.erb", "lib/poolparty/templates/messenger/client/run.erb", "lib/poolparty/templates/messenger/master/log-run.erb", "lib/poolparty/templates/messenger/master/run.erb", "lib/poolparty/templates/messenger/node/log-run.erb", "lib/poolparty/templates/messenger/node/run.erb", "lib/poolparty/templates/namespaceauth.conf", "lib/poolparty/templates/poolparty.monitor", "lib/poolparty/templates/puppet.conf", "lib/poolparty/templates/puppetcleaner", "lib/poolparty/templates/puppetrerun", "lib/poolparty/templates/puppetrunner", "lib/poolparty/templates/yaws.conf", "lib/poolparty/version.rb", "lib/poolpartycl.rb", "log/pool.logs", "poolparty.gemspec", "script/destroy", "script/generate", "script/txt2html", "setup.rb", "spec/poolparty/aska/aska_spec.rb", "spec/poolparty/base_packages/haproxy_spec.rb", "spec/poolparty/base_packages/heartbeat_spec.rb", "spec/poolparty/bin/console_spec.rb", "spec/poolparty/core/array_spec.rb", "spec/poolparty/core/float.rb", "spec/poolparty/core/hash_spec.rb", "spec/poolparty/core/kernel_spec.rb", "spec/poolparty/core/module_spec.rb", "spec/poolparty/core/object_spec.rb", "spec/poolparty/core/string_spec.rb", "spec/poolparty/core/time_spec.rb", "spec/poolparty/dependency_resolutions/base_spec.rb", "spec/poolparty/helpers/binary_spec.rb", "spec/poolparty/helpers/display_spec.rb", "spec/poolparty/helpers/optioner_spec.rb", "spec/poolparty/helpers/provisioner_base_spec.rb", "spec/poolparty/helpers/provisioners/master_spec.rb", "spec/poolparty/helpers/provisioners/slave_spec.rb", "spec/poolparty/modules/cloud_resourcer_spec.rb", "spec/poolparty/modules/configurable_spec.rb", "spec/poolparty/modules/definable_resource.rb", "spec/poolparty/modules/file_writer_spec.rb", "spec/poolparty/modules/s3_string_spec.rb", "spec/poolparty/monitors/base_monitor_spec.rb", "spec/poolparty/monitors/monitors/cpu_monitor_spec.rb", "spec/poolparty/monitors/monitors/memory_monitor_spec.rb", "spec/poolparty/net/messenger_spec.rb", "spec/poolparty/net/remote_bases/ec2_spec.rb", "spec/poolparty/net/remote_instance_spec.rb", "spec/poolparty/net/remote_spec.rb", "spec/poolparty/net/remoter_base_spec.rb", "spec/poolparty/net/remoter_spec.rb", "spec/poolparty/plugins/deploydirectory_spec.rb", "spec/poolparty/plugins/git_spec.rb", "spec/poolparty/plugins/line_spec.rb", "spec/poolparty/plugins/svn_spec.rb", "spec/poolparty/pool/base_spec.rb", "spec/poolparty/pool/cloud_spec.rb", "spec/poolparty/pool/configurers/files/ruby_basic.rb", "spec/poolparty/pool/configurers/files/ruby_plugins.rb", "spec/poolparty/pool/configurers/ruby_spec.rb", "spec/poolparty/pool/custom_resource_spec.rb", "spec/poolparty/pool/example_spec.rb", "spec/poolparty/pool/plugin_model_spec.rb", "spec/poolparty/pool/plugin_spec.rb", "spec/poolparty/pool/pool_spec.rb", "spec/poolparty/pool/resource_spec.rb", "spec/poolparty/pool/resources/class_package_spec.rb", "spec/poolparty/pool/resources/conditional_spec.rb", "spec/poolparty/pool/resources/cron_spec.rb", "spec/poolparty/pool/resources/directory_spec.rb", "spec/poolparty/pool/resources/exec_spec.rb", "spec/poolparty/pool/resources/file_spec.rb", "spec/poolparty/pool/resources/gem_spec.rb", "spec/poolparty/pool/resources/host_spec.rb", "spec/poolparty/pool/resources/package_spec.rb", "spec/poolparty/pool/resources/remote_file_spec.rb", "spec/poolparty/pool/resources/service_spec.rb", "spec/poolparty/pool/resources/sshkey_spec.rb", "spec/poolparty/pool/resources/symlink_spec.rb", "spec/poolparty/pool/resources/variable_spec.rb", "spec/poolparty/pool/script_spec.rb", "spec/poolparty/pool/test_plugins/sshkey_test", "spec/poolparty/pool/test_plugins/virtual_host_template.erb", "spec/poolparty/pool/test_plugins/webserver.rb", "spec/poolparty/poolparty_spec.rb", "spec/poolparty/spec_helper.rb", "tasks/cloud.rake", "tasks/deployment.rake", "tasks/development.rake", "tasks/ec2.rake", "tasks/environment.rake", "tasks/instance.rake", "tasks/server.rake", "tasks/spec.rake", "tasks/website.rake", "test/test_generator_helper.rb", "test/test_helper.rb", "test/test_pool_spec_generator.rb", "test/test_poolparty.rb", "test_manifest.pp", "website/index.html", "website/index.txt", "website/javascripts/rounded_corners_lite.inc.js", "website/stylesheets/code.css", "website/stylesheets/screen.css", "website/template.html.erb"]
14
+ s.files = ["History.txt", "License.txt", "Manifest.txt", "PostInstall.txt", "README.txt", "Rakefile", "bin/cloud", "bin/cloud-add-keypair", "bin/cloud-configure", "bin/cloud-contract", "bin/cloud-ensure-provisioning", "bin/cloud-expand", "bin/cloud-handle-load", "bin/cloud-list", "bin/cloud-maintain", "bin/cloud-osxcopy", "bin/cloud-provision", "bin/cloud-refresh", "bin/cloud-run", "bin/cloud-ssh", "bin/cloud-start", "bin/cloud-stats", "bin/cloud-terminate", "bin/messenger-get-current-nodes", "bin/pool", "bin/pool-console", "bin/pool-describe", "bin/pool-generate", "bin/pool-init", "bin/pool-list", "bin/pool-start", "bin/server-build-messenger", "bin/server-fire-cmd", "bin/server-get-load", "bin/server-list-active", "bin/server-list-responding", "bin/server-rerun", "bin/server-send-command", "bin/server-show-stats", "bin/server-start-client", "bin/server-start-master", "bin/server-start-node", "bin/server-stop-client", "bin/server-stop-master", "bin/server-stop-node", "bin/server-update-hosts", "config/hoe.rb", "config/requirements.rb", "examples/basic.rb", "examples/plugin_without_plugin_directory.rb", "examples/poolparty.rb", "generators/poolspec/USAGE", "generators/poolspec/poolspec_generator.rb", "generators/poolspec/templates/pool_spec_template.erb", "lib/erlang/messenger/Emakefile", "lib/erlang/messenger/README", "lib/erlang/messenger/Rakefile", "lib/erlang/messenger/control", "lib/erlang/messenger/ebin/client.app", "lib/erlang/messenger/ebin/master.app", "lib/erlang/messenger/ebin/node.app", "lib/erlang/messenger/ebin/packager.app", "lib/erlang/messenger/ebin/pm_client_rel-0.1.rel", "lib/erlang/messenger/ebin/pm_master_rel-0.1.rel", "lib/erlang/messenger/ebin/pm_node_rel-0.1.rel", "lib/erlang/messenger/include/defines.hrl", "lib/erlang/messenger/lib/eunit/.svn/all-wcprops", "lib/erlang/messenger/lib/eunit/.svn/entries", "lib/erlang/messenger/lib/eunit/.svn/format", "lib/erlang/messenger/lib/eunit/.svn/prop-base/NOTES.svn-base", "lib/erlang/messenger/lib/eunit/.svn/text-base/AUTHORS.svn-base", "lib/erlang/messenger/lib/eunit/.svn/text-base/CHANGELOG.svn-base", "lib/erlang/messenger/lib/eunit/.svn/text-base/COPYING.svn-base", "lib/erlang/messenger/lib/eunit/.svn/text-base/NOTES.svn-base", "lib/erlang/messenger/lib/eunit/.svn/text-base/README.svn-base", "lib/erlang/messenger/lib/eunit/.svn/text-base/sys.config.svn-base", "lib/erlang/messenger/lib/eunit/.svn/text-base/vsn.mk.svn-base", "lib/erlang/messenger/lib/eunit/AUTHORS", "lib/erlang/messenger/lib/eunit/CHANGELOG", "lib/erlang/messenger/lib/eunit/COPYING", "lib/erlang/messenger/lib/eunit/NOTES", "lib/erlang/messenger/lib/eunit/README", "lib/erlang/messenger/lib/eunit/doc/.svn/all-wcprops", "lib/erlang/messenger/lib/eunit/doc/.svn/entries", "lib/erlang/messenger/lib/eunit/doc/.svn/format", "lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/erlang.png.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/eunit.html.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/index.html.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/modules-frame.html.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/overview-summary.html.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/packages-frame.html.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/text-base/edoc-info.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/text-base/erlang.png.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/text-base/eunit.html.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/text-base/index.html.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/text-base/modules-frame.html.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview-summary.html.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview.edoc.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/text-base/packages-frame.html.svn-base", "lib/erlang/messenger/lib/eunit/doc/.svn/text-base/stylesheet.css.svn-base", "lib/erlang/messenger/lib/eunit/doc/edoc-info", "lib/erlang/messenger/lib/eunit/doc/erlang.png", "lib/erlang/messenger/lib/eunit/doc/eunit.html", "lib/erlang/messenger/lib/eunit/doc/index.html", "lib/erlang/messenger/lib/eunit/doc/modules-frame.html", "lib/erlang/messenger/lib/eunit/doc/overview-summary.html", "lib/erlang/messenger/lib/eunit/doc/overview.edoc", "lib/erlang/messenger/lib/eunit/doc/packages-frame.html", "lib/erlang/messenger/lib/eunit/doc/stylesheet.css", "lib/erlang/messenger/lib/eunit/ebin/.svn/all-wcprops", "lib/erlang/messenger/lib/eunit/ebin/.svn/dir-prop-base", "lib/erlang/messenger/lib/eunit/ebin/.svn/entries", "lib/erlang/messenger/lib/eunit/ebin/.svn/format", "lib/erlang/messenger/lib/eunit/ebin/eunit.app", "lib/erlang/messenger/lib/eunit/ebin/eunit.appup", "lib/erlang/messenger/lib/eunit/examples/.svn/all-wcprops", "lib/erlang/messenger/lib/eunit/examples/.svn/entries", "lib/erlang/messenger/lib/eunit/examples/.svn/format", "lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/eunit_examples.erl.svn-base", "lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/fib.erl.svn-base", "lib/erlang/messenger/lib/eunit/examples/.svn/text-base/eunit_examples.erl.svn-base", "lib/erlang/messenger/lib/eunit/examples/.svn/text-base/fib.erl.svn-base", "lib/erlang/messenger/lib/eunit/examples/.svn/text-base/tests.txt.svn-base", "lib/erlang/messenger/lib/eunit/examples/eunit_examples.erl", "lib/erlang/messenger/lib/eunit/examples/fib.erl", "lib/erlang/messenger/lib/eunit/examples/tests.txt", "lib/erlang/messenger/lib/eunit/include/.svn/all-wcprops", "lib/erlang/messenger/lib/eunit/include/.svn/entries", "lib/erlang/messenger/lib/eunit/include/.svn/format", "lib/erlang/messenger/lib/eunit/include/.svn/prop-base/eunit.hrl.svn-base", "lib/erlang/messenger/lib/eunit/include/.svn/text-base/eunit.hrl.svn-base", "lib/erlang/messenger/lib/eunit/include/eunit.hrl", "lib/erlang/messenger/lib/eunit/src/.svn/all-wcprops", "lib/erlang/messenger/lib/eunit/src/.svn/entries", "lib/erlang/messenger/lib/eunit/src/.svn/format", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/autoload.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/code_monitor.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_autoexport.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_data.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_internal.hrl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_lib.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_proc.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_serial.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_server.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_striptests.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_test.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tests.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tty.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/prop-base/file_monitor.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/autoload.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/code_monitor.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.app.src.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.appup.src.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_autoexport.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_data.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_internal.hrl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_lib.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_proc.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_serial.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_server.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_striptests.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_test.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tests.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tty.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/.svn/text-base/file_monitor.erl.svn-base", "lib/erlang/messenger/lib/eunit/src/autoload.erl", "lib/erlang/messenger/lib/eunit/src/code_monitor.erl", "lib/erlang/messenger/lib/eunit/src/eunit.app.src", "lib/erlang/messenger/lib/eunit/src/eunit.appup.src", "lib/erlang/messenger/lib/eunit/src/eunit.erl", "lib/erlang/messenger/lib/eunit/src/eunit_autoexport.erl", "lib/erlang/messenger/lib/eunit/src/eunit_data.erl", "lib/erlang/messenger/lib/eunit/src/eunit_internal.hrl", "lib/erlang/messenger/lib/eunit/src/eunit_lib.erl", "lib/erlang/messenger/lib/eunit/src/eunit_proc.erl", "lib/erlang/messenger/lib/eunit/src/eunit_serial.erl", "lib/erlang/messenger/lib/eunit/src/eunit_server.erl", "lib/erlang/messenger/lib/eunit/src/eunit_striptests.erl", "lib/erlang/messenger/lib/eunit/src/eunit_test.erl", "lib/erlang/messenger/lib/eunit/src/eunit_tests.erl", "lib/erlang/messenger/lib/eunit/src/eunit_tty.erl", "lib/erlang/messenger/lib/eunit/src/file_monitor.erl", "lib/erlang/messenger/lib/eunit/sys.config", "lib/erlang/messenger/lib/eunit/vsn.mk", "lib/erlang/messenger/pm_client_rel-0.1.boot", "lib/erlang/messenger/pm_client_rel-0.1.script", "lib/erlang/messenger/pm_master_rel-0.1.boot", "lib/erlang/messenger/pm_master_rel-0.1.script", "lib/erlang/messenger/pm_node_rel-0.1.boot", "lib/erlang/messenger/pm_node_rel-0.1.script", "lib/erlang/messenger/src/client_app.erl", "lib/erlang/messenger/src/client_server.erl", "lib/erlang/messenger/src/master_app.erl", "lib/erlang/messenger/src/node_app.erl", "lib/erlang/messenger/src/pm_client.erl", "lib/erlang/messenger/src/pm_client_old.erl", "lib/erlang/messenger/src/pm_client_supervisor.erl", "lib/erlang/messenger/src/pm_cluster.erl", "lib/erlang/messenger/src/pm_event_manager.erl", "lib/erlang/messenger/src/pm_master.erl", "lib/erlang/messenger/src/pm_master_event_handler.erl", "lib/erlang/messenger/src/pm_master_supervisor.erl", "lib/erlang/messenger/src/pm_node.erl", "lib/erlang/messenger/src/pm_node_supervisor.erl", "lib/erlang/messenger/src/pm_packager.erl", "lib/erlang/messenger/src/pm_strings.erl", "lib/erlang/messenger/src/utils.erl", "lib/erlang/messenger/useful_snippets", "lib/poolparty.rb", "lib/poolparty/aska/aska.rb", "lib/poolparty/base_packages/haproxy.rb", "lib/poolparty/base_packages/heartbeat.rb", "lib/poolparty/base_packages/poolparty.rb", "lib/poolparty/base_packages/ruby.rb", "lib/poolparty/base_packages/runit.rb", "lib/poolparty/config/postlaunchmessage.txt", "lib/poolparty/core/array.rb", "lib/poolparty/core/class.rb", "lib/poolparty/core/exception.rb", "lib/poolparty/core/float.rb", "lib/poolparty/core/hash.rb", "lib/poolparty/core/kernel.rb", "lib/poolparty/core/metaid.rb", "lib/poolparty/core/module.rb", "lib/poolparty/core/my_open_struct.rb", "lib/poolparty/core/object.rb", "lib/poolparty/core/proc.rb", "lib/poolparty/core/string.rb", "lib/poolparty/core/symbol.rb", "lib/poolparty/core/time.rb", "lib/poolparty/dependency_resolutions/base.rb", "lib/poolparty/dependency_resolutions/puppet.rb", "lib/poolparty/exceptions/CloudNotFoundException.rb", "lib/poolparty/exceptions/LoadRulesException.rb", "lib/poolparty/exceptions/MasterException.rb", "lib/poolparty/exceptions/RemoteException.rb", "lib/poolparty/exceptions/ResourceException.rb", "lib/poolparty/exceptions/RuntimeException.rb", "lib/poolparty/exceptions/SpecException.rb", "lib/poolparty/exceptions/TemplateNotFound.rb", "lib/poolparty/exceptions/UnacceptableCommand.rb", "lib/poolparty/helpers/binary.rb", "lib/poolparty/helpers/console.rb", "lib/poolparty/helpers/display.rb", "lib/poolparty/helpers/nice_printer.rb", "lib/poolparty/helpers/optioner.rb", "lib/poolparty/helpers/provisioner_base.rb", "lib/poolparty/helpers/provisioners/master.rb", "lib/poolparty/helpers/provisioners/slave.rb", "lib/poolparty/modules/cloud_dsl.rb", "lib/poolparty/modules/cloud_resourcer.rb", "lib/poolparty/modules/configurable.rb", "lib/poolparty/modules/definable_resource.rb", "lib/poolparty/modules/file_writer.rb", "lib/poolparty/modules/method_missing_sugar.rb", "lib/poolparty/modules/output.rb", "lib/poolparty/modules/pretty_printer.rb", "lib/poolparty/modules/resourcing_dsl.rb", "lib/poolparty/modules/s3_string.rb", "lib/poolparty/modules/safe_instance.rb", "lib/poolparty/modules/thread_pool.rb", "lib/poolparty/monitors/base_monitor.rb", "lib/poolparty/monitors/monitors/cpu_monitor.rb", "lib/poolparty/monitors/monitors/memory_monitor.rb", "lib/poolparty/monitors/monitors/web_monitor.rb", "lib/poolparty/net/messenger.rb", "lib/poolparty/net/remote.rb", "lib/poolparty/net/remote_bases/ec2.rb", "lib/poolparty/net/remote_bases/ec2/ec2_response_object.rb", "lib/poolparty/net/remote_instance.rb", "lib/poolparty/net/remoter.rb", "lib/poolparty/net/remoter_base.rb", "lib/poolparty/plugins/deploydirectory.rb", "lib/poolparty/plugins/line.rb", "lib/poolparty/plugins/rsyncmirror.rb", "lib/poolparty/plugins/runit.rb", "lib/poolparty/plugins/svn.rb", "lib/poolparty/pool/base.rb", "lib/poolparty/pool/cloud.rb", "lib/poolparty/pool/custom_resource.rb", "lib/poolparty/pool/loggable.rb", "lib/poolparty/pool/plugin.rb", "lib/poolparty/pool/plugin_model.rb", "lib/poolparty/pool/pool.rb", "lib/poolparty/pool/resource.rb", "lib/poolparty/pool/resources/class_package.rb", "lib/poolparty/pool/resources/conditional.rb", "lib/poolparty/pool/resources/cron.rb", "lib/poolparty/pool/resources/custom_service.rb", "lib/poolparty/pool/resources/directory.rb", "lib/poolparty/pool/resources/exec.rb", "lib/poolparty/pool/resources/file.rb", "lib/poolparty/pool/resources/gem_package.rb", "lib/poolparty/pool/resources/host.rb", "lib/poolparty/pool/resources/mount.rb", "lib/poolparty/pool/resources/package.rb", "lib/poolparty/pool/resources/remote_file.rb", "lib/poolparty/pool/resources/service.rb", "lib/poolparty/pool/resources/sshkey.rb", "lib/poolparty/pool/resources/symlink.rb", "lib/poolparty/pool/resources/variable.rb", "lib/poolparty/pool/script.rb", "lib/poolparty/templates/authkeys", "lib/poolparty/templates/cib.xml", "lib/poolparty/templates/gem", "lib/poolparty/templates/ha.cf", "lib/poolparty/templates/haproxy.conf", "lib/poolparty/templates/haresources", "lib/poolparty/templates/messenger/client/log-run.erb", "lib/poolparty/templates/messenger/client/run.erb", "lib/poolparty/templates/messenger/master/log-run.erb", "lib/poolparty/templates/messenger/master/run.erb", "lib/poolparty/templates/messenger/node/log-run.erb", "lib/poolparty/templates/messenger/node/run.erb", "lib/poolparty/templates/namespaceauth.conf", "lib/poolparty/templates/poolparty.monitor", "lib/poolparty/templates/puppet.conf", "lib/poolparty/templates/puppetcleaner", "lib/poolparty/templates/puppetrerun", "lib/poolparty/templates/puppetrunner", "lib/poolparty/templates/yaws.conf", "lib/poolparty/version.rb", "lib/poolpartycl.rb", "log/pool.logs", "poolparty.gemspec", "script/destroy", "script/generate", "script/txt2html", "setup.rb", "spec/poolparty/aska/aska_spec.rb", "spec/poolparty/base_packages/haproxy_spec.rb", "spec/poolparty/base_packages/heartbeat_spec.rb", "spec/poolparty/bin/console_spec.rb", "spec/poolparty/core/array_spec.rb", "spec/poolparty/core/float.rb", "spec/poolparty/core/hash_spec.rb", "spec/poolparty/core/kernel_spec.rb", "spec/poolparty/core/module_spec.rb", "spec/poolparty/core/object_spec.rb", "spec/poolparty/core/string_spec.rb", "spec/poolparty/core/time_spec.rb", "spec/poolparty/dependency_resolutions/base_spec.rb", "spec/poolparty/helpers/binary_spec.rb", "spec/poolparty/helpers/display_spec.rb", "spec/poolparty/helpers/optioner_spec.rb", "spec/poolparty/helpers/provisioner_base_spec.rb", "spec/poolparty/helpers/provisioners/master_spec.rb", "spec/poolparty/helpers/provisioners/slave_spec.rb", "spec/poolparty/modules/cloud_resourcer_spec.rb", "spec/poolparty/modules/configurable_spec.rb", "spec/poolparty/modules/definable_resource.rb", "spec/poolparty/modules/file_writer_spec.rb", "spec/poolparty/modules/s3_string_spec.rb", "spec/poolparty/monitors/base_monitor_spec.rb", "spec/poolparty/monitors/monitors/cpu_monitor_spec.rb", "spec/poolparty/monitors/monitors/memory_monitor_spec.rb", "spec/poolparty/net/messenger_spec.rb", "spec/poolparty/net/remote_bases/ec2_spec.rb", "spec/poolparty/net/remote_instance_spec.rb", "spec/poolparty/net/remote_spec.rb", "spec/poolparty/net/remoter_base_spec.rb", "spec/poolparty/net/remoter_spec.rb", "spec/poolparty/plugins/deploydirectory_spec.rb", "spec/poolparty/plugins/line_spec.rb", "spec/poolparty/plugins/svn_spec.rb", "spec/poolparty/pool/base_spec.rb", "spec/poolparty/pool/cloud_spec.rb", "spec/poolparty/pool/configurers/files/ruby_basic.rb", "spec/poolparty/pool/configurers/files/ruby_plugins.rb", "spec/poolparty/pool/configurers/ruby_spec.rb", "spec/poolparty/pool/custom_resource_spec.rb", "spec/poolparty/pool/example_spec.rb", "spec/poolparty/pool/plugin_model_spec.rb", "spec/poolparty/pool/plugin_spec.rb", "spec/poolparty/pool/pool_spec.rb", "spec/poolparty/pool/resource_spec.rb", "spec/poolparty/pool/resources/class_package_spec.rb", "spec/poolparty/pool/resources/conditional_spec.rb", "spec/poolparty/pool/resources/cron_spec.rb", "spec/poolparty/pool/resources/directory_spec.rb", "spec/poolparty/pool/resources/exec_spec.rb", "spec/poolparty/pool/resources/file_spec.rb", "spec/poolparty/pool/resources/gem_spec.rb", "spec/poolparty/pool/resources/host_spec.rb", "spec/poolparty/pool/resources/package_spec.rb", "spec/poolparty/pool/resources/remote_file_spec.rb", "spec/poolparty/pool/resources/service_spec.rb", "spec/poolparty/pool/resources/sshkey_spec.rb", "spec/poolparty/pool/resources/symlink_spec.rb", "spec/poolparty/pool/resources/variable_spec.rb", "spec/poolparty/pool/script_spec.rb", "spec/poolparty/pool/test_plugins/sshkey_test", "spec/poolparty/pool/test_plugins/virtual_host_template.erb", "spec/poolparty/pool/test_plugins/webserver.rb", "spec/poolparty/poolparty_spec.rb", "spec/poolparty/spec_helper.rb", "tasks/cloud.rake", "tasks/deployment.rake", "tasks/development.rake", "tasks/ec2.rake", "tasks/environment.rake", "tasks/instance.rake", "tasks/server.rake", "tasks/spec.rake", "tasks/website.rake", "test/test_generator_helper.rb", "test/test_helper.rb", "test/test_pool_spec_generator.rb", "test/test_poolparty.rb", "website/index.html", "website/index.txt", "website/javascripts/rounded_corners_lite.inc.js", "website/stylesheets/code.css", "website/stylesheets/screen.css", "website/template.html.erb"]
13
15
  s.has_rdoc = true
14
16
  s.homepage = %q{http://poolparty.rubyforge.org}
15
- s.post_install_message = %q{Get ready to jump in the pool, you just installed PoolParty!
17
+ s.post_install_message = %q{Get ready to jump in the pool, you just installed PoolParty! (Updated at 11/19/08)
16
18
 
17
19
  To get started, run the generator:
18
20
 
@@ -29,12 +31,12 @@ Don't forget to check out the plugin tutorial @ http://poolpartyrb.com to extend
29
31
  For more information, check http://PoolPartyrb.com or visit us on IRC at:
30
32
  irc.freenode.net
31
33
  #poolpartyrb
32
-
34
+
33
35
  *** Ari Lerner @ <arilerner@mac.com> ***}
34
36
  s.rdoc_options = ["--main", "README.txt"]
35
37
  s.require_paths = ["lib"]
36
38
  s.rubyforge_project = %q{poolparty}
37
- s.rubygems_version = %q{1.2.0}
39
+ s.rubygems_version = %q{1.3.1}
38
40
  s.summary = %q{Self-healing, auto-scaling system administration, provisioning and maintaining tool that makes cloud computing fun and easy}
39
41
  s.test_files = ["test/test_generator_helper.rb", "test/test_helper.rb", "test/test_pool_spec_generator.rb", "test/test_poolparty.rb"]
40
42
 
@@ -42,21 +44,21 @@ For more information, check http://PoolPartyrb.com or visit us on IRC at:
42
44
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
43
45
  s.specification_version = 2
44
46
 
45
- if current_version >= 3 then
47
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
46
48
  s.add_runtime_dependency(%q<activesupport>, [">= 0"])
47
49
  s.add_runtime_dependency(%q<logging>, [">= 0"])
48
50
  s.add_runtime_dependency(%q<ruby2ruby>, [">= 0"])
49
- s.add_development_dependency(%q<hoe>, [">= 1.8.2"])
51
+ s.add_development_dependency(%q<hoe>, [">= 1.8.0"])
50
52
  else
51
53
  s.add_dependency(%q<activesupport>, [">= 0"])
52
54
  s.add_dependency(%q<logging>, [">= 0"])
53
55
  s.add_dependency(%q<ruby2ruby>, [">= 0"])
54
- s.add_dependency(%q<hoe>, [">= 1.8.2"])
56
+ s.add_dependency(%q<hoe>, [">= 1.8.0"])
55
57
  end
56
58
  else
57
59
  s.add_dependency(%q<activesupport>, [">= 0"])
58
60
  s.add_dependency(%q<logging>, [">= 0"])
59
61
  s.add_dependency(%q<ruby2ruby>, [">= 0"])
60
- s.add_dependency(%q<hoe>, [">= 1.8.2"])
62
+ s.add_dependency(%q<hoe>, [">= 1.8.0"])
61
63
  end
62
64
  end