poolparty 0.2.84 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
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,90 @@
1
+ require "#{::File.dirname(__FILE__)}/../../test_helper"
2
+
3
+ class PuppetResolverSpec
4
+ plugin :apache do
5
+ end
6
+ end
7
+
8
+ class TestPuppetResolver < Test::Unit::TestCase
9
+ context "from a hash" do
10
+ setup do
11
+ reset!
12
+ @cloud_reference_hash = {
13
+ :options => {:name => "dog", :keypair => "bob", :users => ["ari", "michael"]},
14
+ :resources => [
15
+ {:name => "/etc/motd", :content => "Welcome to the cloud", :pp_type => "file"},
16
+ {:name => "/etc/profile", :content => "profile info", :pp_type => "file"},
17
+ {:name => "/var/www", :pp_type => "directory"},
18
+ {:name => "apache_class", :pp_type => "plugin", :resources => [
19
+ {:name => "/etc/apache2/apache2.conf", :pp_type => "file", :template => "/absolute/path/to/template", :content => "rendered template string"}
20
+ ]}
21
+ ],
22
+ }
23
+ end
24
+
25
+ should "throw an exception if not given a hash" do
26
+ lambda { PoolParty::PuppetResolver.compile }.should raise_error
27
+ end
28
+ should "accept a hash" do
29
+ lambda { PoolParty::PuppetResolver.compile(@cloud_reference_hash)}.should_not raise_error
30
+ end
31
+ context "compiled" do
32
+ setup do
33
+ reset!
34
+ @dr = PuppetResolver.new(@cloud_reference_hash)
35
+ @compiled = @dr.compile
36
+ end
37
+
38
+ should "should print resources in the proper layout" do
39
+ @compiled.should =~ /file \{ "\/etc\/motd"/
40
+ end
41
+
42
+ should "should print apache into a class definition" do
43
+ # puts "<pre>#{@compiled.to_yaml}</pre>"
44
+ @compiled.should =~ /class apache \{/
45
+ end
46
+ end
47
+ end
48
+
49
+ context "with a cloud" do
50
+ setup do
51
+ reset!
52
+ @cloud = cloud :hope do
53
+ keypair "bob"
54
+ has_file :name => "/etc/motd", :content => "Welcome to the cloud"
55
+ has_file :name => "/etc/profile", :content => "profile info"
56
+
57
+ has_directory :name => "/var/www"
58
+ has_file :name => "/var/www/index.html", :content => "profile info", :requires => get_directory("/var/www")
59
+
60
+ dependency_resolver "puppet"
61
+ # has_package :name => "bash"
62
+ # parent == cloud
63
+ apache do
64
+ # parent == apache
65
+ listen "8080"
66
+ has_file :name => "/etc/apache2/apache2.conf", :template => "#{::File.dirname(__FILE__)}/../../fixtures/test_template.erb", :friends => "bob"
67
+ has_exec :command => "ls /etc/apache2"
68
+ end
69
+ end
70
+ @properties = @cloud.to_properties_hash
71
+
72
+ # puts "<pre>#{@cloud_reference_hash.to_yaml}\n\n#{@properties}</pre>"
73
+ @dr = PuppetResolver.new(@properties)
74
+ @compiled = @dr.compile
75
+ end
76
+ should "should compile to a string" do
77
+ # puts "<pre>#{@compiled.to_yaml}</pre>"
78
+ @compiled.class.should == String
79
+ end
80
+ should "should include apache class" do
81
+ @compiled.should =~ /class apache \{/
82
+ end
83
+ should "should require the file to have the directory (written as file)" do
84
+ @compiled.should =~ /require => File\[\"\/var\/www\"\]/
85
+ end
86
+ should "should ensure file" do
87
+ @compiled.should =~ /ensure => "present"/
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,40 @@
1
+ require "#{::File.dirname(__FILE__)}/../../test_helper"
2
+
3
+ class CallbacksTestClass
4
+ attr_reader :configured
5
+ include PoolParty::Callbacks
6
+
7
+ additional_callbacks ["after_boxes"]
8
+
9
+ def before_configure
10
+ @configured = true
11
+ end
12
+ end
13
+
14
+ class TestCallbacks < Test::Unit::TestCase
15
+ context "methods" do
16
+ setup do
17
+ @tc = CallbacksTestClass.new
18
+ @tc.setup_callbacks
19
+ end
20
+
21
+ should "have the 4 basic callbacks" do
22
+ assert @tc.respond_to?(:call_before_bootstrap_callbacks)
23
+ assert @tc.respond_to?(:call_after_bootstrap_callbacks)
24
+ assert @tc.respond_to?(:call_before_configure_callbacks)
25
+ assert @tc.respond_to?(:call_after_configure_callbacks)
26
+ end
27
+ should "have an addiitonal callback caller method" do
28
+ assert @tc.respond_to?(:call_after_boxes_callbacks)
29
+ end
30
+ should "call the callback on the class when calling call_(\w+)_callbacks method" do
31
+ assert_nil @tc.configured
32
+ @tc.call_before_configure_callbacks
33
+ assert @tc.configured
34
+ end
35
+ should "not explode when the method does not exist on the call_(\w+)_callbacks method" do
36
+ lambda {@tc.call_after_boxes_callbacks}.should_not raise_error
37
+ end
38
+ end
39
+
40
+ end
@@ -0,0 +1,60 @@
1
+ require "#{::File.dirname(__FILE__)}/../../test_helper"
2
+
3
+ class TestCloudDsl < Test::Unit::TestCase
4
+ context "enabling and disabling" do
5
+ setup do
6
+ reset!
7
+ @cloud = cloud :test_cloud_dsl do
8
+ end
9
+ end
10
+ should "not have an option set for hyper_drive" do
11
+ @cloud.dsl_options[:hyper_drive].should == nil
12
+ end
13
+
14
+ should "set the option to :enabled when enabled" do
15
+ @cloud.enable :hyper_drive
16
+ @cloud.dsl_options[:hyper_drive].should == :enabled
17
+ end
18
+
19
+ should "set the option to disabled when disabled" do
20
+ @cloud.disable :hyper_drive
21
+ @cloud.dsl_options[:hyper_drive].should == :disabled
22
+ end
23
+
24
+ should "be able to check if they are enabled" do
25
+ @cloud.enable :hyper_drive
26
+ @cloud.enabled?(:hyper_drive).should == true
27
+ end
28
+ should "be able to check that they are disabled" do
29
+ @cloud.disable :hyper_drive
30
+ @cloud.enabled?(:hyper_drive).should == false
31
+ end
32
+ end
33
+ context "calling add_optional_enabled_services" do
34
+ setup do
35
+ reset!
36
+ @cloud = cloud :test_cloud_dsl_2 do
37
+ enable :haproxy
38
+ end
39
+ @cloud.instance_eval "self.class.send :attr_reader, :brains"
40
+ @cloud.instance_eval "def box;@brains = 'pepper';end"
41
+ end
42
+
43
+ should "send @cloud the method box after it's been enabled" do
44
+ @cloud.enable :box
45
+ @cloud.add_optional_enabled_services
46
+ @cloud.brains.should == "pepper"
47
+ end
48
+ should "not call box if the method has not been enabled" do
49
+ @cloud.add_optional_enabled_services
50
+ @cloud.brains.should == nil
51
+ end
52
+ should "call haproxy when adding enabled serivces" do
53
+ @cloud.add_optional_enabled_services
54
+ klasses = @cloud.plugin_store.map {|a| a.class.to_s.split("::")[-1] }
55
+ klasses.include?("HaproxyClass").should == true
56
+ end
57
+ end
58
+
59
+
60
+ end
@@ -0,0 +1,54 @@
1
+ require "#{::File.dirname(__FILE__)}/../../../../test_helper"
2
+
3
+ # Uncomment the tests for live-testing
4
+ class TestVmRun < Test::Unit::TestCase
5
+ context "registered as remote base" do
6
+ setup do
7
+ reset!
8
+ $vmx_keys = {
9
+ ::File.expand_path("~/Documents/vm/Ubuntu32bitVM.vmwarevm/Ubuntu32bitVM.vmx") => "192.168.248.133"
10
+ }
11
+ $vmx_files = $vmx_keys.keys
12
+ $ipaddresses = $vmx_keys.values
13
+
14
+ @cloud = cloud :test_vm_runner do
15
+
16
+ using :vmrun do
17
+ vmx_hash $vmx_keys
18
+ end
19
+
20
+ end
21
+ end
22
+ # should "be setting the type of remote_base as Vmrun" do
23
+ # @cloud.remote_base.class.should == PoolParty::Remote::Vmrun
24
+ # end
25
+ # should "have the method vmrun as the remoter base" do
26
+ # @cloud.vmrun.should == @cloud.remote_base
27
+ # end
28
+ # should "start vmware instance" do
29
+ # @cloud.launch_instance!
30
+ # assert @cloud.vmrun.describe_instances.first[:instance_id], $vmx_files.first
31
+ # end
32
+ # should "have the ip and mac address" do
33
+ # @cloud.launch_instance!
34
+ #
35
+ # vmx_file = @cloud.vmrun.describe_instances.first[:instance_id]
36
+ # instance = @cloud.vmrun.describe_instance(:vmx_file => vmx_file)
37
+ #
38
+ # assert !instance.mac_address.nil?
39
+ # assert !instance.ip.nil?
40
+ # end
41
+ # should "be able to turn off the instance" do
42
+ # @cloud.launch_instance!
43
+ # @cloud.terminate_instance!
44
+ # assert @cloud.describe_instances.empty?
45
+ # end
46
+ # teardown do
47
+ # # PoolParty::Remote::Vmrun.terminate!(
48
+ # @cloud.describe_instances.each do |inst|
49
+ # @cloud.terminate_instance! inst[:instance_id]
50
+ # end
51
+ # end
52
+ end
53
+
54
+ end
@@ -0,0 +1,14 @@
1
+ require "#{::File.dirname(__FILE__)}/../../test_helper"
2
+
3
+ class RemoterTest < Test::Unit::TestCase
4
+ context "list_of_nodes" do
5
+ setup do
6
+
7
+ end
8
+
9
+ should "fixme" do
10
+
11
+ end
12
+ end
13
+
14
+ end
@@ -0,0 +1,23 @@
1
+ require "#{::File.dirname(__FILE__)}/../../test_helper"
2
+
3
+ class TestNeighborhoods < Test::Unit::TestCase
4
+ context "Constant" do
5
+ should "have the constant Neighborhoods" do
6
+ PoolParty.const_get("Neighborhoods").should == PoolParty::Neighborhoods
7
+ end
8
+ end
9
+ context "setting up a neighborhood" do
10
+ should "set the schema when starting with a json string or a hash" do
11
+ n = Neighborhoods.new({:instances => "b"})
12
+ n.schema.nil?.should == false
13
+ n.schema.class.should == PoolParty::Schema
14
+ end
15
+ should "raise an error if there started with nil" do
16
+ lambda {Neighborhoods.new}.should raise_error
17
+ end
18
+ should "should not raise a fit if there ARE instances defined" do
19
+ lambda{Neighborhoods.new({:instances => ["10.0.0.1"]})}.should_not raise_error
20
+ end
21
+ end
22
+
23
+ end
@@ -0,0 +1,84 @@
1
+ require "#{::File.dirname(__FILE__)}/../../test_helper"
2
+
3
+ class TestBaseClass < PoolParty::PoolPartyBaseClass
4
+ end
5
+
6
+ class TestBaseClassTest < Test::Unit::TestCase
7
+ context "services" do
8
+ setup do
9
+ reset!
10
+ @tbc = TestBaseClass.new do
11
+ has_git_repos :name => "test git", :at => "/var/www/google", :source => "git://pop.git"
12
+ end
13
+ end
14
+ should "should add a service when a service is called" do
15
+ @tbc.ordered_resources.size.should == 1
16
+ end
17
+ end
18
+ context "context_stack" do
19
+ setup do
20
+ ::PoolParty.reset!
21
+ @a = TestBaseClass.new
22
+ end
23
+ should "should have a context stack that is empty" do
24
+ @a.context_stack.empty?.should == true
25
+ end
26
+ should "should have a context_stack that is not empty when being evaluated" do
27
+ TestBaseClass.new do
28
+ context_stack.empty?.should == false
29
+ end
30
+ end
31
+ should "should have self in context_stack" do
32
+ TestBaseClass.new do
33
+ context_stack.last.should == self
34
+ end
35
+ end
36
+ should "should have the parent of self set in the context stack in the current_context" do
37
+ TestBaseClass.new do
38
+ current_context.last.should == parent
39
+ end
40
+ end
41
+ context "depth" do
42
+ setup do
43
+ reset!
44
+ Proc.new do
45
+ @a = $a =TestBaseClass.new do
46
+ @@b = $b = TestBaseClass.new do
47
+ @@c = $c =TestBaseClass.new do
48
+ end
49
+ end
50
+ end
51
+ end.call
52
+ end
53
+ should "should set the correct depth" do
54
+ @a.depth.should == 0
55
+ @@b.depth.should == 1
56
+ @@c.depth.should == 2
57
+ end
58
+ should "should have the parent set properly" do
59
+ # @a.parent.should == nil
60
+ @@c.parent.should == @@b
61
+ @@b.parent.should == @a
62
+ end
63
+ should "should have proper self" do
64
+ @a.this.should == $a.this
65
+ end
66
+ end
67
+ end
68
+ should "should have the parent set properly" do
69
+ @a = TestBaseClass.new do
70
+ @@b = TestBaseClass.new do
71
+ @@c = TestBaseClass.new do
72
+ end
73
+ end
74
+ end
75
+
76
+ @a.parent.should == nil
77
+ @@c.parent.should == @@b
78
+ @@b.parent.should == @a
79
+
80
+ @a.parent.should == nil
81
+ @@c.parent.should == @@b
82
+ @@b.parent.should == @a
83
+ end
84
+ end
@@ -0,0 +1,31 @@
1
+ require "#{::File.dirname(__FILE__)}/../../test_helper"
2
+
3
+ class TestDrConfigure < Test::Unit::TestCase
4
+ context "Rendering of a string" do
5
+ setup do
6
+ @template_string = "Hello <%= name %>"
7
+ end
8
+ should "should have a method called compile_string on the class" do assert Template.respond_to?(:compile_string);end
9
+ should "should return rendered content" do assert Template.compile_string(@template_string, {:name => "bob"}), "Hello bob" end
10
+ end
11
+ context "Rendering of a file" do
12
+ setup do
13
+ @template_file = ::File.dirname(__FILE__) + "/../../fixtures/test_template.erb"
14
+ end
15
+ should "should have a method called compile_file on the class" do assert Template.respond_to?(:compile_file);end
16
+ should "should return rendered content" do assert Template.compile_file(@template_file, {:friends => "bob"}), "Hello bob" end
17
+ end
18
+ context "render_as" do
19
+ setup do
20
+ @template_options = {:render_as => :erb}
21
+ end
22
+
23
+ should "should call render with as erb" do
24
+ assert Template.compile_string("Hi <%= world %>", @template_options.merge(:world => "world")), "Hi world"
25
+ end
26
+ should "call render with haml if rendered with haml" do
27
+ # assert Template.compile_string("Hi <%= world %>", @template_options.merge(:render_as => :haml, :world => "world")), nil
28
+ end
29
+ end
30
+
31
+ end
@@ -0,0 +1,6 @@
1
+ require "#{::File.dirname(__FILE__)}/../../test_helper"
2
+
3
+ class TestBootstrapper < Test::Unit::TestCase
4
+ context "test" do
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ require "#{::File.dirname(__FILE__)}/../../test_helper"
2
+
3
+ class TestDrConfigure < Test::Unit::TestCase
4
+ context "test" do
5
+ end
6
+ end
@@ -0,0 +1,49 @@
1
+ require "#{::File.dirname(__FILE__)}/../../test_helper"
2
+
3
+ module PoolParty
4
+ module Verifiers
5
+ class Ding < VerifierBase
6
+ attr_accessor :port, :checked
7
+ def initialize(port=80)
8
+ @port = port
9
+ end
10
+ def passing?
11
+ @checked
12
+ end
13
+ end
14
+
15
+ end
16
+ end
17
+ class TestVerificationClass
18
+ include PoolParty::Verification
19
+
20
+ attr_reader :port
21
+ def initialize(port=70, &block)
22
+ @port = port
23
+ instance_eval &block
24
+ end
25
+ end
26
+
27
+ class TestVerification < Test::Unit::TestCase
28
+ context "verification included" do
29
+ setup do
30
+ @vc = TestVerificationClass.new do
31
+ verify do
32
+ ding 830
33
+ end
34
+ end
35
+ end
36
+ should "have a the ping verifier as a verifiers in the class" do
37
+ @vc.verifiers.first.class.should == PoolParty::Verifiers::Ding
38
+ end
39
+ should "not explode when calling verify on the verifier" do
40
+ @vc.verifiers.first.checked = true
41
+ @vc.passing?.should == true
42
+ end
43
+ should "explode if the verification fails" do
44
+ @vc.verifiers.first.checked = false
45
+ lambda {@vc.passing?}.should raise_error
46
+ end
47
+ end
48
+
49
+ end
data/test/test_helper.rb CHANGED
@@ -1,2 +1,8 @@
1
- require 'test/unit'
2
- require File.dirname(__FILE__) + '/../lib/PoolParty'
1
+ require "rubygems"
2
+ require "test/unit"
3
+ # require "context"
4
+ require "matchy"
5
+ require "shoulda"
6
+ # require "mocha"
7
+
8
+ require File.dirname(__FILE__) + '/../lib/poolparty'
@@ -1,11 +1,12 @@
1
1
  require File.dirname(__FILE__) + '/test_helper.rb'
2
2
 
3
3
  class TestPoolParty < Test::Unit::TestCase
4
-
5
- def setup
4
+ context "helpers" do
5
+
6
+ should "include_user_directory" do
7
+ # FIXUP
8
+ assert false
9
+ end
6
10
  end
7
11
 
8
- def test_truth
9
- assert true
10
- end
11
12
  end
@@ -0,0 +1,59 @@
1
+ = DESCRIPTION:
2
+
3
+ Complete Debian/Ubuntu style Apache2 configuration.
4
+
5
+ = REQUIREMENTS:
6
+
7
+ Debian or Ubuntu preferred.
8
+
9
+ Red Hat/CentOS and Fedora can be used,
10
+
11
+ = ATTRIBUTES:
12
+
13
+ The file attributes/apache.rb contains the following attribute types:
14
+
15
+ * platform specific locations and settings.
16
+ * general settings
17
+ * prefork attributes
18
+ * worker attributes
19
+
20
+ General settings and prefork/worker attributes are tunable.
21
+
22
+ = USAGE:
23
+
24
+ Include the apache2 recipe to install Apache2 and get 'sane' default settings. Configuration is modularized through Apache vhost sites a la Debian style configuration.
25
+
26
+ == Defines:
27
+
28
+ * apache_module: sets up an Apache module.
29
+ * apache_site: sets up a vhost site. The conf file must be available.
30
+ * web_app: copies the template for a web app and enables it as a site via apache_site.
31
+
32
+ == Web Apps:
33
+
34
+ Various applications that can be set up with Apache as the front end, such as PHP, Django, Rails and others can use the web_app define to set up the template and the Apache site. The define is kind of dumb, so the template needs have the application implementation settings, since we don't know what your app is or what is needed from Apache.
35
+
36
+ We only prototype one parameter for the web_app define, "template". This is used to specify the name of the template to use in the current cookbook. When you use web_app, you can set up any parameters you want to use in your template. They will get passed to the template through the params hash. For example, the sample web_app.conf.erb template in this cookbook makes use of these.
37
+
38
+ * docroot
39
+ * server_name
40
+ * server_aliases
41
+
42
+ These are available as @params[:docroot], @params[:server_name], @params[:server_aliases] within the template.
43
+
44
+ = LICENSE & AUTHOR:
45
+
46
+ Author:: Joshua Timberman (<joshua@opscode.com>)
47
+ Copyright:: 2009, Opscode, Inc
48
+
49
+ Licensed under the Apache License, Version 2.0 (the "License");
50
+ you may not use this file except in compliance with the License.
51
+ You may obtain a copy of the License at
52
+
53
+ http://www.apache.org/licenses/LICENSE-2.0
54
+
55
+ Unless required by applicable law or agreed to in writing, software
56
+ distributed under the License is distributed on an "AS IS" BASIS,
57
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
58
+ See the License for the specific language governing permissions and
59
+ limitations under the License.
@@ -0,0 +1,72 @@
1
+ #
2
+ # Cookbook Name:: apache2
3
+ # Attributes:: apache
4
+ #
5
+ # Copyright 2008, OpsCode, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ apache Mash.new unless attribute?("apache")
21
+
22
+ # Where the various parts of apache are
23
+ case platform
24
+ when "redhat","centos","fedora","suse"
25
+ apache[:dir] = "/etc/httpd"
26
+ apache[:log_dir] = "/var/log/httpd"
27
+ apache[:user] = "apache"
28
+ apache[:binary] = "/usr/sbin/httpd"
29
+ apache[:icondir] = "/var/www/icons"
30
+ when "debian","ubuntu"
31
+ apache[:dir] = "/etc/apache2"
32
+ apache[:log_dir] = "/var/log/apache2"
33
+ apache[:user] = "www-data"
34
+ apache[:binary] = "/usr/sbin/apache2"
35
+ apache[:icondir] = "/usr/share/apache2/icons"
36
+ else
37
+ apache[:dir] = "/etc/apache2"
38
+ apache[:log_dir] = "/var/log/apache2"
39
+ apache[:user] = "www-data"
40
+ apache[:binary] = "/usr/sbin/apache2"
41
+ apache[:icondir] = "/usr/share/apache2/icons"
42
+ end
43
+
44
+ ###
45
+ # These settings need the unless, since we want them to be tunable,
46
+ # and we don't want to override the tunings.
47
+ ###
48
+
49
+ # General settings
50
+ apache[:listen_ports] = [ "80" ] unless apache.has_key?(:listen_ports)
51
+ apache[:contact] = "ops@example.com" unless apache.has_key?(:contact)
52
+ apache[:timeout] = 300 unless apache.has_key?(:timeout)
53
+ apache[:keepalive] = "On" unless apache.has_key?(:keepalive)
54
+ apache[:keepaliverequests] = 100 unless apache.has_key?(:keepaliverequests)
55
+ apache[:keepalivetimeout] = 5 unless apache.has_key?(:keepalivetimeout)
56
+
57
+ # Prefork Attributes
58
+ apache[:prefork] = Mash.new unless apache.has_key?(:prefork)
59
+ apache[:prefork][:startservers] = 16 unless apache[:prefork].has_key?(:prefork_startservers)
60
+ apache[:prefork][:minspareservers] = 16 unless apache[:prefork].has_key?(:prefork_minspareservers)
61
+ apache[:prefork][:maxspareservers] = 32 unless apache[:prefork].has_key?(:prefork_maxspareservers)
62
+ apache[:prefork][:maxclients] = 400 unless apache[:prefork].has_key?(:prefork_maxclients)
63
+ apache[:prefork][:maxrequestsperchild] = 10000 unless apache[:prefork].has_key?(:prefork_maxrequestsperchild)
64
+
65
+ # Worker Attributes
66
+ apache[:worker] = Mash.new unless apache.has_key?(:worker)
67
+ apache[:worker][:startservers] = 4 unless apache[:worker].has_key?(:startservers)
68
+ apache[:worker][:maxclients] = 1024 unless apache[:worker].has_key?(:maxclients)
69
+ apache[:worker][:minsparethreads] = 64 unless apache[:worker].has_key?(:minsparethreads)
70
+ apache[:worker][:maxsparethreads] = 192 unless apache[:worker].has_key?(:maxsparethreads)
71
+ apache[:worker][:threadsperchild] = 64 unless apache[:worker].has_key?(:threadsperchild)
72
+ apache[:worker][:maxrequestsperchild] = 0 unless apache[:worker].has_key?(:maxrequestsperchild)
@@ -0,0 +1,36 @@
1
+ #
2
+ # Cookbook Name:: apache2
3
+ # Definition:: apache_module
4
+ #
5
+ # Copyright 2008, OpsCode, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ define :apache_module, :enable => true do
21
+ include_recipe "apache2"
22
+
23
+ if params[:enable]
24
+ execute "a2enmod #{params[:name]}" do
25
+ command "/usr/sbin/a2enmod #{params[:name]}"
26
+ notifies :restart, resources(:service => "apache2")
27
+ not_if do File.symlink?("#{node[:apache][:dir]}/mods-enabled/#{params[:name]}.load") end
28
+ end
29
+ else
30
+ execute "a2dismod #{params[:name]}" do
31
+ command "/usr/sbin/a2dismod #{params[:name]}"
32
+ notifies :restart, resources(:service => "apache2")
33
+ only_if do File.symlink?("#{node[:apache][:dir]}/mods-enabled/#{params[:name]}.load") end
34
+ end
35
+ end
36
+ end