fairchild-poolparty 1.1.4 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (333) hide show
  1. data/README.txt +0 -12
  2. data/Rakefile +17 -1
  3. data/VERSION.yml +1 -1
  4. data/bin/cloud +20 -1
  5. data/bin/cloud-bootstrap +14 -4
  6. data/bin/cloud-configure +26 -9
  7. data/bin/cloud-contract +7 -7
  8. data/bin/cloud-describe +28 -0
  9. data/bin/cloud-expand +13 -6
  10. data/bin/cloud-list +3 -5
  11. data/bin/cloud-osxcopy +1 -1
  12. data/bin/cloud-provision +1 -1
  13. data/bin/cloud-show +6 -5
  14. data/bin/cloud-ssh +1 -3
  15. data/bin/cloud-start +8 -6
  16. data/bin/cloud-terminate +9 -7
  17. data/bin/server-cloud-elections +29 -18
  18. data/bin/server-ensure-provisioning +24 -29
  19. data/bin/server-list-active +10 -5
  20. data/bin/server-monitor.ru +18 -1
  21. data/bin/server-update-hosts +3 -3
  22. data/bin/server-write-new-nodes +1 -1
  23. data/config/jeweler.rb +12 -3
  24. data/lib/poolparty/aska/aska.rb +1 -12
  25. data/lib/poolparty/base_packages/haproxy.rb +26 -18
  26. data/lib/poolparty/base_packages/poolparty.rb +1 -1
  27. data/lib/poolparty/capistrano.rb +1 -1
  28. data/lib/poolparty/core/array.rb +12 -0
  29. data/lib/poolparty/core/hash.rb +12 -5
  30. data/lib/poolparty/core/nil.rb +8 -0
  31. data/lib/poolparty/core/object.rb +15 -5
  32. data/lib/poolparty/core/string.rb +28 -2
  33. data/lib/poolparty/dependency_resolver/chef_resolver.rb +106 -79
  34. data/lib/poolparty/dependency_resolver/dependency_resolver.rb +1 -1
  35. data/lib/poolparty/dependency_resolver/dependency_resolver_cloud_extensions.rb +5 -4
  36. data/lib/poolparty/dependency_resolver/puppet_resolver.rb +44 -17
  37. data/lib/poolparty/helpers/console.rb +1 -1
  38. data/lib/poolparty/helpers/optioner.rb +9 -2
  39. data/lib/poolparty/lite.rb +12 -2
  40. data/lib/poolparty/modules/callbacks.rb +44 -0
  41. data/lib/poolparty/modules/cloud_dsl.rb +17 -11
  42. data/lib/poolparty/modules/cloud_resourcer.rb +29 -21
  43. data/lib/poolparty/modules/definable_resource.rb +1 -1
  44. data/lib/poolparty/modules/pinger.rb +28 -0
  45. data/lib/poolparty/modules/resourcing_dsl.rb +7 -3
  46. data/lib/poolparty/modules/thread_pool.rb +107 -106
  47. data/lib/poolparty/modules/user_helpers.rb +20 -0
  48. data/lib/poolparty/monitors/base_monitor.rb +32 -81
  49. data/lib/poolparty/monitors/monitor_rack.rb +60 -69
  50. data/lib/poolparty/monitors/monitors/favicon_monitor.rb +12 -0
  51. data/lib/poolparty/monitors/monitors/load_monitor.rb +9 -15
  52. data/lib/poolparty/monitors/monitors/memory_monitor.rb +48 -48
  53. data/lib/poolparty/monitors/monitors/neighborhood_monitor.rb +77 -0
  54. data/lib/poolparty/monitors/{stats_monitor.rb → monitors/stats_monitor.rb} +29 -24
  55. data/lib/poolparty/monitors/monitors/time_monitor.rb +15 -0
  56. data/lib/poolparty/net/messenger.rb +2 -0
  57. data/lib/poolparty/net/remoter/cloud_control.rb +177 -227
  58. data/lib/poolparty/net/remoter/connections.rb +10 -18
  59. data/lib/poolparty/net/remoter/interactive.rb +24 -90
  60. data/lib/poolparty/net/remoter_base.rb +98 -25
  61. data/lib/poolparty/net/remoter_bases/ec2/ec2.rb +83 -66
  62. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vm_disk.rb +12 -0
  63. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx.rb +33 -0
  64. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx_file.rb +117 -0
  65. data/lib/poolparty/net/remoter_bases/vmrun/vmrun.rb +165 -0
  66. data/lib/poolparty/net/remoter_bases/vmrun/vmrun_instance.rb +71 -0
  67. data/lib/poolparty/{base_packages → plugins}/bind.rb +1 -1
  68. data/lib/poolparty/plugins/chef.rb +71 -71
  69. data/lib/poolparty/plugins/chef_deploy.rb +58 -0
  70. data/lib/poolparty/plugins/{deploydirectory.rb → deploy_directory.rb} +12 -3
  71. data/lib/poolparty/plugins/dynomite.rb +14 -0
  72. data/lib/poolparty/plugins/gem_package.rb +37 -0
  73. data/lib/poolparty/plugins/line_in_file.rb +1 -0
  74. data/lib/poolparty/plugins/nanite.rb +41 -0
  75. data/lib/poolparty/{base_packages → plugins}/tokyo_tyrant.rb +1 -1
  76. data/lib/poolparty/poolparty/cloud.rb +36 -35
  77. data/lib/poolparty/poolparty/default.rb +2 -11
  78. data/lib/poolparty/poolparty/key.rb +15 -12
  79. data/lib/poolparty/poolparty/neighborhoods.rb +54 -21
  80. data/lib/poolparty/poolparty/plugin.rb +6 -9
  81. data/lib/poolparty/poolparty/plugin_model.rb +5 -5
  82. data/lib/poolparty/poolparty/pool.rb +8 -4
  83. data/lib/poolparty/poolparty/poolparty_base_class.rb +20 -11
  84. data/lib/poolparty/poolparty/resource.rb +9 -5
  85. data/lib/poolparty/poolparty/service.rb +3 -1
  86. data/lib/poolparty/provision/boot_strapper.rb +47 -24
  87. data/lib/poolparty/provision/configurations/chef.rb +7 -4
  88. data/lib/poolparty/provision/dr_configure.rb +80 -25
  89. data/lib/poolparty/resources/cron.rb +8 -0
  90. data/lib/poolparty/resources/directory.rb +1 -1
  91. data/lib/poolparty/resources/file.rb +16 -0
  92. data/lib/poolparty/resources/package.rb +7 -2
  93. data/lib/poolparty/resources/service.rb +4 -3
  94. data/lib/poolparty/resources/symlink.rb +0 -8
  95. data/lib/poolparty/schema.rb +35 -20
  96. data/lib/poolparty/templates/haproxy.conf +27 -25
  97. data/lib/poolparty/templates/monitor.ru +3 -3
  98. data/lib/poolparty/verification/verifier_base.rb +17 -0
  99. data/lib/poolparty/verification/verifiers/ping.rb +17 -0
  100. data/lib/poolparty/verification/verify.rb +74 -0
  101. data/lib/poolparty.rb +8 -9
  102. data/lib/poolpartycl.rb +14 -0
  103. data/spec/bin/server-list-active_spec.rb +2 -0
  104. data/spec/poolparty/base_packages/haproxy_spec.rb +1 -1
  105. data/spec/poolparty/core/array_spec.rb +3 -1
  106. data/spec/poolparty/core/ordered_hash_spec.rb +2 -2
  107. data/spec/poolparty/dependency_resolver/chef_resolver_spec.rb +9 -15
  108. data/spec/poolparty/dependency_resolver/dependency_resolver_cloud_extensions_spec.rb +6 -6
  109. data/spec/poolparty/dependency_resolver/puppet_resolver_spec.rb +121 -124
  110. data/spec/poolparty/net/remote_spec.rb +287 -286
  111. data/spec/poolparty/net/remoter_bases/ec2_mocks_and_stubs.rb +1 -1
  112. data/spec/poolparty/net/remoter_bases/ec2_remote_instance_spec.rb +7 -8
  113. data/spec/poolparty/net/remoter_bases/ec2_spec.rb +22 -7
  114. data/spec/poolparty/net/remoter_spec.rb +48 -45
  115. data/spec/poolparty/poolparty/cloud_spec.rb +15 -22
  116. data/spec/poolparty/poolparty/key_spec.rb +4 -4
  117. data/spec/poolparty/poolparty/neighborhoods_spec.rb +1 -2
  118. data/spec/poolparty/poolparty/plugin_spec.rb +2 -2
  119. data/spec/poolparty/poolparty/resource_spec.rb +4 -5
  120. data/spec/poolparty/poolparty_base_class_spec.rb +82 -78
  121. data/spec/poolparty/resources/package_spec.rb +0 -3
  122. data/spec/poolparty/spec_helper.rb +4 -4
  123. data/tasks/development.rake +9 -0
  124. data/test/poolparty/core/array_test.rb +21 -0
  125. data/test/poolparty/core/hash_test.rb +14 -1
  126. data/test/poolparty/core/string_test.rb +29 -0
  127. data/test/poolparty/dependency_resolver/puppet_resolver_test.rb +106 -0
  128. data/test/poolparty/modules/callbacks_test.rb +40 -0
  129. data/test/poolparty/modules/cloud_dsl_test.rb +25 -0
  130. data/test/poolparty/net/remoter_bases/vmrun/vmrun_test.rb +50 -0
  131. data/test/poolparty/net/remoter_test.rb +14 -0
  132. data/test/poolparty/poolparty/neighborhood_test.rb +23 -0
  133. data/test/poolparty/poolparty/poolparty_base_class_test.rb +84 -0
  134. data/test/poolparty/verification/verify_test.rb +49 -0
  135. data/test/test_helper.rb +4 -1
  136. data/test/test_poolparty.rb +6 -5
  137. data/vendor/chef/apache2/attributes/apache.rb +1 -1
  138. data/vendor/chef/apache2/templates/default/default-site.erb +1 -1
  139. data/vendor/chef/chef-deploy/LICENSE +201 -0
  140. data/vendor/chef/chef-deploy/README.rdoc +24 -0
  141. data/vendor/chef/chef-deploy/Rakefile +57 -0
  142. data/vendor/chef/chef-deploy/TODO +4 -0
  143. data/vendor/chef/chef-deploy/lib/chef-deploy/cached_deploy.rb +230 -0
  144. data/vendor/chef/chef-deploy/lib/chef-deploy/git.rb +132 -0
  145. data/vendor/chef/chef-deploy/lib/chef-deploy/subversion.rb +98 -0
  146. data/vendor/chef/chef-deploy/lib/chef-deploy.rb +183 -0
  147. metadata +57 -252
  148. data/bin/cloud-run +0 -18
  149. data/bin/cloud-stats +0 -17
  150. data/bin/ec2-list-active +0 -24
  151. data/bin/pool +0 -31
  152. data/bin/pool-describe +0 -8
  153. data/bin/pool-generate +0 -18
  154. data/bin/pool-init +0 -28
  155. data/bin/pool-list +0 -30
  156. data/bin/pool-start +0 -26
  157. data/bin/server-list-instances +0 -15
  158. data/lib/erlang/messenger/Emakefile +0 -1
  159. data/lib/erlang/messenger/Makefile +0 -15
  160. data/lib/erlang/messenger/README +0 -5
  161. data/lib/erlang/messenger/Rakefile +0 -72
  162. data/lib/erlang/messenger/control +0 -11
  163. data/lib/erlang/messenger/ebin/client.app +0 -19
  164. data/lib/erlang/messenger/ebin/master.app +0 -19
  165. data/lib/erlang/messenger/ebin/node.app +0 -19
  166. data/lib/erlang/messenger/ebin/packager.app +0 -19
  167. data/lib/erlang/messenger/ebin/pm_client_rel-0.1.rel +0 -1
  168. data/lib/erlang/messenger/ebin/pm_master_rel-0.1.rel +0 -1
  169. data/lib/erlang/messenger/ebin/pm_node_rel-0.1.rel +0 -1
  170. data/lib/erlang/messenger/include/defines.hrl +0 -27
  171. data/lib/erlang/messenger/lib/eunit/AUTHORS +0 -2
  172. data/lib/erlang/messenger/lib/eunit/CHANGELOG +0 -14
  173. data/lib/erlang/messenger/lib/eunit/COPYING +0 -504
  174. data/lib/erlang/messenger/lib/eunit/Makefile +0 -28
  175. data/lib/erlang/messenger/lib/eunit/NOTES +0 -276
  176. data/lib/erlang/messenger/lib/eunit/README +0 -3
  177. data/lib/erlang/messenger/lib/eunit/doc/edoc-info +0 -3
  178. data/lib/erlang/messenger/lib/eunit/doc/erlang.png +0 -0
  179. data/lib/erlang/messenger/lib/eunit/doc/eunit.html +0 -172
  180. data/lib/erlang/messenger/lib/eunit/doc/index.html +0 -17
  181. data/lib/erlang/messenger/lib/eunit/doc/modules-frame.html +0 -12
  182. data/lib/erlang/messenger/lib/eunit/doc/overview-summary.html +0 -984
  183. data/lib/erlang/messenger/lib/eunit/doc/overview.edoc +0 -980
  184. data/lib/erlang/messenger/lib/eunit/doc/packages-frame.html +0 -11
  185. data/lib/erlang/messenger/lib/eunit/doc/stylesheet.css +0 -55
  186. data/lib/erlang/messenger/lib/eunit/ebin/autoload.beam +0 -0
  187. data/lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam +0 -0
  188. data/lib/erlang/messenger/lib/eunit/ebin/eunit.app +0 -21
  189. data/lib/erlang/messenger/lib/eunit/ebin/eunit.appup +0 -1
  190. data/lib/erlang/messenger/lib/eunit/ebin/eunit.beam +0 -0
  191. data/lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam +0 -0
  192. data/lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam +0 -0
  193. data/lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam +0 -0
  194. data/lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam +0 -0
  195. data/lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam +0 -0
  196. data/lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam +0 -0
  197. data/lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam +0 -0
  198. data/lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam +0 -0
  199. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam +0 -0
  200. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam +0 -0
  201. data/lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam +0 -0
  202. data/lib/erlang/messenger/lib/eunit/examples/eunit_examples.erl +0 -339
  203. data/lib/erlang/messenger/lib/eunit/examples/fib.erl +0 -19
  204. data/lib/erlang/messenger/lib/eunit/examples/tests.txt +0 -1
  205. data/lib/erlang/messenger/lib/eunit/include/eunit.hrl +0 -313
  206. data/lib/erlang/messenger/lib/eunit/src/Makefile +0 -46
  207. data/lib/erlang/messenger/lib/eunit/src/autoload.erl +0 -388
  208. data/lib/erlang/messenger/lib/eunit/src/code_monitor.erl +0 -243
  209. data/lib/erlang/messenger/lib/eunit/src/eunit.app.src +0 -21
  210. data/lib/erlang/messenger/lib/eunit/src/eunit.appup.src +0 -1
  211. data/lib/erlang/messenger/lib/eunit/src/eunit.erl +0 -196
  212. data/lib/erlang/messenger/lib/eunit/src/eunit_autoexport.erl +0 -102
  213. data/lib/erlang/messenger/lib/eunit/src/eunit_data.erl +0 -798
  214. data/lib/erlang/messenger/lib/eunit/src/eunit_internal.hrl +0 -48
  215. data/lib/erlang/messenger/lib/eunit/src/eunit_lib.erl +0 -682
  216. data/lib/erlang/messenger/lib/eunit/src/eunit_proc.erl +0 -552
  217. data/lib/erlang/messenger/lib/eunit/src/eunit_serial.erl +0 -157
  218. data/lib/erlang/messenger/lib/eunit/src/eunit_server.erl +0 -340
  219. data/lib/erlang/messenger/lib/eunit/src/eunit_striptests.erl +0 -64
  220. data/lib/erlang/messenger/lib/eunit/src/eunit_test.erl +0 -334
  221. data/lib/erlang/messenger/lib/eunit/src/eunit_tests.erl +0 -45
  222. data/lib/erlang/messenger/lib/eunit/src/eunit_tty.erl +0 -272
  223. data/lib/erlang/messenger/lib/eunit/src/file_monitor.erl +0 -409
  224. data/lib/erlang/messenger/lib/eunit/sys.config +0 -9
  225. data/lib/erlang/messenger/lib/eunit/vsn.mk +0 -1
  226. data/lib/erlang/messenger/pm_client_rel-0.1.boot +0 -0
  227. data/lib/erlang/messenger/pm_client_rel-0.1.script +0 -238
  228. data/lib/erlang/messenger/pm_master_rel-0.1.boot +0 -0
  229. data/lib/erlang/messenger/pm_master_rel-0.1.script +0 -239
  230. data/lib/erlang/messenger/pm_node_rel-0.1.boot +0 -0
  231. data/lib/erlang/messenger/pm_node_rel-0.1.script +0 -237
  232. data/lib/erlang/messenger/src/client_app.erl +0 -39
  233. data/lib/erlang/messenger/src/client_server.erl +0 -60
  234. data/lib/erlang/messenger/src/master_app.erl +0 -39
  235. data/lib/erlang/messenger/src/node_app.erl +0 -39
  236. data/lib/erlang/messenger/src/pm_client.erl +0 -49
  237. data/lib/erlang/messenger/src/pm_client_supervisor.erl +0 -38
  238. data/lib/erlang/messenger/src/pm_cluster.erl +0 -61
  239. data/lib/erlang/messenger/src/pm_event_manager.erl +0 -27
  240. data/lib/erlang/messenger/src/pm_master.erl +0 -215
  241. data/lib/erlang/messenger/src/pm_master_event_handler.erl +0 -72
  242. data/lib/erlang/messenger/src/pm_master_supervisor.erl +0 -39
  243. data/lib/erlang/messenger/src/pm_node.erl +0 -200
  244. data/lib/erlang/messenger/src/pm_node_supervisor.erl +0 -38
  245. data/lib/erlang/messenger/src/pm_packager.erl +0 -76
  246. data/lib/erlang/messenger/src/pm_spawner.erl +0 -213
  247. data/lib/erlang/messenger/src/pm_strings.erl +0 -11
  248. data/lib/erlang/messenger/src/utils.erl +0 -72
  249. data/lib/erlang/messenger/useful_snippets +0 -17
  250. data/lib/poolparty/monitors/monitors/server_monitor.rb +0 -7
  251. data/lib/poolparty/monitors/monitors/web_monitor.rb +0 -18
  252. data/lib/poolparty/monitors/neighborhood_monitor.rb +0 -24
  253. data/lib/poolparty/monitors.rb +0 -6
  254. data/lib/poolparty/net/remoter/lists.rb +0 -12
  255. data/lib/poolparty/poolparty/custom_resource.rb +0 -45
  256. data/lib/poolparty/resources/custom_service.rb +0 -30
  257. data/lib/poolparty/services/gem_package.rb +0 -52
  258. data/lib/poolparty/version.rb +0 -15
  259. data/spec/poolparty/plugins/svn_spec.rb +0 -16
  260. data/spec/poolparty/poolparty/custom_resource_spec.rb +0 -79
  261. data/vendor/gems/butterfly/History.txt +0 -4
  262. data/vendor/gems/butterfly/PostInstall.txt +0 -2
  263. data/vendor/gems/butterfly/README.rdoc +0 -48
  264. data/vendor/gems/butterfly/Rakefile +0 -62
  265. data/vendor/gems/butterfly/VERSION.yml +0 -4
  266. data/vendor/gems/butterfly/bin/flutter +0 -4
  267. data/vendor/gems/butterfly/butterfly.gemspec +0 -37
  268. data/vendor/gems/butterfly/examples/config.ru +0 -15
  269. data/vendor/gems/butterfly/examples/my_app.rb +0 -12
  270. data/vendor/gems/butterfly/lib/butterfly.rb +0 -14
  271. data/vendor/gems/butterfly/lib/handler.rb +0 -48
  272. data/vendor/gems/butterfly/lib/request.rb +0 -29
  273. data/vendor/gems/butterfly/lib/response.rb +0 -49
  274. data/vendor/gems/butterfly/script/console +0 -10
  275. data/vendor/gems/butterfly/script/destroy +0 -14
  276. data/vendor/gems/butterfly/script/generate +0 -14
  277. data/vendor/gems/butterfly/test/test_adapter_base.rb +0 -23
  278. data/vendor/gems/butterfly/test/test_butterfly_request.rb +0 -46
  279. data/vendor/gems/butterfly/test/test_butterfly_response.rb +0 -43
  280. data/vendor/gems/butterfly/test/test_butterfly_server.rb +0 -16
  281. data/vendor/gems/butterfly/test/test_default.rb +0 -12
  282. data/vendor/gems/butterfly/test/test_helper.rb +0 -6
  283. data/vendor/gems/dslify/History.txt +0 -4
  284. data/vendor/gems/dslify/Manifest.txt +0 -25
  285. data/vendor/gems/dslify/PostInstall.txt +0 -5
  286. data/vendor/gems/dslify/README.txt +0 -60
  287. data/vendor/gems/dslify/Rakefile +0 -56
  288. data/vendor/gems/dslify/config/hoe.rb +0 -73
  289. data/vendor/gems/dslify/config/requirements.rb +0 -15
  290. data/vendor/gems/dslify/dslify.gemspec +0 -40
  291. data/vendor/gems/dslify/lib/dslify/dslify.rb +0 -69
  292. data/vendor/gems/dslify/lib/dslify/version.rb +0 -10
  293. data/vendor/gems/dslify/lib/dslify.rb +0 -7
  294. data/vendor/gems/dslify/script/console +0 -10
  295. data/vendor/gems/dslify/script/destroy +0 -14
  296. data/vendor/gems/dslify/script/generate +0 -14
  297. data/vendor/gems/dslify/script/txt2html +0 -82
  298. data/vendor/gems/dslify/setup.rb +0 -1585
  299. data/vendor/gems/dslify/tasks/deployment.rake +0 -34
  300. data/vendor/gems/dslify/tasks/environment.rake +0 -7
  301. data/vendor/gems/dslify/tasks/website.rake +0 -17
  302. data/vendor/gems/dslify/test/test_dslify.rb +0 -114
  303. data/vendor/gems/dslify/website/index.html +0 -86
  304. data/vendor/gems/dslify/website/index.txt +0 -83
  305. data/vendor/gems/dslify/website/javascripts/rounded_corners_lite.inc.js +0 -285
  306. data/vendor/gems/dslify/website/stylesheets/screen.css +0 -138
  307. data/vendor/gems/dslify/website/template.html.erb +0 -48
  308. data/vendor/gems/parenting/History.txt +0 -4
  309. data/vendor/gems/parenting/Manifest.txt +0 -13
  310. data/vendor/gems/parenting/PostInstall.txt +0 -2
  311. data/vendor/gems/parenting/README.rdoc +0 -47
  312. data/vendor/gems/parenting/Rakefile +0 -28
  313. data/vendor/gems/parenting/lib/parenting/base.rb +0 -65
  314. data/vendor/gems/parenting/lib/parenting.rb +0 -10
  315. data/vendor/gems/parenting/parenting.gemspec +0 -39
  316. data/vendor/gems/parenting/script/console +0 -10
  317. data/vendor/gems/parenting/script/destroy +0 -14
  318. data/vendor/gems/parenting/script/generate +0 -14
  319. data/vendor/gems/parenting/test/file_to_eval.rb +0 -9
  320. data/vendor/gems/parenting/test/test_helper.rb +0 -5
  321. data/vendor/gems/parenting/test/test_parenting.rb +0 -89
  322. data/vendor/gems/suitcase/LICENSE +0 -20
  323. data/vendor/gems/suitcase/README.rdoc +0 -31
  324. data/vendor/gems/suitcase/Rakefile +0 -57
  325. data/vendor/gems/suitcase/VERSION.yml +0 -4
  326. data/vendor/gems/suitcase/lib/suitcase/unzipper.rb +0 -15
  327. data/vendor/gems/suitcase/lib/suitcase/zipper.rb +0 -119
  328. data/vendor/gems/suitcase/lib/suitcase.rb +0 -5
  329. data/vendor/gems/suitcase/suitcase.gemspec +0 -32
  330. data/vendor/gems/suitcase/test/suitcase_test.rb +0 -102
  331. data/vendor/gems/suitcase/test/test_dir/box.rb +0 -1
  332. data/vendor/gems/suitcase/test/test_dir/test.txt +0 -1
  333. data/vendor/gems/suitcase/test/test_helper.rb +0 -12
@@ -1,49 +0,0 @@
1
- -module (pm_client).
2
- -behavior(gen_server).
3
-
4
- -export([init/1, code_change/3, handle_call/3, handle_cast/2, handle_info/2, terminate/2]).
5
- -export([accept_loop/1]).
6
- -export([start/3]).
7
-
8
- -define(TCP_OPTIONS, [binary, {packet, 0}, {active, false}, {reuseaddr, true}]).
9
-
10
- -record(server_state, {
11
- port,
12
- loop,
13
- ip=any,
14
- lsocket=null}).
15
-
16
- start(Name, Port, Loop) ->
17
- State = #server_state{port = Port, loop = Loop},
18
- gen_server:start_link({global, Name}, ?MODULE, State, []).
19
-
20
- init(State = #server_state{port=Port}) ->
21
- process_flag(trap_exit, true),
22
- case gen_tcp:listen(Port, ?TCP_OPTIONS) of
23
- {ok, LSocket} ->
24
- NewState = State#server_state{lsocket = LSocket},
25
- {ok, accept(NewState)};
26
- {error, Reason} ->
27
- {stop, Reason}
28
- end.
29
-
30
- handle_cast({accepted, _Pid}, State=#server_state{}) ->
31
- {noreply, accept(State)}.
32
-
33
- accept_loop({Server, LSocket, {M, F}}) ->
34
- {ok, Socket} = gen_tcp:accept(LSocket),
35
- % Let the server spawn a new process and replace this loop
36
- % with the echo loop, to avoid blocking
37
- gen_server:cast(Server, {accepted, self()}),
38
- M:F(Socket).
39
-
40
- % To be more robust we should be using spawn_link and trapping exits
41
- accept(State = #server_state{lsocket=LSocket, loop = Loop}) ->
42
- proc_lib:spawn(?MODULE, accept_loop, [{self(), LSocket, Loop}]),
43
- State.
44
-
45
- % These are just here to suppress warnings.
46
- handle_call(_Msg, _Caller, State) -> {noreply, State}.
47
- handle_info(_Msg, Library) -> {noreply, Library}.
48
- terminate(_Reason, _Library) -> ok.
49
- code_change(_OldVersion, Library, _Extra) -> {ok, Library}.
@@ -1,38 +0,0 @@
1
- % This supervisor is responsible for monitoring the
2
- % client service
3
-
4
- -module (pm_client_supervisor).
5
- -behaviour(supervisor).
6
-
7
- -export([start/0, start_in_shell_for_testing/0, start_link/1, init/1]).
8
-
9
- -ifdef(EUNIT).
10
- -include_lib("eunit/include/eunit.hrl").
11
- -endif.
12
-
13
- start() ->
14
- spawn(fun() ->
15
- supervisor:start_link({local, ?MODULE}, ?MODULE, _Arg = [])
16
- end).
17
-
18
- start_in_shell_for_testing() ->
19
- {ok, Pid} = supervisor:start_link({local, ?MODULE}, ?MODULE, _Arg = []),
20
- unlink(Pid).
21
-
22
- start_link(Args) ->
23
- supervisor:start_link({local, ?MODULE}, ?MODULE, Args).
24
-
25
- init([]) ->
26
- RestartStrategy = one_for_one,
27
- MaxRestarts = 1000,
28
- MaxTimeBetRestarts = 3600,
29
- TimeoutTime = 5000,
30
-
31
- SupFlags = {RestartStrategy, MaxRestarts, MaxTimeBetRestarts},
32
-
33
- % Servers
34
- ClientServer = {client_server1, {client_server, start, []}, permanent, TimeoutTime, worker, [client_server]},
35
-
36
- LoadServers = [ClientServer],
37
-
38
- {ok, {SupFlags, LoadServers}}.
@@ -1,61 +0,0 @@
1
- -module(pm_cluster).
2
-
3
- -ifdef(EUNIT).
4
- -include_lib("eunit/include/eunit.hrl").
5
- -endif.
6
-
7
- -include_lib("../include/defines.hrl").
8
-
9
- -export ([slaves/1, slaves/0]).
10
- -export ([get_live_nodes/0]).
11
- -export ([send_call/2, master/0]).
12
-
13
- -export ([any_new_servers/0]).
14
-
15
- % gen_server:call(?MASTER_SERVER, {Type, Args}).
16
- send_call(Type, Args) ->
17
- Nodes = get_live_nodes(),
18
- rpc:multicall(Nodes, pm_node, Type, [Args]).
19
-
20
- master() ->
21
- {erlang:node()}.
22
-
23
- slaves([]) ->
24
- ok;
25
-
26
- slaves([Host|Hosts]) ->
27
- Args = erl_system_args(),
28
- NodeName = "pp",
29
- {ok, Node} = slave:start_link(Host, NodeName, Args),
30
- io:format("Erlang node started = [~p]~n", [Node]),
31
- slaves(Hosts).
32
-
33
- slaves() -> get_live_nodes().
34
-
35
- erl_system_args()->
36
- Shared = case init:get_argument(shared) of
37
- error -> " ";
38
- {ok,[[]]} -> " -shared "
39
- end,
40
- lists:append(
41
- ["-rsh ssh -setcookie",
42
- atom_to_list(erlang:get_cookie()),
43
- Shared, " +Mea r10b "
44
- ]).
45
-
46
- any_new_servers() ->
47
- String = ". /etc/profile && server-list-active -c name",
48
- NodesFromActive = lists:map(fun
49
- (No) ->
50
- erlang:list_to_atom(lists:append([No, "@", No]))
51
- end,string:tokens(os:cmd(String), "\n\t")),
52
- % Nodes -- get_live_nodes(),
53
- NewServers = [X || X <- NodesFromActive, (lists:member(X, get_live_nodes()) /= true) ],
54
- NewServers.
55
-
56
- % Get the live nodes that are NOT client nodes
57
- get_live_nodes() ->
58
- ClientString = "client",
59
- [X || X <- nodes(), (erlang:is_atom(regexp:first_match(erlang:atom_to_list(X), ClientString))) ].
60
- %% Do not forget to start erlang with a command like:
61
- %% erl -rsh ssh -sname clustmaster
@@ -1,27 +0,0 @@
1
- -module (pm_event_manager).
2
- -include_lib("../include/defines.hrl").
3
-
4
- %% API
5
- -export([start_link/0, add_handler/1, notify/1]).
6
- -define(SERVER, ?MODULE).
7
-
8
- %%--------------------------------------------------------------------
9
- %% Function: start_link() -> {ok,Pid} | {error,Error}
10
- %% Description: Creates an event manager.
11
- %%--------------------------------------------------------------------
12
- start_link() ->
13
- gen_event:start_link({local, ?SERVER}).
14
-
15
- %%--------------------------------------------------------------------
16
- %% Function: add_handler(Module) -> ok | {'EXIT',Reason} | term()
17
- %% Description: Adds an event handler
18
- %%--------------------------------------------------------------------
19
- add_handler(Module) ->
20
- gen_event:add_handler(?SERVER, Module, []).
21
-
22
- %%--------------------------------------------------------------------
23
- %% Function: notify(Event) -> ok | {error, Reason}
24
- %% Description: Sends the Event through the event manager.
25
- %%--------------------------------------------------------------------
26
- notify(Event) ->
27
- gen_event:notify(?SERVER, Event).
@@ -1,215 +0,0 @@
1
- %%%-------------------------------------------------------------------
2
- %%% File : pm_master.erl
3
- %%% Author : Ari Lerner <arilerner@mac.com>
4
- %%% The client is a running process that will run on the master node
5
- %%% and spawn requests to the pm_nodes and compile the responses
6
- %%% for use within the poolparty network
7
- %%%-------------------------------------------------------------------
8
- -module(pm_master).
9
- -behaviour(gen_server).
10
-
11
- -include_lib("../include/defines.hrl").
12
-
13
- -record(state, {
14
- nodes = ?DICT:new() % Dictionary of running nodes
15
- }).
16
-
17
- -define (SERVER, global:whereis_name(?MODULE)).
18
-
19
- %% API
20
-
21
- %% gen_server callbacks
22
- -export([start_link/0,
23
- stop/0,
24
- init/1,
25
- handle_call/3,
26
- handle_cast/2,
27
- handle_info/2,
28
- terminate/2,
29
- code_change/3]).
30
-
31
- % Client function definitions
32
- -export ([get_load/1, reconfigure_cloud/0]).
33
- -export ([run_cmd/1, fire_cmd/1, get_current_nodes/0]).
34
- -export ([shutdown_cloud/0]).
35
-
36
- %%====================================================================
37
- %% API
38
- %%====================================================================
39
- %%--------------------------------------------------------------------
40
- %%% Internal functions
41
- %%--------------------------------------------------------------------
42
-
43
- % pm_master:get_load("cpu").
44
- get_load(Type) ->
45
- % {Loads, _} = pm_cluster:send_call(get_load_for_type, [Type]),
46
- % {Loads, _} = gen_server:call(?SERVER, {get_load, [Type]}),
47
- gen_server:call(?SERVER, {get_current_load, Type}).
48
-
49
- % Send reconfigure tasks to every node
50
- reconfigure_cloud() -> gen_server:cast(?SERVER, {force_reconfig}).
51
-
52
- % Fire the given command on all nodes
53
- run_cmd(Cmd) -> gen_server:call(?SERVER, {run_cmd, Cmd}).
54
- fire_cmd(Cmd) -> gen_server:call(?SERVER, {fire_cmd, Cmd}).
55
-
56
- % Shutdown
57
- shutdown_cloud() ->
58
- pm_cluster:send_call(stop, []),
59
- {ok}.
60
-
61
- get_current_nodes() -> gen_server:call(?SERVER, {get_current_nodes, []}).
62
-
63
- stop() -> gen_server:cast(?MODULE, stop).
64
- %%--------------------------------------------------------------------
65
- %% Function: start_link() -> {ok,Pid} | ignore | {error,Error}
66
- %% Description: Starts the server
67
- %%--------------------------------------------------------------------
68
- start_link() ->
69
- gen_server:start_link({global, ?MODULE}, ?MODULE, [], []).
70
-
71
- %%====================================================================
72
- %% gen_server callbacks
73
- %%====================================================================
74
-
75
- %%--------------------------------------------------------------------
76
- %% Function: init(Args) -> {ok, State} |
77
- %% {ok, State, Timeout} |
78
- %% ignore |
79
- %% {stop, Reason}
80
- %% Description: Initiates the server
81
- %%--------------------------------------------------------------------
82
- init([]) ->
83
- % pm_event_manager:add_handler(pm_master_event_handler),
84
- process_flag(trap_exit, true),
85
- {ok, #state{
86
- nodes = ?DICT:new()
87
- }}.
88
-
89
- %%--------------------------------------------------------------------
90
- %% Function: %% handle_call(Request, From, State) -> {reply, Reply, State} |
91
- %% {reply, Reply, State, Timeout} |
92
- %% {noreply, State} |
93
- %% {noreply, State, Timeout} |
94
- %% {stop, Reason, Reply, State} |
95
- %% {stop, Reason, State}
96
- %% Description: Handling call messages
97
- %%--------------------------------------------------------------------
98
- % Handle load messages
99
- handle_call({get_load, Args}, _From, State) ->
100
- Nodes = pm_cluster:get_live_nodes(),
101
- List = rpc:multicall(Nodes, pm_node, get_load_for_type, [Args]),
102
- Loads = utils:convert_responses_to_int_list(List),
103
- {reply, Loads, State};
104
- handle_call({get_current_load, Types}, _From, State) ->
105
- LoadForType = [utils:average_of_list(get_load_for_type(Type, State)) || Type <- Types],
106
- ?TRACE("LoadForType: ",[LoadForType]),
107
- {reply, LoadForType, State};
108
- % Handle puppet needs
109
- handle_call({clear_cert_for, Name}, _From, State) ->
110
- String = string:concat(". /etc/profile && /usr/bin/puppetcleaner ",Name),
111
- os:cmd(String),
112
- {reply, ok, State};
113
- handle_call({get_current_nodes, _Args}, _From, State) ->
114
- {reply, get_live_nodes(State), State}.
115
-
116
- % handle_call(_Request, _From, State) ->
117
- % Nodes = pm_cluster:get_live_nodes(),
118
- % Reply = Reply = rpc:multicall(Nodes, pm_node, Request, []),
119
- % {reply, Reply, State}.
120
-
121
- %%--------------------------------------------------------------------
122
- %% Function: handle_cast(Msg, State) -> {noreply, State} |
123
- %% {noreply, State, Timeout} |
124
- %% {stop, Reason, State}
125
- %% Description: Handling cast messages
126
- %%--------------------------------------------------------------------
127
- handle_cast({update_node_load, From, Loads}, State) ->
128
- % ?TRACE("Cast with load message", [From, Loads]),
129
- % {_Nodes, NewState} = get_node_listing(From, State),
130
- % {noreply, NewState};
131
- {_LoadState, NewState} = store_load_for(From, Loads, State),
132
- {noreply, NewState};
133
- handle_cast({force_reconfig}, State) ->
134
- Fun = fun(NodeEntry) ->
135
- {_Node, Pid} = NodeEntry,
136
- gen_server:cast(Pid, {reconfig}) end,
137
- run_on_nodes(Fun, State),
138
- {noreply, State};
139
- handle_cast(_Msg, State) ->
140
- {noreply, State}.
141
-
142
- %%--------------------------------------------------------------------
143
- %% Function: handle_info(Info, State) -> {noreply, State} |
144
- %% {noreply, State, Timeout} |
145
- %% {stop, Reason, State}
146
- %% Description: Handling all non call/cast messages
147
- %%--------------------------------------------------------------------
148
- handle_info(_Info, State) ->
149
- {noreply, State}.
150
-
151
- %%--------------------------------------------------------------------
152
- %% Function: terminate(Reason, State) -> void()
153
- %% Description: This function is called by a gen_server when it is about to
154
- %% terminate. It should be the opposite of Module:init/1 and do any necessary
155
- %% cleaning up. When it returns, the gen_server terminates with Reason.
156
- %% The return value is ignored.
157
- %%--------------------------------------------------------------------
158
- terminate(_Reason, _State) ->
159
- ok.
160
-
161
- %%--------------------------------------------------------------------
162
- %% Func: code_change(OldVsn, State, Extra) -> {ok, NewState}
163
- %% Description: Convert process state when code is changed
164
- %%--------------------------------------------------------------------
165
- code_change(_OldVsn, State, _Extra) ->
166
- {ok, State}.
167
-
168
- % Private methods
169
- get_node_listing(Name, State) ->
170
- % Find or create the stored node
171
- case ?DICT:is_key(Name, State#state.nodes) of
172
- true -> NodeStore = ?DICT:fetch(Name, State#state.nodes), {NodeStore, State};
173
- false ->
174
- NodeStore = {}, NewState = State#state{nodes = ?DICT:store(Name, NodeStore, State#state.nodes)}, {NodeStore, NewState}
175
- end.
176
-
177
- get_load_for_type(Type, State) ->
178
- Loads = [ get_load_for_node(Type, Name, State) || Name <- get_live_nodes(State) ],
179
- [Load || Load <- Loads, Load =/= false, Load > 0.0].
180
-
181
- get_load_for_node(Type, Name, State) ->
182
- {NodeStore, _} = get_node_listing(Name, State),
183
- case proplists:is_defined(erlang:list_to_atom(Type), NodeStore) of
184
- true -> proplists:get_value(erlang:list_to_atom(Type), NodeStore);
185
- _ -> false
186
- end.
187
-
188
- get_node_pids(State) ->
189
- Nodes = dict:fetch_keys(State#state.nodes),
190
- [ {Node, global:whereis_name(Node)} || Node <- Nodes, global:whereis_name(Node) =/= undefined].
191
-
192
- get_live_nodes(State) ->
193
- NodePids = get_node_pids(State),
194
- RespondingNodes = lists:map(
195
- fun(NodeEntry) ->
196
- {Node, Pid} = NodeEntry,
197
- case is_pid(Pid) of
198
- true ->
199
- case gen_server:call(Pid, {still_there}) of
200
- still_here -> Node;
201
- _ -> false
202
- end;
203
- false -> false
204
- end
205
- end, NodePids),
206
- [ Node || Node <- RespondingNodes, Node =/= false].
207
-
208
- run_on_nodes(Fun, State) ->
209
- NodePids = get_node_pids(State),
210
- lists:map(Fun, NodePids).
211
-
212
- store_load_for(Name, Loads, State) ->
213
- NewNodeEntry = [ {erlang:list_to_atom(Key), proplists:get_value(Key, Loads)} || Key <- proplists:get_keys(Loads)],
214
- NewState = ?DICT:store(Name, NewNodeEntry, State#state.nodes),
215
- {NewNodeEntry, State#state{nodes = NewState}}.
@@ -1,72 +0,0 @@
1
- -module (pm_master_event_handler).
2
- -behaviour(gen_event).
3
- -include_lib("../include/defines.hrl").
4
-
5
- %% gen_event callbacks
6
- -export([init/1, handle_event/2, handle_call/2,
7
- handle_info/2, terminate/2, code_change/3]).
8
-
9
- %%====================================================================
10
- %% gen_event callbacks
11
- %%====================================================================
12
- %%--------------------------------------------------------------------
13
- %% Function: init(Args) -> {ok, State}
14
- %% Description: Whenever a new event handler is added to an event manager,
15
- %% this function is called to initialize the event handler.
16
- %%--------------------------------------------------------------------
17
- init([]) ->
18
- {ok, []}.
19
-
20
- %%--------------------------------------------------------------------
21
- %% Function:
22
- %% handle_event(Event, State) -> {ok, State} |
23
- %% {swap_handler, Args1, State1, Mod2, Args2} |
24
- %% remove_handler
25
- %% Description:Whenever an event manager receives an event sent using
26
- %% gen_event:notify/2 or gen_event:sync_notify/2, this function is called for
27
- %% each installed event handler to handle the event.
28
- %%--------------------------------------------------------------------
29
- handle_event(_Event, State) ->
30
- {ok, State}.
31
-
32
- %%--------------------------------------------------------------------
33
- %% Function:
34
- %% handle_call(Request, State) -> {ok, Reply, State} |
35
- %% {swap_handler, Reply, Args1, State1,
36
- %% Mod2, Args2} |
37
- %% {remove_handler, Reply}
38
- %% Description: Whenever an event manager receives a request sent using
39
- %% gen_event:call/3,4, this function is called for the specified event
40
- %% handler to handle the request.
41
- %%--------------------------------------------------------------------
42
- handle_call(_Request, State) ->
43
- Reply = ok,
44
- {ok, Reply, State}.
45
-
46
- %%--------------------------------------------------------------------
47
- %% Function:
48
- %% handle_info(Info, State) -> {ok, State} |
49
- %% {swap_handler, Args1, State1, Mod2, Args2} |
50
- %% remove_handler
51
- %% Description: This function is called for each installed event handler when
52
- %% an event manager receives any other message than an event or a synchronous
53
- %% request (or a system message).
54
- %%--------------------------------------------------------------------
55
- handle_info(_Info, State) ->
56
- {ok, State}.
57
-
58
- %%--------------------------------------------------------------------
59
- %% Function: terminate(Reason, State) -> void()
60
- %% Description:Whenever an event handler is deleted from an event manager,
61
- %% this function is called. It should be the opposite of Module:init/1 and
62
- %% do any necessary cleaning up.
63
- %%--------------------------------------------------------------------
64
- terminate(_Reason, _State) ->
65
- ok.
66
-
67
- %%--------------------------------------------------------------------
68
- %% Function: code_change(OldVsn, State, Extra) -> {ok, NewState}
69
- %% Description: Convert process state when code is changed
70
- %%--------------------------------------------------------------------
71
- code_change(_OldVsn, State, _Extra) ->
72
- {ok, State}.
@@ -1,39 +0,0 @@
1
- % This supervisor is responsible for monitoring the
2
- % client service
3
-
4
- -module (pm_master_supervisor).
5
- -behaviour(supervisor).
6
-
7
- -export([start/0, start_in_shell_for_testing/0, start_link/1, init/1]).
8
-
9
- -ifdef(EUNIT).
10
- -include_lib("eunit/include/eunit.hrl").
11
- -endif.
12
-
13
- start() ->
14
- spawn(fun() ->
15
- supervisor:start_link({local, ?MODULE}, ?MODULE, _Arg = [])
16
- end).
17
-
18
- start_in_shell_for_testing() ->
19
- {ok, Pid} = supervisor:start_link({local, ?MODULE}, ?MODULE, _Arg = []),
20
- unlink(Pid).
21
-
22
- start_link(Args) ->
23
- supervisor:start_link({local, ?MODULE}, ?MODULE, Args).
24
-
25
- init([]) ->
26
- RestartStrategy = one_for_one,
27
- MaxRestarts = 1000,
28
- MaxTimeBetRestarts = 3600,
29
- TimeoutTime = 5000,
30
-
31
- SupFlags = {RestartStrategy, MaxRestarts, MaxTimeBetRestarts},
32
-
33
- % Servers
34
- EventManager = {pm_event_manager, {pm_event_manager, start_link, []}, permanent, TimeoutTime, worker, dynamic},
35
- MasterServer = {pm_master1, {pm_master, start_link, []}, permanent, TimeoutTime, worker, [pm_master]},
36
-
37
- LoadServers = [EventManager,MasterServer],
38
-
39
- {ok, {SupFlags, LoadServers}}.