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
@@ -1,104 +0,0 @@
1
- =begin rdoc
2
- Base provisioner capistrano tasks
3
- =end
4
- Capistrano::Configuration.instance(:must_exist).load do
5
- # namespace(:base) do
6
- desc "Install rubygems"
7
- task :install_rubygems do
8
- run "#{installer_for} ruby rubygems"
9
- end
10
- dec "Setup for poolparty"
11
- task :setup_for_poolparty do
12
- run "mkdir -p /etc/poolparty"
13
- end
14
- desc "Install provisioner"
15
- task :install_provisioner do
16
- run "#{installer_for} #{puppet_packages}"
17
- end
18
- desc "Create poolparty commands"
19
- task :create_poolparty_commands do
20
- end
21
- desc "Create poolparty runner command"
22
- task :create_puppetrunner_command do
23
- run <<-EOR
24
- cp #{remote_storage_path}/templates/puppetrunner /usr/bin/puppetrunner &&
25
- chmod +x /usr/bin/puppetrunner
26
- EOR
27
- end
28
- desc "Create poolparty rerun command"
29
- task :create_puppetrerun_command do
30
- run <<-EOR
31
- cp #{remote_storage_path}/templates/puppetrerun /usr/bin/puppetrerun &&
32
- chmod +x /usr/bin/puppetrerun
33
- EOR
34
- end
35
- desc "Add the proper configs for provisioner"
36
- task :add_provisioner_configs do
37
- run "cp #{remote_storage_path}/namespaceauth.conf /etc/puppet/namespaceauth.conf"
38
- end
39
- desc "Setup config file for provisioner"
40
- task :setup_provisioner_config do
41
- run "mv #{remote_storage_path}/puppet.conf /etc/puppet/puppet.conf"
42
- end
43
- desc "Run the provisioner"
44
- task :run_provisioner do
45
- run "/usr/sbin/puppetd --onetime --daemonize --logdest syslog --server master"
46
- end
47
- desc "Rerun the provisioner"
48
- task :rerun_provisioner do
49
- run "/usr/bin/puppetrerun"
50
- end
51
- desc "Remove the certs"
52
- task :remove_certs do
53
- run "rm -rf /etc/puppet/ssl"
54
- end
55
- desc "Update rubygems"
56
- task :update_rubygems do
57
- run "/usr/bin/gem update --system 2>1 > /dev/null && /usr/bin/gem update --system"
58
- end
59
- desc "Fix rubygems"
60
- task :fix_rubygems do
61
- # echo '#{open(::File.join(template_directory, "gem")).read}' > /usr/bin/gem &&
62
- run <<-EOR
63
- /usr/bin/gem update --system 2>&1 > /dev/null;/usr/bin/gem update --system &&
64
- cp -f #{remote_storage_path}/gem /usr/bin/gem
65
- EOR
66
- end
67
- desc "Upgrade system"
68
- task :upgrade_system do
69
- str = case os
70
- when :ubuntu
71
- "
72
- echo 'deb http://mirrors.kernel.org/ubuntu hardy main universe' >> /etc/apt/sources.list &&
73
- aptitude update -y
74
- "
75
- else
76
- "echo 'No system upgrade needed'"
77
- end
78
- run str
79
- end
80
- desc "Upgrade rubygems"
81
- task :upgrade_rubygems do
82
-
83
- end
84
- desc "Make log directory"
85
- task :make_log_directory do
86
- run "mkdir -p /var/log/poolparty"
87
- end
88
- desc "Create ssl storage directories for poolparty"
89
- task :create_poolparty_ssl_store do
90
- run <<-EOR
91
- mkdir -p #{poolparty_config_directory}/ssl/private_keys &&
92
- mkdir -p #{poolparty_config_directory}/ssl/certs &&
93
- mkdir -p #{poolparty_config_directory}/ssl/public_keys
94
- EOR
95
- end
96
- desc "Add erlang cookie"
97
- task :write_erlang_cookie do
98
- run <<-EOR
99
- mv #{remote_storage_path}/cookie ~/.erlang.cookie &&
100
- chmod 400 ~/.erlang.cookie
101
- EOR
102
- end
103
- # end
104
- end
@@ -1,121 +0,0 @@
1
- # Cloud tasks
2
- Capistrano::Configuration.instance(:must_exist).load do
3
- namespace(:master) do
4
- desc "Provision master"
5
- task :provision_master do
6
- upgrade_system
7
- set_hostname_to_master
8
- create_local_hosts_entry
9
- setup_for_poolparty
10
- install_provisioner
11
- start_provisioner_base
12
- setup_basic_poolparty_structure
13
- setup_provisioner_filestore
14
- setup_provisioner_autosigning
15
- install_rubygems
16
- fix_rubygems
17
- add_provisioner_configs
18
- setup_provisioner_config
19
- create_puppetrunner_command
20
- create_puppetrerun_command
21
- download_base_gems
22
- install_base_gems
23
- write_erlang_cookie
24
- end
25
- desc "Configure master"
26
- task :configure_master do
27
- master:move_provisioner_manifest
28
- master:move_template_files
29
- master:setup_poolparty_base_structure
30
- run_provisioner
31
- end
32
- desc "Set hostname to master"
33
- task :set_hostname_to_master do
34
- run "hostname master"
35
- end
36
- desc "Add host entry into the master instance"
37
- task :create_local_hosts_entry do
38
- run "if [ -z \"$(grep -v '#' /etc/hosts | grep 'puppet')\" ]; then echo '#{cloud.master.ip} master puppet localhost' >> /etc/hosts; fi"
39
- end
40
- desc "Setup basic poolparty structure"
41
- task :setup_basic_poolparty_structure do
42
- run <<-EOR
43
- echo "Creating basic structure for poolparty" &&
44
- mkdir -p /etc/puppet/manifests/nodes &&
45
- mkdir -p /etc/puppet/manifests/classes &&
46
- echo "import 'nodes/*.pp'" > /etc/puppet/manifests/site.pp &&
47
- echo "import 'classes/*.pp'" >> /etc/puppet/manifests/site.pp
48
- EOR
49
- end
50
- desc "Setup shareable file system for provisioner"
51
- task :setup_provisioner_filestore do
52
- run <<-EOR
53
- echo '[files]' > /etc/puppet/fileserver.conf &&
54
- echo ' path #{remote_storage_path}' >> /etc/puppet/fileserver.conf &&
55
- echo ' allow *' >> /etc/puppet/fileserver.conf &&
56
- mkdir -p /var/poolparty/facts &&
57
- mkdir -p /var/poolparty/files &&
58
- mkdir -p #{base_config_directory}
59
- EOR
60
- end
61
- desc "Setup autosigning for provisioner"
62
- task :setup_provisioner_autosigning do
63
- run "echo \"*\" > /etc/puppet/autosign.conf"
64
- end
65
- desc "Setup poolparty structure"
66
- task :setup_poolparty_base_structure do
67
- run <<-EOR
68
- cp #{remote_storage_path}/#{key_file_locations.first} "#{base_config_directory}/.ppkeys" &&
69
- mv #{remote_storage_path}/#{default_specfile_name} #{base_config_directory}/
70
- EOR
71
- end
72
- desc "Download base gems"
73
- task :download_base_gems do
74
- run download_base_gems_string
75
- end
76
- desc "Install base gems"
77
- task :install_base_gems do
78
- run(returning(Array.new) do |arr|
79
- base_gems.each do |name, url|
80
- arr << "/usr/bin/gem install --ignore-dependencies --no-ri --no-rdoc #{Base.remote_storage_path}/#{name}.gem"
81
- end
82
- end.join(" && "))
83
- end
84
- desc "Start provisioner base"
85
- task :start_provisioner_base do
86
- run "/etc/init.d/puppetmaster start"
87
- end
88
- desc "Restart provisioner base"
89
- task :restart_provisioner_base do
90
- run "/etc/init.d/puppetmaster stop;rm -rf /etc/poolparty/ssl;puppetmasterd --verbose;/etc/init.d/puppetmaster start"
91
- end
92
- desc "Create local node for puppet manifest"
93
- task :create_local_node_entry_for_puppet do
94
- # run ". /etc/profile && server-write-new-nodes"
95
- str = returning Array.new do |arr|
96
- arr << "node default { include poolparty }"
97
- list_of_running_instances.each do |ri|
98
- arr << "node \"#{ri.name}\" inherits default {}\n"
99
- end
100
- end.join("\n")
101
- run "echo #{str} > #{manifest_path}/nodes/nodes.pp"
102
- end
103
- desc "Move template files into place"
104
- task :move_template_files do
105
- run <<-EOR
106
- mkdir -p #{template_path} &&
107
- cp -R #{remote_storage_path}/templates/* #{template_path}
108
- EOR
109
- end
110
- desc "Move manifest into place"
111
- task :move_provisioner_manifest do
112
- run <<-EOR
113
- cp #{remote_storage_path}/poolparty.pp /etc/puppet/manifests/classes/poolparty.pp
114
- EOR
115
- end
116
- desc "Move poolparty keys"
117
- task :move_poolparty_keys do
118
- run "cp #{remote_storage_path}/#{@full_keypair_name} #{@remote_keypair_path}"
119
- end
120
- end
121
- end
@@ -1,12 +0,0 @@
1
- Capistrano::Configuration.instance(:must_exist).load do
2
- namespace(:slave) do
3
- desc "Add master ip to hosts file"
4
- task :add_master_to_hosts_file do
5
- run "if [ -z \"$(grep -v '#' /etc/hosts | grep 'master')\" ]; then echo '#{master_ip} puppet master' >> /etc/hosts; else echo 'host already set'; fi"
6
- end
7
- desc "Stop provisioner daemon"
8
- task :stop_provisioner_daemon do
9
- run "/etc/init.d/puppetmaster stop"
10
- end
11
- end
12
- end
@@ -1,204 +0,0 @@
1
- =begin rdoc
2
- The Provisioner is responsible for provisioning REMOTE servers
3
- This class only comes in to play when calling the setup commands on
4
- the development machine
5
- =end
6
- require 'capistrano/cli'
7
-
8
- module PoolParty
9
- module Provisioner
10
-
11
- def provisioner_for(inst)
12
- PoolParty::Provisioner::Capistrano.new(inst, self, :ubuntu)
13
- end
14
-
15
- class ProvisionerBase
16
- attr_accessor :config, :loaded_tasks, :instance, :cloud, :os
17
-
18
- include Configurable
19
- include CloudResourcer
20
- include FileWriter
21
-
22
- def initialize(instance=nil, cld=self, os=:ubuntu, &block)
23
- @instance = instance
24
- @cloud = cld
25
-
26
- options(cloud.options) if cloud && cloud.respond_to?(:options)
27
- # set_vars_from_options(instance.options) unless instance.nil? || !instance.options || !instance.options.empty?
28
- # options(instance.options) if instance.respond_to?(:options)
29
-
30
- @os = os.to_s.downcase.to_sym
31
- self.instance_eval &block if block
32
-
33
- loaded
34
- end
35
-
36
- def provision_master?
37
- !@instance.nil? && @instance.master?
38
- end
39
-
40
- # Callback after initialized
41
- def loaded
42
- end
43
-
44
- def loaded_tasks
45
- @loaded_tasks ||= []
46
- end
47
-
48
- ### Installation tasks
49
-
50
- # This is the actual runner for the installation
51
- def install(testing=false)
52
- error unless valid?
53
- setup_runner
54
- unless testing
55
- before_install(@instance)
56
-
57
- vputs "Provisioning #{@instance.name}"
58
- process_install!(testing)
59
-
60
- after_install(@instance)
61
- end
62
- end
63
- # The provisioner bases overwrite this method
64
- def process_install!(testing=false)
65
- end
66
-
67
- # Configuration
68
- def configure(testing=false)
69
- error unless valid?
70
- setup_runner
71
- unless testing
72
- before_configure(@instance)
73
-
74
- vputs "Provisioning #{@instance.name}"
75
- process_configure!(testing)
76
-
77
- after_configure(@instance)
78
- end
79
- end
80
-
81
- # Tasks that need to be performed everytime we do any
82
- # remote ssh'ing into any instance
83
- def setup_runner(force=false)
84
- @cloud.prepare_for_configuration
85
- @cloud.build_and_store_new_config_file(force)
86
- end
87
-
88
- # Callbacks
89
- # Before installation callback
90
- def before_install(instance)
91
- end
92
- def after_install(instance)
93
- end
94
- def before_configure(instance)
95
- end
96
- def after_configure(instance)
97
- end
98
-
99
- def valid?
100
- true
101
- end
102
- def error
103
- raise ProvisionerException.new("Error in installation")
104
- end
105
- # Custom installation tasks
106
- # Allow the remoter bases to attach their own tasks on the
107
- # installation process
108
- def custom_install_tasks
109
- @cloud.custom_install_tasks_for(@instance) || []
110
- end
111
- # Custom configure tasks
112
- # Allows the remoter bases to attach their own
113
- # custom configuration tasks to the configuration process
114
- def custom_configure_tasks
115
- @cloud.custom_configure_tasks_for(@instance) || []
116
- end
117
-
118
- # Get the packages associated with each os
119
- def puppet_packages
120
- case @os
121
- when :fedora
122
- "puppet-server puppet factor"
123
- else
124
- "puppet puppetmaster"
125
- end
126
- end
127
- # Package installers for general *nix operating systems
128
- def self.installers
129
- @installers ||= {
130
- :ubuntu => "aptitude install -y",
131
- :fedora => "yum install",
132
- :gentoo => "emerge"
133
- }
134
- end
135
- def os_installer
136
- "#{self.class.installers[@os]}"
137
- end
138
- # Convenience method to grab the installer
139
- def installer_for(names=[])
140
- packages = names.is_a?(Array) ? names.join(" ") : names
141
- "#{self.class.installers[@os]} #{packages}"
142
- end
143
-
144
- #TODO#
145
- # Abstract the gems out
146
- def base_gems
147
- {
148
- :logging => "http://rubyforge.org/frs/download.php/44731/logging-0.9.4.gem",
149
- :ZenTest => "http://rubyforge.org/frs/download.php/45581/ZenTest-3.11.0.gem",
150
- :ParseTree => "http://rubyforge.org/frs/download.php/45600/ParseTree-3.0.1.gem",
151
- :ruby2ruby => "http://rubyforge.org/frs/download.php/45587/ruby2ruby-1.2.0.gem",
152
- :activesupport => "http://rubyforge.org/frs/download.php/45627/activesupport-2.1.2.gem",
153
- :"xml-simple" => "http://rubyforge.org/frs/download.php/18366/xml-simple-1.0.11.gem",
154
- :RubyInline => "http://rubyforge.org/frs/download.php/45683/RubyInline-3.8.1.gem",
155
- :flexmock => "http://rubyforge.org/frs/download.php/42580/flexmock-0.8.3.gem",
156
- :hoe => "http://rubyforge.org/frs/download.php/45685/hoe-1.8.2.gem",
157
- :lockfile => "http://rubyforge.org/frs/download.php/18698/lockfile-1.4.3.gem",
158
- :rubyforge => "http://rubyforge.org/frs/download.php/45546/rubyforge-1.0.1.gem",
159
- :rake => "http://rubyforge.org/frs/download.php/43954/rake-0.8.3.gem",
160
- :sexp_processor => "http://rubyforge.org/frs/download.php/45589/sexp_processor-3.0.0.gem",
161
- :capistrano => "http://rubyforge.org/frs/download.php/48031/capistrano-2.5.3.gem",
162
- :poolparty => "http://github.com/auser/poolparty/tree/master%2Fpkg%2Fpoolparty.gem?raw=true",
163
- "ec2" => "http://rubyforge.org/frs/download.php/43666/amazon-ec2-0.3.1.gem"
164
- }
165
- end
166
-
167
- def download_base_gems_string
168
- returning(Array.new) do |arr|
169
- base_gems.each do |name, url|
170
- arr << "wget #{url} -O #{Base.remote_storage_path}/#{name}.gem 2>&1"
171
- end
172
- end.join(" && ")
173
- end
174
-
175
- def install_base_gems_string
176
- returning(Array.new) do |arr|
177
- base_gems.each do |name, url|
178
- arr << "/usr/bin/gem install --ignore-dependencies --no-ri --no-rdoc #{Base.remote_storage_path}/#{name}.gem"
179
- end
180
- end.join(" && ")
181
- end
182
-
183
- # Template directory from the provisioner base
184
- def template_directory
185
- File.join(File.dirname(__FILE__), "..", "templates")
186
- end
187
-
188
- # Install from the class-level
189
- def self.install(instance, cl=self, testing=false)
190
- new(instance, cl).install(testing)
191
- end
192
-
193
- def self.configure(instance, cl=self, testing=false)
194
- new(instance, cl).configure(testing)
195
- end
196
-
197
- end
198
- end
199
- end
200
-
201
- ## Load the provisioners
202
- Dir[File.dirname(__FILE__) + "/*/*.rb"].each do |file|
203
- require file
204
- end
@@ -1,16 +0,0 @@
1
- class String
2
- def grab_entry_for(type, name)
3
- begin
4
- allowed = /[ \$\._\-\[\]\n\t\\\/&,\(\)"',|:=\>\<0-9a-zA-Z]/
5
- matches = self.match(/#{type}(.*)\{(.*)"#{name}":(.*)(#{allowed})*\}/)[0]
6
- rescue
7
- ""
8
- end
9
- end
10
- def _grab_key_value_for(type, name, key)
11
- grab_entry_for(type, name).scan(/#{key}[ =>]*(.*)[,?]?$/).flatten.first rescue ""
12
- end
13
- def grab_key_value_for(ty, name, key)
14
- _grab_key_value_for(ty,name,key).gsub(/,/, '')
15
- end
16
- end
@@ -1,26 +0,0 @@
1
- module Spec
2
- module Matchers
3
- module SpecExtensions
4
- # Mainly extensions, these methods are inherent in all of the matchers
5
- # and are intended for helping parse the final manifest for spec'ing purposes.
6
- class SpecExtensionsBase
7
- def ensured_as(ensured="present")
8
- str = "ensure => '#{ensured}'"
9
- !grab_entry.scan(/#{str}/).empty?
10
- end
11
- def is_present?
12
- !grab_entry.empty? && is_valid_resource?
13
- end
14
- def grab_entry
15
- @target.grab_entry_for(type, @expected)
16
- end
17
- def type
18
- "file"
19
- end
20
- def is_valid_resource?
21
- grab_entry.split(/\n/).select {|l| l.match(/(.*)=>(\W+),$/) }.empty?
22
- end
23
- end
24
- end
25
- end
26
- end
@@ -1,28 +0,0 @@
1
- module Spec
2
- module Matchers
3
- module SpecExtensions
4
- class HaveCron < SpecExtensionsBase
5
- def initialize(expected,extra="")
6
- @expected = expected
7
- @extra = extra
8
- end
9
- def matches?(target)
10
- @target = target
11
- is_present?
12
- end
13
- def failure_message
14
- "expected #{@target.inspect} to have cron #{@expected}"
15
- end
16
- def negative_failure_message
17
- "expected #{@target.inspect} not to have cron #{@expected}"
18
- end
19
- def type
20
- "cron"
21
- end
22
- end
23
- end
24
- def have_cron(name, extra="")
25
- SpecExtensions::HaveCron.new(name, extra)
26
- end
27
- end
28
- end
@@ -1,15 +0,0 @@
1
- module PoolParty
2
- class SpecCore
3
- # dynamic_matcher_for(:deploydirectory) do
4
- # it "should have the directory" do
5
- # @manifest.should have_directory(@to)
6
- # end
7
- # it "should have the rsyncmirror" do
8
- # @manifest.should have_rsyncmirror("deploydirectory-#{@to}")
9
- # end
10
- # it "should have the exec to unpack the archive" do
11
- # @manifest.should have_exec("deploy-directory-#{@to}")
12
- # end
13
- # end
14
- end
15
- end
@@ -1,31 +0,0 @@
1
- module Spec
2
- module Matchers
3
- module SpecExtensions
4
- class HaveDirectory < SpecExtensionsBase
5
- def initialize(expected,extra="")
6
- @expected = expected
7
- @extra = extra
8
- end
9
- def matches?(target)
10
- @target = target
11
- is_present? && is_a_directory?
12
- end
13
- def is_a_directory?
14
- ensured_as("directory")
15
- end
16
- def failure_message
17
- "expected #{@target.inspect} to have directory #{@expected}"
18
- end
19
- def negative_failure_message
20
- "expected #{@target.inspect} not to have directory #{@expected}"
21
- end
22
- def type
23
- "file"
24
- end
25
- end
26
- end
27
- def have_directory(name, extra="")
28
- SpecExtensions::HaveDirectory.new(name, extra)
29
- end
30
- end
31
- end
@@ -1,28 +0,0 @@
1
- module Spec
2
- module Matchers
3
- module SpecExtensions
4
- class HaveExec < SpecExtensionsBase
5
- def initialize(expected,extra="")
6
- @expected = expected
7
- @extra = extra
8
- end
9
- def matches?(target)
10
- @target = target
11
- is_present?
12
- end
13
- def failure_message
14
- "expected #{@target.inspect} to have exec #{@expected}"
15
- end
16
- def negative_failure_message
17
- "expected #{@target.inspect} not to have exec #{@expected}"
18
- end
19
- def type
20
- "exec"
21
- end
22
- end
23
- end
24
- def have_exec(name, extra="")
25
- SpecExtensions::HaveExec.new(name, extra)
26
- end
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- module Spec
2
- module Matchers
3
- module SpecExtensions
4
- class HaveFile < SpecExtensionsBase
5
- def initialize(expected,extra="")
6
- @expected = expected
7
- @extra = extra
8
- end
9
- def matches?(target)
10
- @target = target
11
- is_present?
12
- end
13
- def failure_message
14
- "expected #{@target.inspect} to have file #{@expected}"
15
- end
16
- def negative_failure_message
17
- "expected #{@target.inspect} not to have file #{@expected}"
18
- end
19
- def type
20
- "file"
21
- end
22
- end
23
- end
24
- def have_file(name, extra="")
25
- SpecExtensions::HaveFile.new(name, extra)
26
- end
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- module Spec
2
- module Matchers
3
- module SpecExtensions
4
- class HaveGempackage < SpecExtensionsBase
5
- def initialize(expected,extra="")
6
- @expected = expected
7
- @extra = extra
8
- end
9
- def matches?(target)
10
- @target = target
11
- is_present?
12
- end
13
- def failure_message
14
- "expected #{@target.inspect} to have gempackage #{@expected}"
15
- end
16
- def negative_failure_message
17
- "expected #{@target.inspect} not to have gempackage #{@expected}"
18
- end
19
- def type
20
- "exec"
21
- end
22
- end
23
- end
24
- def have_gempackage(name, extra="")
25
- SpecExtensions::HaveGempackage.new(name, extra)
26
- end
27
- end
28
- end
@@ -1,28 +0,0 @@
1
- module Spec
2
- module Matchers
3
- module SpecExtensions
4
- class HaveGit < SpecExtensionsBase
5
- def initialize(expected,extra="")
6
- @expected = expected
7
- @extra = extra
8
- end
9
- def matches?(target)
10
- @target = target
11
- is_present?
12
- end
13
- def failure_message
14
- "expected #{@target.inspect} to have git #{@expected}"
15
- end
16
- def negative_failure_message
17
- "expected #{@target.inspect} not to have git #{@expected}"
18
- end
19
- def type
20
- "git"
21
- end
22
- end
23
- end
24
- def have_git(name, extra="")
25
- SpecExtensions::HaveGit.new(name, extra)
26
- end
27
- end
28
- end