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/test_manifest.pp DELETED
@@ -1,658 +0,0 @@
1
-
2
- # conditional
3
-
4
- # $hostname == master
5
- case $hostname {
6
- master : {
7
- # Variables
8
-
9
- $ha_nodenames = generate('/usr/bin/env', '/var/lib/gems/1.8/bin/server-list-active', '-c', 'name')
10
- $ha_node_ips = generate('/usr/bin/env', '/var/lib/gems/1.8/bin/server-list-active', '-c', 'ip')
11
- $ha_timeout = '5s'
12
- $ha_port = '80'
13
-
14
- # exec
15
-
16
-
17
- exec {
18
- "heartbeat-update-cib":
19
- command => '/usr/sbin/cibadmin -R -x /etc/ha.d/cib.xml',
20
- path => '/usr/bin:/bin:/usr/local/bin:$PATH',
21
- refreshonly => true
22
- }
23
-
24
-
25
- # package
26
-
27
-
28
- # heartbeat-2
29
- class heartbeat-2 {
30
-
31
- # remotefile
32
-
33
-
34
- file {
35
- "/etc/ha.d/ha.cf":
36
- ensure => 'present',
37
- require => Package['heartbeat-2'],
38
- mode => 444,
39
- name => '/etc/ha.d/ha.cf',
40
- notify => Service["heartbeat"],
41
- content => template("ha.cf"),
42
- owner => 'root'
43
- }
44
-
45
-
46
- file {
47
- "/etc/ha.d/authkeys":
48
- ensure => 'present',
49
- require => Package['heartbeat-2'],
50
- mode => 400,
51
- name => '/etc/ha.d/authkeys',
52
- notify => Service["heartbeat"],
53
- content => template("authkeys"),
54
- owner => 'root'
55
- }
56
-
57
-
58
- file {
59
- "/etc/ha.d/cib.xml":
60
- ensure => 'present',
61
- require => Package['heartbeat-2'],
62
- mode => 444,
63
- name => '/etc/ha.d/cib.xml',
64
- notify => Exec["heartbeat-update-cib"],
65
- content => template("cib.xml"),
66
- owner => 'root'
67
- }
68
-
69
-
70
- # service
71
-
72
-
73
- service {
74
- "heartbeat":
75
- enable => true,
76
- hasstatus => true,
77
- ensure => 'running',
78
- require => Package['heartbeat-2'],
79
- name => 'heartbeat'
80
- }
81
-
82
- }
83
-
84
- include heartbeat-2
85
- package {
86
- "heartbeat-2":
87
- ensure => 'present',
88
- name => 'heartbeat-2'
89
- }
90
- }
91
- default : {}
92
- }
93
- # $hostname == master
94
- case $hostname {
95
- master : {
96
- # exec
97
-
98
-
99
- exec {
100
- "update pem for heartbeat":
101
- command => 'scp /etc/puppet/ssl/ca/ca_crl.pem root@192.168.0.1:/etc/puppet/ssl/ca',
102
- path => '/usr/bin:/bin:/usr/local/bin:$PATH',
103
- refreshonly => true
104
- }
105
- }
106
- default : {}
107
- }
108
- # $hostname == master
109
- case $hostname {
110
- master : {
111
- # Variables
112
-
113
- $name_haproxy = 'test'
114
- $nodenames_haproxy = generate('/usr/bin/env', '/var/lib/gems/1.8/bin/server-list-active', '-c', 'name')
115
- $node_ips_haproxy = generate('/usr/bin/env', '/var/lib/gems/1.8/bin/server-list-active', '-c', 'ip')
116
- $ports_haproxy = [ '80' ]
117
- $forwarding_port = '8080'
118
- $proxy_mode = 'http'
119
-
120
- # remotefile
121
-
122
-
123
- file {
124
- "/etc/haproxy.cfg":
125
- ensure => 'present',
126
- require => Package["haproxy"],
127
- mode => 644,
128
- name => '/etc/haproxy.cfg',
129
- notify => Service["haproxy"],
130
- content => template("haproxy.conf"),
131
- owner => 'root'
132
- }
133
-
134
-
135
- # call_function
136
-
137
- line {
138
- '/etc/default/haproxy_line' :
139
- file => '/etc/default/haproxy',
140
- line => 'ENABLED=1',
141
-
142
- ensure => 'present'
143
- }
144
-
145
- line {
146
- '/etc/default/syslogd_line' :
147
- file => '/etc/default/syslogd',
148
- line => 'SYSLOGD="-r"',
149
-
150
- ensure => 'present'
151
- }
152
-
153
- line {
154
- '/etc/syslog.conf_line' :
155
- file => '/etc/syslog.conf',
156
- line => 'local0.* /var/log/haproxy.log',
157
- notify => Service["sysklogd"],
158
- ensure => 'present'
159
- }
160
-
161
-
162
- # package
163
-
164
-
165
- package {
166
- "haproxy":
167
- ensure => 'installed',
168
- name => 'haproxy'
169
- }
170
-
171
-
172
- # service
173
-
174
-
175
- service {
176
- "sysklogd":
177
- enable => true,
178
- ensure => [ 'running', 'running' ],
179
- name => 'sysklogd'
180
- }
181
-
182
-
183
- service {
184
- "haproxy":
185
- enable => true,
186
- ensure => 'running',
187
- name => 'haproxy'
188
- }
189
- }
190
- default : {}
191
- }
192
- # $hostname == master
193
- case $hostname {
194
- master : {
195
- # exec
196
-
197
-
198
- exec {
199
- ". /etc/profile && server-start-master":
200
- path => '/usr/bin:/bin:/usr/local/bin:$PATH'
201
- }
202
-
203
-
204
- # cron
205
-
206
-
207
- cron {
208
- "":
209
- command => '. /etc/profile && which cloud-maintain | /bin/sh',
210
- ensure => 'present',
211
- minute => '*/3',
212
- user => 'root'
213
- }
214
- }
215
- default : {}
216
- }
217
- # heartbeat
218
- class heartbeat {
219
-
220
- }
221
-
222
- include heartbeat
223
- # haproxy
224
- class haproxy {
225
-
226
- }
227
-
228
- include haproxy
229
- # ruby
230
- class ruby {
231
-
232
- # call_function
233
-
234
- line {
235
- '/etc/profile_line' :
236
- file => '/etc/profile',
237
- line => 'export PATH=$PATH:/var/lib/gems/1.8/bin:/sbin',
238
-
239
- ensure => 'present'
240
- }
241
-
242
-
243
- # package
244
-
245
-
246
- package {
247
- "libreadline-ruby1.8":
248
- ensure => 'present',
249
- name => 'libreadline-ruby1.8'
250
- }
251
-
252
-
253
- package {
254
- "libruby1.8":
255
- ensure => 'present',
256
- name => 'libruby1.8'
257
- }
258
-
259
-
260
- package {
261
- "ruby1.8-dev":
262
- ensure => 'present',
263
- name => 'ruby1.8-dev'
264
- }
265
-
266
-
267
- package {
268
- "ruby1.8":
269
- ensure => 'present',
270
- name => 'ruby1.8'
271
- }
272
-
273
- }
274
-
275
- include ruby
276
- # poolparty
277
- class poolparty {
278
-
279
- # host
280
-
281
-
282
- host {
283
- "master":
284
- ensure => 'present',
285
- name => 'master',
286
- ip => '192.168.0.1'
287
- }
288
-
289
-
290
- host {
291
- "node1":
292
- ensure => 'present',
293
- name => 'node1',
294
- ip => '192.168.0.1'
295
- }
296
-
297
-
298
- # cron
299
-
300
-
301
- cron {
302
- "puppetd runner":
303
- command => '. /etc/profile && /usr/sbin/puppetd --onetime --no-daemonize --logdest syslog --server master 2>&1',
304
- ensure => 'present',
305
- name => 'puppetd runner',
306
- minute => [ 0, 15, 30, 45 ],
307
- user => 'root'
308
- }
309
-
310
-
311
- # package
312
-
313
-
314
- package {
315
- "erlang":
316
- ensure => 'present',
317
- name => 'erlang'
318
- }
319
-
320
-
321
- package {
322
- "erlang-dev":
323
- ensure => 'present',
324
- name => 'erlang-dev'
325
- }
326
-
327
-
328
- package {
329
- "erlang-src":
330
- ensure => 'present',
331
- name => 'erlang-src'
332
- }
333
-
334
-
335
- # rubygems
336
- class rubygems {
337
-
338
- # gempackage
339
-
340
-
341
- # logging
342
- class logging {
343
-
344
- # exec
345
-
346
-
347
- exec {
348
- "logging":
349
- command => 'gem install -y --no-ri --no-rdoc logging',
350
- require => Package['rubygems'],
351
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
352
- cwd => '/tmp',
353
- unless => 'gem list --local logging | grep logging '
354
- }
355
-
356
- }
357
-
358
- include logging
359
-
360
-
361
- # xml-simple
362
- class xml-simple {
363
-
364
- # exec
365
-
366
-
367
- exec {
368
- "xml-simple":
369
- command => 'gem install -y --no-ri --no-rdoc xml-simple',
370
- require => Package['rubygems'],
371
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
372
- cwd => '/tmp',
373
- unless => 'gem list --local xml-simple | grep xml-simple '
374
- }
375
-
376
-
377
- # gempackage
378
-
379
-
380
- # grempe-amazon-ec2
381
- class grempe-amazon-ec2 {
382
-
383
- # exec
384
-
385
-
386
- exec {
387
- "grempe-amazon-ec2":
388
- command => 'gem install -y --no-ri --no-rdoc --source http://gems.github.com grempe-amazon-ec2',
389
- require => Exec['xml-simple'],
390
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
391
- cwd => '/tmp',
392
- unless => 'gem list --local grempe-amazon-ec2 | grep grempe-amazon-ec2 '
393
- }
394
-
395
- }
396
-
397
- include grempe-amazon-ec2
398
-
399
- }
400
-
401
- include xml-simple
402
-
403
-
404
- # rake
405
- class rake {
406
-
407
- # exec
408
-
409
-
410
- exec {
411
- "rake":
412
- command => 'gem install -y --no-ri --no-rdoc rake',
413
- require => Package['rubygems'],
414
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
415
- cwd => '/tmp',
416
- unless => 'gem list --local rake | grep rake '
417
- }
418
-
419
- }
420
-
421
- include rake
422
-
423
-
424
- # hoe
425
- class hoe {
426
-
427
- # exec
428
-
429
-
430
- exec {
431
- "hoe":
432
- command => 'gem install -y --no-ri --no-rdoc hoe',
433
- require => Package['rubygems'],
434
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
435
- cwd => '/tmp',
436
- unless => 'gem list --local hoe | grep hoe '
437
- }
438
-
439
-
440
- # gempackage
441
-
442
-
443
- # open4
444
- class open4 {
445
-
446
- # exec
447
-
448
-
449
- exec {
450
- "open4":
451
- command => 'gem install -y --no-ri --no-rdoc open4',
452
- require => Exec['hoe'],
453
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
454
- cwd => '/tmp',
455
- unless => 'gem list --local open4 | grep open4 '
456
- }
457
-
458
- }
459
-
460
- include open4
461
-
462
-
463
- # ParseTree
464
- class parsetree {
465
-
466
- # exec
467
-
468
-
469
- exec {
470
- "ParseTree":
471
- command => 'gem install -y --no-ri --no-rdoc --version 2.2.0 ParseTree',
472
- require => Exec['hoe'],
473
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
474
- cwd => '/tmp',
475
- unless => 'gem list --local ParseTree | grep ParseTree | grep 2.2.0'
476
- }
477
-
478
-
479
- # gempackage
480
-
481
-
482
- # ruby2ruby
483
- class ruby2ruby {
484
-
485
- # exec
486
-
487
-
488
- exec {
489
- "ruby2ruby":
490
- command => 'gem install -y --no-ri --no-rdoc ruby2ruby',
491
- require => Exec['ParseTree'],
492
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
493
- cwd => '/tmp',
494
- unless => 'gem list --local ruby2ruby | grep ruby2ruby '
495
- }
496
-
497
- }
498
-
499
- include ruby2ruby
500
-
501
-
502
- # activesupport
503
- class activesupport {
504
-
505
- # exec
506
-
507
-
508
- exec {
509
- "activesupport":
510
- command => 'gem install -y --no-ri --no-rdoc activesupport',
511
- require => Exec['ParseTree'],
512
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
513
- cwd => '/tmp',
514
- unless => 'gem list --local activesupport | grep activesupport '
515
- }
516
-
517
-
518
- # gempackage
519
-
520
-
521
- # auser-poolparty
522
- class auser-poolparty {
523
-
524
- # exec
525
-
526
-
527
- exec {
528
- "build_messenger":
529
- command => '. /etc/profile && server-build-messenger',
530
- require => Exec['auser-poolparty'],
531
- path => '/usr/bin:/bin:/usr/local/bin:$PATH'
532
- }
533
-
534
-
535
- exec {
536
- "start_node":
537
- command => '. /etc/profile && server-start-node',
538
- require => [ Exec['auser-poolparty'], Exec["build_messenger"] ],
539
- path => '/usr/bin:/bin:/usr/local/bin:$PATH'
540
- }
541
-
542
-
543
- exec {
544
- "auser-poolparty":
545
- command => 'gem install -y --no-ri --no-rdoc --source http://gems.github.com auser-poolparty',
546
- require => Exec['activesupport'],
547
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
548
- cwd => '/tmp',
549
- unless => 'gem list --local auser-poolparty | grep auser-poolparty '
550
- }
551
-
552
- }
553
-
554
- include auser-poolparty
555
-
556
- }
557
-
558
- include activesupport
559
-
560
-
561
- # RubyInline
562
- class rubyinline {
563
-
564
- # exec
565
-
566
-
567
- exec {
568
- "RubyInline":
569
- command => 'gem install -y --no-ri --no-rdoc RubyInline',
570
- require => Exec['ParseTree'],
571
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
572
- cwd => '/tmp',
573
- unless => 'gem list --local RubyInline | grep RubyInline '
574
- }
575
-
576
- }
577
-
578
- include RubyInline
579
-
580
- }
581
-
582
- include ParseTree
583
-
584
- }
585
-
586
- include hoe
587
-
588
- }
589
-
590
- include rubygems
591
- package {
592
- "rubygems":
593
- ensure => 'present',
594
- name => 'rubygems'
595
- }
596
-
597
- }
598
-
599
- include poolparty
600
- # Custom functions
601
- define line($file, $line, $ensure = 'present', $notify=[]) {
602
- case $ensure {
603
- default: { err ( "unknown ensure value ${ensure}" ) }
604
- present: {
605
- exec {
606
- "/usr/bin/env echo '${line}' >> '${file}'": unless => "/usr/bin/env grep -qFx '${line}' '${file}'",
607
- notify => $notify
608
- }
609
- }
610
- absent: {
611
- exec {
612
- "/usr/bin/env sed -i '' -e '/^${line}$/d' '${file}'": onlyif => "/usr/bin/env grep -qFx '${line}' '${file}'",
613
- notify => $notify
614
- }
615
- }
616
- }
617
- }
618
- define append_if_no_such_line($file, $line, $refreshonly = 'false') {
619
- exec { "/bin/echo '$line' >> '$file'":
620
- unless => "/bin/grep -Fxqe '$line' '$file'",
621
- path => "/bin",
622
- refreshonly => $refreshonly,
623
- }
624
- }
625
-
626
- define delete_lines($file, $pattern) {
627
- exec { "sed -i -r -e '/$pattern/d' $file":
628
- path => "/bin",
629
- onlyif => "/bin/grep -E '$pattern' '$file'",
630
- }
631
- }
632
-
633
- # Serve subversion-based code from a local location. The job of this
634
- # module is to check the data out from subversion and keep it up to
635
- # date, especially useful for providing data to your Puppet server.
636
- define svnserve($source, $path, $user = false, $password = false) {
637
- file { $path:
638
- ensure => directory,
639
- owner => root,
640
- group => root
641
- }
642
- $svncmd = $user ? {
643
- false => "/usr/bin/svn co --non-interactive $source/$name .",
644
- default => "/usr/bin/svn co --non-interactive --username $user --password '$password' $source/$name ."
645
- }
646
- exec { "svnco-$name":
647
- command => $svncmd,
648
- cwd => $path,
649
- require => File[$path],
650
- creates => "$path/.svn"
651
- }
652
- exec { "svnupdate-$name":
653
- command => "/usr/bin/svn update",
654
- require => Exec["svnco-$name"],
655
- onlyif => '/usr/bin/svn status -u --non-interactive | /bin/grep "*"',
656
- cwd => $path
657
- }
658
- }