poolparty 0.2.18 → 0.2.69

Sign up to get free protection for your applications and to get access to all the features.
Files changed (335) hide show
  1. data/Manifest.txt +142 -47
  2. data/PostInstall.txt +5 -5
  3. data/README.txt +25 -4
  4. data/Rakefile +46 -2
  5. data/bin/cloud +12 -21
  6. data/bin/cloud-add-keypair +18 -13
  7. data/bin/cloud-configure +11 -18
  8. data/bin/cloud-contract +7 -17
  9. data/bin/cloud-ensure-provisioning +39 -0
  10. data/bin/cloud-expand +9 -17
  11. data/bin/cloud-handle-load +27 -0
  12. data/bin/cloud-list +3 -9
  13. data/bin/cloud-maintain +12 -18
  14. data/bin/cloud-osxcopy +3 -9
  15. data/bin/cloud-provision +20 -21
  16. data/bin/cloud-refresh +4 -13
  17. data/bin/cloud-run +3 -4
  18. data/bin/cloud-ssh +3 -2
  19. data/bin/cloud-start +18 -21
  20. data/bin/cloud-stats +17 -0
  21. data/bin/cloud-terminate +4 -7
  22. data/bin/messenger-get-current-nodes +14 -0
  23. data/bin/pool +12 -12
  24. data/bin/pool-describe +0 -1
  25. data/bin/{pool-spec → pool-generate} +1 -0
  26. data/bin/pool-init +28 -0
  27. data/bin/pool-list +14 -12
  28. data/bin/pool-start +11 -17
  29. data/bin/server-build-messenger +13 -6
  30. data/bin/server-fire-cmd +1 -1
  31. data/bin/server-get-load +5 -16
  32. data/bin/server-list-active +3 -10
  33. data/bin/server-rerun +4 -4
  34. data/bin/server-send-command +18 -0
  35. data/bin/server-show-stats +17 -0
  36. data/bin/server-start-client +29 -0
  37. data/bin/server-start-master +13 -14
  38. data/bin/server-start-node +14 -15
  39. data/bin/server-stop-client +3 -0
  40. data/bin/server-stop-master +3 -0
  41. data/bin/server-stop-node +3 -0
  42. data/bin/server-update-hosts +48 -0
  43. data/config/hoe.rb +4 -3
  44. data/examples/plugin_without_plugin_directory.rb +1 -2
  45. data/generators/poolspec/USAGE +2 -2
  46. data/generators/poolspec/poolspec_generator.rb +2 -1
  47. data/generators/poolspec/templates/pool_spec_template.erb +3 -2
  48. data/lib/erlang/messenger/Rakefile +12 -0
  49. data/lib/erlang/messenger/ebin/client.app +19 -0
  50. data/lib/erlang/messenger/ebin/master.app +1 -1
  51. data/lib/erlang/messenger/ebin/node.app +1 -1
  52. data/lib/erlang/messenger/ebin/pm_client_rel-0.1.rel +1 -0
  53. data/lib/erlang/messenger/ebin/pm_master_rel-0.1.rel +1 -1
  54. data/lib/erlang/messenger/ebin/pm_node_rel-0.1.rel +1 -1
  55. data/lib/erlang/messenger/include/defines.hrl +27 -0
  56. data/lib/erlang/messenger/lib/eunit/.svn/all-wcprops +53 -0
  57. data/lib/erlang/messenger/lib/eunit/.svn/entries +140 -0
  58. data/lib/erlang/messenger/lib/eunit/.svn/format +1 -0
  59. data/lib/erlang/messenger/lib/eunit/.svn/prop-base/NOTES.svn-base +5 -0
  60. data/lib/erlang/messenger/lib/eunit/.svn/text-base/AUTHORS.svn-base +2 -0
  61. data/lib/erlang/messenger/lib/eunit/.svn/text-base/CHANGELOG.svn-base +14 -0
  62. data/lib/erlang/messenger/lib/eunit/.svn/text-base/COPYING.svn-base +504 -0
  63. data/lib/erlang/messenger/lib/eunit/.svn/text-base/NOTES.svn-base +276 -0
  64. data/lib/erlang/messenger/lib/eunit/.svn/text-base/README.svn-base +3 -0
  65. data/lib/erlang/messenger/lib/eunit/.svn/text-base/sys.config.svn-base +9 -0
  66. data/lib/erlang/messenger/lib/eunit/.svn/text-base/vsn.mk.svn-base +1 -0
  67. data/lib/erlang/messenger/lib/eunit/doc/.svn/all-wcprops +59 -0
  68. data/lib/erlang/messenger/lib/eunit/doc/.svn/entries +142 -0
  69. data/lib/erlang/messenger/lib/eunit/doc/.svn/format +1 -0
  70. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/erlang.png.svn-base +5 -0
  71. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/eunit.html.svn-base +5 -0
  72. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/index.html.svn-base +5 -0
  73. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/modules-frame.html.svn-base +5 -0
  74. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/overview-summary.html.svn-base +5 -0
  75. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/packages-frame.html.svn-base +5 -0
  76. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/edoc-info.svn-base +3 -0
  77. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/erlang.png.svn-base +0 -0
  78. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/eunit.html.svn-base +172 -0
  79. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/index.html.svn-base +17 -0
  80. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/modules-frame.html.svn-base +12 -0
  81. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview-summary.html.svn-base +984 -0
  82. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview.edoc.svn-base +980 -0
  83. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/packages-frame.html.svn-base +11 -0
  84. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/stylesheet.css.svn-base +55 -0
  85. data/lib/erlang/messenger/lib/eunit/ebin/.svn/all-wcprops +5 -0
  86. data/lib/erlang/messenger/lib/eunit/ebin/.svn/dir-prop-base +8 -0
  87. data/lib/erlang/messenger/lib/eunit/ebin/.svn/entries +28 -0
  88. data/lib/erlang/messenger/lib/eunit/ebin/.svn/format +1 -0
  89. data/lib/erlang/messenger/lib/eunit/examples/.svn/all-wcprops +23 -0
  90. data/lib/erlang/messenger/lib/eunit/examples/.svn/entries +66 -0
  91. data/lib/erlang/messenger/lib/eunit/examples/.svn/format +1 -0
  92. data/lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/eunit_examples.erl.svn-base +5 -0
  93. data/lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/fib.erl.svn-base +5 -0
  94. data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/eunit_examples.erl.svn-base +339 -0
  95. data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/fib.erl.svn-base +19 -0
  96. data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/tests.txt.svn-base +1 -0
  97. data/lib/erlang/messenger/lib/eunit/include/.svn/all-wcprops +11 -0
  98. data/lib/erlang/messenger/lib/eunit/include/.svn/entries +41 -0
  99. data/lib/erlang/messenger/lib/eunit/include/.svn/format +1 -0
  100. data/lib/erlang/messenger/lib/eunit/include/.svn/prop-base/eunit.hrl.svn-base +5 -0
  101. data/lib/erlang/messenger/lib/eunit/include/.svn/text-base/eunit.hrl.svn-base +313 -0
  102. data/lib/erlang/messenger/lib/eunit/src/.svn/all-wcprops +113 -0
  103. data/lib/erlang/messenger/lib/eunit/src/.svn/entries +259 -0
  104. data/lib/erlang/messenger/lib/eunit/src/.svn/format +1 -0
  105. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/autoload.erl.svn-base +5 -0
  106. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/code_monitor.erl.svn-base +5 -0
  107. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit.erl.svn-base +5 -0
  108. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_autoexport.erl.svn-base +5 -0
  109. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_data.erl.svn-base +5 -0
  110. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_internal.hrl.svn-base +5 -0
  111. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_lib.erl.svn-base +5 -0
  112. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_proc.erl.svn-base +5 -0
  113. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_serial.erl.svn-base +5 -0
  114. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_server.erl.svn-base +5 -0
  115. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_striptests.erl.svn-base +5 -0
  116. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_test.erl.svn-base +5 -0
  117. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tests.erl.svn-base +5 -0
  118. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tty.erl.svn-base +5 -0
  119. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/file_monitor.erl.svn-base +5 -0
  120. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/autoload.erl.svn-base +388 -0
  121. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/code_monitor.erl.svn-base +243 -0
  122. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.app.src.svn-base +21 -0
  123. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.appup.src.svn-base +1 -0
  124. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.erl.svn-base +196 -0
  125. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_autoexport.erl.svn-base +102 -0
  126. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_data.erl.svn-base +798 -0
  127. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_internal.hrl.svn-base +48 -0
  128. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_lib.erl.svn-base +682 -0
  129. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_proc.erl.svn-base +552 -0
  130. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_serial.erl.svn-base +157 -0
  131. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_server.erl.svn-base +340 -0
  132. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_striptests.erl.svn-base +64 -0
  133. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_test.erl.svn-base +334 -0
  134. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tests.erl.svn-base +45 -0
  135. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tty.erl.svn-base +272 -0
  136. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/file_monitor.erl.svn-base +409 -0
  137. data/lib/erlang/messenger/pm_client_rel-0.1.boot +0 -0
  138. data/lib/erlang/messenger/pm_client_rel-0.1.script +238 -0
  139. data/lib/erlang/messenger/pm_master_rel-0.1.boot +0 -0
  140. data/lib/erlang/messenger/pm_master_rel-0.1.script +82 -85
  141. data/lib/erlang/messenger/pm_node_rel-0.1.boot +0 -0
  142. data/lib/erlang/messenger/pm_node_rel-0.1.script +80 -85
  143. data/lib/erlang/messenger/src/client_app.erl +39 -0
  144. data/lib/erlang/messenger/src/client_server.erl +60 -0
  145. data/lib/erlang/messenger/src/pm_client.erl +48 -18
  146. data/lib/erlang/messenger/src/pm_client_old.erl +52 -0
  147. data/lib/erlang/messenger/src/pm_client_supervisor.erl +38 -0
  148. data/lib/erlang/messenger/src/pm_cluster.erl +20 -16
  149. data/lib/erlang/messenger/src/pm_event_manager.erl +27 -0
  150. data/lib/erlang/messenger/src/pm_master.erl +126 -34
  151. data/lib/erlang/messenger/src/pm_master_event_handler.erl +72 -0
  152. data/lib/erlang/messenger/src/pm_master_supervisor.erl +9 -10
  153. data/lib/erlang/messenger/src/pm_node.erl +107 -30
  154. data/lib/erlang/messenger/src/pm_node_supervisor.erl +13 -15
  155. data/lib/erlang/messenger/src/pm_packager.erl +5 -2
  156. data/lib/erlang/messenger/src/pm_strings.erl +11 -0
  157. data/lib/erlang/messenger/src/utils.erl +43 -8
  158. data/lib/erlang/messenger/useful_snippets +17 -0
  159. data/lib/poolparty/aska/aska.rb +150 -0
  160. data/lib/poolparty/base_packages/haproxy.rb +19 -26
  161. data/lib/poolparty/base_packages/heartbeat.rb +48 -47
  162. data/lib/poolparty/base_packages/poolparty.rb +88 -36
  163. data/lib/poolparty/base_packages/runit.rb +21 -0
  164. data/lib/poolparty/config/postlaunchmessage.txt +5 -0
  165. data/lib/poolparty/core/array.rb +4 -1
  166. data/lib/poolparty/core/class.rb +2 -0
  167. data/lib/poolparty/core/exception.rb +2 -1
  168. data/lib/poolparty/core/hash.rb +2 -2
  169. data/lib/poolparty/core/kernel.rb +3 -3
  170. data/lib/poolparty/core/metaid.rb +15 -0
  171. data/lib/poolparty/core/object.rb +42 -2
  172. data/lib/poolparty/core/string.rb +21 -6
  173. data/lib/poolparty/core/symbol.rb +9 -0
  174. data/lib/poolparty/dependency_resolutions/puppet.rb +20 -7
  175. data/lib/poolparty/exceptions/CloudNotFoundException.rb +7 -0
  176. data/lib/poolparty/exceptions/LoadRulesException.rb +7 -0
  177. data/lib/poolparty/exceptions/MasterException.rb +10 -0
  178. data/lib/poolparty/helpers/binary.rb +37 -4
  179. data/lib/poolparty/helpers/console.rb +25 -8
  180. data/lib/poolparty/helpers/nice_printer.rb +36 -0
  181. data/lib/poolparty/helpers/optioner.rb +51 -16
  182. data/lib/poolparty/helpers/provisioner_base.rb +117 -28
  183. data/lib/poolparty/helpers/provisioners/master.rb +102 -35
  184. data/lib/poolparty/helpers/provisioners/slave.rb +25 -9
  185. data/lib/poolparty/modules/cloud_dsl.rb +13 -0
  186. data/lib/poolparty/modules/cloud_resourcer.rb +51 -8
  187. data/lib/poolparty/modules/configurable.rb +1 -1
  188. data/lib/poolparty/modules/definable_resource.rb +2 -2
  189. data/lib/poolparty/modules/file_writer.rb +37 -6
  190. data/lib/poolparty/modules/method_missing_sugar.rb +8 -3
  191. data/lib/poolparty/modules/pretty_printer.rb +1 -0
  192. data/lib/poolparty/modules/resourcing_dsl.rb +4 -2
  193. data/lib/poolparty/modules/thread_pool.rb +106 -0
  194. data/lib/poolparty/monitors/base_monitor.rb +65 -6
  195. data/lib/poolparty/monitors/monitors/cpu_monitor.rb +1 -1
  196. data/lib/poolparty/monitors/monitors/memory_monitor.rb +28 -1
  197. data/lib/poolparty/monitors/monitors/web_monitor.rb +18 -0
  198. data/lib/poolparty/net/messenger.rb +72 -0
  199. data/lib/poolparty/net/remote.rb +5 -2
  200. data/lib/poolparty/net/remote_bases/ec2/ec2_response_object.rb +66 -0
  201. data/lib/poolparty/net/remote_bases/ec2.rb +133 -131
  202. data/lib/poolparty/net/remote_instance.rb +28 -6
  203. data/lib/poolparty/net/remoter.rb +117 -64
  204. data/lib/poolparty/net/remoter_base.rb +49 -11
  205. data/lib/poolparty/plugins/deploydirectory.rb +66 -0
  206. data/lib/poolparty/plugins/line.rb +5 -4
  207. data/lib/poolparty/plugins/rsyncmirror.rb +26 -0
  208. data/lib/poolparty/plugins/runit.rb +96 -0
  209. data/lib/poolparty/plugins/svn.rb +1 -1
  210. data/lib/poolparty/pool/base.rb +47 -18
  211. data/lib/poolparty/pool/cloud.rb +121 -65
  212. data/lib/poolparty/pool/custom_resource.rb +4 -20
  213. data/lib/poolparty/pool/loggable.rb +3 -8
  214. data/lib/poolparty/pool/plugin.rb +14 -19
  215. data/lib/poolparty/pool/plugin_model.rb +8 -8
  216. data/lib/poolparty/pool/pool.rb +28 -11
  217. data/lib/poolparty/pool/resource.rb +109 -40
  218. data/lib/poolparty/pool/resources/class_package.rb +74 -33
  219. data/lib/poolparty/pool/resources/conditional.rb +32 -10
  220. data/lib/poolparty/pool/resources/custom_service.rb +30 -0
  221. data/lib/poolparty/pool/resources/exec.rb +6 -5
  222. data/lib/poolparty/pool/resources/gem_package.rb +52 -0
  223. data/lib/poolparty/pool/resources/mount.rb +22 -0
  224. data/lib/poolparty/pool/resources/package.rb +13 -3
  225. data/lib/poolparty/pool/resources/sshkey.rb +1 -1
  226. data/lib/poolparty/pool/resources/variable.rb +4 -0
  227. data/lib/poolparty/pool/script.rb +8 -6
  228. data/lib/poolparty/templates/haproxy.conf +1 -1
  229. data/lib/poolparty/templates/messenger/client/log-run.erb +2 -0
  230. data/lib/poolparty/templates/messenger/client/run.erb +4 -0
  231. data/lib/poolparty/templates/messenger/master/log-run.erb +2 -0
  232. data/lib/poolparty/templates/messenger/master/run.erb +4 -0
  233. data/lib/poolparty/templates/messenger/node/log-run.erb +2 -0
  234. data/lib/poolparty/templates/messenger/node/run.erb +4 -0
  235. data/lib/poolparty/templates/poolparty.monitor +1 -1
  236. data/lib/poolparty/templates/puppet.conf +0 -0
  237. data/lib/poolparty/templates/puppetcleaner +6 -0
  238. data/lib/poolparty/templates/puppetrerun +9 -0
  239. data/lib/poolparty/templates/puppetrunner +8 -0
  240. data/lib/poolparty/templates/yaws.conf +19 -0
  241. data/lib/poolparty/version.rb +1 -1
  242. data/lib/poolparty.rb +35 -6
  243. data/lib/poolpartycl.rb +4 -0
  244. data/log/pool.logs +0 -0
  245. data/poolparty.gemspec +574 -61
  246. data/spec/poolparty/aska/aska_spec.rb +122 -0
  247. data/spec/poolparty/bin/console_spec.rb +18 -0
  248. data/spec/poolparty/core/hash_spec.rb +4 -4
  249. data/spec/poolparty/core/object_spec.rb +29 -0
  250. data/spec/poolparty/core/string_spec.rb +6 -0
  251. data/spec/poolparty/core/time_spec.rb +0 -3
  252. data/spec/poolparty/helpers/binary_spec.rb +2 -2
  253. data/spec/poolparty/helpers/optioner_spec.rb +1 -4
  254. data/spec/poolparty/helpers/provisioner_base_spec.rb +14 -1
  255. data/spec/poolparty/helpers/provisioners/master_spec.rb +3 -3
  256. data/spec/poolparty/modules/cloud_resourcer_spec.rb +3 -3
  257. data/spec/poolparty/modules/configurable_spec.rb +4 -1
  258. data/spec/poolparty/monitors/base_monitor_spec.rb +94 -2
  259. data/spec/poolparty/monitors/monitors/cpu_monitor_spec.rb +0 -1
  260. data/spec/poolparty/monitors/monitors/memory_monitor_spec.rb +47 -0
  261. data/spec/poolparty/{helpers → net}/messenger_spec.rb +3 -1
  262. data/spec/poolparty/net/remote_bases/ec2_spec.rb +46 -5
  263. data/spec/poolparty/net/remote_instance_spec.rb +2 -1
  264. data/spec/poolparty/net/remote_spec.rb +30 -8
  265. data/spec/poolparty/net/remoter_base_spec.rb +4 -1
  266. data/spec/poolparty/net/remoter_spec.rb +11 -108
  267. data/spec/poolparty/plugins/deploydirectory_spec.rb +51 -0
  268. data/spec/poolparty/pool/base_spec.rb +43 -33
  269. data/spec/poolparty/pool/cloud_spec.rb +299 -248
  270. data/spec/poolparty/pool/custom_resource_spec.rb +10 -5
  271. data/spec/poolparty/pool/example_spec.rb +0 -84
  272. data/spec/poolparty/pool/plugin_model_spec.rb +3 -2
  273. data/spec/poolparty/pool/plugin_spec.rb +89 -62
  274. data/spec/poolparty/pool/pool_spec.rb +17 -2
  275. data/spec/poolparty/pool/resource_spec.rb +341 -236
  276. data/spec/poolparty/pool/resources/class_package_spec.rb +102 -66
  277. data/spec/poolparty/pool/resources/conditional_spec.rb +65 -26
  278. data/spec/poolparty/pool/resources/cron_spec.rb +3 -2
  279. data/spec/poolparty/pool/resources/exec_spec.rb +1 -1
  280. data/spec/poolparty/pool/resources/gem_spec.rb +18 -14
  281. data/spec/poolparty/pool/resources/remote_file_spec.rb +1 -1
  282. data/spec/poolparty/pool/resources/variable_spec.rb +1 -1
  283. data/spec/poolparty/pool/script_spec.rb +58 -37
  284. data/spec/poolparty/pool/test_plugins/webserver.rb +1 -0
  285. data/spec/poolparty/spec_helper.rb +16 -5
  286. data/tasks/deployment.rake +19 -3
  287. data/tasks/development.rake +11 -2
  288. data/tasks/ec2.rake +9 -1
  289. data/website/index.html +2 -2
  290. metadata +167 -70
  291. data/bin/pool-provision +0 -34
  292. data/erl_crash.dump +0 -8409
  293. data/examples/with_apache_plugin.rb +0 -22
  294. data/lib/erlang/messenger/Makefile +0 -15
  295. data/lib/erlang/messenger/ebin/master_app.beam +0 -0
  296. data/lib/erlang/messenger/ebin/node_app.beam +0 -0
  297. data/lib/erlang/messenger/ebin/pm_client.beam +0 -0
  298. data/lib/erlang/messenger/ebin/pm_cluster.beam +0 -0
  299. data/lib/erlang/messenger/ebin/pm_event_handler.beam +0 -0
  300. data/lib/erlang/messenger/ebin/pm_master.beam +0 -0
  301. data/lib/erlang/messenger/ebin/pm_master_supervisor.beam +0 -0
  302. data/lib/erlang/messenger/ebin/pm_node.beam +0 -0
  303. data/lib/erlang/messenger/ebin/pm_node_supervisor.beam +0 -0
  304. data/lib/erlang/messenger/ebin/pm_packager.beam +0 -0
  305. data/lib/erlang/messenger/ebin/utils.beam +0 -0
  306. data/lib/erlang/messenger/lib/eunit/Makefile +0 -28
  307. data/lib/erlang/messenger/lib/eunit/ebin/autoload.beam +0 -0
  308. data/lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam +0 -0
  309. data/lib/erlang/messenger/lib/eunit/ebin/eunit.beam +0 -0
  310. data/lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam +0 -0
  311. data/lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam +0 -0
  312. data/lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam +0 -0
  313. data/lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam +0 -0
  314. data/lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam +0 -0
  315. data/lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam +0 -0
  316. data/lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam +0 -0
  317. data/lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam +0 -0
  318. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam +0 -0
  319. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam +0 -0
  320. data/lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam +0 -0
  321. data/lib/erlang/messenger/lib/eunit/src/Makefile +0 -46
  322. data/lib/erlang/messenger/src/pm_event_handler.erl +0 -21
  323. data/lib/poolparty/config/allowed_commands.yml +0 -1
  324. data/lib/poolparty/helpers/messenger.rb +0 -29
  325. data/lib/poolparty/plugins/git.rb +0 -39
  326. data/lib/poolparty/pool/resources/gem.rb +0 -28
  327. data/lib/poolparty/pool/tmp/.ppkeys +0 -3
  328. data/lib/poolparty/pool/tmp/happydayz +0 -1
  329. data/lib/poolparty/pool/tmp/install_master.sh +0 -33
  330. data/lib/poolparty/pool/tmp/pool.spec +0 -11
  331. data/lib/poolparty/pool/tmp/poolparty.pp +0 -600
  332. data/lib/poolparty/pool/tmp/tc-instances.list +0 -1
  333. data/lib/poolparty/templates/fileserver.conf +0 -4
  334. data/spec/poolparty/plugins/git_spec.rb +0 -33
  335. data/test_manifest.pp +0 -658
data/Manifest.txt CHANGED
@@ -8,7 +8,9 @@ bin/cloud
8
8
  bin/cloud-add-keypair
9
9
  bin/cloud-configure
10
10
  bin/cloud-contract
11
+ bin/cloud-ensure-provisioning
11
12
  bin/cloud-expand
13
+ bin/cloud-handle-load
12
14
  bin/cloud-list
13
15
  bin/cloud-maintain
14
16
  bin/cloud-osxcopy
@@ -17,13 +19,15 @@ bin/cloud-refresh
17
19
  bin/cloud-run
18
20
  bin/cloud-ssh
19
21
  bin/cloud-start
22
+ bin/cloud-stats
20
23
  bin/cloud-terminate
24
+ bin/messenger-get-current-nodes
21
25
  bin/pool
22
26
  bin/pool-console
23
27
  bin/pool-describe
28
+ bin/pool-generate
29
+ bin/pool-init
24
30
  bin/pool-list
25
- bin/pool-provision
26
- bin/pool-spec
27
31
  bin/pool-start
28
32
  bin/server-build-messenger
29
33
  bin/server-fire-cmd
@@ -31,45 +35,69 @@ bin/server-get-load
31
35
  bin/server-list-active
32
36
  bin/server-list-responding
33
37
  bin/server-rerun
38
+ bin/server-send-command
39
+ bin/server-show-stats
40
+ bin/server-start-client
34
41
  bin/server-start-master
35
42
  bin/server-start-node
43
+ bin/server-stop-client
44
+ bin/server-stop-master
45
+ bin/server-stop-node
46
+ bin/server-update-hosts
36
47
  config/hoe.rb
37
48
  config/requirements.rb
38
- erl_crash.dump
39
49
  examples/basic.rb
40
50
  examples/plugin_without_plugin_directory.rb
41
51
  examples/poolparty.rb
42
- examples/with_apache_plugin.rb
43
52
  generators/poolspec/USAGE
44
53
  generators/poolspec/poolspec_generator.rb
45
54
  generators/poolspec/templates/pool_spec_template.erb
46
55
  lib/erlang/messenger/Emakefile
47
- lib/erlang/messenger/Makefile
48
56
  lib/erlang/messenger/README
49
57
  lib/erlang/messenger/Rakefile
50
58
  lib/erlang/messenger/control
59
+ lib/erlang/messenger/ebin/client.app
51
60
  lib/erlang/messenger/ebin/master.app
52
- lib/erlang/messenger/ebin/master_app.beam
53
61
  lib/erlang/messenger/ebin/node.app
54
- lib/erlang/messenger/ebin/node_app.beam
55
62
  lib/erlang/messenger/ebin/packager.app
56
- lib/erlang/messenger/ebin/pm_client.beam
57
- lib/erlang/messenger/ebin/pm_cluster.beam
58
- lib/erlang/messenger/ebin/pm_event_handler.beam
59
- lib/erlang/messenger/ebin/pm_master.beam
63
+ lib/erlang/messenger/ebin/pm_client_rel-0.1.rel
60
64
  lib/erlang/messenger/ebin/pm_master_rel-0.1.rel
61
- lib/erlang/messenger/ebin/pm_master_supervisor.beam
62
- lib/erlang/messenger/ebin/pm_node.beam
63
65
  lib/erlang/messenger/ebin/pm_node_rel-0.1.rel
64
- lib/erlang/messenger/ebin/pm_node_supervisor.beam
65
- lib/erlang/messenger/ebin/pm_packager.beam
66
- lib/erlang/messenger/ebin/utils.beam
66
+ lib/erlang/messenger/include/defines.hrl
67
+ lib/erlang/messenger/lib/eunit/.svn/all-wcprops
68
+ lib/erlang/messenger/lib/eunit/.svn/entries
69
+ lib/erlang/messenger/lib/eunit/.svn/format
70
+ lib/erlang/messenger/lib/eunit/.svn/prop-base/NOTES.svn-base
71
+ lib/erlang/messenger/lib/eunit/.svn/text-base/AUTHORS.svn-base
72
+ lib/erlang/messenger/lib/eunit/.svn/text-base/CHANGELOG.svn-base
73
+ lib/erlang/messenger/lib/eunit/.svn/text-base/COPYING.svn-base
74
+ lib/erlang/messenger/lib/eunit/.svn/text-base/NOTES.svn-base
75
+ lib/erlang/messenger/lib/eunit/.svn/text-base/README.svn-base
76
+ lib/erlang/messenger/lib/eunit/.svn/text-base/sys.config.svn-base
77
+ lib/erlang/messenger/lib/eunit/.svn/text-base/vsn.mk.svn-base
67
78
  lib/erlang/messenger/lib/eunit/AUTHORS
68
79
  lib/erlang/messenger/lib/eunit/CHANGELOG
69
80
  lib/erlang/messenger/lib/eunit/COPYING
70
- lib/erlang/messenger/lib/eunit/Makefile
71
81
  lib/erlang/messenger/lib/eunit/NOTES
72
82
  lib/erlang/messenger/lib/eunit/README
83
+ lib/erlang/messenger/lib/eunit/doc/.svn/all-wcprops
84
+ lib/erlang/messenger/lib/eunit/doc/.svn/entries
85
+ lib/erlang/messenger/lib/eunit/doc/.svn/format
86
+ lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/erlang.png.svn-base
87
+ lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/eunit.html.svn-base
88
+ lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/index.html.svn-base
89
+ lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/modules-frame.html.svn-base
90
+ lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/overview-summary.html.svn-base
91
+ lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/packages-frame.html.svn-base
92
+ lib/erlang/messenger/lib/eunit/doc/.svn/text-base/edoc-info.svn-base
93
+ lib/erlang/messenger/lib/eunit/doc/.svn/text-base/erlang.png.svn-base
94
+ lib/erlang/messenger/lib/eunit/doc/.svn/text-base/eunit.html.svn-base
95
+ lib/erlang/messenger/lib/eunit/doc/.svn/text-base/index.html.svn-base
96
+ lib/erlang/messenger/lib/eunit/doc/.svn/text-base/modules-frame.html.svn-base
97
+ lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview-summary.html.svn-base
98
+ lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview.edoc.svn-base
99
+ lib/erlang/messenger/lib/eunit/doc/.svn/text-base/packages-frame.html.svn-base
100
+ lib/erlang/messenger/lib/eunit/doc/.svn/text-base/stylesheet.css.svn-base
73
101
  lib/erlang/messenger/lib/eunit/doc/edoc-info
74
102
  lib/erlang/messenger/lib/eunit/doc/erlang.png
75
103
  lib/erlang/messenger/lib/eunit/doc/eunit.html
@@ -79,27 +107,64 @@ lib/erlang/messenger/lib/eunit/doc/overview-summary.html
79
107
  lib/erlang/messenger/lib/eunit/doc/overview.edoc
80
108
  lib/erlang/messenger/lib/eunit/doc/packages-frame.html
81
109
  lib/erlang/messenger/lib/eunit/doc/stylesheet.css
82
- lib/erlang/messenger/lib/eunit/ebin/autoload.beam
83
- lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam
110
+ lib/erlang/messenger/lib/eunit/ebin/.svn/all-wcprops
111
+ lib/erlang/messenger/lib/eunit/ebin/.svn/dir-prop-base
112
+ lib/erlang/messenger/lib/eunit/ebin/.svn/entries
113
+ lib/erlang/messenger/lib/eunit/ebin/.svn/format
84
114
  lib/erlang/messenger/lib/eunit/ebin/eunit.app
85
115
  lib/erlang/messenger/lib/eunit/ebin/eunit.appup
86
- lib/erlang/messenger/lib/eunit/ebin/eunit.beam
87
- lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam
88
- lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam
89
- lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam
90
- lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam
91
- lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam
92
- lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam
93
- lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam
94
- lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam
95
- lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam
96
- lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam
97
- lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam
116
+ lib/erlang/messenger/lib/eunit/examples/.svn/all-wcprops
117
+ lib/erlang/messenger/lib/eunit/examples/.svn/entries
118
+ lib/erlang/messenger/lib/eunit/examples/.svn/format
119
+ lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/eunit_examples.erl.svn-base
120
+ lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/fib.erl.svn-base
121
+ lib/erlang/messenger/lib/eunit/examples/.svn/text-base/eunit_examples.erl.svn-base
122
+ lib/erlang/messenger/lib/eunit/examples/.svn/text-base/fib.erl.svn-base
123
+ lib/erlang/messenger/lib/eunit/examples/.svn/text-base/tests.txt.svn-base
98
124
  lib/erlang/messenger/lib/eunit/examples/eunit_examples.erl
99
125
  lib/erlang/messenger/lib/eunit/examples/fib.erl
100
126
  lib/erlang/messenger/lib/eunit/examples/tests.txt
127
+ lib/erlang/messenger/lib/eunit/include/.svn/all-wcprops
128
+ lib/erlang/messenger/lib/eunit/include/.svn/entries
129
+ lib/erlang/messenger/lib/eunit/include/.svn/format
130
+ lib/erlang/messenger/lib/eunit/include/.svn/prop-base/eunit.hrl.svn-base
131
+ lib/erlang/messenger/lib/eunit/include/.svn/text-base/eunit.hrl.svn-base
101
132
  lib/erlang/messenger/lib/eunit/include/eunit.hrl
102
- lib/erlang/messenger/lib/eunit/src/Makefile
133
+ lib/erlang/messenger/lib/eunit/src/.svn/all-wcprops
134
+ lib/erlang/messenger/lib/eunit/src/.svn/entries
135
+ lib/erlang/messenger/lib/eunit/src/.svn/format
136
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/autoload.erl.svn-base
137
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/code_monitor.erl.svn-base
138
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit.erl.svn-base
139
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_autoexport.erl.svn-base
140
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_data.erl.svn-base
141
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_internal.hrl.svn-base
142
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_lib.erl.svn-base
143
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_proc.erl.svn-base
144
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_serial.erl.svn-base
145
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_server.erl.svn-base
146
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_striptests.erl.svn-base
147
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_test.erl.svn-base
148
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tests.erl.svn-base
149
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tty.erl.svn-base
150
+ lib/erlang/messenger/lib/eunit/src/.svn/prop-base/file_monitor.erl.svn-base
151
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/autoload.erl.svn-base
152
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/code_monitor.erl.svn-base
153
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.app.src.svn-base
154
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.appup.src.svn-base
155
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.erl.svn-base
156
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_autoexport.erl.svn-base
157
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_data.erl.svn-base
158
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_internal.hrl.svn-base
159
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_lib.erl.svn-base
160
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_proc.erl.svn-base
161
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_serial.erl.svn-base
162
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_server.erl.svn-base
163
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_striptests.erl.svn-base
164
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_test.erl.svn-base
165
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tests.erl.svn-base
166
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tty.erl.svn-base
167
+ lib/erlang/messenger/lib/eunit/src/.svn/text-base/file_monitor.erl.svn-base
103
168
  lib/erlang/messenger/lib/eunit/src/autoload.erl
104
169
  lib/erlang/messenger/lib/eunit/src/code_monitor.erl
105
170
  lib/erlang/messenger/lib/eunit/src/eunit.app.src
@@ -119,32 +184,45 @@ lib/erlang/messenger/lib/eunit/src/eunit_tty.erl
119
184
  lib/erlang/messenger/lib/eunit/src/file_monitor.erl
120
185
  lib/erlang/messenger/lib/eunit/sys.config
121
186
  lib/erlang/messenger/lib/eunit/vsn.mk
187
+ lib/erlang/messenger/pm_client_rel-0.1.boot
188
+ lib/erlang/messenger/pm_client_rel-0.1.script
122
189
  lib/erlang/messenger/pm_master_rel-0.1.boot
123
190
  lib/erlang/messenger/pm_master_rel-0.1.script
124
191
  lib/erlang/messenger/pm_node_rel-0.1.boot
125
192
  lib/erlang/messenger/pm_node_rel-0.1.script
193
+ lib/erlang/messenger/src/client_app.erl
194
+ lib/erlang/messenger/src/client_server.erl
126
195
  lib/erlang/messenger/src/master_app.erl
127
196
  lib/erlang/messenger/src/node_app.erl
128
197
  lib/erlang/messenger/src/pm_client.erl
198
+ lib/erlang/messenger/src/pm_client_old.erl
199
+ lib/erlang/messenger/src/pm_client_supervisor.erl
129
200
  lib/erlang/messenger/src/pm_cluster.erl
130
- lib/erlang/messenger/src/pm_event_handler.erl
201
+ lib/erlang/messenger/src/pm_event_manager.erl
131
202
  lib/erlang/messenger/src/pm_master.erl
203
+ lib/erlang/messenger/src/pm_master_event_handler.erl
132
204
  lib/erlang/messenger/src/pm_master_supervisor.erl
133
205
  lib/erlang/messenger/src/pm_node.erl
134
206
  lib/erlang/messenger/src/pm_node_supervisor.erl
135
207
  lib/erlang/messenger/src/pm_packager.erl
208
+ lib/erlang/messenger/src/pm_strings.erl
136
209
  lib/erlang/messenger/src/utils.erl
210
+ lib/erlang/messenger/useful_snippets
137
211
  lib/poolparty.rb
212
+ lib/poolparty/aska/aska.rb
138
213
  lib/poolparty/base_packages/haproxy.rb
139
214
  lib/poolparty/base_packages/heartbeat.rb
140
215
  lib/poolparty/base_packages/poolparty.rb
141
216
  lib/poolparty/base_packages/ruby.rb
142
- lib/poolparty/config/allowed_commands.yml
217
+ lib/poolparty/base_packages/runit.rb
218
+ lib/poolparty/config/postlaunchmessage.txt
143
219
  lib/poolparty/core/array.rb
220
+ lib/poolparty/core/class.rb
144
221
  lib/poolparty/core/exception.rb
145
222
  lib/poolparty/core/float.rb
146
223
  lib/poolparty/core/hash.rb
147
224
  lib/poolparty/core/kernel.rb
225
+ lib/poolparty/core/metaid.rb
148
226
  lib/poolparty/core/module.rb
149
227
  lib/poolparty/core/my_open_struct.rb
150
228
  lib/poolparty/core/object.rb
@@ -154,6 +232,9 @@ lib/poolparty/core/symbol.rb
154
232
  lib/poolparty/core/time.rb
155
233
  lib/poolparty/dependency_resolutions/base.rb
156
234
  lib/poolparty/dependency_resolutions/puppet.rb
235
+ lib/poolparty/exceptions/CloudNotFoundException.rb
236
+ lib/poolparty/exceptions/LoadRulesException.rb
237
+ lib/poolparty/exceptions/MasterException.rb
157
238
  lib/poolparty/exceptions/RemoteException.rb
158
239
  lib/poolparty/exceptions/ResourceException.rb
159
240
  lib/poolparty/exceptions/RuntimeException.rb
@@ -163,11 +244,12 @@ lib/poolparty/exceptions/UnacceptableCommand.rb
163
244
  lib/poolparty/helpers/binary.rb
164
245
  lib/poolparty/helpers/console.rb
165
246
  lib/poolparty/helpers/display.rb
166
- lib/poolparty/helpers/messenger.rb
247
+ lib/poolparty/helpers/nice_printer.rb
167
248
  lib/poolparty/helpers/optioner.rb
168
249
  lib/poolparty/helpers/provisioner_base.rb
169
250
  lib/poolparty/helpers/provisioners/master.rb
170
251
  lib/poolparty/helpers/provisioners/slave.rb
252
+ lib/poolparty/modules/cloud_dsl.rb
171
253
  lib/poolparty/modules/cloud_resourcer.rb
172
254
  lib/poolparty/modules/configurable.rb
173
255
  lib/poolparty/modules/definable_resource.rb
@@ -178,16 +260,22 @@ lib/poolparty/modules/pretty_printer.rb
178
260
  lib/poolparty/modules/resourcing_dsl.rb
179
261
  lib/poolparty/modules/s3_string.rb
180
262
  lib/poolparty/modules/safe_instance.rb
263
+ lib/poolparty/modules/thread_pool.rb
181
264
  lib/poolparty/monitors/base_monitor.rb
182
265
  lib/poolparty/monitors/monitors/cpu_monitor.rb
183
266
  lib/poolparty/monitors/monitors/memory_monitor.rb
267
+ lib/poolparty/monitors/monitors/web_monitor.rb
268
+ lib/poolparty/net/messenger.rb
184
269
  lib/poolparty/net/remote.rb
185
270
  lib/poolparty/net/remote_bases/ec2.rb
271
+ lib/poolparty/net/remote_bases/ec2/ec2_response_object.rb
186
272
  lib/poolparty/net/remote_instance.rb
187
273
  lib/poolparty/net/remoter.rb
188
274
  lib/poolparty/net/remoter_base.rb
189
- lib/poolparty/plugins/git.rb
275
+ lib/poolparty/plugins/deploydirectory.rb
190
276
  lib/poolparty/plugins/line.rb
277
+ lib/poolparty/plugins/rsyncmirror.rb
278
+ lib/poolparty/plugins/runit.rb
191
279
  lib/poolparty/plugins/svn.rb
192
280
  lib/poolparty/pool/base.rb
193
281
  lib/poolparty/pool/cloud.rb
@@ -200,11 +288,13 @@ lib/poolparty/pool/resource.rb
200
288
  lib/poolparty/pool/resources/class_package.rb
201
289
  lib/poolparty/pool/resources/conditional.rb
202
290
  lib/poolparty/pool/resources/cron.rb
291
+ lib/poolparty/pool/resources/custom_service.rb
203
292
  lib/poolparty/pool/resources/directory.rb
204
293
  lib/poolparty/pool/resources/exec.rb
205
294
  lib/poolparty/pool/resources/file.rb
206
- lib/poolparty/pool/resources/gem.rb
295
+ lib/poolparty/pool/resources/gem_package.rb
207
296
  lib/poolparty/pool/resources/host.rb
297
+ lib/poolparty/pool/resources/mount.rb
208
298
  lib/poolparty/pool/resources/package.rb
209
299
  lib/poolparty/pool/resources/remote_file.rb
210
300
  lib/poolparty/pool/resources/service.rb
@@ -212,29 +302,34 @@ lib/poolparty/pool/resources/sshkey.rb
212
302
  lib/poolparty/pool/resources/symlink.rb
213
303
  lib/poolparty/pool/resources/variable.rb
214
304
  lib/poolparty/pool/script.rb
215
- lib/poolparty/pool/tmp/.ppkeys
216
- lib/poolparty/pool/tmp/happydayz
217
- lib/poolparty/pool/tmp/install_master.sh
218
- lib/poolparty/pool/tmp/pool.spec
219
- lib/poolparty/pool/tmp/poolparty.pp
220
- lib/poolparty/pool/tmp/tc-instances.list
221
305
  lib/poolparty/templates/authkeys
222
306
  lib/poolparty/templates/cib.xml
223
- lib/poolparty/templates/fileserver.conf
224
307
  lib/poolparty/templates/gem
225
308
  lib/poolparty/templates/ha.cf
226
309
  lib/poolparty/templates/haproxy.conf
227
310
  lib/poolparty/templates/haresources
311
+ lib/poolparty/templates/messenger/client/log-run.erb
312
+ lib/poolparty/templates/messenger/client/run.erb
313
+ lib/poolparty/templates/messenger/master/log-run.erb
314
+ lib/poolparty/templates/messenger/master/run.erb
315
+ lib/poolparty/templates/messenger/node/log-run.erb
316
+ lib/poolparty/templates/messenger/node/run.erb
228
317
  lib/poolparty/templates/namespaceauth.conf
229
318
  lib/poolparty/templates/poolparty.monitor
230
319
  lib/poolparty/templates/puppet.conf
320
+ lib/poolparty/templates/puppetcleaner
321
+ lib/poolparty/templates/puppetrerun
322
+ lib/poolparty/templates/puppetrunner
323
+ lib/poolparty/templates/yaws.conf
231
324
  lib/poolparty/version.rb
232
325
  lib/poolpartycl.rb
326
+ log/pool.logs
233
327
  poolparty.gemspec
234
328
  script/destroy
235
329
  script/generate
236
330
  script/txt2html
237
331
  setup.rb
332
+ spec/poolparty/aska/aska_spec.rb
238
333
  spec/poolparty/base_packages/haproxy_spec.rb
239
334
  spec/poolparty/base_packages/heartbeat_spec.rb
240
335
  spec/poolparty/bin/console_spec.rb
@@ -249,7 +344,6 @@ spec/poolparty/core/time_spec.rb
249
344
  spec/poolparty/dependency_resolutions/base_spec.rb
250
345
  spec/poolparty/helpers/binary_spec.rb
251
346
  spec/poolparty/helpers/display_spec.rb
252
- spec/poolparty/helpers/messenger_spec.rb
253
347
  spec/poolparty/helpers/optioner_spec.rb
254
348
  spec/poolparty/helpers/provisioner_base_spec.rb
255
349
  spec/poolparty/helpers/provisioners/master_spec.rb
@@ -261,12 +355,14 @@ spec/poolparty/modules/file_writer_spec.rb
261
355
  spec/poolparty/modules/s3_string_spec.rb
262
356
  spec/poolparty/monitors/base_monitor_spec.rb
263
357
  spec/poolparty/monitors/monitors/cpu_monitor_spec.rb
358
+ spec/poolparty/monitors/monitors/memory_monitor_spec.rb
359
+ spec/poolparty/net/messenger_spec.rb
264
360
  spec/poolparty/net/remote_bases/ec2_spec.rb
265
361
  spec/poolparty/net/remote_instance_spec.rb
266
362
  spec/poolparty/net/remote_spec.rb
267
363
  spec/poolparty/net/remoter_base_spec.rb
268
364
  spec/poolparty/net/remoter_spec.rb
269
- spec/poolparty/plugins/git_spec.rb
365
+ spec/poolparty/plugins/deploydirectory_spec.rb
270
366
  spec/poolparty/plugins/line_spec.rb
271
367
  spec/poolparty/plugins/svn_spec.rb
272
368
  spec/poolparty/pool/base_spec.rb
@@ -313,7 +409,6 @@ test/test_generator_helper.rb
313
409
  test/test_helper.rb
314
410
  test/test_pool_spec_generator.rb
315
411
  test/test_poolparty.rb
316
- test_manifest.pp
317
412
  website/index.html
318
413
  website/index.txt
319
414
  website/javascripts/rounded_corners_lite.inc.js
data/PostInstall.txt CHANGED
@@ -1,4 +1,4 @@
1
- Get ready to jump in the pool, you just installed poolpartyrb!
1
+ Get ready to jump in the pool, you just installed PoolParty! (Updated at 00:20 11/24/08)
2
2
 
3
3
  To get started, run the generator:
4
4
 
@@ -7,13 +7,13 @@ To get started, run the generator:
7
7
  Please check out the documentation for any questions or check out the google groups at
8
8
  http://groups.google.com/group/poolpartyrb
9
9
 
10
- Tutorials are at http://poolpartyrb.com
10
+ More tutorials can be found at
11
+ http://poolpartyrb.com
11
12
 
12
13
  Don't forget to check out the plugin tutorial @ http://poolpartyrb.com to extend PoolParty for your needs!
13
14
 
14
- For more information, check http://PoolPartyrb.com
15
- On IRC:
15
+ For more information, check http://PoolPartyrb.com or visit us on IRC at:
16
16
  irc.freenode.net
17
17
  #poolpartyrb
18
-
18
+
19
19
  *** Ari Lerner @ <arilerner@mac.com> ***
data/README.txt CHANGED
@@ -4,18 +4,30 @@ http://poolpartyrb.com
4
4
 
5
5
  == DESCRIPTION:
6
6
 
7
- COMING SOON
7
+ PoolParty makes it easy and simple to configure any cloud of computers. In clear language, describe your cloud
8
+ with language such as:
9
+
10
+ pool :cloud do
11
+ cloud :app do
12
+ apache do
13
+ has_virtualhost(:name => "/var/www/sites/poolpartyrb.com")
14
+ end
15
+ end
16
+ end
8
17
 
9
18
  == FEATURES/PROBLEMS:
10
19
 
11
- COMING SOON
20
+ * Written in Ruby and Erlang
21
+ * Written from the ground up to be extensible with plugins
22
+ * Easy git-style commands to communicate with your clouds
23
+ * Much much more
12
24
 
13
25
  == SYNOPSIS:
14
26
 
15
- poolparty is written with the intention of being as application-agnostic as possible. It installs only the basic
27
+ PoolParty is written with the intention of being as application-agnostic as possible. It installs only the basic
16
28
  required software to glue the cloud together on the instances as listed below.
17
29
 
18
- poolparty is easily configuration. In fact, it makes little assumptions about your development environment and allows
30
+ PoolParty is easily configuration. In fact, it makes little assumptions about your development environment and allows
19
31
  several options on how to begin configuring the cloud.
20
32
 
21
33
  == REQUIREMENTS:
@@ -26,6 +38,15 @@ COMING SOON
26
38
 
27
39
  sudo gem install auser-poolparty
28
40
 
41
+ == TODO:
42
+ * Rewrite the disallowed_options to whitelist allowed_options on resources
43
+ * Add pingback for nodes to master when failure occurs
44
+ * Add soft-stop to haproxy while reconfiguring
45
+ * Replace services with Runit
46
+ * Refactor provisioning to use erlang
47
+ * Add queuing of tasks on the messenger
48
+ * Add list of latest loads to the messenger
49
+
29
50
  == LICENSE:
30
51
 
31
52
  (The MIT License)
data/Rakefile CHANGED
@@ -5,7 +5,8 @@ Dir['tasks/**/*.rake'].each { |rake| load rake }
5
5
 
6
6
  desc "Clean tmp directory"
7
7
  task :clean_tmp do |t|
8
- %w(logs tmp ~).each do |dir|
8
+ %x[rm #{File.dirname(__FILE__)}/Manifest.txt; touch #{File.dirname(__FILE__)}/Manifest.txt]
9
+ %w(logs tmp).each do |dir|
9
10
  FileUtils.rm_rf("#{File.dirname(__FILE__)}/#{dir}") if ::File.exists?("#{File.dirname(__FILE__)}/#{dir}")
10
11
  end
11
12
  end
@@ -15,11 +16,54 @@ task :clean_pkg do |t|
15
16
  FileUtils.rm_rf("#{File.dirname(__FILE__)}/#{dir}") if ::File.exists?("#{File.dirname(__FILE__)}/#{dir}")
16
17
  end
17
18
  end
19
+
20
+ desc "Generate a new manifest and a new gem"
21
+ task :build_local_gem => [:clean_tmp, :spec, :clean_pkg, :"manifest:refresh", :package]
22
+
23
+ desc "Packge with timestamp"
24
+ task :update_timestamp do
25
+ data = open("PostInstall.txt").read
26
+ str = "Updated at #{Time.now.strftime("%H:%M %D")}"
27
+
28
+ if data.scan(/Updated at/).empty?
29
+ data = data ^ {:updated_at => str}
30
+ else
31
+ data = data.gsub(/just installed PoolParty\!(.*)$/, "just installed PoolParty! (#{str})")
32
+ end
33
+ ::File.open("PostInstall.txt", "w+") {|f| f << data }
34
+ end
35
+
36
+ desc "Release to github"
37
+ task :github_release => [:clean_tmp, :spec, :clean_pkg, :"manifest:refresh", :update_timestamp, :package] do
38
+ res = %x[rake debug_gem]
39
+ res = res.split("\n")[1..-1].join("\n")
40
+ ::File.open("#{GEM_NAME.downcase}.gemspec", "w+") do |f|
41
+ f << res
42
+ end
43
+ `mv #{::File.expand_path(::File.dirname(__FILE__))}/pkg/*.gem #{::File.expand_path(::File.dirname(__FILE__))}/pkg/poolparty.gem`
44
+ end
45
+
18
46
  desc "Generate gemspec"
19
- task :gemspec => [:spec, :clean_tmp, :"manifest:refresh", :local_deploy, :clean_pkg] do |t|
47
+ task :gemspec => [:spec, :clean_tmp, :"manifest:refresh", :build_local_gem] do |t|
20
48
  res = %x[rake debug_gem]
21
49
  res = res.split("\n")[1..-1].join("\n")
22
50
  ::File.open("#{GEM_NAME.downcase}.gemspec", "w+") do |f|
23
51
  f << res
24
52
  end
53
+ end
54
+
55
+ desc "Generate gemspec for github"
56
+ task :gh => [:github_release] do
57
+ filepath = ::File.join(::File.dirname(__FILE__), "poolparty.gemspec")
58
+ data = open(filepath).read
59
+ spec = eval("$SAFE = 3\n#{data}")
60
+ yml = YAML.dump spec
61
+ File.open(filepath, "w+") do |f|
62
+ f << yml
63
+ end
64
+ end
65
+
66
+ desc "Generate github gemspec and latest gem"
67
+ task :ghgem => [:gh] do
68
+ %x[sudo gem install pkg/poolparty.gem]
25
69
  end
data/bin/cloud CHANGED
@@ -3,28 +3,19 @@ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
3
  require "poolparty"
4
4
  require "poolpartycl"
5
5
 
6
- # # Get the git-style program action
7
- # o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
8
- # opts.on('-n [name]','--name [name]', 'Binary to run') { |o| optioner.name o }
9
- #
10
- # opts.banner = <<-EOB
11
- # Usage: cloud <specfile> <action> <options>
12
- # Cloud actions:
13
- # #{Binary.list_binaries_for("cloud")}
14
- # EOB
15
- # end
6
+ name = ARGV.select {|arg| arg if Binary.available_binaries_for("cloud").include?(arg) }.first
7
+ # If the options include -h and they don't include a valid command, then we can just pass the
8
+ # original options back, but if they do contain a binary, we don't want -h getting through to
9
+ # these options, so we'll strip it if it's included
10
+ DUP_ARG = ARGV.dup
11
+ new_args = DUP_ARG.map {|arg| DUP_ARG.delete(arg) unless help_array.include?(arg) || Binary.available_binaries_for("cloud").include?(arg) }
12
+ new_args = new_args.reject {|arg| Binary.available_binaries_for("cloud").include?(arg) }.empty? ? ARGV : (name ? (help_array.each {|arg| DUP_ARG.delete(arg)}; DUP_ARG) : DUP_ARG)
16
13
 
17
- name = ARGV.shift
14
+ # Let's make sure if no command is passed in that we show the help message
15
+ new_args.push("-h") unless name
18
16
 
19
- # If there was no program action given
20
- if !name || name == "-h" || name == "--help"
21
- puts "Binary required"
22
- puts <<-EOB
23
- Usage: cloud <specfile> <action> <options>
24
- Cloud actions:
25
- #{Binary.list_binaries_for("cloud")}
26
- EOB
27
- exit
17
+ o = PoolParty::Optioner.new(new_args, {:extra_help => "\nCloud actions\n#{Binary.list_binaries_for("cloud")}\n\n", :abstract => true}) do |opts, optioner|
18
+ opts.on('-n cloudname', '--name name', 'Address this cloud') { |c| optioner.cloudname c }
28
19
  end
29
20
 
30
21
  program_name = "#{File.basename($0)}-#{name}"
@@ -36,5 +27,5 @@ command_line = "#{program_location}"
36
27
  if Binary.available_binaries_for("cloud").include?(name)
37
28
  system command_line, *ARGV
38
29
  else
39
- puts "Unknown poolparty binary: #{program_name}"
30
+ puts "Unknown poolparty binary: #{name}"
40
31
  end
@@ -2,22 +2,27 @@
2
2
  $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
3
  require "poolparty"
4
4
  require "poolpartycl"
5
+
5
6
  o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
6
- opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
7
+ opts.on('-n name', '--name name', 'Add the keypair for cloud name') { |c| optioner.cloudname c }
8
+ opts.on('-l', '--listing', 'List the keypairs for the clouds') { optioner.listkeys true }
7
9
  end
8
- load_pool(o.spec || Binary.get_existing_spec_location)
9
-
10
- @location = o.location ? o.location : "remote"
11
-
12
- include Remote
13
10
 
14
- @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
15
-
16
- @clouds.each do |name, cloud|
11
+ if o.listkeys
12
+
13
+ puts "Cloud\t\tKeypair"
14
+ puts "--------------------------"
15
+ o.loaded_clouds.each do |cloud|
16
+ puts "#{cloud.name}\t--\t#{cloud.keypair}"
17
+ end
18
+
19
+ else
17
20
 
18
- with_cloud(cloud, {:location => @location}) do
19
- logger.info header("Creating keypair for #{name}")
20
- create_keypair unless testing
21
- end
21
+ o.loaded_clouds.each do |cloud|
22
+ with_cloud(cloud) do
23
+ vputs header("Creating keypair for #{name}")
24
+ create_keypair unless testing
25
+ end
26
+ end
22
27
 
23
28
  end
data/bin/cloud-configure CHANGED
@@ -2,30 +2,23 @@
2
2
  $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
3
  require "poolparty"
4
4
  require "poolpartycl"
5
+
5
6
  o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
6
- opts.on('-c [master|slaves|all]', '--class [master|slaves|all]', 'Provision class (default: all)') { |c| optioner.provision_class c }
7
- opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
7
+ opts.on('-n cloudname', '--name name', 'Start cloud by this name') { |c| optioner.cloudname c }
8
8
  end
9
- load_pool(o.spec || Binary.get_existing_spec_location)
10
-
11
- @provision_class = o.provision_class || "all"
12
-
13
- include Remote
14
-
15
- @clouds = o.cloudname ? {:cloud => cloud(o.cloudname.downcase.to_sym)} : clouds
16
9
 
17
- @clouds.each do |name, cloud|
10
+ o.loaded_clouds.each do |cloud|
18
11
 
19
- with_cloud(cloud, {:testing => o.testing, :location => @location, :provision_class => @provision_class}) do
12
+ with_cloud(cloud) do
20
13
 
21
- hide_output do
22
- if provision_class == "master" || provision_class == "all"
14
+ # hide_output do
15
+ # if provision_class == "master" || provision_class == "all"
23
16
  Provisioner.configure_master(self, testing)
24
- end
25
- if provision_class == "slave" || provision_class == "all"
26
- Provisioner.configure_slaves(self, testing)
27
- end
28
- end
17
+ # end
18
+ # if provision_class == "slave" || provision_class == "all"
19
+ # Provisioner.configure_slaves(self, testing)
20
+ # end
21
+ # end
29
22
  clear_base_directory unless testing
30
23
  end
31
24
  end