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,3 +1,4 @@
1
+ #TODO: Reimplement
1
2
  require File.dirname(__FILE__) + '/../spec_helper'
2
3
 
3
4
  describe "deployments" do
@@ -19,19 +20,22 @@ describe "deployments" do
19
20
  @contents = "'hello goober'"
20
21
  @klass.stub!(:open).with(@file).and_return @file
21
22
  @file.stub!(:read).and_return @contents
23
+ @klass.include_deployment(@file).should_not == nil
22
24
  end
23
25
  it "should not be nil if the file does exist" do
24
26
  @klass.include_deployment(@file).should_not == nil
25
27
  end
26
28
  it "should create a class called PoolPartyHankyDankyRankyClass" do
27
- @klass.include_deployment(@file).should_not == nil
28
- Object.const_defined?(:PoolPartyHankyDankyRankyClass).should == true
29
+ @klass.include_deployment(@file).nil?.should == false
30
+ Object.const_defined?(:HankyDankyRankyClass).should == true
29
31
  end
30
32
  it "should create a method on the class called enable" do
31
- PoolPartyHankyDankyRankyClass.new.respond_to?(:enable).should == true
33
+ HankyDankyRankyClass.new.respond_to?(:enable).should == true
32
34
  end
33
35
  it "should add the contents of the file to be eval'd on the method" do
34
- PoolPartyHankyDankyRankyClass.new.enable.should == "hello goober"
36
+ # puts HankyDankyRankyClass.new.enable
37
+ # HankyDankyRankyClass.new.enable.should == "hello goober"
38
+ pending
35
39
  end
36
40
  end
37
41
  describe "include_deployments" do
@@ -52,7 +56,7 @@ describe "deployments" do
52
56
  Dir.stub!(:[]).and_return @contents
53
57
  end
54
58
  it "should not be nil if the directory exists" do
55
- @klass.include_deployments(@dir).should_not == nil
59
+ @klass.include_deployments(@dir).nil?.should == false
56
60
  end
57
61
  it "should call Dir.[] on the directory" do
58
62
  Dir.should_receive(:[]).with("#{@dir}/*").and_return []
@@ -0,0 +1,128 @@
1
+ {
2
+ "resources": {
3
+ "line_in_file": [],
4
+ "exec": [],
5
+ "package": [],
6
+ "file": [{
7
+ "ensures": "present",
8
+ "content": "Welcome to your PoolParty instance",
9
+ "mode": 644
10
+ }],
11
+ "variable": [],
12
+ "service": []
13
+ },
14
+ "options": {
15
+ "manifest_path": "/etc/puppet/manifests",
16
+ "port": "80",
17
+ "template_path": "/var/lib/puppet/templates",
18
+ "remote_base": "PoolParty::Remote::Ec2",
19
+ "messenger_client_port": 7050,
20
+ "base_keypair_path": "/Users/mfairchild/.ec2",
21
+ "module_path": "/etc/puppet/modules/poolparty",
22
+ "access_key": "xxxxxxxx",
23
+ "keypair": null,
24
+ "remote_storage_path": "/var/poolparty",
25
+ "minimum_runtime": 3000,
26
+ "name": "pp1",
27
+ "default_specfile_name": "clouds.rb",
28
+ "testing": false,
29
+ "user": "root",
30
+ "template_directory": "templates",
31
+ "remote_gem_path": "/var/poolparty/gems",
32
+ "expand_when": "cpu > 1.9",
33
+ "ami": "ami-1cd73375",
34
+ "default_properties_hash_filename": "cloud.json",
35
+ "poolparty_home_path": "/Users/mfairchild/.poolparty",
36
+ "keypairs": ["/Users/mfairchild/.ec2oncourse/r_and_d.pem", "/Users/mfairchild/.ssh/id_rsa"],
37
+ "availabilty_zone": "us-east-1a",
38
+ "fileserver_base": "puppet://master/files",
39
+ "debugging": false,
40
+ "minimum_instances": 1,
41
+ "forwarding_port": "8080",
42
+ "tmp_path": "/tmp/poolparty",
43
+ "dependency_resolver": "PoolParty::PuppetResolver",
44
+ "security_group": ["default"],
45
+ "size": "m1.small",
46
+ "base_config_directory": "/etc/poolparty",
47
+ "maximum_instances": 3,
48
+ "contract_when": "cpu < 0.65",
49
+ "proxy_mode": "http",
50
+ "verbose": true,
51
+ "rules" : {
52
+ "expand_when" : "load > 0.6",
53
+ "contract_when" : "load < 0.21"},
54
+ "secret_access_key": "xxxxxx/dddddd",
55
+ "ec2_dir": "/Users/mfairchild/opt/ec2"
56
+ },
57
+ "services": {
58
+ "poolparty_base_packages_class": {
59
+ "resources": {},
60
+ "options": {
61
+ "name": null
62
+ },
63
+ "services": {}
64
+ },
65
+ "poolparty_base_haproxy_class": {
66
+ "resources": {
67
+ "line_in_file": [],
68
+ "exec": [],
69
+ "package": [],
70
+ "variable": [],
71
+ "service": []
72
+ },
73
+ "options": {
74
+ "name": null
75
+ },
76
+ "services": {
77
+ "conditional": {
78
+ "resources": {},
79
+ "options": {
80
+ "variable": "hostname"
81
+ },
82
+ "services": {
83
+ "control_statements": {
84
+ "master": "#<PoolParty::Service:0x1a3d56c>"
85
+ }
86
+ }
87
+ }
88
+ }
89
+ },
90
+ "poolparty_base_heartbeat_class": {
91
+ "resources": {
92
+ "package": [{
93
+ "ensures": "present"
94
+ }]
95
+ },
96
+ "options": {
97
+ "name": null
98
+ },
99
+ "services": {}
100
+ },
101
+ "poolparty_base_ruby_class": {
102
+ "resources": {
103
+ "line_in_file": [{
104
+ "ensures": "present",
105
+ "name": null,
106
+ "file": "/etc/profile",
107
+ "line": "export PATH=$PATH:/var/lib/gems/1.8/bin:/sbin"
108
+ }],
109
+ "package": [{
110
+ "ensures": "present"
111
+ },
112
+ {
113
+ "ensures": "present"
114
+ },
115
+ {
116
+ "ensures": "present"
117
+ },
118
+ {
119
+ "ensures": "present"
120
+ }]
121
+ },
122
+ "options": {
123
+ "name": null
124
+ },
125
+ "services": {}
126
+ }
127
+ }
128
+ }
@@ -0,0 +1 @@
1
+ Hello <%= friends %>
@@ -17,7 +17,7 @@ describe "Binary" do
17
17
  describe "get_existing_spec_location" do
18
18
  before(:each) do
19
19
  ::File.stub!(:readable?).and_return false
20
- ::File.stub!(:readable?).with("#{Base.storage_directory}/clouds.pool").and_return true
20
+ ::File.stub!(:readable?).with("/etc/poolparty/clouds.rb").and_return true
21
21
  end
22
22
  it "should be a String" do
23
23
  Binary.get_existing_spec_location.class.should == String
@@ -0,0 +1,34 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+ require File.dirname(__FILE__) + '/../../../lib/poolparty/helpers/hash_printer'
3
+
4
+ describe "Hash printer" do
5
+ before :all do
6
+ @cloud_reference_hash = {
7
+ :options => {:name => "dog", :keypair => "bob", :users => ["ari", "michael"]},
8
+ :resources => {
9
+ :file => [
10
+ {:name => "/etc/motd", :content => "Welcome to the cloud"},
11
+ {:name => "/etc/profile", :content => "profile info"}
12
+ ],
13
+ :directory => [
14
+ {:name => "/var/www"}
15
+ ]
16
+ },
17
+ :services => {
18
+ :apache => {
19
+ :options => {:listen => "8080"},
20
+ :resources => {
21
+ :file => [
22
+ {:name => "/etc/apache2/apache2.conf", :template => "/absolute/path/to/template", :content => "rendered template string"}
23
+ ]
24
+ },
25
+ :services => {}
26
+ }
27
+ }
28
+ }
29
+ end
30
+ it "should print_to_string output a string" do
31
+ # puts HashPrinter.print_to_string(@cloud_reference_hash)
32
+ HashPrinter.print_to_string(@cloud_reference_hash).class.should == String
33
+ end
34
+ end
@@ -14,7 +14,7 @@ describe "Option Parser" do
14
14
  @op.verbose.should == false
15
15
  end
16
16
  it "should call a method called on it that is not defined on the options if they exist" do
17
- @op.options.should_receive(:[]).with(:verbose).once.and_return true
17
+ @op.dsl_options.should_receive(:[]).with(:verbose).at_least(1).and_return true
18
18
  @op.verbose
19
19
  end
20
20
  it "should exit after displaying the help message" do
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEoQIBAAKCAQEAsZYv/Ia+TxtyzH0sXMeHXjs9FgAkuGV3qiOGQOAUUlpdkhnl
3
+ tF+BFueMOYsQOXyAE+dNKdbMO+cBvYpnEgm6Cewf7IE46AVdFnSqkGmxgmGEbH2b
4
+ fmbbikeNf9H1MDTsUxjL2CmfUcBZce48Y7w3YN7ootrHkuKDDwH67zk7K+idPGXm
5
+ 1qnUFSlS+lDnUQ00epZnUz5NjVuVSHNiTtzmgmTdLmu22LfTe+/Kend1ZJp0zjUt
6
+ TAIY0gYhKRDWDgEQSlNwGJxrqKhu819KN0Fg2KF57bFVAxKrr632Af+kZBvIxg6C
7
+ gzPXKqfJfgedxJFccSKfWfTTqPYFLGzWf8xT3QIBIwKCAQBbVI21Ehi6+CxpKm6W
8
+ HXjRYEtNJKUroeXFNtdUkH96z2NSc7f2XQCPb8R1XXYO75JTYQMc1N4QLakfpkOi
9
+ 4G5OPuvYt3xaEWMS3OoBIGnrSBg3y5HL+mJHHXv4l90uvCHEVeUtVzv+KGiDvFmS
10
+ YMwF7vtMcIPlJAjjJZb+r7gH8x2BQeF0tNgtV7FO+p28gX6F6aQL1xlDXY6KMQV7
11
+ WzhORxUs3JjvhO1mxC6WXDMl7DjnADpxiL5jeJ0WR90r6MkEK7XSRT8kcJPZkmud
12
+ T+eopujJkaG4pO6eEDSAl72dpwufLM0gS/HHCxcf+Lh+aZlWAu+rgon4XgiRXJEl
13
+ kWZLAoGBAOA2gbZyQVWTwxKY2ZuhhFXSYXh7IygqDRPaorub3DGxwyF3JY+B/0tv
14
+ R2uw8bqzlcj+LOwS++zqiUIKb2fhPNIksuLnWGGy4Z4tFG71Hz30/NBMTvNG9V7Q
15
+ t9J3XOJVJCLTmNr67ZqHlaAmb+CzPseekgWJh2HeJPG4c/vaR0wVAoGBAMrDck9W
16
+ z/abAtlkVxj54mij0i/dhx7uil4LxqpDJKrjF4RR0hpoi2UaKufBmZAgKyC5h8+V
17
+ JvKX2XTIo+rJKkWBEqumoPK9JM27riZzzeBxCsiLOPycMe6rnb10Jl+VT0g889/J
18
+ ea2gCtG13sgbhUAAp1YC755n4Vggb4eHIzKpAoGAGZ/UT12Dz0QWS0SrJ7qwCc7m
19
+ kW0oluA8AkTfZeXtR4IHrA2d5IPiqYkPegWX+BSGJZlkODyvE8MIX1GmVQPMb8mu
20
+ C02js2TmlbwCVdLe/8Q6Jm8e9ztPPgk5lGVps3dx2BguufDKspMnCv0UGa4Vzau4
21
+ 6rChwgrCZMSfin9YmvsCgYBLT+ihID6dbMaLQobAIkzHx9G6AdMaHhYi7m5cf1bD
22
+ ISX98oE9AkJnYX2mibyx4BAE1zJxrG2NTlgVbxhP5FGHh7Z6RTR3atMn1/7bFRH0
23
+ Rz6FAILhe9gIMR1U/0Fz9aEa1M+cQ4T3WLOPuJSTd++qDt8RUYwzhat4gRN7e1Y3
24
+ YwKBgQCEa22ta9MEOtGcX1K2Im9X747mXhYQlactT7KbsTBaVF6JUUaUHCu3uZt2
25
+ kynbB3SMCuy5D3sPw9NREt0WXu8ChlF5XaFc2NI9Pt/lKDg1RzG5c9K111REZi01
26
+ A93KaESBdS3veq++b553PIYUlz01Fxw/6sRB1CPTGVL50loloA==
27
+ -----END RSA PRIVATE KEY-----
@@ -1,36 +1,22 @@
1
1
  require File.dirname(__FILE__) + '/../spec_helper'
2
2
 
3
- class ResourcerTestClass
4
- include CloudResourcer
5
- include Configurable
6
-
3
+ class ResourcerTestClass < PoolParty::Cloud::Cloud
7
4
  default_options({
8
5
  :minimum_runtime => 50.minutes
9
6
  })
10
-
11
- def initialize(&block)
12
- store_block(&block) if block
13
- end
14
-
15
- # Stub keypair
16
- def keypair
17
- "rangerbob"
18
- end
19
7
  end
20
- class TestParentClass
21
- def options
22
- {}
23
- end
24
- def services
25
- @services ||= []
26
- end
27
- def add_service(s)
28
- services << s
29
- end
8
+ class TestParentClass < PoolParty::Cloud::Cloud
9
+ # def services
10
+ # @services ||= []
11
+ # end
12
+ # def add_service(s)
13
+ # services << s
14
+ # end
30
15
  end
31
16
  describe "CloudResourcer" do
32
17
  before(:each) do
33
- @tc = ResourcerTestClass.new
18
+ @tc = ResourcerTestClass.new :bank do
19
+ end
34
20
  end
35
21
  it "should have the method instances" do
36
22
  @tc.respond_to?(:instances).should == true
@@ -49,103 +35,32 @@ describe "CloudResourcer" do
49
35
  @tc.maximum_instances.should == 10
50
36
  end
51
37
  it "should have default minimum_runtime of 50 minutes (3000 seconds)" do
52
- Base.stub!(:minimum_runtime).and_return 50.minutes
38
+ Default.stub!(:minimum_runtime).and_return 50.minutes
53
39
  @tc.minimum_runtime.should == 50.minutes
54
40
  end
55
41
  it "should have minimum_runtime" do
56
42
  @tc.minimum_runtime 40.minutes
57
43
  @tc.minimum_runtime.should == 40.minutes
58
44
  end
59
- describe "keypair_path" do
60
- before(:each) do
61
- end
62
- it "should look for the file in the known directories it should reside in" do
63
- @tc.should_receive(:keypair_paths).once.and_return []
64
- @tc.keypair_path
65
- end
66
- it "should see if the file exists" do
67
- @t = "#{File.expand_path(Base.base_keypair_path)}"
68
- ::File.should_receive(:exists?).with(@t+"/id_rsa-rangerbob").and_return false
69
- ::File.stub!(:exists?).with(@t+"/rangerbob").and_return false
70
- @tc.should_receive(:keypair_paths).once.and_return [@t]
71
- @tc.keypair_path
72
- end
73
- it "should fallback to the second one if the first doesn't exist" do
74
- @t = "#{File.expand_path(Base.base_keypair_path)}"
75
- @q = "#{File.expand_path(Base.base_config_directory)}"
76
- ::File.stub!(:exists?).with(@t+"/id_rsa-rangerbob").and_return false
77
- ::File.stub!(:exists?).with(@t+"/rangerbob").and_return false
78
- ::File.stub!(:exists?).with(@q+"/id_rsa-rangerbob").and_return false
79
- ::File.should_receive(:exists?).with(@q+"/rangerbob").and_return true
80
- @tc.should_receive(:keypair_paths).once.and_return [@t, @q]
81
- @tc.keypair_path.should == "/etc/poolparty/rangerbob"
82
- end
83
- describe "exists" do
84
- before(:each) do
85
- @t = "#{File.expand_path(Base.base_keypair_path)}"
86
- ::File.stub!(:exists?).with(@t+"/id_rsa-rangerbob").and_return false
87
- ::File.stub!(:exists?).with(@t+"/rangerbob").and_return true
88
- end
89
- it "should have the keypair_path" do
90
- @tc.respond_to?(:keypair_path).should == true
91
- end
92
- it "should set the keypair to the Base.keypair_path" do
93
- @tc.keypair_path.should =~ /\.ec2\/rangerbob/
94
- end
95
- it "should set the keypair to have the keypair set" do
96
- @tc.keypair.should =~ /rangerbob/
97
- end
98
- it "should set it to the Base keypair_path and the keypair" do
99
- @tc.keypair_path.should == "#{File.expand_path(Base.base_keypair_path)}/#{@tc.keypair}"
100
- end
101
- end
102
- end
103
- it "should provide set_parent" do
104
- @tc.respond_to?(:set_parent).should == true
105
- end
106
45
  describe "parents" do
107
46
  before(:each) do
108
- @testparent = TestParentClass.new
109
- end
110
- describe "setting" do
111
- it "should add the child to its services" do
112
- @testparent.should_receive(:add_service)
113
- end
114
- it "should call configure with options" do
115
- @tc.should_receive(:configure).with(@testparent.options)
116
- end
117
- after do
118
- @tc.run_setup(@testparent)
119
- end
120
- end
121
- describe "parent's services" do
122
- before(:each) do
123
- @tc.run_setup(@testparent)
124
- end
125
- it "should set the parent" do
126
- @tc.parent.should == @testparent
127
- end
128
- it "should have one service set" do
129
- @testparent.services.size.should == 1
130
- end
131
- it "should have the child in the parent's services" do
132
- @testparent.services.first.should == @tc
133
- end
134
- end
135
- describe "storing block" do
136
- before(:each) do
137
- @new_tc = ResourcerTestClass.new do
138
- "hi"
47
+ @testparent =
48
+ TestParentClass.new(:parent_of_bob) do
49
+ test_option "blankity blank blank"
50
+
51
+ ResourcerTestClass.new :bob do
139
52
  end
140
53
  end
141
- it "should store the block when creating a new one" do
142
- @new_tc.store_block.should_not == nil
143
- end
144
- it "should have a reference to the stored block" do
145
- @new_tc.store_block.class.should == Proc
146
- end
147
- it "should store the containing block" do
148
- @new_tc.store_block.call.should == "hi"
54
+ describe "setting" do
55
+ it "set 1 service on the parent class" do
56
+ @testparent.services.size.should == 1
57
+ end
58
+ it "set the service as a ResourcerTestClass named bob" do
59
+ @testparent.services.first.name.should == :bob
60
+ end
61
+ it "set the parent's options on the child" do
62
+ @testparent.services.first.test_option.should == "blankity blank blank"
63
+ end
149
64
  end
150
65
  end
151
66
  end
@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/../spec_helper'
2
2
 
3
3
  include PoolParty::DefinableResource
4
4
 
5
- describe "define_resource" do
5
+ context "define_resource" do
6
6
  it "should have the method define_resource available" do
7
7
  self.respond_to?(:define_resource).should == true
8
8
  end
@@ -7,7 +7,7 @@ describe "FileWriter" do
7
7
  before(:each) do
8
8
  @test = TestClass.new
9
9
  @filepath = File.join("nilly.rb")
10
- @path = File.join(Base.storage_directory, @filepath)
10
+ @path = File.join(Default.storage_directory, @filepath)
11
11
  end
12
12
  %w(write_to_file_in_storage_directory copy_file_to_storage_directory write_to_temp_file).each do |method|
13
13
  eval <<-EOE
@@ -16,8 +16,8 @@ describe "FileWriter" do
16
16
  end
17
17
  EOE
18
18
  end
19
- it "should copy the file to the Base.storage_directory when calling copy_file_to_storage_directory" do
20
- FileUtils.should_receive(:cp).with("ranger", Base.storage_directory+"/ranger").and_return true
19
+ it "should copy the file to the Default.storage_directory when calling copy_file_to_storage_directory" do
20
+ FileUtils.should_receive(:cp).with("ranger", Default.storage_directory+"/ranger").and_return true
21
21
  @test.copy_file_to_storage_directory("ranger")
22
22
  end
23
23
  describe "write to file in storage directory" do
@@ -37,7 +37,7 @@ describe "FileWriter" do
37
37
  end
38
38
  it "should write the string in the file" do
39
39
  @test.write_to_file_in_storage_directory(@filepath, "STRING TO WRITE")
40
- open(::File.join( Base.storage_directory, @filepath)).read.should == "STRING TO WRITE"
40
+ open(::File.join( Default.storage_directory, @filepath)).read.should == "STRING TO WRITE"
41
41
  end
42
42
  after do
43
43
  @test.write_to_file_in_storage_directory(@filepath, "STRING TO WRITE")
@@ -52,6 +52,12 @@ describe "FileWriter" do
52
52
  @test.copy_file_to_storage_directory(@filepath)
53
53
  end
54
54
  end
55
+ describe "cleanup_storage_directory" do
56
+ it "should call rm_rf on the FileUtils class with the storage_directory" do
57
+ ::FileUtils.should_receive(:rm_rf).with("#{Default.storage_directory}").and_return true
58
+ @test.cleanup_storage_directory
59
+ end
60
+ end
55
61
  after(:all) do
56
62
  ::File.unlink @path if ::File.file? @path
57
63
  end
@@ -0,0 +1,76 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ PATH_TEST_ROOT = Default.storage_directory / "path_test"
4
+ PATH_ONE = PATH_TEST_ROOT / "one"
5
+ PATH_TWO = PATH_TEST_ROOT / "two"
6
+
7
+ class TestFile
8
+ include SearchablePaths
9
+ has_searchable_paths(:dir => "templates", :paths => [PATH_ONE, PATH_TWO])
10
+ end
11
+
12
+ class TestFile2
13
+ include SearchablePaths
14
+ has_searchable_paths(:dirs => ["clouds", "/"], :prepend_paths => [PATH_ONE, PATH_TWO])
15
+ end
16
+
17
+ def File.write_to_file(name, content="")
18
+ open(name, "w") {|f| f.print content}
19
+ end
20
+
21
+ describe "FileWriter" do
22
+ before(:each) do
23
+ # create path one
24
+ [PATH_ONE/:clouds, PATH_ONE/:templates, PATH_ONE/:foo].each {|dir| FileUtils.mkdir_p(dir) }
25
+ [PATH_ONE/'clouds.rb', PATH_ONE/:clouds/'special.rb', PATH_ONE/:templates/'apache.conf'].each do |f|
26
+ File.write_to_file(f)
27
+ end
28
+
29
+ # create path two
30
+ [PATH_TWO/:clouds, PATH_TWO/:templates, PATH_TWO/:foo].each {|dir| FileUtils.mkdir_p(dir) }
31
+ [PATH_TWO/'swing.rb', PATH_TWO/'clouds.rb', PATH_TWO/:clouds/'common.rb', PATH_TWO/:templates/'mysql.conf'].each do |f|
32
+ File.write_to_file(f)
33
+ end
34
+
35
+ @template = TestFile.new
36
+ @cloud = TestFile2.new
37
+ end
38
+
39
+ describe "class methods" do
40
+ it "should have class options set" do
41
+ TestFile.searchable_paths_dir.should == "templates"
42
+ TestFile.searchable_paths_dirs.should == ["templates"]
43
+ TestFile2.searchable_paths_dirs.should == ["clouds", "/"]
44
+ end
45
+ end
46
+
47
+ describe "#find_file" do
48
+ it "should be able to find a template" do
49
+ @template.find_file("apache.conf").should_not be_nil
50
+ @template.find_file("apache.conf").should == PATH_ONE/:templates/'apache.conf'
51
+ @template.find_file("mysql.conf").should == PATH_TWO/:templates/'mysql.conf'
52
+ end
53
+
54
+ it "shouldn't find a template that doesn't exist" do
55
+ @template.find_file("post-office.conf").should be_nil
56
+ end
57
+
58
+ it "should find something with prepended paths" do
59
+ @cloud.find_file("clouds.rb").should == PATH_ONE/'clouds.rb'
60
+ @cloud.find_file("swing.rb").should == PATH_TWO/'swing.rb'
61
+ end
62
+
63
+ it "should find things in the right order" do
64
+ @cloud.find_file("clouds.rb").should == PATH_ONE/'clouds.rb'
65
+ end
66
+
67
+
68
+
69
+
70
+
71
+ end
72
+
73
+ after(:each) do
74
+ FileUtils.rm_rf(PATH_TEST_ROOT)
75
+ end
76
+ end