poolparty 0.2.84 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (642) hide show
  1. data/History.txt +7 -0
  2. data/License.txt +1 -1
  3. data/PostInstall.txt +1 -1
  4. data/README.txt +13 -22
  5. data/Rakefile +26 -35
  6. data/VERSION.yml +4 -0
  7. data/bin/cloud +24 -3
  8. data/bin/cloud-bootstrap +31 -0
  9. data/bin/cloud-configure +36 -20
  10. data/bin/{pool-console → cloud-console} +0 -0
  11. data/bin/cloud-contract +7 -7
  12. data/bin/cloud-describe +28 -0
  13. data/bin/cloud-expand +13 -6
  14. data/bin/cloud-handle-load +3 -3
  15. data/bin/cloud-list +9 -14
  16. data/bin/cloud-osxcopy +6 -5
  17. data/bin/cloud-provision +17 -22
  18. data/bin/cloud-setup-dev +11 -11
  19. data/bin/cloud-show +28 -0
  20. data/bin/cloud-spec +2 -2
  21. data/bin/cloud-ssh +10 -3
  22. data/bin/cloud-start +21 -23
  23. data/bin/cloud-terminate +15 -7
  24. data/bin/cloud-verify +32 -0
  25. data/bin/install-poolparty +216 -0
  26. data/bin/server-butterfly +25 -0
  27. data/bin/server-cloud-elections +37 -0
  28. data/bin/server-ensure-provisioning +33 -0
  29. data/bin/server-get-load +9 -12
  30. data/bin/server-list-active +25 -12
  31. data/bin/server-manage-election +67 -0
  32. data/bin/server-monitor.ru +42 -0
  33. data/bin/server-query-agent +15 -0
  34. data/bin/server-rerun +1 -1
  35. data/bin/server-write-new-nodes +2 -2
  36. data/config/jeweler.rb +52 -0
  37. data/config/requirements.rb +1 -9
  38. data/examples/basic.rb +10 -10
  39. data/examples/deploy.rb +5 -0
  40. data/examples/fairchild.rb +28 -0
  41. data/examples/fairchild_chef.rb +19 -0
  42. data/examples/maize.rb +37 -0
  43. data/examples/paparazzi.conf.erb +21 -0
  44. data/generators/poolspec/poolspec_generator.rb +1 -9
  45. data/generators/poolspec/templates/pool_spec_template.erb +0 -1
  46. data/lib/poolparty/{aska/aska.rb → aska.rb} +19 -28
  47. data/lib/poolparty/base_packages/haproxy.rb +48 -31
  48. data/lib/poolparty/base_packages/heartbeat.rb +6 -62
  49. data/lib/poolparty/base_packages/poolparty.rb +5 -105
  50. data/lib/poolparty/base_packages/ruby.rb +4 -4
  51. data/lib/poolparty/base_packages/runit.rb +1 -1
  52. data/lib/poolparty/core/array.rb +21 -3
  53. data/lib/poolparty/core/hash.rb +45 -10
  54. data/lib/poolparty/core/kernel.rb +30 -8
  55. data/lib/poolparty/core/nil.rb +8 -0
  56. data/lib/poolparty/core/object.rb +34 -25
  57. data/lib/poolparty/core/ordered_hash.rb +99 -0
  58. data/lib/poolparty/core/string.rb +112 -15
  59. data/lib/poolparty/core/symbol.rb +10 -0
  60. data/lib/poolparty/dependencies.rb +49 -0
  61. data/lib/poolparty/dependency_resolver/chef_resolver.rb +237 -0
  62. data/lib/poolparty/dependency_resolver/dependency_resolver.rb +42 -0
  63. data/lib/poolparty/dependency_resolver/dependency_resolver_cloud_extensions.rb +29 -0
  64. data/lib/poolparty/{dependency_resolutions → dependency_resolver}/puppet.rb +34 -29
  65. data/lib/poolparty/dependency_resolver/puppet_resolver.rb +188 -0
  66. data/lib/poolparty/exceptions/MasterException.rb +2 -2
  67. data/lib/poolparty/exceptions/RemoteException.rb +1 -1
  68. data/lib/poolparty/exceptions/dependency_resolver_exception.rb +5 -0
  69. data/lib/poolparty/exceptions/package_exception.rb +7 -0
  70. data/lib/poolparty/extra/deployments.rb +7 -7
  71. data/lib/poolparty/helpers/binary.rb +26 -32
  72. data/lib/poolparty/helpers/console.rb +1 -1
  73. data/lib/poolparty/helpers/display.rb +1 -5
  74. data/lib/poolparty/helpers/hash_printer.rb +44 -0
  75. data/lib/poolparty/helpers/loading.rb +4 -0
  76. data/lib/poolparty/helpers/optioner.rb +39 -25
  77. data/lib/poolparty/lite.rb +30 -0
  78. data/lib/poolparty/modules/callbacks.rb +44 -0
  79. data/lib/poolparty/modules/cloud_dsl.rb +38 -8
  80. data/lib/poolparty/modules/cloud_resourcer.rb +67 -97
  81. data/lib/poolparty/modules/daemonizable.rb +141 -0
  82. data/lib/poolparty/modules/definable_resource.rb +8 -14
  83. data/lib/poolparty/modules/file_writer.rb +25 -17
  84. data/lib/poolparty/modules/pinger.rb +28 -0
  85. data/lib/poolparty/modules/pretty_printer.rb +1 -1
  86. data/lib/poolparty/modules/resourcing_dsl.rb +55 -40
  87. data/lib/poolparty/modules/searchable_paths.rb +91 -0
  88. data/lib/poolparty/modules/thread_pool.rb +107 -106
  89. data/lib/poolparty/modules/user_helpers.rb +20 -0
  90. data/lib/poolparty/monitors/base_monitor.rb +18 -75
  91. data/lib/poolparty/monitors/monitor_rack.rb +123 -0
  92. data/lib/poolparty/monitors/monitors/favicon_monitor.rb +12 -0
  93. data/lib/poolparty/monitors/monitors/load_monitor.rb +9 -0
  94. data/lib/poolparty/monitors/monitors/memory_monitor.rb +9 -9
  95. data/lib/poolparty/monitors/monitors/neighborhood_monitor.rb +77 -0
  96. data/lib/poolparty/monitors/monitors/stats_monitor.rb +187 -0
  97. data/lib/poolparty/monitors/monitors/time_monitor.rb +15 -0
  98. data/lib/poolparty/net/init.rb +10 -0
  99. data/lib/poolparty/net/remote_bases.rb +20 -0
  100. data/lib/poolparty/net/remote_instance.rb +26 -44
  101. data/lib/poolparty/net/remoter/cloud_control.rb +24 -0
  102. data/lib/poolparty/net/remoter/connections.rb +172 -0
  103. data/lib/poolparty/net/remoter/interactive.rb +45 -0
  104. data/lib/poolparty/net/remoter_base.rb +116 -111
  105. data/lib/poolparty/net/remoter_bases/ec2/ec2.rb +245 -0
  106. data/lib/poolparty/net/remoter_bases/ec2/ec2_remote_instance.rb +53 -0
  107. data/lib/poolparty/net/{remote_bases → remoter_bases}/ec2/ec2_response_object.rb +2 -4
  108. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vm_disk.rb +12 -0
  109. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx.rb +33 -0
  110. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx_file.rb +117 -0
  111. data/lib/poolparty/net/remoter_bases/vmrun/vmrun.rb +158 -0
  112. data/lib/poolparty/net/remoter_bases/vmrun/vmrun_instance.rb +71 -0
  113. data/lib/poolparty/plugins/apache2/apache.rb +340 -0
  114. data/lib/poolparty/plugins/bind.rb +11 -0
  115. data/lib/poolparty/plugins/chef.rb +173 -0
  116. data/lib/poolparty/plugins/chef_deploy.rb +58 -0
  117. data/lib/poolparty/plugins/deploy_directory.rb +49 -0
  118. data/lib/poolparty/plugins/gem_package.rb +61 -0
  119. data/lib/poolparty/plugins/git.rb +41 -24
  120. data/lib/poolparty/plugins/line_in_file.rb +30 -0
  121. data/lib/poolparty/plugins/nanite.rb +41 -0
  122. data/lib/poolparty/plugins/rails_deploy.rb +76 -0
  123. data/lib/poolparty/plugins/svn.rb +56 -39
  124. data/lib/poolparty/poolparty/cloud.rb +137 -167
  125. data/lib/poolparty/poolparty/{base.rb → default.rb} +62 -25
  126. data/lib/poolparty/poolparty/key.rb +78 -0
  127. data/lib/poolparty/poolparty/loggable.rb +28 -27
  128. data/lib/poolparty/poolparty/neighborhoods.rb +102 -0
  129. data/lib/poolparty/poolparty/plugin.rb +53 -18
  130. data/lib/poolparty/poolparty/plugin_model.rb +20 -23
  131. data/lib/poolparty/poolparty/pool.rb +34 -26
  132. data/lib/poolparty/poolparty/poolparty_base_class.rb +190 -0
  133. data/lib/poolparty/poolparty/resource.rb +92 -178
  134. data/lib/poolparty/poolparty/script.rb +32 -20
  135. data/lib/poolparty/poolparty/service.rb +44 -0
  136. data/lib/poolparty/poolparty/template.rb +27 -0
  137. data/lib/poolparty/provision/boot_strapper.rb +164 -0
  138. data/lib/poolparty/provision/configurations/chef.rb +26 -0
  139. data/lib/poolparty/provision/configurations/puppet.rb +28 -0
  140. data/lib/poolparty/provision/dr_configure.rb +142 -0
  141. data/lib/poolparty/resources/cron.rb +51 -0
  142. data/lib/poolparty/resources/directory.rb +36 -0
  143. data/lib/poolparty/resources/exec.rb +47 -0
  144. data/lib/poolparty/resources/file.rb +73 -0
  145. data/lib/poolparty/resources/host.rb +37 -0
  146. data/lib/poolparty/resources/mount.rb +45 -0
  147. data/lib/poolparty/resources/package.rb +41 -0
  148. data/lib/poolparty/resources/remote_file.rb +52 -0
  149. data/lib/poolparty/resources/service.rb +41 -0
  150. data/lib/poolparty/resources/sshkey.rb +49 -0
  151. data/lib/poolparty/resources/symlink.rb +43 -0
  152. data/lib/poolparty/{poolparty/resources/remote_user.rb → resources/user.rb} +1 -5
  153. data/lib/poolparty/resources/variable.rb +34 -0
  154. data/lib/poolparty/resources.rb +42 -0
  155. data/lib/poolparty/schema.rb +79 -0
  156. data/lib/poolparty/templates/apache2/apache2.conf +14 -0
  157. data/lib/poolparty/templates/apache2/base.conf.erb +168 -0
  158. data/lib/poolparty/templates/apache2/browser_fixes.conf.erb +26 -0
  159. data/lib/poolparty/templates/apache2/debian.conf.erb +675 -0
  160. data/lib/poolparty/templates/apache2/default-site.conf.erb +41 -0
  161. data/lib/poolparty/templates/apache2/directory_indexes.conf.erb +101 -0
  162. data/lib/poolparty/templates/apache2/logging-syslog.conf.erb +42 -0
  163. data/lib/poolparty/templates/apache2/mime-extras.conf.erb +211 -0
  164. data/lib/poolparty/templates/apache2/mime-minimal.conf.erb +15 -0
  165. data/lib/poolparty/templates/apache2/mpm-worker.conf.erb +20 -0
  166. data/lib/poolparty/templates/apache2/mpm-worker.erb +20 -0
  167. data/lib/poolparty/templates/apache2/passenger.conf.erb +20 -0
  168. data/lib/poolparty/templates/apache2/php.ini.erb +1253 -0
  169. data/lib/poolparty/templates/apache2/server-status.erb +19 -0
  170. data/lib/poolparty/templates/erlang_cookie_maker +6 -0
  171. data/lib/poolparty/templates/gemrc_template +11 -0
  172. data/lib/poolparty/templates/ha.cf +1 -1
  173. data/lib/poolparty/templates/haproxy.conf +29 -27
  174. data/lib/poolparty/templates/haresources +2 -2
  175. data/lib/poolparty/templates/monitor.ru +16 -0
  176. data/lib/poolparty/templates/php.ini.erb +1253 -0
  177. data/lib/poolparty/templates/puppet/add_puppet_to_hosts +6 -0
  178. data/lib/poolparty/templates/puppet/puppet.conf +2 -0
  179. data/lib/poolparty/templates/puppet/puppetrunner +14 -0
  180. data/lib/poolparty/templates/puppet/site.pp +4 -0
  181. data/lib/poolparty/templates/puppetrunner +11 -5
  182. data/lib/poolparty/verification/verifier_base.rb +17 -0
  183. data/lib/poolparty/verification/verifiers/http_match.rb +43 -0
  184. data/lib/poolparty/verification/verifiers/http_status.rb +59 -0
  185. data/lib/poolparty/verification/verifiers/ping.rb +34 -0
  186. data/lib/poolparty/verification/verify.rb +76 -0
  187. data/lib/poolparty.rb +76 -22
  188. data/lib/poolpartycl.rb +66 -1
  189. data/script/destroy +1 -1
  190. data/script/generate +1 -1
  191. data/spec/bin/bin_spec_helper.rb +7 -0
  192. data/spec/bin/fixtures/bin_cloud_for_test.rb +13 -0
  193. data/spec/bin/server-list-active_spec.rb +24 -0
  194. data/spec/poolparty/aska/aska_spec.rb +5 -5
  195. data/spec/poolparty/base_packages/haproxy_spec.rb +2 -8
  196. data/spec/poolparty/base_packages/heartbeat_spec.rb +3 -26
  197. data/spec/poolparty/bin/console_spec.rb +11 -29
  198. data/spec/poolparty/core/array_spec.rb +20 -3
  199. data/spec/poolparty/core/hash_spec.rb +30 -28
  200. data/spec/poolparty/core/object_spec.rb +2 -3
  201. data/spec/poolparty/core/ordered_hash_spec.rb +48 -0
  202. data/spec/poolparty/core/string_spec.rb +1 -27
  203. data/spec/poolparty/dependencies_spec.rb +11 -0
  204. data/spec/poolparty/dependency_resolver/chef_resolver_spec.rb +107 -0
  205. data/spec/poolparty/dependency_resolver/dependency_resolver_cloud_extensions_spec.rb +122 -0
  206. data/spec/poolparty/dependency_resolver/dependency_resolver_spec.rb +16 -0
  207. data/spec/poolparty/dependency_resolver/puppet_resolver_spec.rb +121 -0
  208. data/spec/poolparty/extra/deployments_spec.rb +9 -5
  209. data/spec/poolparty/fixtures/clouds.json +128 -0
  210. data/spec/poolparty/fixtures/test_template.erb +1 -0
  211. data/spec/poolparty/helpers/binary_spec.rb +1 -1
  212. data/spec/poolparty/helpers/hash_printer_spec.rb +34 -0
  213. data/spec/poolparty/helpers/optioner_spec.rb +1 -1
  214. data/spec/poolparty/id_rsa +27 -0
  215. data/spec/poolparty/modules/cloud_resourcer_spec.rb +26 -111
  216. data/spec/poolparty/modules/definable_resource.rb +1 -1
  217. data/spec/poolparty/modules/file_writer_spec.rb +10 -4
  218. data/spec/poolparty/modules/searchable_paths_spec.rb +76 -0
  219. data/spec/poolparty/monitors/base_monitor_spec.rb +112 -111
  220. data/spec/poolparty/monitors/monitors/cpu_monitor_spec.rb +18 -16
  221. data/spec/poolparty/monitors/monitors/memory_monitor_spec.rb +48 -47
  222. data/spec/poolparty/net/remote_instance_spec.rb +9 -73
  223. data/spec/poolparty/net/remote_spec.rb +287 -310
  224. data/spec/poolparty/net/remoter_base_spec.rb +3 -56
  225. data/spec/poolparty/net/remoter_bases/ec2_mocks_and_stubs.rb +24 -0
  226. data/spec/poolparty/net/remoter_bases/ec2_remote_instance_spec.rb +114 -0
  227. data/spec/poolparty/net/{remote_bases → remoter_bases}/ec2_spec.rb +51 -53
  228. data/spec/poolparty/net/remoter_spec.rb +96 -86
  229. data/spec/poolparty/plugins/chef_spec.rb +7 -0
  230. data/spec/poolparty/plugins/deploydirectory_spec.rb +51 -52
  231. data/spec/poolparty/plugins/git_spec.rb +16 -20
  232. data/spec/poolparty/plugins/line_spec.rb +14 -8
  233. data/spec/poolparty/poolparty/cloud_spec.rb +85 -183
  234. data/spec/poolparty/poolparty/configurers/files/ruby_basic.rb +3 -4
  235. data/spec/poolparty/poolparty/configurers/ruby_spec.rb +7 -23
  236. data/spec/poolparty/poolparty/{base_spec.rb → default_spec.rb} +44 -41
  237. data/spec/poolparty/poolparty/example_spec.rb +43 -11
  238. data/spec/poolparty/poolparty/key_spec.rb +42 -0
  239. data/spec/poolparty/poolparty/neighborhoods_spec.rb +65 -0
  240. data/spec/poolparty/poolparty/plugin_model_spec.rb +14 -24
  241. data/spec/poolparty/poolparty/plugin_spec.rb +25 -96
  242. data/spec/poolparty/poolparty/pool_spec.rb +3 -1
  243. data/spec/poolparty/poolparty/resource_spec.rb +70 -270
  244. data/spec/poolparty/poolparty/script_spec.rb +30 -53
  245. data/spec/poolparty/poolparty/service_spec.rb +5 -0
  246. data/spec/poolparty/poolparty/template_spec.rb +26 -0
  247. data/spec/poolparty/poolparty/test_plugins/webserver.rb +8 -25
  248. data/spec/poolparty/poolparty_base_class_spec.rb +84 -0
  249. data/spec/poolparty/poolparty_spec.rb +7 -4
  250. data/spec/poolparty/resources/cron_spec.rb +44 -0
  251. data/spec/poolparty/resources/directory_spec.rb +40 -0
  252. data/spec/poolparty/resources/exec_spec.rb +37 -0
  253. data/spec/poolparty/resources/file_spec.rb +64 -0
  254. data/spec/poolparty/resources/gem_spec.rb +7 -0
  255. data/spec/poolparty/resources/host_spec.rb +35 -0
  256. data/spec/poolparty/resources/package_spec.rb +26 -0
  257. data/spec/poolparty/resources/service_spec.rb +29 -0
  258. data/spec/poolparty/resources/sshkey_spec.rb +40 -0
  259. data/spec/poolparty/resources/symlink_spec.rb +29 -0
  260. data/spec/poolparty/resources/user_spec.rb +48 -0
  261. data/spec/poolparty/resources/variable_spec.rb +26 -0
  262. data/spec/poolparty/schema_spec.rb +53 -0
  263. data/spec/poolparty/spec_helper.rb +107 -23
  264. data/spec/poolparty/test_spec_helper.rb +13 -0
  265. data/tasks/development.rake +85 -69
  266. data/tasks/poolparty.rake +54 -0
  267. data/tasks/server.rake +41 -39
  268. data/tasks/spec.rake +35 -1
  269. data/test/fixtures/test_template.erb +1 -0
  270. data/test/poolparty/core/array_test.rb +21 -0
  271. data/test/poolparty/core/hash_test.rb +34 -0
  272. data/test/poolparty/core/string_test.rb +29 -0
  273. data/test/poolparty/dependency_resolver/puppet_resolver_test.rb +90 -0
  274. data/test/poolparty/modules/callbacks_test.rb +40 -0
  275. data/test/poolparty/modules/cloud_dsl_test.rb +60 -0
  276. data/test/poolparty/net/remoter_bases/vmrun/vmrun_test.rb +54 -0
  277. data/test/poolparty/net/remoter_test.rb +14 -0
  278. data/test/poolparty/poolparty/neighborhood_test.rb +23 -0
  279. data/test/poolparty/poolparty/poolparty_base_class_test.rb +84 -0
  280. data/test/poolparty/poolparty/template_test.rb +31 -0
  281. data/test/poolparty/provision/boot_strapper_test.rb +6 -0
  282. data/test/poolparty/provision/dr_configure_test.rb +6 -0
  283. data/test/poolparty/verification/verify_test.rb +49 -0
  284. data/test/test_helper.rb +8 -2
  285. data/test/test_poolparty.rb +6 -5
  286. data/vendor/chef/apache2/README.rdoc +59 -0
  287. data/vendor/chef/apache2/attributes/apache.rb +72 -0
  288. data/vendor/chef/apache2/definitions/apache_module.rb +36 -0
  289. data/vendor/chef/apache2/definitions/apache_site.rb +36 -0
  290. data/vendor/chef/apache2/definitions/web_app.rb +45 -0
  291. data/vendor/chef/apache2/files/default/apache2_module_conf_generate.pl +41 -0
  292. data/vendor/chef/apache2/recipes/default.rb +132 -0
  293. data/vendor/chef/apache2/recipes/mod_alias.rb +20 -0
  294. data/vendor/chef/apache2/recipes/mod_auth_basic.rb +20 -0
  295. data/vendor/chef/apache2/recipes/mod_auth_digest.rb +20 -0
  296. data/vendor/chef/apache2/recipes/mod_authn_file.rb +20 -0
  297. data/vendor/chef/apache2/recipes/mod_authnz_ldap.rb +20 -0
  298. data/vendor/chef/apache2/recipes/mod_authz_default.rb +20 -0
  299. data/vendor/chef/apache2/recipes/mod_authz_groupfile.rb +20 -0
  300. data/vendor/chef/apache2/recipes/mod_authz_host.rb +20 -0
  301. data/vendor/chef/apache2/recipes/mod_authz_user.rb +20 -0
  302. data/vendor/chef/apache2/recipes/mod_autoindex.rb +20 -0
  303. data/vendor/chef/apache2/recipes/mod_cgi.rb +20 -0
  304. data/vendor/chef/apache2/recipes/mod_dav.rb +20 -0
  305. data/vendor/chef/apache2/recipes/mod_dav_svn.rb +20 -0
  306. data/vendor/chef/apache2/recipes/mod_deflate.rb +20 -0
  307. data/vendor/chef/apache2/recipes/mod_dir.rb +20 -0
  308. data/vendor/chef/apache2/recipes/mod_env.rb +20 -0
  309. data/vendor/chef/apache2/recipes/mod_expires.rb +20 -0
  310. data/vendor/chef/apache2/recipes/mod_fcgid.rb +35 -0
  311. data/vendor/chef/apache2/recipes/mod_headers.rb +20 -0
  312. data/vendor/chef/apache2/recipes/mod_ldap.rb +20 -0
  313. data/vendor/chef/apache2/recipes/mod_log_config.rb +20 -0
  314. data/vendor/chef/apache2/recipes/mod_mime.rb +20 -0
  315. data/vendor/chef/apache2/recipes/mod_negotiation.rb +20 -0
  316. data/vendor/chef/apache2/recipes/mod_php5.rb +27 -0
  317. data/vendor/chef/apache2/recipes/mod_proxy.rb +20 -0
  318. data/vendor/chef/apache2/recipes/mod_proxy_http.rb +20 -0
  319. data/vendor/chef/apache2/recipes/mod_python.rb +22 -0
  320. data/vendor/chef/apache2/recipes/mod_rewrite.rb +20 -0
  321. data/vendor/chef/apache2/recipes/mod_setenvif.rb +20 -0
  322. data/vendor/chef/apache2/recipes/mod_ssl.rb +20 -0
  323. data/vendor/chef/apache2/recipes/mod_status.rb +20 -0
  324. data/vendor/chef/apache2/templates/default/a2dismod.erb +22 -0
  325. data/vendor/chef/apache2/templates/default/a2dissite.erb +29 -0
  326. data/vendor/chef/apache2/templates/default/a2enmod.erb +37 -0
  327. data/vendor/chef/apache2/templates/default/a2ensite.erb +38 -0
  328. data/vendor/chef/apache2/templates/default/apache2.conf.erb +630 -0
  329. data/vendor/chef/apache2/templates/default/default-site.erb +45 -0
  330. data/vendor/chef/apache2/templates/default/port_apache.erb +2 -0
  331. data/vendor/chef/apache2/templates/default/ports.conf.erb +6 -0
  332. data/vendor/chef/apache2/templates/default/web_app.conf.erb +43 -0
  333. data/vendor/chef/chef-deploy/LICENSE +201 -0
  334. data/vendor/chef/chef-deploy/README.rdoc +24 -0
  335. data/vendor/chef/chef-deploy/Rakefile +57 -0
  336. data/vendor/chef/chef-deploy/TODO +4 -0
  337. data/vendor/chef/chef-deploy/lib/chef-deploy/cached_deploy.rb +230 -0
  338. data/vendor/chef/chef-deploy/lib/chef-deploy/git.rb +132 -0
  339. data/vendor/chef/chef-deploy/lib/chef-deploy/subversion.rb +98 -0
  340. data/vendor/chef/chef-deploy/lib/chef-deploy.rb +183 -0
  341. data/vendor/gems/butterfly/History.txt +4 -0
  342. data/vendor/gems/butterfly/PostInstall.txt +2 -0
  343. data/vendor/gems/butterfly/README.rdoc +48 -0
  344. data/vendor/gems/butterfly/Rakefile +62 -0
  345. data/vendor/gems/butterfly/VERSION.yml +4 -0
  346. data/vendor/gems/butterfly/bin/flutter +4 -0
  347. data/vendor/gems/butterfly/butterfly.gemspec +37 -0
  348. data/vendor/gems/butterfly/examples/config.ru +15 -0
  349. data/vendor/gems/butterfly/examples/my_app.rb +12 -0
  350. data/vendor/gems/butterfly/lib/butterfly.rb +14 -0
  351. data/vendor/gems/butterfly/lib/handler.rb +48 -0
  352. data/vendor/gems/butterfly/lib/request.rb +29 -0
  353. data/vendor/gems/butterfly/lib/response.rb +49 -0
  354. data/vendor/gems/butterfly/script/console +10 -0
  355. data/vendor/gems/butterfly/script/destroy +14 -0
  356. data/vendor/gems/butterfly/script/generate +14 -0
  357. data/vendor/gems/butterfly/test/test_adapter_base.rb +23 -0
  358. data/vendor/gems/butterfly/test/test_butterfly_request.rb +46 -0
  359. data/vendor/gems/butterfly/test/test_butterfly_response.rb +43 -0
  360. data/vendor/gems/butterfly/test/test_butterfly_server.rb +16 -0
  361. data/vendor/gems/butterfly/test/test_default.rb +12 -0
  362. data/vendor/gems/butterfly/test/test_helper.rb +6 -0
  363. data/vendor/gems/dslify/History.txt +4 -0
  364. data/vendor/gems/dslify/Manifest.txt +25 -0
  365. data/vendor/gems/dslify/PostInstall.txt +5 -0
  366. data/vendor/gems/dslify/README.txt +60 -0
  367. data/vendor/gems/dslify/Rakefile +56 -0
  368. data/{config → vendor/gems/dslify/config}/hoe.rb +12 -55
  369. data/vendor/gems/dslify/config/requirements.rb +15 -0
  370. data/vendor/gems/dslify/dslify.gemspec +40 -0
  371. data/vendor/gems/dslify/lib/dslify/dslify.rb +76 -0
  372. data/vendor/gems/dslify/lib/dslify/version.rb +10 -0
  373. data/vendor/gems/dslify/lib/dslify.rb +7 -0
  374. data/vendor/gems/dslify/script/console +10 -0
  375. data/vendor/gems/dslify/script/destroy +14 -0
  376. data/vendor/gems/dslify/script/generate +14 -0
  377. data/{script → vendor/gems/dslify/script}/txt2html +4 -4
  378. data/{setup.rb → vendor/gems/dslify/setup.rb} +3 -3
  379. data/{tasks → vendor/gems/dslify/tasks}/deployment.rake +4 -18
  380. data/vendor/gems/dslify/tasks/environment.rake +7 -0
  381. data/{tasks → vendor/gems/dslify/tasks}/website.rake +0 -0
  382. data/vendor/gems/dslify/test/test_dslify.rb +138 -0
  383. data/vendor/gems/dslify/website/index.html +86 -0
  384. data/vendor/gems/dslify/website/index.txt +83 -0
  385. data/{website → vendor/gems/dslify/website}/javascripts/rounded_corners_lite.inc.js +0 -0
  386. data/{website → vendor/gems/dslify/website}/stylesheets/screen.css +18 -27
  387. data/{website → vendor/gems/dslify/website}/template.html.erb +1 -2
  388. data/vendor/gems/parenting/History.txt +4 -0
  389. data/vendor/gems/parenting/Manifest.txt +14 -0
  390. data/vendor/gems/parenting/PostInstall.txt +2 -0
  391. data/vendor/gems/parenting/README.rdoc +47 -0
  392. data/vendor/gems/parenting/Rakefile +28 -0
  393. data/vendor/gems/parenting/lib/parenting/parenting.rb +61 -0
  394. data/vendor/gems/parenting/lib/parenting.rb +10 -0
  395. data/vendor/gems/parenting/parenting.gemspec +39 -0
  396. data/vendor/gems/parenting/script/console +10 -0
  397. data/vendor/gems/parenting/script/destroy +14 -0
  398. data/vendor/gems/parenting/script/generate +14 -0
  399. data/vendor/gems/parenting/test/file_to_eval.rb +9 -0
  400. data/vendor/gems/parenting/test/test_helper.rb +5 -0
  401. data/vendor/gems/parenting/test/test_parenting.rb +117 -0
  402. data/vendor/gems/suitcase/LICENSE +20 -0
  403. data/vendor/gems/suitcase/README.rdoc +31 -0
  404. data/vendor/gems/suitcase/Rakefile +57 -0
  405. data/vendor/gems/suitcase/VERSION.yml +4 -0
  406. data/vendor/gems/suitcase/lib/suitcase/unzipper.rb +15 -0
  407. data/vendor/gems/suitcase/lib/suitcase/zipper.rb +119 -0
  408. data/vendor/gems/suitcase/lib/suitcase.rb +5 -0
  409. data/vendor/gems/suitcase/suitcase.gemspec +32 -0
  410. data/vendor/gems/suitcase/test/suitcase_test.rb +102 -0
  411. data/vendor/gems/suitcase/test/test_dir/box.rb +1 -0
  412. data/vendor/gems/suitcase/test/test_dir/test.txt +1 -0
  413. data/vendor/gems/suitcase/test/test_helper.rb +12 -0
  414. metadata +370 -343
  415. data/Capfile +0 -1
  416. data/Manifest.txt +0 -414
  417. data/bin/cloud-add-keypair +0 -28
  418. data/bin/cloud-ensure-provisioning +0 -39
  419. data/bin/cloud-maintain +0 -30
  420. data/bin/cloud-refresh +0 -17
  421. data/bin/cloud-run +0 -18
  422. data/bin/cloud-stats +0 -17
  423. data/bin/messenger-get-current-nodes +0 -14
  424. data/bin/pool +0 -31
  425. data/bin/pool-describe +0 -8
  426. data/bin/pool-generate +0 -18
  427. data/bin/pool-init +0 -28
  428. data/bin/pool-list +0 -30
  429. data/bin/pool-start +0 -26
  430. data/bin/server-build-messenger +0 -27
  431. data/bin/server-clean-cert-for +0 -15
  432. data/bin/server-list-responding +0 -24
  433. data/bin/server-start-client +0 -29
  434. data/bin/server-start-master +0 -26
  435. data/bin/server-start-node +0 -32
  436. data/bin/server-stop-client +0 -3
  437. data/bin/server-stop-master +0 -3
  438. data/bin/server-stop-node +0 -3
  439. data/bin/server-update-hosts +0 -49
  440. data/lib/erlang/messenger/Emakefile +0 -1
  441. data/lib/erlang/messenger/Makefile +0 -15
  442. data/lib/erlang/messenger/README +0 -5
  443. data/lib/erlang/messenger/Rakefile +0 -72
  444. data/lib/erlang/messenger/control +0 -11
  445. data/lib/erlang/messenger/ebin/client.app +0 -19
  446. data/lib/erlang/messenger/ebin/client_app.beam +0 -0
  447. data/lib/erlang/messenger/ebin/client_server.beam +0 -0
  448. data/lib/erlang/messenger/ebin/erl_crash.dump +0 -10326
  449. data/lib/erlang/messenger/ebin/master.app +0 -19
  450. data/lib/erlang/messenger/ebin/master_app.beam +0 -0
  451. data/lib/erlang/messenger/ebin/node.app +0 -19
  452. data/lib/erlang/messenger/ebin/node_app.beam +0 -0
  453. data/lib/erlang/messenger/ebin/packager.app +0 -19
  454. data/lib/erlang/messenger/ebin/pm_client.beam +0 -0
  455. data/lib/erlang/messenger/ebin/pm_client_old.beam +0 -0
  456. data/lib/erlang/messenger/ebin/pm_client_rel-0.1.rel +0 -1
  457. data/lib/erlang/messenger/ebin/pm_client_supervisor.beam +0 -0
  458. data/lib/erlang/messenger/ebin/pm_cluster.beam +0 -0
  459. data/lib/erlang/messenger/ebin/pm_event_manager.beam +0 -0
  460. data/lib/erlang/messenger/ebin/pm_master.beam +0 -0
  461. data/lib/erlang/messenger/ebin/pm_master_event_handler.beam +0 -0
  462. data/lib/erlang/messenger/ebin/pm_master_rel-0.1.rel +0 -1
  463. data/lib/erlang/messenger/ebin/pm_master_supervisor.beam +0 -0
  464. data/lib/erlang/messenger/ebin/pm_node.beam +0 -0
  465. data/lib/erlang/messenger/ebin/pm_node_rel-0.1.rel +0 -1
  466. data/lib/erlang/messenger/ebin/pm_node_supervisor.beam +0 -0
  467. data/lib/erlang/messenger/ebin/pm_packager.beam +0 -0
  468. data/lib/erlang/messenger/ebin/pm_spawner.beam +0 -0
  469. data/lib/erlang/messenger/ebin/pm_strings.beam +0 -0
  470. data/lib/erlang/messenger/ebin/utils.beam +0 -0
  471. data/lib/erlang/messenger/include/defines.hrl +0 -27
  472. data/lib/erlang/messenger/lib/eunit/AUTHORS +0 -2
  473. data/lib/erlang/messenger/lib/eunit/CHANGELOG +0 -14
  474. data/lib/erlang/messenger/lib/eunit/COPYING +0 -504
  475. data/lib/erlang/messenger/lib/eunit/Makefile +0 -28
  476. data/lib/erlang/messenger/lib/eunit/NOTES +0 -276
  477. data/lib/erlang/messenger/lib/eunit/README +0 -3
  478. data/lib/erlang/messenger/lib/eunit/doc/edoc-info +0 -3
  479. data/lib/erlang/messenger/lib/eunit/doc/erlang.png +0 -0
  480. data/lib/erlang/messenger/lib/eunit/doc/eunit.html +0 -172
  481. data/lib/erlang/messenger/lib/eunit/doc/index.html +0 -17
  482. data/lib/erlang/messenger/lib/eunit/doc/modules-frame.html +0 -12
  483. data/lib/erlang/messenger/lib/eunit/doc/overview-summary.html +0 -984
  484. data/lib/erlang/messenger/lib/eunit/doc/overview.edoc +0 -980
  485. data/lib/erlang/messenger/lib/eunit/doc/packages-frame.html +0 -11
  486. data/lib/erlang/messenger/lib/eunit/doc/stylesheet.css +0 -55
  487. data/lib/erlang/messenger/lib/eunit/ebin/autoload.beam +0 -0
  488. data/lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam +0 -0
  489. data/lib/erlang/messenger/lib/eunit/ebin/eunit.app +0 -21
  490. data/lib/erlang/messenger/lib/eunit/ebin/eunit.appup +0 -1
  491. data/lib/erlang/messenger/lib/eunit/ebin/eunit.beam +0 -0
  492. data/lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam +0 -0
  493. data/lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam +0 -0
  494. data/lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam +0 -0
  495. data/lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam +0 -0
  496. data/lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam +0 -0
  497. data/lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam +0 -0
  498. data/lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam +0 -0
  499. data/lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam +0 -0
  500. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam +0 -0
  501. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam +0 -0
  502. data/lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam +0 -0
  503. data/lib/erlang/messenger/lib/eunit/examples/eunit_examples.erl +0 -339
  504. data/lib/erlang/messenger/lib/eunit/examples/fib.erl +0 -19
  505. data/lib/erlang/messenger/lib/eunit/examples/tests.txt +0 -1
  506. data/lib/erlang/messenger/lib/eunit/include/eunit.hrl +0 -313
  507. data/lib/erlang/messenger/lib/eunit/src/Makefile +0 -46
  508. data/lib/erlang/messenger/lib/eunit/src/autoload.erl +0 -388
  509. data/lib/erlang/messenger/lib/eunit/src/code_monitor.erl +0 -243
  510. data/lib/erlang/messenger/lib/eunit/src/eunit.app.src +0 -21
  511. data/lib/erlang/messenger/lib/eunit/src/eunit.appup.src +0 -1
  512. data/lib/erlang/messenger/lib/eunit/src/eunit.erl +0 -196
  513. data/lib/erlang/messenger/lib/eunit/src/eunit_autoexport.erl +0 -102
  514. data/lib/erlang/messenger/lib/eunit/src/eunit_data.erl +0 -798
  515. data/lib/erlang/messenger/lib/eunit/src/eunit_internal.hrl +0 -48
  516. data/lib/erlang/messenger/lib/eunit/src/eunit_lib.erl +0 -682
  517. data/lib/erlang/messenger/lib/eunit/src/eunit_proc.erl +0 -552
  518. data/lib/erlang/messenger/lib/eunit/src/eunit_serial.erl +0 -157
  519. data/lib/erlang/messenger/lib/eunit/src/eunit_server.erl +0 -340
  520. data/lib/erlang/messenger/lib/eunit/src/eunit_striptests.erl +0 -64
  521. data/lib/erlang/messenger/lib/eunit/src/eunit_test.erl +0 -334
  522. data/lib/erlang/messenger/lib/eunit/src/eunit_tests.erl +0 -45
  523. data/lib/erlang/messenger/lib/eunit/src/eunit_tty.erl +0 -272
  524. data/lib/erlang/messenger/lib/eunit/src/file_monitor.erl +0 -409
  525. data/lib/erlang/messenger/lib/eunit/sys.config +0 -9
  526. data/lib/erlang/messenger/lib/eunit/vsn.mk +0 -1
  527. data/lib/erlang/messenger/pm_client_rel-0.1.boot +0 -0
  528. data/lib/erlang/messenger/pm_client_rel-0.1.script +0 -238
  529. data/lib/erlang/messenger/pm_master_rel-0.1.boot +0 -0
  530. data/lib/erlang/messenger/pm_master_rel-0.1.script +0 -239
  531. data/lib/erlang/messenger/pm_node_rel-0.1.boot +0 -0
  532. data/lib/erlang/messenger/pm_node_rel-0.1.script +0 -237
  533. data/lib/erlang/messenger/src/client_app.erl +0 -39
  534. data/lib/erlang/messenger/src/client_server.erl +0 -60
  535. data/lib/erlang/messenger/src/master_app.erl +0 -39
  536. data/lib/erlang/messenger/src/node_app.erl +0 -39
  537. data/lib/erlang/messenger/src/pm_client.erl +0 -49
  538. data/lib/erlang/messenger/src/pm_client_supervisor.erl +0 -38
  539. data/lib/erlang/messenger/src/pm_cluster.erl +0 -61
  540. data/lib/erlang/messenger/src/pm_event_manager.erl +0 -27
  541. data/lib/erlang/messenger/src/pm_master.erl +0 -215
  542. data/lib/erlang/messenger/src/pm_master_event_handler.erl +0 -72
  543. data/lib/erlang/messenger/src/pm_master_supervisor.erl +0 -39
  544. data/lib/erlang/messenger/src/pm_node.erl +0 -200
  545. data/lib/erlang/messenger/src/pm_node_supervisor.erl +0 -38
  546. data/lib/erlang/messenger/src/pm_packager.erl +0 -76
  547. data/lib/erlang/messenger/src/pm_spawner.erl +0 -213
  548. data/lib/erlang/messenger/src/pm_strings.erl +0 -11
  549. data/lib/erlang/messenger/src/utils.erl +0 -73
  550. data/lib/erlang/messenger/useful_snippets +0 -17
  551. data/lib/poolparty/capistrano.rb +0 -18
  552. data/lib/poolparty/config/postlaunchmessage.txt +0 -5
  553. data/lib/poolparty/dependency_resolutions/base.rb +0 -12
  554. data/lib/poolparty/modules/configurable.rb +0 -36
  555. data/lib/poolparty/modules/method_missing_sugar.rb +0 -58
  556. data/lib/poolparty/monitors/monitors/cpu_monitor.rb +0 -15
  557. data/lib/poolparty/monitors/monitors/web_monitor.rb +0 -18
  558. data/lib/poolparty/net/messenger.rb +0 -72
  559. data/lib/poolparty/net/remote.rb +0 -38
  560. data/lib/poolparty/net/remote_bases/ec2.rb +0 -190
  561. data/lib/poolparty/net/remoter.rb +0 -343
  562. data/lib/poolparty/plugins/deploydirectory.rb +0 -71
  563. data/lib/poolparty/plugins/line.rb +0 -77
  564. data/lib/poolparty/plugins/rsyncmirror.rb +0 -26
  565. data/lib/poolparty/poolparty/custom_resource.rb +0 -45
  566. data/lib/poolparty/poolparty/resources/class_package.rb +0 -105
  567. data/lib/poolparty/poolparty/resources/conditional.rb +0 -67
  568. data/lib/poolparty/poolparty/resources/cron.rb +0 -14
  569. data/lib/poolparty/poolparty/resources/custom_service.rb +0 -30
  570. data/lib/poolparty/poolparty/resources/directory.rb +0 -26
  571. data/lib/poolparty/poolparty/resources/exec.rb +0 -28
  572. data/lib/poolparty/poolparty/resources/file.rb +0 -23
  573. data/lib/poolparty/poolparty/resources/gem_package.rb +0 -52
  574. data/lib/poolparty/poolparty/resources/host.rb +0 -14
  575. data/lib/poolparty/poolparty/resources/mount.rb +0 -22
  576. data/lib/poolparty/poolparty/resources/package.rb +0 -24
  577. data/lib/poolparty/poolparty/resources/remote_file.rb +0 -26
  578. data/lib/poolparty/poolparty/resources/service.rb +0 -21
  579. data/lib/poolparty/poolparty/resources/sshkey.rb +0 -23
  580. data/lib/poolparty/poolparty/resources/symlink.rb +0 -25
  581. data/lib/poolparty/poolparty/resources/variable.rb +0 -32
  582. data/lib/poolparty/provisioners/capistrano/capistrano.rb +0 -127
  583. data/lib/poolparty/provisioners/capistrano/capistrano_configurer.rb +0 -58
  584. data/lib/poolparty/provisioners/capistrano/recipies/base.rb +0 -104
  585. data/lib/poolparty/provisioners/capistrano/recipies/master.rb +0 -121
  586. data/lib/poolparty/provisioners/capistrano/recipies/slave.rb +0 -12
  587. data/lib/poolparty/provisioners/provisioner_base.rb +0 -204
  588. data/lib/poolparty/spec/core/string.rb +0 -16
  589. data/lib/poolparty/spec/matchers/a_spec_extensions_base.rb +0 -26
  590. data/lib/poolparty/spec/matchers/have_cron.rb +0 -28
  591. data/lib/poolparty/spec/matchers/have_deploydirectory.rb +0 -15
  592. data/lib/poolparty/spec/matchers/have_directory.rb +0 -31
  593. data/lib/poolparty/spec/matchers/have_exec.rb +0 -28
  594. data/lib/poolparty/spec/matchers/have_file.rb +0 -28
  595. data/lib/poolparty/spec/matchers/have_gempackage.rb +0 -28
  596. data/lib/poolparty/spec/matchers/have_git.rb +0 -28
  597. data/lib/poolparty/spec/matchers/have_host.rb +0 -28
  598. data/lib/poolparty/spec/matchers/have_mount.rb +0 -28
  599. data/lib/poolparty/spec/matchers/have_package.rb +0 -28
  600. data/lib/poolparty/spec/matchers/have_remotefile.rb +0 -28
  601. data/lib/poolparty/spec/matchers/have_rsyncmirror.rb +0 -28
  602. data/lib/poolparty/spec/matchers/have_service.rb +0 -28
  603. data/lib/poolparty/spec/matchers/have_sshkey.rb +0 -28
  604. data/lib/poolparty/spec/matchers/have_symlink.rb +0 -28
  605. data/lib/poolparty/spec/matchers/have_variable.rb +0 -32
  606. data/lib/poolparty/spec/spec/dynamic_matchers.rb +0 -63
  607. data/lib/poolparty/spec/spec/ensure_matchers_exist.rb +0 -7
  608. data/lib/poolparty/spec/templates/have_base.rb +0 -28
  609. data/lib/poolparty/templates/puppet.conf +0 -26
  610. data/lib/poolparty/templates/puppetcleaner +0 -12
  611. data/lib/poolparty/templates/puppetrerun +0 -22
  612. data/lib/poolparty/version.rb +0 -9
  613. data/lib/poolpartyspec.rb +0 -34
  614. data/log/pool.log +0 -0
  615. data/poolparty.gemspec +0 -580
  616. data/spec/poolparty/dependency_resolutions/base_spec.rb +0 -11
  617. data/spec/poolparty/modules/configurable_spec.rb +0 -29
  618. data/spec/poolparty/net/log/pool.log +0 -0
  619. data/spec/poolparty/net/messenger_spec.rb +0 -16
  620. data/spec/poolparty/plugins/svn_spec.rb +0 -16
  621. data/spec/poolparty/poolparty/custom_resource_spec.rb +0 -120
  622. data/spec/poolparty/poolparty/resources/class_package_spec.rb +0 -120
  623. data/spec/poolparty/poolparty/resources/conditional_spec.rb +0 -77
  624. data/spec/poolparty/poolparty/resources/cron_spec.rb +0 -50
  625. data/spec/poolparty/poolparty/resources/directory_spec.rb +0 -40
  626. data/spec/poolparty/poolparty/resources/exec_spec.rb +0 -37
  627. data/spec/poolparty/poolparty/resources/file_spec.rb +0 -40
  628. data/spec/poolparty/poolparty/resources/gem_spec.rb +0 -46
  629. data/spec/poolparty/poolparty/resources/host_spec.rb +0 -28
  630. data/spec/poolparty/poolparty/resources/package_spec.rb +0 -44
  631. data/spec/poolparty/poolparty/resources/remote_file_spec.rb +0 -40
  632. data/spec/poolparty/poolparty/resources/service_spec.rb +0 -45
  633. data/spec/poolparty/poolparty/resources/sshkey_spec.rb +0 -48
  634. data/spec/poolparty/poolparty/resources/symlink_spec.rb +0 -22
  635. data/spec/poolparty/poolparty/resources/user_spec.rb +0 -38
  636. data/spec/poolparty/poolparty/resources/variable_spec.rb +0 -24
  637. data/spec/poolparty/provisioners/capistrano/capistrano_spec.rb +0 -27
  638. data/spec/poolparty/provisioners/provisioner_base_spec.rb +0 -120
  639. data/spec/poolparty/spec/core/string_spec.rb +0 -57
  640. data/website/index.html +0 -107
  641. data/website/index.txt +0 -95
  642. data/website/stylesheets/code.css +0 -29
data/bin/cloud-start CHANGED
@@ -1,32 +1,30 @@
1
1
  #!/usr/bin/env ruby
2
2
  $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
3
  require "poolparty"
4
- require "poolpartycl"
5
4
 
6
- o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
7
- optioner.cloudnames
8
- optioner.daemonizeable
5
+ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
6
+ opts.on('-n cloudname', '--name name', 'Start cloud by this name') { |c| optioner.cloudname c }
9
7
  end
10
8
 
11
- o.loaded_clouds.each do |cloud|
12
- with_cloud(cloud) do
13
- setup_dev
14
- vputs header("Starting cloud #{name}")
15
- vputs "#{list_of_running_instances.size} running instances (#{minimum_instances} - #{maximum_instances})"
16
- # if list_of_running_instances.size <= 1
17
- puts "Starting the master instance"
18
- # if testing
19
- # puts("\tNot launching while in testing mode")
20
- # else
21
- vputs "Launching and configuring the master"
22
- @cl = self
23
- daemon ? daemonize {@cl.launch_and_configure_master!} : launch_and_configure_master!
24
- # end
25
- # end
26
- when_no_pending_instances do
27
- puts open(::File.join(File.dirname(__FILE__), "..", "lib", "poolparty", "config", "postlaunchmessage.txt")).read ^ {:master_ip => master.ip.chomp}
28
- clear_base_directory unless testing
9
+ o.loaded_clouds.each do |cld|
10
+
11
+ if cld.nodes(:status => "running").size.zero?
12
+ puts header("Starting cloud #{cld.name} (#{cld.keypair})")
13
+ puts "#{cld.nodes(:status => "running").size} running instances (#{cld.minimum_instances} - #{cld.maximum_instances})"
14
+
15
+ cld.launch_instance!(cld.dsl_options) do |node|
16
+
17
+ ::PoolParty::Provision::BootStrapper.new(node.ip, :cloud => cld)
18
+ ::PoolParty::Provision::DrConfigure.new(node.ip, :cloud => cld)
19
+
20
+ puts <<-EOM
21
+ Your cloud has started. Your ip is #{node.ip}
22
+ EOM
29
23
  end
30
- end
31
24
 
25
+ else
26
+ puts <<-EOE
27
+ Your cloud is already running.
28
+ EOE
29
+ end
32
30
  end
data/bin/cloud-terminate CHANGED
@@ -5,16 +5,24 @@ require "poolpartycl"
5
5
 
6
6
  o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
7
7
  opts.on('-n name', '--name name', 'Terminate the cloud of this name') { |c| optioner.cloudname c }
8
+ opts.on('-y', '--yes', 'Terminate the cloud without prompt') { optioner.yes true }
8
9
  end
9
10
 
10
- o.loaded_clouds.each do |cloud|
11
-
12
- with_cloud(cloud) do
11
+ o.loaded_clouds.each do |cld|
12
+ cld.nodes(:status => "running").each do |inst|
13
+ msg = <<-EOM
14
+ Shutting down #{inst.instance_id}
15
+ Are you sure? (Y/N)
16
+ EOM
13
17
 
14
- list_of_running_instances.each do |inst|
18
+ if o.yes?
15
19
  puts "Shutting down #{inst.instance_id}"
16
- terminate_instance!(inst.instance_id)
20
+ cld.terminate_instance!(:instance_id => inst.instance_id)
21
+ else
22
+ if are_you_sure?(msg)
23
+ puts "Shutting down #{inst.instance_id}"
24
+ cld.terminate_instance!(:instance_id => inst.instance_id)
25
+ end
17
26
  end
18
-
19
- end
27
+ end
20
28
  end
data/bin/cloud-verify ADDED
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+ require "poolparty"
4
+
5
+ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
6
+ opts.on('-n cloudname', '--name name', 'Start cloud by this name') { |c| optioner.cloudname c }
7
+ opts.on('-i num', '--num i', 'Instance number') { |i| optioner.inst_num i.to_i }
8
+ end
9
+
10
+ o.loaded_clouds.each do |cld|
11
+
12
+ begin
13
+ if cld.verifiers.size > 0
14
+ cld.passing?
15
+ cld.vputs "Cloud passed verification"
16
+ else
17
+ raise "Your cloud doesn't have any verifiers!"
18
+ exit 2
19
+ end
20
+ rescue Exception => e
21
+ cld.vputs <<-EOM
22
+
23
+ Verification failed: #{e}"
24
+ Please check your clouds.rb for any errors
25
+
26
+ Exception: #{e.class}: #{e.message}\n\t#{e.backtrace.join("\n\t")}
27
+
28
+ EOM
29
+ end
30
+
31
+ end
32
+
@@ -0,0 +1,216 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+ require "poolparty"
4
+ require "poolpartycl"
5
+ require "highline/import"
6
+
7
+ welcome_msg = <<-EOE
8
+ We are going to take you through the installation process of PoolParty.
9
+
10
+ First, we'll setup your environment so using PoolParty will be a breeze
11
+ EOE
12
+
13
+ closing_message = <<-EOE
14
+ You are now set to ride the waves with PoolParty! You'll notice there is a clouds.rb file in your current directory. You can start your new cloud
15
+ by typing:
16
+
17
+ cloud start
18
+
19
+ You can start your clouds.rb. More samples are available here:
20
+ http://github.com/auser/poolparty-examples/tree/master
21
+ EOE
22
+
23
+ colored_say "Welcome to PoolParty!", :help
24
+ say welcome_msg
25
+ begin
26
+ t = colored_ask "Press enter to continue or Ctrl+C to exit"
27
+ rescue Exception => e
28
+ say <<-EOE
29
+
30
+ Cancelled PoolParty installation
31
+
32
+ You can always restart this by typing:
33
+ install-poolparty
34
+ EOE
35
+ exit 0
36
+ end
37
+
38
+ say("\nWhat remoter base would you like to use?")
39
+ choose do |menu|
40
+ menu.prompt = "> "
41
+
42
+ available_bases.each do |base|
43
+ menu.choice base.to_sym do
44
+
45
+ colored_say "Great, we'll be using #{base}"
46
+
47
+ case base
48
+ when :ec2
49
+
50
+ key_help_str = <<-EOE
51
+ Now you need to get your keys from Amazon AWS.
52
+ If you don't already have your keys setup, navigate to http://aws.amazon.com
53
+ and click on Your Account. Click on the Access Identifiers tab and find:
54
+ Your Access Key ID. This is your access key.
55
+ EOE
56
+ access_key_str = <<-EOE
57
+ Since you'll be using ec2, we'll have to set some things up before
58
+ we can get going on PoolParty. Don't worry, this information will stay between us.
59
+
60
+ EOE
61
+ say access_key_str
62
+ ask_with_help :message => "First, what's your access key?",
63
+ :help => key_help_str do |t|
64
+
65
+ @access_key = t
66
+
67
+ key_help_str = <<-EOE
68
+ If you don't already have your keys setup, navigate to http://aws.amazon.com
69
+ and click on Your Account. Click on the Access Identifiers tab and find:
70
+ Your Secret Access Key ID. Click on the - show button.
71
+ This is your secret access key.
72
+ EOE
73
+ ask_with_help :message => "Awesome. Now what's your secret access key? ",
74
+ :help => key_help_str do |t|
75
+ @secret_access_key = t
76
+
77
+ rescued_ask_str = <<-EOS
78
+ Super duper! You'll need to make sure you have yout X.509 certificate downloaded too.
79
+ Save this in your ~/.ec2 directory.
80
+
81
+ Press enter when you're ready
82
+ EOS
83
+
84
+ cert_help_str = <<-EOE
85
+ To get your X.509 certificates, navigate to http://aws.amazon.com and login. Click on
86
+ Your Account and scroll down. The X.509 Certificate box is at the bottom. Make sure you
87
+ click download and save the cert-*.pem file. If you don't know or don't have the pk-*.pem file
88
+ you may have to recreate it. Not to worry though, it's super easy. Click on the Create New button.
89
+ From there, you can download the cert-*.pem and the pk-*.pem files.
90
+
91
+ EOE
92
+
93
+ ask_with_help :message => rescued_ask_str,
94
+ :help => cert_help_str do |t|
95
+
96
+ begin
97
+ ec2 = PoolParty::Remote::Ec2.ec2({:access_key => @access_key, :secret_access_key => @secret_access_key})
98
+ keypairs = ec2.describe_keypairs["keySet"]["item"]
99
+ keynames = keypairs.map {|k| k["keyName"]}
100
+ rescue Exception => e
101
+ colored_say "There was an error: #{e}. Recheck your access_key and secret_access_key to make sure you copied them correctly"
102
+ exit 1
103
+ end
104
+
105
+ key_str =<<-EOK
106
+
107
+ Finally, what's the name of the keypair you'd like to use?
108
+
109
+ You already have the following keypairs setup:
110
+ \t#{keynames.join("\n\t")}
111
+
112
+ You can use one of these keys, or create a new one.
113
+ EOK
114
+
115
+ key_str_help =<<-EOH
116
+ To make a new keypair, make sure you have the ec2 tools installed. You can create a new one by typing the command:
117
+ ec2-add-keypair
118
+
119
+ Save this into a file in your ~/.ec2 directory. Enter the name of the keypair here.
120
+ EOH
121
+ ask_with_help :message => key_str,
122
+ :help => key_str_help do |t|
123
+ @keypair = t
124
+ say <<-EOE
125
+
126
+ In your clouds.rb, you can use this keypair in your clouds.
127
+
128
+ Create one for each cloud you want to use.
129
+
130
+ EOE
131
+
132
+ clds =<<-EOC
133
+ pool :my_pool do
134
+ cloud :my_app do
135
+
136
+ # Copy these lines and source them in your .profile or .bashrc file
137
+ # export AWS_ACCESS_KEY="#{@access_key}"
138
+ # export AWS_SECRET_ACCESS_KEY="#{@secret_access_key}"
139
+ # export EC2_PRIVATE_KEY=$(ls ~/.ec2/pk-*.pem)
140
+ # export EC2_CERT=$(ls ~/.ec2/cert-*.pem)
141
+
142
+ access_key "#{@access_key}"
143
+ secret_access_key "#{@secret_access_key}"
144
+ keypair "#{@keypair}"
145
+
146
+ has_file "/etc/motd" do
147
+ content "Welcome to your first PoolParty instance!"
148
+ end
149
+ end
150
+ end
151
+ EOC
152
+
153
+ ::File.open("clouds.rb", "w") {|f| f << clds}
154
+ colored_say closing_message
155
+ end
156
+ end
157
+
158
+ end
159
+ end
160
+ when :vmrun
161
+ vmrun_file_help =<<-EOV
162
+ Vmware uses a vmwarevm file to keep information about the vmware instance. To find the vmwarevm file,
163
+ navigate to vmware and find the vm you'd like to use. Find this in finder and paste that here.
164
+ EOV
165
+ default_vmrun_file = Dir["#{::File.expand_path("~")}/Documents/Virtual\ Machines/*.vmwarevm"].first rescue nil
166
+ vmrun_file = <<-EOE
167
+ Awesome. What's the path to your vmwarevm file?
168
+ #{
169
+ if default_vmrun_file
170
+ "Is this it: #{default_vmrun_file}? (Press enter to accept default)"
171
+ end
172
+ }
173
+ EOE
174
+ ask_with_help :message => vmrun_file,
175
+ :help => vmrun_file_help do |t|
176
+
177
+ t = default_vmrun_file if t.nil? || t.empty?
178
+ ip_help =<<-EOV
179
+ Right now, vmrun, the remoter base needs an explicitly set ip. Log into your vm and type ifconfig. Copy and paste that here.
180
+ EOV
181
+ ask_with_help :message => "Now, what's the ip of your vm?",
182
+ :validate => /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|h|H/,
183
+ :help => ip_help do |i|
184
+
185
+ ask_with_help :message => "Finally, make sure you get your key on the vm. You can use this command: \n\tscp ~/.ssh/id_rsa.pub root@#{i}:/root/.ssh/authorized_keys.\n\nPress enter when you're ready" do |qqqq|
186
+
187
+ vmx_file = Dir["#{t}/*.vmx"].first
188
+ clds =<<-EOC
189
+ pool :my_pool do
190
+ cloud :my_app do
191
+ using :vmrun do
192
+ vmx_hash({
193
+ "#{vmx_file}" => "#{i}"
194
+ })
195
+ end
196
+
197
+ has_file "/etc/motd" do
198
+ content "Welcome to your first PoolParty instance!"
199
+ end
200
+ end
201
+ end
202
+ EOC
203
+
204
+ ::File.open("clouds.rb", "w") {|f| f << clds}
205
+ colored_say closing_message
206
+
207
+ end
208
+ end
209
+ end
210
+ else
211
+ say("Not sure what remoter_base you mean. Please choose from the menu.")
212
+ end
213
+ end
214
+ end
215
+
216
+ end
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+ # based on snippet from ciconia
3
+ # http://snippets.dzone.com/posts/show/2265
4
+
5
+ require 'fileutils'
6
+ require File.dirname(__FILE__)+'/../vendor/gems/butterfly/lib/butterfly.rb'
7
+ require 'rack'
8
+
9
+ monitor_dir = ::File.join(::File.dirname(__FILE__),'..','lib/poolparty/monitors/')
10
+ require(::File.join(monitor_dir, 'stats_monitor_adaptor.rb') )
11
+ opts ={ :adaptor_opts => {
12
+ :file => ::File.join(monitor_dir, 'stats_monitor_adaptor.rb')},
13
+ :port => PoolParty::Default.butterfly_port
14
+ }
15
+
16
+ app = Rack::Builder.new do
17
+ use Rack::ShowExceptions
18
+ # use Rack::Lint
19
+ run Butterfly::Server.new(opts)
20
+ end
21
+
22
+ # pid = fork do
23
+ Rack::Handler::Thin.run(app, :Port => PoolParty::Default.butterfly_port)
24
+ # end
25
+ # Process.detach pid
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+ require "poolparty"
4
+ require "poolparty/lite"
5
+
6
+ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
7
+ opts.on('-n cloudname', '--name name', 'Start cloud by this name') { |c| optioner.cloudname c }
8
+ opts.on('-i num', '--num i', 'Instance number') { |i| optioner.inst_num i.to_i }
9
+ end
10
+
11
+ vote_for = o.unflagged_args.shift || "none"
12
+
13
+ schema = ::PoolParty.load_cloud_from_json(o.unflagged_args.shift) #TODO: smarter option parser
14
+ remote_base_name = schema.options.remote_base.split('::')[-1].camelcase
15
+ remoter_base = PoolParty::Remote.module_eval(remote_base_name)
16
+
17
+ o.loaded_clouds.each do |cld|
18
+ cld.update_from_schema(schema)
19
+
20
+ case vote_for
21
+ when "expand"
22
+ vputs "Launching new instance"
23
+ cld.send :launch_instance!, schema.options do |node|
24
+ dputs "Started node at #{node[:ip]}"
25
+
26
+ ::PoolParty::Provision::BootStrapper.new( node[:ip], :cloud => cld )
27
+ ::PoolParty::Provision::DrConfigure.new( node[:ip], :cloud => cld )
28
+ end
29
+
30
+ when "contract"
31
+ last_instance_id = %x[/usr/bin/server-list-active instance_id].split("\t").last
32
+ remoter_base.terminate_instance! schema.options.merge(:instance_id => last_instance_id)
33
+ else
34
+ puts "Unknown action: #{vote_for}"
35
+ end
36
+
37
+ end
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
+ require "poolparty"
4
+ require "poolparty/lite"
5
+
6
+ o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
7
+ opts.on('-n cloudname', '--name name', 'Start cloud by this name') { |c| optioner.cloudname c }
8
+ opts.on('-i num', '--num i', 'Instance number') { |i| optioner.inst_num i.to_i }
9
+ end
10
+
11
+ schema = ::PoolParty.load_cloud_from_json
12
+
13
+ o.loaded_clouds.each do |cld|
14
+ cld.update_from_schema(schema)
15
+
16
+ # If an IP or DNS name is given, bootstrap that node, otherwise, bootstrap all running nodes.
17
+ nodes = !o.unflagged_args.empty? ? o.unflagged_args : cld.remote_instances_list.collect {|inst| inst.ip if inst.running? }.compact
18
+ if nodes.empty?
19
+ puts "No nodes to bootstrap"
20
+ else
21
+ if o.inst_num?
22
+ ::PoolParty::Provision::BootStrapper.new( nodes[o.inst_num], :cloud => cld )
23
+ ::PoolParty::Provision::DrConfigure.new( nodes[o.inst_num], :cloud => cld )
24
+ else
25
+ nodes.each do |address|
26
+ puts "bootstrapping: #{address}"
27
+ ::PoolParty::Provision::BootStrapper.new( address, :cloud => cld )
28
+ ::PoolParty::Provision::DrConfigure.new( address, :cloud => cld )
29
+ end
30
+ end
31
+ end
32
+ end
33
+
data/bin/server-get-load CHANGED
@@ -1,18 +1,15 @@
1
1
  #!/usr/bin/env ruby
2
2
  $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
- require "poolparty"
4
- require "poolpartycl"
3
+ require "poolparty/lite"
4
+ Dir["#{File.dirname(__FILE__)}/../lib/poolparty/monitors/base_monitor.rb"].each {|f| require f}
5
5
 
6
- available_monitors = PoolParty::Monitors.available_monitors
7
- o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
8
- # opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
9
- opts.on('-m name', '--monitor monitor_name', "Monitor name (default: cpu) (Available monitors: #{available_monitors.join(", ")})") {|c| optioner.monitorname c}
10
- end
6
+ monitor = ARGV.pop || "cpu"
11
7
 
12
- @monitor = o.monitorname ? o.monitorname : "cpu"
8
+ begin
9
+ Dir["#{File.dirname(__FILE__)}/../lib/poolparty/monitors/monitors/#{monitor}_monitor.rb"].each {|f| require f}
13
10
 
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"
11
+ klass = eval("PoolParty::Monitors::#{monitor.capitalize}Monitor")
12
+ print (klass.send :run).to_f rescue -1.0
13
+ rescue Exception => e
14
+ puts -1.0
18
15
  end
@@ -1,18 +1,31 @@
1
1
  #!/usr/bin/env ruby
2
2
  $:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
3
- require "poolparty"
4
- require "poolpartycl"
3
+ require "poolparty/lite"
5
4
 
6
- o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
7
- opts.on('-c name', '--class name', 'Listing for cloud class (valid args: [name|ip])') { |t| optioner.classname t }
8
- opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
5
+ list_type = ARGV.shift || "ip"
6
+
7
+ json_file = ARGV[0] || PoolParty::Default.properties_hash_file
8
+ raise "ERROR: no json_file given" if !json_file
9
+ schema = PoolParty::Schema.new( ::File.read(json_file) )
10
+
11
+ inst_array = PoolParty::Neighborhoods.load_default.instances.instances
12
+
13
+ if !inst_array || inst_array.empty?
14
+ remoter_base = schema.options.remote_base
15
+ remote_base = remoter_base.top_level_class.constantize(PoolParty::Remote)
16
+
17
+ instances = remote_base.send :describe_instances, schema.options
18
+ inst_array = instances.map {|inst| inst.send list_type.to_sym }
9
19
  end
10
20
 
11
- @ctype = (o.classname || "name").downcase.to_sym
21
+ print_array =
22
+ case list_type
23
+ when "ip"
24
+ inst_array.compact.map {|i| i.ip }
25
+ when "internal_ip"
26
+ inst_array.compact.map {|i| i.internal_ip || i.ip }
27
+ else
28
+ inst_array
29
+ end
12
30
 
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")}"
16
- end
17
-
18
- end
31
+ print print_array.compact.join("\t")
@@ -0,0 +1,67 @@
1
+ #!/usr/bin/env ruby
2
+ # Call server-list-active and get the neighborhood ips back
3
+ # then call each of those at the port of butterfly and retain the json
4
+ # From there, mash it up together and call server-handle-election
5
+ # to handle the election process
6
+
7
+ # Error codes
8
+ # 1 -> clouds.json was not loaded
9
+ # 2 -> server-list-active didn't run
10
+ require "rubygems"
11
+ require 'net/http'
12
+ require 'json'
13
+ require "poolparty/lite"
14
+
15
+ status = ARGV.shift || "running" # or pending or terminated
16
+ schema = ::PoolParty.load_cloud_from_json(ARGV.shift) #TODO: smarter option parser
17
+
18
+ def get_json_stats_from(ip, port)
19
+ Net::HTTP.start(ip, port) {|http| http.get('/stats.json') }.body rescue "{}"
20
+ end
21
+
22
+ ips = %x[/usr/bin/server-list-active internal_ip].split("\t")
23
+
24
+ exit(2) unless ips
25
+
26
+ minimum_instances = schema.options.minimum_instances
27
+ maximum_instances = schema.options.maximum_instances
28
+
29
+ if ips.size < minimum_instances
30
+ %x[/usr/bin/server-cloud-elections expand]
31
+ puts "Cloud is too small, need to expand"
32
+ exit(0)
33
+ elsif ips.size > maximum_instances
34
+ %x[/usr/bin/server-cloud-elections contract]
35
+ puts "Cloud is too big, need to contract"
36
+ exit(0)
37
+ end
38
+
39
+ total_json_hash = {}
40
+ ips.each do |ip|
41
+ node_hsh = JSON.parse(get_json_stats_from(ip, 8642))
42
+ total_json_hash.merge!(node_hsh) if node_hsh
43
+ end
44
+
45
+ candidates = {:expand => 0, :contract => 0, :elected_action => nil}
46
+ candidates.each do |action, ballots|
47
+ total_json_hash.each do |ip, node_hsh|
48
+ candidates[action]+=1 if node_hsh["nominations"] && node_hsh["nominations"].include?(action.to_s)
49
+ candidates[:elected_action] = node_hsh["elected_action"]
50
+ end
51
+ end
52
+
53
+ puts total_json_hash.inspect
54
+ puts candidates.inspect
55
+
56
+ # Expand the cloud if 50+% of the votes are for expansion
57
+ # Contract the cloud if 51+% of the votes are for contraction
58
+ @elected_action = candidates[:elected_action] || "none"
59
+ if (candidates[:expand] - candidates[:contract])/total_json_hash.size > 0.5
60
+ %x[/usr/bin/server-cloud-elections expand] unless @elected_action == "expand"
61
+ @elected_action = "expand"
62
+ elsif (candidates[:contract] - candidates[:expand])/total_json_hash.size > 0.5
63
+ %x[/usr/bin/server-cloud-elections contract] unless @elected_action == "contract"
64
+ @elected_action = "contract"
65
+ end
66
+
67
+ puts "Elected action: #{@elected_action}"
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env ruby
2
+ require 'rubygems'
3
+ require 'rack'
4
+ # require 'rack/contrib'
5
+ require 'json'
6
+ require 'thin'
7
+ require ::File.join(::File.dirname(__FILE__),'..','lib/poolparty/monitors/', 'monitor_rack.rb')
8
+
9
+ class Baton
10
+ def initialize(app)
11
+ @app = app
12
+ end
13
+ def call(env)
14
+ self.class.call(env)
15
+ end
16
+ def self.call(env)
17
+ puts "received: #{env.to_yaml}\n------\n"
18
+ response = Rack::Response.new
19
+ response.write "requested: #{env["REQUEST_PATH"]}"
20
+ response.finish
21
+ end
22
+ end
23
+
24
+
25
+ app = Rack::Builder.new do
26
+ use Rack::Reloader, 2
27
+ use Rack::ShowExceptions
28
+ use Rack::Lint
29
+ use Baton
30
+ # use Rack::PostBodyContentTypeParser #parses json requests to params hash
31
+ run Monitors::MonitorRack.new()
32
+ run_after
33
+ end
34
+
35
+ if __FILE__ == $0
36
+ # at_exit do
37
+ Rack::Handler::Thin.run app, :daemonize=>true, :pid_file=>'/tmp/monitor.pid'
38
+ # Thin::Server.new(app, :daemonize=>true, :pid_file=>'/tmp/monitor.pid').daemonize
39
+ # end
40
+ else
41
+ run app
42
+ end
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift(File.join(File.dirname(__FILE__), "..", "lib", "poolparty"))
3
+ require "socket"
4
+ Dir["#{::File.dirname(__FILE__)}/../lib/poolparty/modules/*.rb"].each {|f| require f }
5
+ require "poolparty/base"
6
+
7
+ def query(meth, *args)
8
+ socket = TCPSocket.open("127.0.0.1", PoolParty::Default.agent_port)
9
+ out = socket.send("#{meth} #{args}", 100)
10
+ socket.close
11
+ out
12
+ end
13
+
14
+ meth = ARGV.shift
15
+ puts query(meth, ARGV)
data/bin/server-rerun CHANGED
@@ -16,7 +16,7 @@ include Remote
16
16
  @clouds.each do |cl|
17
17
 
18
18
  with_cloud(cl, {:testing => o.testing}) do
19
- cmd = PoolParty::Remote::RemoteInstance.puppet_runner_command
19
+ cmd = PoolParty::Remote::RemoteInstance.dependency_resolver_comand
20
20
  %x[#{cmd}] unless testing
21
21
  end
22
22
 
@@ -11,11 +11,11 @@ end
11
11
  o.loaded_clouds.each do |cloud|
12
12
  with_cloud(cloud) do
13
13
 
14
- new_nodes_file = "#{Base.manifest_path}/nodes/nodes.pp"
14
+ new_nodes_file = "#{Default.manifest_path}/nodes/nodes.pp"
15
15
 
16
16
  str = returning Array.new do |arr|
17
17
  arr << "node default { include poolparty }"
18
- list_of_running_instances.each do |ri|
18
+ nodes(:status => "running").each do |ri|
19
19
  arr << "node \"#{ri.name}\" inherits default {}"
20
20
  end
21
21
  end.join("\n")