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/bin/server-fire-cmd CHANGED
@@ -11,4 +11,4 @@ end
11
11
 
12
12
  @command = o.command if o.command
13
13
 
14
- puts %x[#{@command}].chomp
14
+ print %x[#{@command}].chomp
data/bin/server-get-load CHANGED
@@ -5,25 +5,14 @@ require "poolpartycl"
5
5
 
6
6
  available_monitors = PoolParty::Monitors.available_monitors
7
7
  o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
8
- opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
8
+ # opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
9
9
  opts.on('-m name', '--monitor monitor_name', "Monitor name (default: cpu) (Available monitors: #{available_monitors.join(", ")})") {|c| optioner.monitorname c}
10
10
  end
11
11
 
12
- load_pool(o.spec || Binary.get_existing_spec_location)
13
-
14
- include Remote
15
-
16
- @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
17
12
  @monitor = o.monitorname ? o.monitorname : "cpu"
18
-
19
- @clouds.each do |name, cloud|
20
-
21
- with_cloud(cloud, {:testing => o.testing, :monitorname => @monitor }) do
22
- if PoolParty::Monitors.available_monitors.include?(monitorname.downcase.to_sym)
23
- print "PoolParty::Monitors::#{monitorname.capitalize}Monitor".constantize.run
24
- else
25
- puts "Unknown monitor"
26
- end
27
- end
28
13
 
14
+ if PoolParty::Monitors.available_monitors.include?(@monitor.downcase.to_sym)
15
+ print "PoolParty::Monitors::#{@monitor.capitalize}Monitor".constantize.run.to_f
16
+ else
17
+ puts "Unknown monitor"
29
18
  end
@@ -8,18 +8,11 @@ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
8
8
  opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
9
9
  end
10
10
 
11
- load_pool(o.spec || Binary.get_existing_spec_location)
12
-
13
11
  @ctype = (o.classname || "name").downcase.to_sym
14
12
 
15
- include Remote
16
-
17
- @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
18
-
19
- @clouds.each do |name, cloud|
20
-
21
- with_cloud(cloud, {:location => @location, :ctype => @ctype}) do
22
- puts "#{list_of_running_instances.map{|a| "#{a.send ctype}" }.join("\t")}"
13
+ o.loaded_clouds.each do |cloud|
14
+ with_cloud(cloud, {:ctype => @ctype}) do
15
+ print "#{list_of_running_instances.collect{|a| "#{a.send ctype}" }.join("\t")}"
23
16
  end
24
17
 
25
18
  end
data/bin/server-rerun CHANGED
@@ -11,12 +11,12 @@ load_pool(o.spec || Binary.get_existing_spec_location)
11
11
 
12
12
  include Remote
13
13
 
14
- @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
14
+ @clouds = extract_cloud_from_options o
15
15
 
16
- @clouds.each do |name, cloud|
16
+ @clouds.each do |cl|
17
17
 
18
- with_cloud(cloud, {:testing => o.testing}) do
19
- cmd = master.puppet_runner_command
18
+ with_cloud(cl, {:testing => o.testing}) do
19
+ cmd = PoolParty::Remote::RemoteInstance.puppet_runner_command
20
20
  %x[#{cmd}] unless testing
21
21
  puts cmd
22
22
  end
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+ require "poolparty"
4
+ require "poolpartycl"
5
+
6
+ @command = ARGV[-1] || ""
7
+
8
+ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
9
+ opts.on('-c command', '--command command', 'Command to run') { |c| optioner.command c }
10
+ end
11
+
12
+ @command,@args = Arr.split(" ")[0], Arr.split(" ")[1..-1]
13
+
14
+ o.loaded_clouds do |cloud|
15
+ with_cloud(cloud, {:command => @command, :command_args => @args}) do
16
+ cloud.send command.to_sym, command_args
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+ require "poolparty"
4
+ require "poolpartycl"
5
+
6
+ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
7
+ opts.on('-n name', '--name name', 'Host name') { |h| optioner.hostname h }
8
+ end
9
+
10
+ o.loaded_clouds.each do |cloud|
11
+
12
+ with_cloud(cloud) do
13
+ puts header("Stats")
14
+ puts rules_values
15
+ end
16
+
17
+ end
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+ require "poolparty"
4
+ require "poolpartycl"
5
+
6
+ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
7
+ opts.on('-n name', '--name name', 'Host name') { |h| optioner.hostname h }
8
+ end
9
+
10
+ o.loaded_clouds.each do |cloud|
11
+
12
+ with_cloud(cloud) do
13
+
14
+ # ruby /var/lib/gems/1.8/bin/server-start-client
15
+ already_running = %x[ps aux | grep beam | grep -v grep | grep client]
16
+ if already_running.chomp.empty?
17
+
18
+ boot_file = "#{Messenger.append_dir}/pm_client_rel-0.1"
19
+
20
+ Kernel.system "cd #{Messenger.append_dir} && rake build_boot_scripts" unless ::File.file?("#{boot_file}.boot") || testing
21
+ command = Messenger.erl_command("client", "-boot #{boot_file} #{noshell ? "" : "-detached -heart -noshell"}", 7049, 7050)
22
+ vputs "Running #{command}"
23
+
24
+ Kernel.system "export HOME=/root && #{command}" unless testing
25
+ end
26
+ end
27
+
28
+ end
29
+
@@ -3,25 +3,24 @@ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
3
  require "poolparty"
4
4
  require "poolpartycl"
5
5
 
6
- available_monitors = PoolParty::Monitors.available_monitors
7
6
  o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
8
7
  opts.on('-n name', '--name name', 'Host name') { |h| optioner.hostname h }
9
8
  end
10
9
 
11
- load_pool(o.spec || Binary.get_existing_spec_location)
12
-
13
- include Remote
14
-
15
- @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
16
-
17
- @clouds.each do |name, cloud|
10
+ o.loaded_clouds.each do |cloud|
18
11
 
19
- with_cloud(cloud, {:testing => o.testing }) do
20
-
21
- boot_file = "#{Messenger.append_dir}/pm_master_rel-0.1"
22
- command = Messenger.erl_command("pp_master", "-boot #{boot_file} #{noshell ? "" : "-detached -heart"}")
23
-
24
- Kernel.system command
12
+ with_cloud(cloud) do
13
+
14
+ already_running = %x[ps aux | grep beam | grep -v grep | grep master]
15
+ if already_running.chomp.empty?
16
+
17
+ boot_file = "#{Messenger.append_dir}/pm_master_rel-0.1"
18
+ Kernel.system ". /etc/profile && server-build-messenger" unless ::File.file?("#{boot_file}.boot") || testing
19
+ command = Messenger.erl_command("master", "-boot #{boot_file} #{noshell ? "" : "-noshell -detached -heart"}")
20
+ vputs "Running #{command}"
21
+
22
+ Kernel.system "export HOME=/root && #{command}" unless testing
23
+ end
25
24
  end
26
25
 
27
26
  end
@@ -3,31 +3,30 @@ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
3
  require "poolparty"
4
4
  require "poolpartycl"
5
5
 
6
- available_monitors = PoolParty::Monitors.available_monitors
7
6
  o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
8
7
  opts.on('-n name', '--name name', 'Host name') { |h| optioner.hostname h }
9
8
  opts.on('-l', '--no-shell', 'No shell') {optioner.noshell true}
10
9
  end
11
10
 
12
- load_pool(o.spec || Binary.get_existing_spec_location)
13
-
14
- include Remote
11
+ available_monitors = PoolParty::Monitors.available_monitors
15
12
 
16
- @clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
17
13
  @hostname = o.hostname ? o.hostname : `hostname`.chomp
18
-
19
14
  @hostname = "node0" if @hostname == "master" # Quick fix to make sure we have a node running on the master as well
20
15
 
21
- @clouds.each do |name, cloud|
16
+ o.loaded_clouds.each do |cloud|
22
17
 
23
- with_cloud(cloud, {:testing => o.testing, :hostname => @hostname, :noshell => o.noshell }) do
24
- # TODO: Change this to be app specfic
25
- # SECURITY RISK
26
-
27
- boot_file = "#{Messenger.append_dir}/pm_node_rel-0.1"
28
- command = Messenger.erl_command(hostname, "-boot #{boot_file} #{noshell ? "" : "-detached -heart"}")
29
-
30
- Kernel.system command
18
+ with_cloud(cloud, {:hostname => @hostname}) do
19
+ # TODO: Change this to be app specfic
20
+ already_running = %x[ps aux | grep beam | grep -v grep | grep node]
21
+ if already_running.chomp.empty?
22
+ boot_file = "#{Messenger.append_dir}/pm_node_rel-0.1"
23
+
24
+ Kernel.system ". /etc/profile && server-build-messenger" unless ::File.file?("#{boot_file}.boot") || testing
25
+ command = Messenger.erl_command(hostname, "-boot #{boot_file} #{noshell ? "" : "-noshell -detached -heart"} -- #{available_monitors.join(" ")}")
26
+ vputs "Running #{command}"
27
+
28
+ Kernel.system "export HOME=/root && #{command}" unless testing
29
+ end
31
30
  end
32
31
 
33
32
  end
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+
3
+ ps aux | grep -v grep | grep client_service | awk '{print $2}' | xargs kill
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+
3
+ ps aux | grep -v grep | grep pm_master | awk '{print $2}' | xargs kill
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+
3
+ ps aux | grep -v grep | grep pm_node | awk '{print $2}' | xargs kill
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+ require "poolparty"
4
+ require "poolpartycl"
5
+
6
+ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
7
+ opts.on('-n name', '--name name', 'Update hosts for local pool named [name]') { |p| optioner.cloudname p }
8
+ end
9
+
10
+ o.loaded_clouds.each do |cloud|
11
+ with_cloud(cloud) do
12
+ puts "Cloud: #{name}"
13
+
14
+ new_hosts_listing = returning Array.new do |arr|
15
+
16
+ puts list_of_running_instances
17
+
18
+ list_of_running_instances.each do |ri|
19
+ vputs ri.hosts_file_listing_for(self)
20
+ arr << ri.hosts_file_listing_for(self)
21
+ end
22
+ other_clouds.each do |other|
23
+ other.list_of_running_instances.each do |ri|
24
+ vputs ri.hosts_file_listing_for(self)
25
+ arr << ri.hosts_file_listing_for(self)
26
+ end
27
+ end
28
+ end.join("\n")
29
+
30
+ if testing
31
+ puts new_hosts_listing
32
+ else
33
+ new_hosts_file = "#{Base.manifest_path}/classes/hosts.pp"
34
+
35
+ arr = returning Array.new do |arr|
36
+ new_hosts_listing.split(/\n/).each do |line|
37
+ parts = line.split(/\t/).map {|a| a.chomp }
38
+ ip,hostname,aliases = parts[0], parts[1], parts[2..-1]
39
+ puts "ip: #{ip} for #{hostname}"
40
+ arr << PoolParty::Resources::Host.new(:name => hostname, :ip => Resolv::DNS.new.getaddress(ip).to_s, :alias => aliases).to_string
41
+ end
42
+ end
43
+
44
+ ::File.open(new_hosts_file, "w+") {|f| f << arr.join("\n") }
45
+ end
46
+
47
+ end
48
+ end
data/config/hoe.rb CHANGED
@@ -1,9 +1,10 @@
1
- require 'PoolParty/version'
1
+ require 'poolparty'
2
2
 
3
3
  AUTHOR = 'Ari Lerner' # can also be an array of Authors
4
4
  EMAIL = "ari.lerner@citrusbyte.com"
5
5
  DESCRIPTION =<<-EOM
6
- Self-healing, auto-scaling cloud computing tool
6
+ Self-healing, auto-scaling system administration, provisioning
7
+ and maintaining tool that makes cloud computing fun and easy
7
8
  EOM
8
9
  GEM_NAME = 'poolparty' # what ppl will type to install your gem
9
10
  RUBYFORGE_PROJECT = 'poolparty' # The unix name for your project
@@ -12,7 +13,6 @@ HOMEPATH = "http://#{GEM_NAME}.rubyforge.org"
12
13
  DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
13
14
  EXTRA_DEPENDENCIES = [
14
15
  ['activesupport'],
15
- ['open4'],
16
16
  ['logging'],
17
17
  ["ruby2ruby"]
18
18
  ] # An array of rubygem dependencies [name, version]
@@ -64,6 +64,7 @@ $hoe = Hoe.new(GEM_NAME, VERS) do |p|
64
64
  p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
65
65
  p.test_globs = ["test/**/test_*.rb"]
66
66
  p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] #An array of file patterns to delete on clean.
67
+ # p.files = %w(Rakefile History.txt README.txt) + Dir.glob("{examples,lib,specs,tasks,script,generators,bin}/**/*")
67
68
 
68
69
  # == Optional
69
70
  p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
@@ -1,6 +1,5 @@
1
- require File.dirname(__FILE__) + "/pool/test_plugins/webserver"
2
-
3
1
  pool :app do
2
+ require File.dirname(__FILE__) + "/pool/test_plugins/webserver"
4
3
 
5
4
  instances 2..10
6
5
 
@@ -1,5 +1,5 @@
1
1
  Description:
2
-
2
+ Create a basic pool.spec template
3
3
 
4
4
  Usage:
5
-
5
+ pool spec [name]
@@ -21,7 +21,7 @@ class PoolspecGenerator < RubiGen::Base
21
21
  m.directory ''
22
22
  BASEDIRS.each { |path| m.directory path }
23
23
 
24
- m.template "pool_spec_template.erb", "#{@name}.rb"
24
+ m.template "pool_spec_template.erb", "pool.spec"
25
25
  # Create stubs
26
26
  # m.template "template.rb", "some_file_after_erb.rb"
27
27
  # m.template_copy_each ["template.rb", "template2.rb"]
@@ -61,5 +61,6 @@ EOS
61
61
  # Installation skeleton. Intermediate directories are automatically
62
62
  # created so don't sweat their absence here.
63
63
  BASEDIRS = %w(
64
+ plugins
64
65
  )
65
66
  end
@@ -1,9 +1,10 @@
1
1
  # Basic poolparty template
2
2
 
3
3
  pool :<%= name -%> do
4
-
5
- cloud :app do
4
+ plugin_directory "#{File.dirname(__FILE__)}/plugins"
6
5
 
6
+ cloud :app do
7
+ instances 2..5
7
8
  end
8
9
 
9
10
  end
@@ -14,6 +14,12 @@ rule ".beam" => ["%{ebin,src}X.erl"] do |t|
14
14
  end
15
15
 
16
16
  task :compile => ['ebin'] + OBJ
17
+ task :dcompile do
18
+ Dir["#{::File.dirname(__FILE__)}/src/*.erl"].each do |t|
19
+ Kernel.system "erlc -pa ebin -W #{ERLC_FLAGS} -Ddebug -o ebin #{t}"
20
+ end
21
+ end
22
+
17
23
  task :default => :compile
18
24
 
19
25
  task :run_tests => [:compile] do
@@ -33,6 +39,12 @@ task :run_tests => [:compile] do
33
39
  end
34
40
  end
35
41
 
42
+ desc "Clean the beams from the ebin directory"
43
+ task :clean do
44
+ cmd = "rm ebin/*.beam"
45
+ Kernel.system cmd
46
+ end
47
+
36
48
  desc "Recompile the sources"
37
49
  task :recompile => [:clean, :compile]
38
50
 
@@ -0,0 +1,19 @@
1
+ {application, client,
2
+ [
3
+ % Quick description of the server
4
+ {description, "Client Server for PoolParty"},
5
+ % Version
6
+ {vsn, "0.1"},
7
+ % All modules used by the application.
8
+ {modules, [client_app, pm_client, client_server, pm_client_supervisor, utils]},
9
+ % All the registered names in the application
10
+ {registered, [client_server, pm_client_supervisor]},
11
+ % These must be started for application to run
12
+ {applications, [kernel, stdlib]},
13
+ % Environment vars
14
+ {env, []},
15
+ % Module and Args used to start
16
+ {mod, {client_app, []}},
17
+ {start_phases, []}
18
+ ]
19
+ }.
@@ -5,7 +5,7 @@
5
5
  % Version
6
6
  {vsn, "0.1"},
7
7
  % All modules used by the application.
8
- {modules, [master_app, pm_master, pm_master_supervisor, utils]},
8
+ {modules, [master_app, pm_master, pm_master_supervisor, utils, pm_event_manager, pm_master_event_handler]},
9
9
  % All the registered names in the application
10
10
  {registered, [pm_master, pm_master_supervisor]},
11
11
  % These must be started for application to run
@@ -5,7 +5,7 @@
5
5
  % Version
6
6
  {vsn, "0.1"},
7
7
  % All modules used by the application.
8
- {modules, [node_app, pm_node, pm_node_supervisor, utils]},
8
+ {modules, [node_app, pm_node, pm_node_supervisor, utils, pm_event_manager]},
9
9
  % All the registered names in the application
10
10
  {registered, [pm_node, pm_node_supervisor]},
11
11
  % These must be started for application to run
@@ -0,0 +1 @@
1
+ {release, {"client","0.1"}, {erts,"5.6.5"},[{kernel,"2.12.5"},{stdlib,"1.15.5"},{inets,"5.0.12"},{crypto,"1.5.3"},{sasl,"2.1.5.4"},{client,"0.1"}]}.
@@ -1 +1 @@
1
- {release, {"master","0.1"}, {erts,"5.6.2"},[{kernel,"2.12.2"},{stdlib,"1.15.2"},{inets,"5.0.5"},{crypto,"1.5.1.1"},{sasl,"2.1.5.2"},{master,"0.1"}]}.
1
+ {release, {"master","0.1"}, {erts,"5.6.5"},[{kernel,"2.12.5"},{stdlib,"1.15.5"},{inets,"5.0.12"},{crypto,"1.5.3"},{sasl,"2.1.5.4"},{master,"0.1"}]}.
@@ -1 +1 @@
1
- {release, {"node","0.1"}, {erts,"5.6.2"},[{kernel,"2.12.2"},{stdlib,"1.15.2"},{inets,"5.0.5"},{crypto,"1.5.1.1"},{sasl,"2.1.5.2"},{node,"0.1"}]}.
1
+ {release, {"node","0.1"}, {erts,"5.6.5"},[{kernel,"2.12.5"},{stdlib,"1.15.5"},{inets,"5.0.12"},{crypto,"1.5.3"},{sasl,"2.1.5.4"},{node,"0.1"}]}.
@@ -0,0 +1,27 @@
1
+ % Includes file for the PoolParty Messenger
2
+
3
+ % -define(debug, true).
4
+
5
+ -ifdef(debug).
6
+
7
+ -define (MASTER_LOCATION, erlang:list_to_atom(lists:append("master@", element(2, inet:gethostname()))) ).
8
+ -define (TRACE(X, M), io:format("TRACE ~p:~p ~p ~p~n" ,[?MODULE, ?LINE, X, M])).
9
+ -define (UPDATE_TIME, 2000).
10
+
11
+ -else.
12
+
13
+ -define (MASTER_LOCATION, master@master).
14
+ -define (TRACE(X, M), void).
15
+ -define (UPDATE_TIME, 10000).
16
+
17
+ -endif.
18
+
19
+ -define (MASTER_NODE_NAME, master).
20
+ -define (MASTER_SERVER, global:whereis_name(pm_master)).
21
+
22
+ -define(NUM_LOADS_TO_STORE, 5).
23
+ -define(DICT, dict).
24
+
25
+ -record (node, {
26
+ load
27
+ }).
@@ -0,0 +1,53 @@
1
+ K 25
2
+ svn:wc:ra_dav:version-url
3
+ V 34
4
+ /contribs/!svn/ver/263/trunk/eunit
5
+ END
6
+ sys.config
7
+ K 25
8
+ svn:wc:ra_dav:version-url
9
+ V 43
10
+ /contribs/!svn/ver/2/trunk/eunit/sys.config
11
+ END
12
+ AUTHORS
13
+ K 25
14
+ svn:wc:ra_dav:version-url
15
+ V 42
16
+ /contribs/!svn/ver/188/trunk/eunit/AUTHORS
17
+ END
18
+ CHANGELOG
19
+ K 25
20
+ svn:wc:ra_dav:version-url
21
+ V 44
22
+ /contribs/!svn/ver/188/trunk/eunit/CHANGELOG
23
+ END
24
+ NOTES
25
+ K 25
26
+ svn:wc:ra_dav:version-url
27
+ V 40
28
+ /contribs/!svn/ver/243/trunk/eunit/NOTES
29
+ END
30
+ COPYING
31
+ K 25
32
+ svn:wc:ra_dav:version-url
33
+ V 42
34
+ /contribs/!svn/ver/103/trunk/eunit/COPYING
35
+ END
36
+ vsn.mk
37
+ K 25
38
+ svn:wc:ra_dav:version-url
39
+ V 41
40
+ /contribs/!svn/ver/173/trunk/eunit/vsn.mk
41
+ END
42
+ README
43
+ K 25
44
+ svn:wc:ra_dav:version-url
45
+ V 41
46
+ /contribs/!svn/ver/188/trunk/eunit/README
47
+ END
48
+ Makefile
49
+ K 25
50
+ svn:wc:ra_dav:version-url
51
+ V 43
52
+ /contribs/!svn/ver/244/trunk/eunit/Makefile
53
+ END
@@ -0,0 +1,140 @@
1
+ 8
2
+
3
+ dir
4
+ 263
5
+ http://svn.process-one.net/contribs/trunk/eunit
6
+ http://svn.process-one.net/contribs
7
+
8
+
9
+
10
+ 2008-10-12T12:17:56.811879Z
11
+ 263
12
+ rcarlsson
13
+
14
+
15
+ svn:special svn:externals svn:needs-lock
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+ 5c723cce-c907-0410-9aa2-ab8348fff7a4
28
+
29
+ sys.config
30
+ file
31
+
32
+
33
+
34
+
35
+ 2008-10-18T23:25:36.000000Z
36
+ 744963246b247a2697b2d20bd2b61b9d
37
+ 2005-12-13T09:23:28.451293Z
38
+ 1
39
+ mremond
40
+
41
+ include
42
+ dir
43
+
44
+ doc
45
+ dir
46
+
47
+ AUTHORS
48
+ file
49
+
50
+
51
+
52
+
53
+ 2008-10-18T23:25:36.000000Z
54
+ 9258f48f6d3acb437f24458ac709f5e1
55
+ 2007-04-05T21:05:53.050552Z
56
+ 188
57
+ rcarlsson
58
+
59
+ src
60
+ dir
61
+
62
+ CHANGELOG
63
+ file
64
+
65
+
66
+
67
+
68
+ 2008-10-18T23:25:36.000000Z
69
+ 2e8f527255f044aac308e478aa4f8d13
70
+ 2007-04-05T21:05:53.050552Z
71
+ 188
72
+ rcarlsson
73
+
74
+ NOTES
75
+ file
76
+
77
+
78
+
79
+
80
+ 2008-10-18T23:25:36.000000Z
81
+ df955ca0fe7f7c875e7fa5f85f146c9b
82
+ 2008-01-31T21:19:53.389336Z
83
+ 243
84
+ rcarlsson
85
+ has-props
86
+
87
+ COPYING
88
+ file
89
+
90
+
91
+
92
+
93
+ 2008-10-18T23:25:36.000000Z
94
+ dcf3c825659e82539645da41a7908589
95
+ 2006-05-06T17:19:27.890502Z
96
+ 103
97
+ rcarlsson
98
+
99
+ vsn.mk
100
+ file
101
+
102
+
103
+
104
+
105
+ 2008-10-18T23:25:36.000000Z
106
+ 852cba3a30a2bba927a07323fa24b0a9
107
+ 2007-03-22T19:33:23.813670Z
108
+ 173
109
+ rcarlsson
110
+
111
+ ebin
112
+ dir
113
+
114
+ README
115
+ file
116
+
117
+
118
+
119
+
120
+ 2008-10-18T23:25:36.000000Z
121
+ 87be236e598babe0bfc99f571fa7a804
122
+ 2007-04-05T21:05:53.050552Z
123
+ 188
124
+ rcarlsson
125
+
126
+ Makefile
127
+ file
128
+
129
+
130
+
131
+
132
+ 2008-10-18T23:25:36.000000Z
133
+ 0c1a84572a2c98f5fbc973dca93bef70
134
+ 2008-01-31T21:21:05.519789Z
135
+ 244
136
+ rcarlsson
137
+
138
+ examples
139
+ dir
140
+