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
@@ -1,600 +0,0 @@
1
- class poolparty {
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
- owner => 'root',
37
- require => Package['heartbeat-2'],
38
- mode => 444,
39
- name => '/etc/ha.d/ha.cf',
40
- notify => Service["heartbeat"],
41
- ensure => 'present',
42
- content => template("ha.cf")
43
- }
44
-
45
-
46
- file {
47
- "/etc/ha.d/authkeys":
48
- owner => 'root',
49
- require => Package['heartbeat-2'],
50
- mode => 400,
51
- name => '/etc/ha.d/authkeys',
52
- notify => Service["heartbeat"],
53
- ensure => 'present',
54
- content => template("authkeys")
55
- }
56
-
57
-
58
- file {
59
- "/etc/ha.d/cib.xml":
60
- owner => 'root',
61
- require => Package['heartbeat-2'],
62
- mode => 444,
63
- name => '/etc/ha.d/cib.xml',
64
- notify => Exec["heartbeat-update-cib"],
65
- ensure => 'present',
66
- content => template("cib.xml")
67
- }
68
-
69
-
70
- # service
71
-
72
-
73
- service {
74
- "heartbeat":
75
- enable => true,
76
- hasstatus => true,
77
- require => Package['heartbeat-2'],
78
- name => 'heartbeat',
79
- ensure => 'running'
80
- }
81
-
82
- }
83
-
84
- include heartbeat-2
85
- package {
86
- "heartbeat-2":
87
- name => 'heartbeat-2',
88
- ensure => 'installed'
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 = 'app'
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
- owner => 'root',
126
- require => Package["haproxy"],
127
- mode => 644,
128
- name => '/etc/haproxy.cfg',
129
- notify => Service["haproxy"],
130
- ensure => 'present',
131
- content => template("haproxy.conf")
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
- name => 'haproxy',
168
- ensure => 'installed'
169
- }
170
-
171
-
172
- # service
173
-
174
-
175
- service {
176
- "sysklogd":
177
- enable => true,
178
- name => 'sysklogd',
179
- ensure => [ 'running', 'running' ]
180
- }
181
-
182
-
183
- service {
184
- "haproxy":
185
- enable => true,
186
- name => 'haproxy',
187
- ensure => 'running'
188
- }
189
- }
190
- default : {}
191
- }
192
- # $hostname == master
193
- case $hostname {
194
- master : {
195
- # cron
196
-
197
-
198
- cron {
199
- "":
200
- command => '. /etc/profile && which cloud-maintain | /bin/sh',
201
- minute => '*/3',
202
- user => 'root',
203
- ensure => 'present'
204
- }
205
- }
206
- default : {}
207
- }
208
- # heartbeat
209
- class heartbeat {
210
-
211
- }
212
-
213
- include heartbeat
214
- # haproxy
215
- class haproxy {
216
-
217
- }
218
-
219
- include haproxy
220
- # ruby
221
- class ruby {
222
-
223
- # call_function
224
-
225
- line {
226
- '/etc/profile_line' :
227
- file => '/etc/profile',
228
- line => 'export PATH=$PATH:/var/lib/gems/1.8/bin:/sbin',
229
-
230
- ensure => 'present'
231
- }
232
-
233
-
234
- # package
235
-
236
-
237
- package {
238
- "libreadline-ruby1.8":
239
- name => 'libreadline-ruby1.8',
240
- ensure => 'present'
241
- }
242
-
243
-
244
- package {
245
- "libruby1.8":
246
- name => 'libruby1.8',
247
- ensure => 'present'
248
- }
249
-
250
-
251
- package {
252
- "ruby1.8-dev":
253
- name => 'ruby1.8-dev',
254
- ensure => 'present'
255
- }
256
-
257
-
258
- package {
259
- "ruby1.8":
260
- name => 'ruby1.8',
261
- ensure => 'present'
262
- }
263
-
264
- }
265
-
266
- include ruby
267
- # poolparty
268
- class poolparty {
269
-
270
- # host
271
-
272
-
273
- host {
274
- "master":
275
- name => 'master',
276
- ip => '192.168.0.1',
277
- ensure => 'present'
278
- }
279
-
280
-
281
- host {
282
- "node1":
283
- name => 'node1',
284
- ip => '192.168.0.1',
285
- ensure => 'present'
286
- }
287
-
288
-
289
- # cron
290
-
291
-
292
- cron {
293
- "puppetd runner":
294
- command => '. /etc/profile && /usr/sbin/puppetd --onetime --no-daemonize --logdest syslog --server master 2>&1',
295
- name => 'puppetd runner',
296
- minute => [ 0, 15, 30, 45 ],
297
- user => 'root',
298
- ensure => 'present'
299
- }
300
-
301
-
302
- # package
303
-
304
-
305
- package {
306
- "erlang":
307
- name => 'erlang',
308
- ensure => 'present'
309
- }
310
-
311
-
312
- # rubygems
313
- class rubygems {
314
-
315
- # gempackage
316
-
317
-
318
- # logging
319
- class logging {
320
-
321
- # exec
322
-
323
-
324
- exec {
325
- "logging":
326
- command => 'gem install -y --no-ri --no-rdoc logging',
327
- cwd => '/tmp',
328
- require => Package['rubygems'],
329
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
330
- unless => 'gem list --local logging | grep logging '
331
- }
332
-
333
- }
334
-
335
- include logging
336
-
337
-
338
- # xml-simple
339
- class xml-simple {
340
-
341
- # exec
342
-
343
-
344
- exec {
345
- "xml-simple":
346
- command => 'gem install -y --no-ri --no-rdoc xml-simple',
347
- cwd => '/tmp',
348
- require => Package['rubygems'],
349
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
350
- unless => 'gem list --local xml-simple | grep xml-simple '
351
- }
352
-
353
-
354
- # gempackage
355
-
356
-
357
- # grempe-amazon-ec2
358
- class grempe-amazon-ec2 {
359
-
360
- # exec
361
-
362
-
363
- exec {
364
- "grempe-amazon-ec2":
365
- command => 'gem install -y --no-ri --no-rdoc --source http://gems.github.com grempe-amazon-ec2',
366
- cwd => '/tmp',
367
- require => Exec['xml-simple'],
368
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
369
- unless => 'gem list --local grempe-amazon-ec2 | grep grempe-amazon-ec2 '
370
- }
371
-
372
- }
373
-
374
- include grempe-amazon-ec2
375
-
376
- }
377
-
378
- include xml-simple
379
-
380
-
381
- # hoe
382
- class hoe {
383
-
384
- # exec
385
-
386
-
387
- exec {
388
- "hoe":
389
- command => 'gem install -y --no-ri --no-rdoc hoe',
390
- cwd => '/tmp',
391
- require => Package['rubygems'],
392
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
393
- unless => 'gem list --local hoe | grep hoe '
394
- }
395
-
396
-
397
- # gempackage
398
-
399
-
400
- # open4
401
- class open4 {
402
-
403
- # exec
404
-
405
-
406
- exec {
407
- "open4":
408
- command => 'gem install -y --no-ri --no-rdoc open4',
409
- cwd => '/tmp',
410
- require => Exec['hoe'],
411
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
412
- unless => 'gem list --local open4 | grep open4 '
413
- }
414
-
415
- }
416
-
417
- include open4
418
-
419
-
420
- # ParseTree
421
- class parsetree {
422
-
423
- # exec
424
-
425
-
426
- exec {
427
- "ParseTree":
428
- command => 'gem install -y --no-ri --no-rdoc --version 2.2.0 ParseTree',
429
- cwd => '/tmp',
430
- require => Exec['hoe'],
431
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
432
- unless => 'gem list --local ParseTree | grep ParseTree | grep 2.2.0'
433
- }
434
-
435
-
436
- # gempackage
437
-
438
-
439
- # ruby2ruby
440
- class ruby2ruby {
441
-
442
- # exec
443
-
444
-
445
- exec {
446
- "ruby2ruby":
447
- command => 'gem install -y --no-ri --no-rdoc ruby2ruby',
448
- cwd => '/tmp',
449
- require => Exec['ParseTree'],
450
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
451
- unless => 'gem list --local ruby2ruby | grep ruby2ruby '
452
- }
453
-
454
- }
455
-
456
- include ruby2ruby
457
-
458
-
459
- # activesupport
460
- class activesupport {
461
-
462
- # exec
463
-
464
-
465
- exec {
466
- "activesupport":
467
- command => 'gem install -y --no-ri --no-rdoc activesupport',
468
- cwd => '/tmp',
469
- require => Exec['ParseTree'],
470
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
471
- unless => 'gem list --local activesupport | grep activesupport '
472
- }
473
-
474
-
475
- # gempackage
476
-
477
-
478
- # auser-poolparty
479
- class auser-poolparty {
480
-
481
- # exec
482
-
483
-
484
- exec {
485
- "auser-poolparty":
486
- command => 'gem install -y --no-ri --no-rdoc --source http://gems.github.com auser-poolparty',
487
- cwd => '/tmp',
488
- require => Exec['activesupport'],
489
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
490
- unless => 'gem list --local auser-poolparty | grep auser-poolparty '
491
- }
492
-
493
- }
494
-
495
- include auser-poolparty
496
-
497
- }
498
-
499
- include activesupport
500
-
501
-
502
- # RubyInline
503
- class rubyinline {
504
-
505
- # exec
506
-
507
-
508
- exec {
509
- "RubyInline":
510
- command => 'gem install -y --no-ri --no-rdoc RubyInline',
511
- cwd => '/tmp',
512
- require => Exec['ParseTree'],
513
- path => '/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin',
514
- unless => 'gem list --local RubyInline | grep RubyInline '
515
- }
516
-
517
- }
518
-
519
- include RubyInline
520
-
521
- }
522
-
523
- include ParseTree
524
-
525
- }
526
-
527
- include hoe
528
-
529
- }
530
-
531
- include rubygems
532
- package {
533
- "rubygems":
534
- name => 'rubygems',
535
- ensure => 'present'
536
- }
537
-
538
- }
539
-
540
- include poolparty
541
- # Custom functions
542
- define line($file, $line, $ensure = 'present', $notify=[]) {
543
- case $ensure {
544
- default: { err ( "unknown ensure value ${ensure}" ) }
545
- present: {
546
- exec {
547
- "/usr/bin/env echo '${line}' >> '${file}'": unless => "/usr/bin/env grep -qFx '${line}' '${file}'",
548
- notify => $notify
549
- }
550
- }
551
- absent: {
552
- exec {
553
- "/usr/bin/env sed -i '' -e '/^${line}$/d' '${file}'": onlyif => "/usr/bin/env grep -qFx '${line}' '${file}'",
554
- notify => $notify
555
- }
556
- }
557
- }
558
- }
559
- define append_if_no_such_line($file, $line, $refreshonly = 'false') {
560
- exec { "/bin/echo '$line' >> '$file'":
561
- unless => "/bin/grep -Fxqe '$line' '$file'",
562
- path => "/bin",
563
- refreshonly => $refreshonly,
564
- }
565
- }
566
-
567
- define delete_lines($file, $pattern) {
568
- exec { "sed -i -r -e '/$pattern/d' $file":
569
- path => "/bin",
570
- onlyif => "/bin/grep -E '$pattern' '$file'",
571
- }
572
- }
573
-
574
- # Serve subversion-based code from a local location. The job of this
575
- # module is to check the data out from subversion and keep it up to
576
- # date, especially useful for providing data to your Puppet server.
577
- define svnserve($source, $path, $user = false, $password = false) {
578
- file { $path:
579
- ensure => directory,
580
- owner => root,
581
- group => root
582
- }
583
- $svncmd = $user ? {
584
- false => "/usr/bin/svn co --non-interactive $source/$name .",
585
- default => "/usr/bin/svn co --non-interactive --username $user --password '$password' $source/$name ."
586
- }
587
- exec { "svnco-$name":
588
- command => $svncmd,
589
- cwd => $path,
590
- require => File[$path],
591
- creates => "$path/.svn"
592
- }
593
- exec { "svnupdate-$name":
594
- command => "/usr/bin/svn update",
595
- require => Exec["svnco-$name"],
596
- onlyif => '/usr/bin/svn status -u --non-interactive | /bin/grep "*"',
597
- cwd => $path
598
- }
599
- }
600
- }
@@ -1 +0,0 @@
1
-
@@ -1,4 +0,0 @@
1
- [files]
2
- path /var/poolparty/tmp
3
- allow *
4
- allow *.internal
@@ -1,33 +0,0 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
-
3
- class TestClass
4
- include PoolParty::Resources
5
- end
6
- describe "Remote Instance" do
7
- before(:each) do
8
- @tc = TestClass.new
9
- end
10
- it "should be a string" do
11
- @tc.has_git(:name => "gitrepos.git", :source => "git://source.git").to_string.should =~ /exec \{/
12
- end
13
- it "should included the flushed out options" do
14
- @tc.has_git({:name => "git.git", :source => "git://source.git", :user => "finger"}).to_string.should =~ /finger@git:/
15
- end
16
- it "should not include the user if none is given" do
17
- @tc.has_git({:name => "git.git", :source => "git://source.git"}).to_string.should =~ /git clone git:/
18
- end
19
- describe "in resource" do
20
- before(:each) do
21
- @tc.instance_eval do
22
- git(:name => "gittr") do
23
- source "git://source.git"
24
- path "/var/www/xnot.org"
25
- symlink "/var/www/xnot.org/public"
26
- end
27
- end
28
- end
29
- it "should have the path set within the resource" do
30
- @tc.resource(:git).first.to_string.should =~ /exec \{/
31
- end
32
- end
33
- end