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
@@ -0,0 +1,84 @@
1
+ # MOVED TO A TEST
2
+
3
+ # require File.dirname(__FILE__) + '/spec_helper'
4
+
5
+ # describe "BaseClass" do
6
+ # describe "services" do
7
+ # before(:each) do
8
+ # reset!
9
+ # @tbc = TestBaseClass.new do
10
+ # has_git_repos :name => "test git", :at => "/var/www/google", :source => "git://pop.git"
11
+ # end
12
+ # end
13
+ # it "should add a service when a service is called" do
14
+ # @tbc.services.size.should == 1
15
+ # end
16
+ # end
17
+ # describe "context_stack" do
18
+ # before(:each) do
19
+ # ::PoolParty.reset!
20
+ # @a = TestBaseClass.new
21
+ # end
22
+ # it "should have a context stack that is empty" do
23
+ # @a.context_stack.empty?.should == true
24
+ # end
25
+ # it "should have a context_stack that is not empty when being evaluated" do
26
+ # TestBaseClass.new do
27
+ # context_stack.empty?.should == false
28
+ # end
29
+ # end
30
+ # it "should have self in context_stack" do
31
+ # TestBaseClass.new do
32
+ # context_stack.last.should == self
33
+ # end
34
+ # end
35
+ # it "should have the parent of self set in the context stack in the current_context" do
36
+ # TestBaseClass.new do
37
+ # current_context.last.should == parent
38
+ # end
39
+ # end
40
+ # describe "depth" do
41
+ # before(:each) do
42
+ # reset!
43
+ # Proc.new do
44
+ # @a = $a =TestBaseClass.new do
45
+ # @@b = $b = TestBaseClass.new do
46
+ # @@c = $c =TestBaseClass.new do
47
+ # end
48
+ # end
49
+ # end
50
+ # end.call
51
+ # end
52
+ # it "should set the correct depth" do
53
+ # @a.depth.should == 0
54
+ # @@b.depth.should == 1
55
+ # @@c.depth.should == 2
56
+ # end
57
+ # it "should have the parent set properly" do
58
+ # # @a.parent.should == nil
59
+ # @@c.parent.should == @@b
60
+ # @@b.parent.should == @a
61
+ # end
62
+ # it "should have proper self" do
63
+ # @a.this.should == $a.this
64
+ # end
65
+ # end
66
+ # end
67
+ # it "should have the parent set properly" do
68
+ # @a = TestBaseClass.new do
69
+ # @@b = TestBaseClass.new do
70
+ # @@c = TestBaseClass.new do
71
+ # end
72
+ # end
73
+ # end
74
+ #
75
+ # @a.parent.should == nil
76
+ # @@c.parent.should == @@b
77
+ # @@b.parent.should == @a
78
+ #
79
+ # @a.parent.should == nil
80
+ # @@c.parent.should == @@b
81
+ # @@b.parent.should == @a
82
+ # end
83
+ #
84
+ # end
@@ -2,18 +2,18 @@ require File.dirname(__FILE__) + '/spec_helper'
2
2
 
3
3
  describe "PoolParty" do
4
4
  after(:all) do
5
- # FileUtils.rm_r(Base.storage_directory) rescue ""
5
+ # FileUtils.rm_r(Default.storage_directory) rescue ""
6
6
  end
7
7
  it "should have the method copy_file_to_storage_directory on the PoolParty" do
8
8
  PoolParty.respond_to?(:copy_file_to_storage_directory).should == true
9
9
  end
10
10
  it "should copy the file given with File" do
11
- FileUtils.should_receive(:cp).with("haymaker", Base.storage_directory + "/haymaker").once
11
+ FileUtils.should_receive(:cp).with("haymaker", Default.storage_directory + "/haymaker").once
12
12
  PoolParty.copy_file_to_storage_directory("haymaker")
13
13
  end
14
14
  describe "writing file to storage_directory" do
15
15
  before(:each) do
16
- @path = "#{Base.storage_directory}/happydayz"
16
+ @path = "#{Default.storage_directory}/happydayz"
17
17
  end
18
18
  it "should have the method write_to_file_in_storage_directory" do
19
19
  PoolParty.respond_to?(:write_to_file_in_storage_directory).should == true
@@ -26,8 +26,11 @@ describe "PoolParty" do
26
26
  PoolParty.write_to_file_in_storage_directory("/usr/bin/happydayz", "write this text")
27
27
  File.open(@path).read.should == "write this text"
28
28
  end
29
+ after(:each) do
30
+ ::FileUtils.rm @path rescue ""
31
+ end
29
32
  end
30
33
  it "should have a logger" do
31
- PoolParty.log.should_not be_nil
34
+ PoolParty.log.should_not == nil
32
35
  end
33
36
  end
@@ -0,0 +1,44 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "cron" do
4
+ describe "instances" do
5
+ before(:each) do
6
+ @tc = TestBaseClass.new do
7
+ has_cron("mail stats") do
8
+ command "mail -s httpd.conf ari@poolpartyrb.com"
9
+ hour 23
10
+ minute 5
11
+ weekday 1
12
+ end
13
+ end
14
+ @cron = @tc.resource(:cron).first
15
+ end
16
+ it "have the name in the options" do
17
+ @cron.name.should == "mail stats"
18
+ end
19
+ it "should store the owner's name as well" do
20
+ @cron.command.should == "mail -s httpd.conf ari@poolpartyrb.com"
21
+ end
22
+ it "should store the time (from within the block)" do
23
+ @cron.hour.should == 23
24
+ @cron.minute.should == 5
25
+ @cron.weekday.should == 1
26
+ end
27
+ describe "into PuppetResolver" do
28
+ before(:each) do
29
+ @compiled = PuppetResolver.new(@tc.to_properties_hash).compile
30
+ end
31
+ it "should set the cronname to the name of the cron" do
32
+ @compiled.should match(/cron \{ "mail stats"/)
33
+ end
34
+ it "set the command" do
35
+ @compiled.should match(/command => "mail -s httpd\.conf ari@poolpartyrb\.com"/)
36
+ end
37
+ it "have the time set in the puppet output" do
38
+ @compiled.should match(/hour => 23/)
39
+ @compiled.should match(/minute => 5/)
40
+ @compiled.should match(/weekday => 1/)
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,40 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "Directory" do
4
+ describe "instances" do
5
+ before(:each) do
6
+ @tc = TestBaseClass.new do
7
+ has_directory({:name => "/etc/apache2", :owner => "herman"}) do
8
+ mode 755
9
+ end
10
+ end
11
+ @dir = @tc.resource(:directory).first
12
+ end
13
+ it "have the name in the options" do
14
+ @dir.name.should == "/etc/apache2"
15
+ end
16
+ it "should store the owner's name" do
17
+ @dir.owner.should == "herman"
18
+ end
19
+ it "should store the mode (from within the block)" do
20
+ @dir.mode.should == 755
21
+ end
22
+ describe "into PuppetResolver" do
23
+ before(:each) do
24
+ @compiled = PuppetResolver.new(@tc.to_properties_hash).compile
25
+ end
26
+ it "should set the filename to the name of the file" do
27
+ @compiled.should =~ /file \{ "\/etc\/apache2"/
28
+ end
29
+ it "set the owner as the owner" do
30
+ @compiled.should =~ /owner => "herman"/
31
+ end
32
+ it "should say it's a directory in the ensure method" do
33
+ @compiled.should =~ /ensure => "directory"/
34
+ end
35
+ it "have the mode set in the puppet output" do
36
+ @compiled.should =~ /mode => 755/
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,37 @@
1
+ require ::File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "exec" do
4
+ describe "instances" do
5
+ before(:each) do
6
+ @tc = TestBaseClass.new do
7
+ has_exec("list /var/www directory") do
8
+ command "/usr/bin/ls -l /var/www"
9
+ end
10
+ end
11
+ @exec = @tc.resource(:exec).first
12
+ end
13
+ it "have the name in the options" do
14
+ @exec.name.should == "list /var/www directory"
15
+ end
16
+ it "should store the owner's name as well" do
17
+ @exec.command.should == "/usr/bin/ls -l /var/www"
18
+ end
19
+ it "should have a path" do
20
+ @exec.path.should == ["/usr/bin:/bin:/usr/local/bin:$PATH"]
21
+ end
22
+ describe "into PuppetResolver" do
23
+ before(:each) do
24
+ @compiled = PuppetResolver.new(@tc.to_properties_hash).compile
25
+ end
26
+ it "should set the execname to the name of the exec" do
27
+ @compiled.should match(/exec \{ "list \/var\/www directory"/)
28
+ end
29
+ it "have the mode set in the puppet output" do
30
+ @compiled.should match(/command => "\/usr\/bin\/ls -l \/var\/www"/)
31
+ end
32
+ it "have the path set in the puppet output" do
33
+ @compiled.should match(/path => \[ "\/usr\/bin:\/bin:\/usr\/local\/bin:\$PATH" \]/)
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,64 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "File" do
4
+ describe "instances" do
5
+ before(:each) do
6
+ @tc = TestBaseClass.new do
7
+ has_file({:name => "/etc/apache2/puppetmaster.conf", :owner => "herman"}) do
8
+ mode 755
9
+ end
10
+ end
11
+ @file = @tc.resource(:file).first
12
+ end
13
+ it "have the name in the options" do
14
+ @file.name.should == "/etc/apache2/puppetmaster.conf"
15
+ end
16
+ it "should store the owner's name as well" do
17
+ @file.owner.should == "herman"
18
+ end
19
+ it "should store the mode (from within the block)" do
20
+ @file.mode.should == 755
21
+ end
22
+ describe "template" do
23
+ before(:each) do
24
+ ::File.stub!(:basename).and_return "template"
25
+ @file = "<%= friends %> <%= runner %>"
26
+ @file.stub!(:read).and_return @file
27
+ Template.stub!(:open).and_return @file
28
+
29
+ @tc = TestBaseClass.new do
30
+ has_file({:name => "/etc/apache2/puppetmaster.conf", :owner => "herman"}) do
31
+ template "/absolute/path/to/template"
32
+ runner "is super fast"
33
+ friends "bob"
34
+ render_as :erb
35
+ end
36
+ end
37
+ @file = @tc.resource(:file).first
38
+ end
39
+ it "should have content in the options" do
40
+ @file.content.nil?.should == false
41
+ end
42
+ it "should fill in the template (Erb) with the variables" do
43
+ @file.content.should == "bob is super fast"
44
+ end
45
+ it "should remove the template from the options" do
46
+ @file.template?.should == false
47
+ end
48
+ end
49
+ describe "into PuppetResolver" do
50
+ before(:each) do
51
+ @compiled = PuppetResolver.new(@tc.to_properties_hash).compile
52
+ end
53
+ it "should set the filename to the name of the file" do
54
+ @compiled.should match(/file \{ "\/etc\/apache2\/puppetmaster\.conf"/)
55
+ end
56
+ it "set the owner as the owner" do
57
+ @compiled.should match(/owner => "herman"/)
58
+ end
59
+ it "have the mode set in the puppet output" do
60
+ @compiled.should match(/mode => 755/)
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,7 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "Gempackage" do
4
+ it "should be spec'd" do
5
+ pending
6
+ end
7
+ end
@@ -0,0 +1,35 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "Host" do
4
+ describe "instances" do
5
+ before(:each) do
6
+ @tc = TestBaseClass.new do
7
+ has_host({:name => "node10"}) do
8
+ aka "backup_mysql_master"
9
+ ip "10.0.0.1"
10
+ end
11
+ end
12
+ @host = @tc.resource(:host).first
13
+ end
14
+ it "have the name in the options" do
15
+ @host.name.should == "node10"
16
+ end
17
+ it "should store the mode (from within the block)" do
18
+ @host.ip.should == "10.0.0.1"
19
+ end
20
+ describe "into PuppetResolver" do
21
+ before(:each) do
22
+ @compiled = PuppetResolver.new(@tc.to_properties_hash).compile
23
+ end
24
+ it "should set the name to the name of the host" do
25
+ @compiled.should match(/host \{ "node10"/)
26
+ end
27
+ it "set the ip to the ip" do
28
+ @compiled.should match(/ip => "10.0.0.1"/)
29
+ end
30
+ it "should say it's alias is set" do
31
+ @compiled.should match(/alias => "backup_mysql_master"/)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,26 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "File" do
4
+ describe "instances" do
5
+ before(:each) do
6
+ @tc = TestBaseClass.new do
7
+ has_package(:name => "apache2")
8
+ end
9
+ @package = @tc.resource(:package).first
10
+ end
11
+ it "have the name in the options" do
12
+ @package.name.should == "apache2"
13
+ end
14
+ describe "into PuppetResolver" do
15
+ before(:each) do
16
+ @compiled = PuppetResolver.new(@tc.to_properties_hash).compile
17
+ end
18
+ it "should set the filename to the name of the file" do
19
+ @compiled.should match(/package \{ "apache2"/)
20
+ end
21
+ it "have the mode set in the puppet output" do
22
+ @compiled.should match(/ensure => "present"/)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,29 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "Service" do
4
+ describe "instances" do
5
+ before(:each) do
6
+ @tc = TestBaseClass.new :test_base_class_cloud do
7
+ has_service("apache2", {:hasrestart => true})
8
+ end
9
+ @service = @tc.resource(:service).first
10
+ end
11
+ it "have the name in the options" do
12
+ @service.name.should == "apache2"
13
+ end
14
+ it "should store the hasrestart option" do
15
+ @service.hasrestart.should == true
16
+ end
17
+ describe "into PuppetResolver" do
18
+ before(:each) do
19
+ @compiled = PuppetResolver.new(@tc.to_properties_hash).compile
20
+ end
21
+ it "should set the filename to the name of the file" do
22
+ @compiled.should match(/service \{ "apache2"/)
23
+ end
24
+ it "have the mode set in the puppet output" do
25
+ @compiled.should match(/hasrestart => true/)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,40 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "Sshkey" do
4
+ describe "instances" do
5
+ before(:each) do
6
+ @key = Key.new
7
+ Key.stub!(:new).and_return @key
8
+ @key.stub!(:content).and_return "DIGITSOFTHEKEY"
9
+ @tc = TestBaseClass.new do
10
+ has_sshkey({:name => "~/.ssh/id_rsa"}) do
11
+ enctype "rsa"
12
+ end
13
+ end
14
+ @dir = @tc.resource(:sshkey).first
15
+ end
16
+ it "have the name in the options" do
17
+ @dir.name.should == "~/.ssh/id_rsa"
18
+ end
19
+ it "should store the owner's name" do
20
+ @dir.enctype.should == "rsa"
21
+ end
22
+ describe "into PuppetResolver" do
23
+ before(:each) do
24
+ @compiled = PuppetResolver.new(@tc.to_properties_hash).compile
25
+ end
26
+ it "should set the filename to the name of the file" do
27
+ @compiled.should match(/sshkey \{ "~\/\.ssh\/id_rsa"/)
28
+ end
29
+ it "should say it's a sshkey in the ensure method" do
30
+ @compiled.should match(/ensure => "present"/)
31
+ end
32
+ it "have the mode set in the puppet output" do
33
+ @compiled.should match(/type => "rsa"/)
34
+ end
35
+ it "have the long string of digits key" do
36
+ @compiled.should match(/key => "DIGITSOFTHEKEY"/)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,29 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "Symlink" do
4
+ describe "instances" do
5
+ before(:each) do
6
+ @tc = TestBaseClass.new do
7
+ has_symlink("/etc/apache2/sites-enabled/poolpartyrb.com", :source => "/etc/apache2/sites-available/poolpartyrb.com")
8
+ end
9
+ @dir = @tc.resource(:symlink).first
10
+ end
11
+ it "have the name in the options" do
12
+ @dir.name.should == "/etc/apache2/sites-enabled/poolpartyrb.com"
13
+ end
14
+ it "should store the source name" do
15
+ @dir.source.should == "/etc/apache2/sites-available/poolpartyrb.com"
16
+ end
17
+ describe "into PuppetResolver" do
18
+ before(:each) do
19
+ @compiled = PuppetResolver.new(@tc.to_properties_hash).compile
20
+ end
21
+ it "should set the filename to the name of the file" do
22
+ @compiled.should match(/file \{ "\/etc\/apache2\/sites-enabled\/poolpartyrb\.com"/)
23
+ end
24
+ it "set the owner as the owner" do
25
+ @compiled.should match(/ensure => "\/etc\/apache2\/sites-available\/poolpartyrb\.com"/)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,48 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "User" do
4
+ describe "instances" do
5
+ before(:each) do
6
+ @tc = TestBaseClass.new do
7
+ has_user("bob", {:job => "accountant", :comment => "Bob is outstanding"}) do
8
+ password "b0b"
9
+ home "/home/bob"
10
+ end
11
+ end
12
+ @user = @tc.resources[:user].first
13
+ end
14
+ it "have the name in the options" do
15
+ @user.name.should == "bob"
16
+ end
17
+ it "should store the owner's name" do
18
+ @user.comment.should == "Bob is outstanding"
19
+ end
20
+ it "should store the password (from within the block)" do
21
+ @user.password.should == "b0b"
22
+ end
23
+ it "should store the home" do
24
+ @user.home.should == "/home/bob"
25
+ end
26
+ describe "into PuppetResolver" do
27
+ before(:each) do
28
+ @compiled = PuppetResolver.new(@tc.to_properties_hash).compile
29
+ end
30
+ it "should set the filename to the name of the file" do
31
+ @compiled.should match(/user \{ "bob"/)
32
+ end
33
+ it "set the owner as the owner" do
34
+ # puts "<pre>"+@compiled.to_yaml+"</pre>"
35
+ @compiled.should match(/comment => "Bob is outstanding"/)
36
+ end
37
+ it "should say it's a user in the ensure method" do
38
+ @compiled.should match(/ensure => "present"/)
39
+ end
40
+ it "have the mode set in the puppet output" do
41
+ @compiled.should match(/home => "\/home\/bob"/)
42
+ end
43
+ it "set the password" do
44
+ @compiled.should match(/password => "b0b"/)
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,26 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ describe "Variables" do
4
+ describe "instances" do
5
+ before(:each) do
6
+ @tc = TestBaseClass.new do
7
+ has_variable(:name => "master", :value => "herman")
8
+ end
9
+ @variable = @tc.resource(:variable).first
10
+ end
11
+ it "have the name in the options" do
12
+ @variable.name.should == "master"
13
+ end
14
+ it "should store the owner's name as well" do
15
+ @variable.value.should == "herman"
16
+ end
17
+ describe "into PuppetResolver" do
18
+ before(:each) do
19
+ @compiled = PuppetResolver.new(@tc.to_properties_hash).compile
20
+ end
21
+ it "have the variable set in the puppet output" do
22
+ @compiled.should match(/\$master = "herman"/)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,53 @@
1
+ require "rubygems"
2
+ require "spec"
3
+ require "json"
4
+ require File.dirname(__FILE__) + '/../../lib/poolparty/schema'
5
+
6
+ describe "Schema" do
7
+ it "should not fail when called with a hash" do
8
+ lambda {PoolParty::Schema.new({:a => "a"})}.should_not raise_error
9
+ end
10
+ it "should be able to take a string of JSON" do
11
+ lambda{PoolParty::Schema.new({:a => "a"}.to_json)}.should_not raise_error
12
+ end
13
+ describe "methods" do
14
+ before(:each) do
15
+ @schema = PoolParty::Schema.new :a => "b", :b => {:a => "a in b", :b => {:a => "a in b.b"}}
16
+ end
17
+ it "should be able to call a method that's in the hash on the schema" do
18
+ @schema.a.should == "b"
19
+ end
20
+ it "should be able to call deeply into the hash" do
21
+ @schema.b.a.should == "a in b"
22
+ end
23
+ it "should be able to call really deep into the hash" do
24
+ @schema.b.b.a.should == "a in b.b"
25
+ end
26
+ end
27
+ describe "json" do
28
+ before(:each) do
29
+ @schema = PoolParty::Schema.new({:a => "b", :b => {:a => "a in b", :b => {:a => "a in b.b"}}}.to_json)
30
+ end
31
+ it "should be able to call a method that's in the hash on the schema" do
32
+ @schema.a.should == "b"
33
+ end
34
+ it "should be able to call deeply into the hash" do
35
+ @schema.b.a.should == "a in b"
36
+ end
37
+ it "should be able to call really deep into the hash" do
38
+ @schema.b.b.a.should == "a in b.b"
39
+ end
40
+ end
41
+ describe "with arrays" do
42
+ before(:each) do
43
+ @schema = PoolParty::Schema.new({:a => ["b"], :b => {:a => ["a in b", "a in b.a"], :b => {:a => "a in b.b"}}}.to_json)
44
+ end
45
+ it "should have an array in a" do
46
+ @schema.a.class.should == Array
47
+ @schema.a.should == ["b"]
48
+ end
49
+ it "should have an array in b (deep)" do
50
+ @schema.b.a.should == ["a in b", "a in b.a"]
51
+ end
52
+ end
53
+ end