poolparty 0.2.84 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (642) hide show
  1. data/History.txt +7 -0
  2. data/License.txt +1 -1
  3. data/PostInstall.txt +1 -1
  4. data/README.txt +13 -22
  5. data/Rakefile +26 -35
  6. data/VERSION.yml +4 -0
  7. data/bin/cloud +24 -3
  8. data/bin/cloud-bootstrap +31 -0
  9. data/bin/cloud-configure +36 -20
  10. data/bin/{pool-console → cloud-console} +0 -0
  11. data/bin/cloud-contract +7 -7
  12. data/bin/cloud-describe +28 -0
  13. data/bin/cloud-expand +13 -6
  14. data/bin/cloud-handle-load +3 -3
  15. data/bin/cloud-list +9 -14
  16. data/bin/cloud-osxcopy +6 -5
  17. data/bin/cloud-provision +17 -22
  18. data/bin/cloud-setup-dev +11 -11
  19. data/bin/cloud-show +28 -0
  20. data/bin/cloud-spec +2 -2
  21. data/bin/cloud-ssh +10 -3
  22. data/bin/cloud-start +21 -23
  23. data/bin/cloud-terminate +15 -7
  24. data/bin/cloud-verify +32 -0
  25. data/bin/install-poolparty +216 -0
  26. data/bin/server-butterfly +25 -0
  27. data/bin/server-cloud-elections +37 -0
  28. data/bin/server-ensure-provisioning +33 -0
  29. data/bin/server-get-load +9 -12
  30. data/bin/server-list-active +25 -12
  31. data/bin/server-manage-election +67 -0
  32. data/bin/server-monitor.ru +42 -0
  33. data/bin/server-query-agent +15 -0
  34. data/bin/server-rerun +1 -1
  35. data/bin/server-write-new-nodes +2 -2
  36. data/config/jeweler.rb +52 -0
  37. data/config/requirements.rb +1 -9
  38. data/examples/basic.rb +10 -10
  39. data/examples/deploy.rb +5 -0
  40. data/examples/fairchild.rb +28 -0
  41. data/examples/fairchild_chef.rb +19 -0
  42. data/examples/maize.rb +37 -0
  43. data/examples/paparazzi.conf.erb +21 -0
  44. data/generators/poolspec/poolspec_generator.rb +1 -9
  45. data/generators/poolspec/templates/pool_spec_template.erb +0 -1
  46. data/lib/poolparty/{aska/aska.rb → aska.rb} +19 -28
  47. data/lib/poolparty/base_packages/haproxy.rb +48 -31
  48. data/lib/poolparty/base_packages/heartbeat.rb +6 -62
  49. data/lib/poolparty/base_packages/poolparty.rb +5 -105
  50. data/lib/poolparty/base_packages/ruby.rb +4 -4
  51. data/lib/poolparty/base_packages/runit.rb +1 -1
  52. data/lib/poolparty/core/array.rb +21 -3
  53. data/lib/poolparty/core/hash.rb +45 -10
  54. data/lib/poolparty/core/kernel.rb +30 -8
  55. data/lib/poolparty/core/nil.rb +8 -0
  56. data/lib/poolparty/core/object.rb +34 -25
  57. data/lib/poolparty/core/ordered_hash.rb +99 -0
  58. data/lib/poolparty/core/string.rb +112 -15
  59. data/lib/poolparty/core/symbol.rb +10 -0
  60. data/lib/poolparty/dependencies.rb +49 -0
  61. data/lib/poolparty/dependency_resolver/chef_resolver.rb +237 -0
  62. data/lib/poolparty/dependency_resolver/dependency_resolver.rb +42 -0
  63. data/lib/poolparty/dependency_resolver/dependency_resolver_cloud_extensions.rb +29 -0
  64. data/lib/poolparty/{dependency_resolutions → dependency_resolver}/puppet.rb +34 -29
  65. data/lib/poolparty/dependency_resolver/puppet_resolver.rb +188 -0
  66. data/lib/poolparty/exceptions/MasterException.rb +2 -2
  67. data/lib/poolparty/exceptions/RemoteException.rb +1 -1
  68. data/lib/poolparty/exceptions/dependency_resolver_exception.rb +5 -0
  69. data/lib/poolparty/exceptions/package_exception.rb +7 -0
  70. data/lib/poolparty/extra/deployments.rb +7 -7
  71. data/lib/poolparty/helpers/binary.rb +26 -32
  72. data/lib/poolparty/helpers/console.rb +1 -1
  73. data/lib/poolparty/helpers/display.rb +1 -5
  74. data/lib/poolparty/helpers/hash_printer.rb +44 -0
  75. data/lib/poolparty/helpers/loading.rb +4 -0
  76. data/lib/poolparty/helpers/optioner.rb +39 -25
  77. data/lib/poolparty/lite.rb +30 -0
  78. data/lib/poolparty/modules/callbacks.rb +44 -0
  79. data/lib/poolparty/modules/cloud_dsl.rb +38 -8
  80. data/lib/poolparty/modules/cloud_resourcer.rb +67 -97
  81. data/lib/poolparty/modules/daemonizable.rb +141 -0
  82. data/lib/poolparty/modules/definable_resource.rb +8 -14
  83. data/lib/poolparty/modules/file_writer.rb +25 -17
  84. data/lib/poolparty/modules/pinger.rb +28 -0
  85. data/lib/poolparty/modules/pretty_printer.rb +1 -1
  86. data/lib/poolparty/modules/resourcing_dsl.rb +55 -40
  87. data/lib/poolparty/modules/searchable_paths.rb +91 -0
  88. data/lib/poolparty/modules/thread_pool.rb +107 -106
  89. data/lib/poolparty/modules/user_helpers.rb +20 -0
  90. data/lib/poolparty/monitors/base_monitor.rb +18 -75
  91. data/lib/poolparty/monitors/monitor_rack.rb +123 -0
  92. data/lib/poolparty/monitors/monitors/favicon_monitor.rb +12 -0
  93. data/lib/poolparty/monitors/monitors/load_monitor.rb +9 -0
  94. data/lib/poolparty/monitors/monitors/memory_monitor.rb +9 -9
  95. data/lib/poolparty/monitors/monitors/neighborhood_monitor.rb +77 -0
  96. data/lib/poolparty/monitors/monitors/stats_monitor.rb +187 -0
  97. data/lib/poolparty/monitors/monitors/time_monitor.rb +15 -0
  98. data/lib/poolparty/net/init.rb +10 -0
  99. data/lib/poolparty/net/remote_bases.rb +20 -0
  100. data/lib/poolparty/net/remote_instance.rb +26 -44
  101. data/lib/poolparty/net/remoter/cloud_control.rb +24 -0
  102. data/lib/poolparty/net/remoter/connections.rb +172 -0
  103. data/lib/poolparty/net/remoter/interactive.rb +45 -0
  104. data/lib/poolparty/net/remoter_base.rb +116 -111
  105. data/lib/poolparty/net/remoter_bases/ec2/ec2.rb +245 -0
  106. data/lib/poolparty/net/remoter_bases/ec2/ec2_remote_instance.rb +53 -0
  107. data/lib/poolparty/net/{remote_bases → remoter_bases}/ec2/ec2_response_object.rb +2 -4
  108. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vm_disk.rb +12 -0
  109. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx.rb +33 -0
  110. data/lib/poolparty/net/remoter_bases/vmrun/utilities/vmx_file.rb +117 -0
  111. data/lib/poolparty/net/remoter_bases/vmrun/vmrun.rb +158 -0
  112. data/lib/poolparty/net/remoter_bases/vmrun/vmrun_instance.rb +71 -0
  113. data/lib/poolparty/plugins/apache2/apache.rb +340 -0
  114. data/lib/poolparty/plugins/bind.rb +11 -0
  115. data/lib/poolparty/plugins/chef.rb +173 -0
  116. data/lib/poolparty/plugins/chef_deploy.rb +58 -0
  117. data/lib/poolparty/plugins/deploy_directory.rb +49 -0
  118. data/lib/poolparty/plugins/gem_package.rb +61 -0
  119. data/lib/poolparty/plugins/git.rb +41 -24
  120. data/lib/poolparty/plugins/line_in_file.rb +30 -0
  121. data/lib/poolparty/plugins/nanite.rb +41 -0
  122. data/lib/poolparty/plugins/rails_deploy.rb +76 -0
  123. data/lib/poolparty/plugins/svn.rb +56 -39
  124. data/lib/poolparty/poolparty/cloud.rb +137 -167
  125. data/lib/poolparty/poolparty/{base.rb → default.rb} +62 -25
  126. data/lib/poolparty/poolparty/key.rb +78 -0
  127. data/lib/poolparty/poolparty/loggable.rb +28 -27
  128. data/lib/poolparty/poolparty/neighborhoods.rb +102 -0
  129. data/lib/poolparty/poolparty/plugin.rb +53 -18
  130. data/lib/poolparty/poolparty/plugin_model.rb +20 -23
  131. data/lib/poolparty/poolparty/pool.rb +34 -26
  132. data/lib/poolparty/poolparty/poolparty_base_class.rb +190 -0
  133. data/lib/poolparty/poolparty/resource.rb +92 -178
  134. data/lib/poolparty/poolparty/script.rb +32 -20
  135. data/lib/poolparty/poolparty/service.rb +44 -0
  136. data/lib/poolparty/poolparty/template.rb +27 -0
  137. data/lib/poolparty/provision/boot_strapper.rb +164 -0
  138. data/lib/poolparty/provision/configurations/chef.rb +26 -0
  139. data/lib/poolparty/provision/configurations/puppet.rb +28 -0
  140. data/lib/poolparty/provision/dr_configure.rb +142 -0
  141. data/lib/poolparty/resources/cron.rb +51 -0
  142. data/lib/poolparty/resources/directory.rb +36 -0
  143. data/lib/poolparty/resources/exec.rb +47 -0
  144. data/lib/poolparty/resources/file.rb +73 -0
  145. data/lib/poolparty/resources/host.rb +37 -0
  146. data/lib/poolparty/resources/mount.rb +45 -0
  147. data/lib/poolparty/resources/package.rb +41 -0
  148. data/lib/poolparty/resources/remote_file.rb +52 -0
  149. data/lib/poolparty/resources/service.rb +41 -0
  150. data/lib/poolparty/resources/sshkey.rb +49 -0
  151. data/lib/poolparty/resources/symlink.rb +43 -0
  152. data/lib/poolparty/{poolparty/resources/remote_user.rb → resources/user.rb} +1 -5
  153. data/lib/poolparty/resources/variable.rb +34 -0
  154. data/lib/poolparty/resources.rb +42 -0
  155. data/lib/poolparty/schema.rb +79 -0
  156. data/lib/poolparty/templates/apache2/apache2.conf +14 -0
  157. data/lib/poolparty/templates/apache2/base.conf.erb +168 -0
  158. data/lib/poolparty/templates/apache2/browser_fixes.conf.erb +26 -0
  159. data/lib/poolparty/templates/apache2/debian.conf.erb +675 -0
  160. data/lib/poolparty/templates/apache2/default-site.conf.erb +41 -0
  161. data/lib/poolparty/templates/apache2/directory_indexes.conf.erb +101 -0
  162. data/lib/poolparty/templates/apache2/logging-syslog.conf.erb +42 -0
  163. data/lib/poolparty/templates/apache2/mime-extras.conf.erb +211 -0
  164. data/lib/poolparty/templates/apache2/mime-minimal.conf.erb +15 -0
  165. data/lib/poolparty/templates/apache2/mpm-worker.conf.erb +20 -0
  166. data/lib/poolparty/templates/apache2/mpm-worker.erb +20 -0
  167. data/lib/poolparty/templates/apache2/passenger.conf.erb +20 -0
  168. data/lib/poolparty/templates/apache2/php.ini.erb +1253 -0
  169. data/lib/poolparty/templates/apache2/server-status.erb +19 -0
  170. data/lib/poolparty/templates/erlang_cookie_maker +6 -0
  171. data/lib/poolparty/templates/gemrc_template +11 -0
  172. data/lib/poolparty/templates/ha.cf +1 -1
  173. data/lib/poolparty/templates/haproxy.conf +29 -27
  174. data/lib/poolparty/templates/haresources +2 -2
  175. data/lib/poolparty/templates/monitor.ru +16 -0
  176. data/lib/poolparty/templates/php.ini.erb +1253 -0
  177. data/lib/poolparty/templates/puppet/add_puppet_to_hosts +6 -0
  178. data/lib/poolparty/templates/puppet/puppet.conf +2 -0
  179. data/lib/poolparty/templates/puppet/puppetrunner +14 -0
  180. data/lib/poolparty/templates/puppet/site.pp +4 -0
  181. data/lib/poolparty/templates/puppetrunner +11 -5
  182. data/lib/poolparty/verification/verifier_base.rb +17 -0
  183. data/lib/poolparty/verification/verifiers/http_match.rb +43 -0
  184. data/lib/poolparty/verification/verifiers/http_status.rb +59 -0
  185. data/lib/poolparty/verification/verifiers/ping.rb +34 -0
  186. data/lib/poolparty/verification/verify.rb +76 -0
  187. data/lib/poolparty.rb +76 -22
  188. data/lib/poolpartycl.rb +66 -1
  189. data/script/destroy +1 -1
  190. data/script/generate +1 -1
  191. data/spec/bin/bin_spec_helper.rb +7 -0
  192. data/spec/bin/fixtures/bin_cloud_for_test.rb +13 -0
  193. data/spec/bin/server-list-active_spec.rb +24 -0
  194. data/spec/poolparty/aska/aska_spec.rb +5 -5
  195. data/spec/poolparty/base_packages/haproxy_spec.rb +2 -8
  196. data/spec/poolparty/base_packages/heartbeat_spec.rb +3 -26
  197. data/spec/poolparty/bin/console_spec.rb +11 -29
  198. data/spec/poolparty/core/array_spec.rb +20 -3
  199. data/spec/poolparty/core/hash_spec.rb +30 -28
  200. data/spec/poolparty/core/object_spec.rb +2 -3
  201. data/spec/poolparty/core/ordered_hash_spec.rb +48 -0
  202. data/spec/poolparty/core/string_spec.rb +1 -27
  203. data/spec/poolparty/dependencies_spec.rb +11 -0
  204. data/spec/poolparty/dependency_resolver/chef_resolver_spec.rb +107 -0
  205. data/spec/poolparty/dependency_resolver/dependency_resolver_cloud_extensions_spec.rb +122 -0
  206. data/spec/poolparty/dependency_resolver/dependency_resolver_spec.rb +16 -0
  207. data/spec/poolparty/dependency_resolver/puppet_resolver_spec.rb +121 -0
  208. data/spec/poolparty/extra/deployments_spec.rb +9 -5
  209. data/spec/poolparty/fixtures/clouds.json +128 -0
  210. data/spec/poolparty/fixtures/test_template.erb +1 -0
  211. data/spec/poolparty/helpers/binary_spec.rb +1 -1
  212. data/spec/poolparty/helpers/hash_printer_spec.rb +34 -0
  213. data/spec/poolparty/helpers/optioner_spec.rb +1 -1
  214. data/spec/poolparty/id_rsa +27 -0
  215. data/spec/poolparty/modules/cloud_resourcer_spec.rb +26 -111
  216. data/spec/poolparty/modules/definable_resource.rb +1 -1
  217. data/spec/poolparty/modules/file_writer_spec.rb +10 -4
  218. data/spec/poolparty/modules/searchable_paths_spec.rb +76 -0
  219. data/spec/poolparty/monitors/base_monitor_spec.rb +112 -111
  220. data/spec/poolparty/monitors/monitors/cpu_monitor_spec.rb +18 -16
  221. data/spec/poolparty/monitors/monitors/memory_monitor_spec.rb +48 -47
  222. data/spec/poolparty/net/remote_instance_spec.rb +9 -73
  223. data/spec/poolparty/net/remote_spec.rb +287 -310
  224. data/spec/poolparty/net/remoter_base_spec.rb +3 -56
  225. data/spec/poolparty/net/remoter_bases/ec2_mocks_and_stubs.rb +24 -0
  226. data/spec/poolparty/net/remoter_bases/ec2_remote_instance_spec.rb +114 -0
  227. data/spec/poolparty/net/{remote_bases → remoter_bases}/ec2_spec.rb +51 -53
  228. data/spec/poolparty/net/remoter_spec.rb +96 -86
  229. data/spec/poolparty/plugins/chef_spec.rb +7 -0
  230. data/spec/poolparty/plugins/deploydirectory_spec.rb +51 -52
  231. data/spec/poolparty/plugins/git_spec.rb +16 -20
  232. data/spec/poolparty/plugins/line_spec.rb +14 -8
  233. data/spec/poolparty/poolparty/cloud_spec.rb +85 -183
  234. data/spec/poolparty/poolparty/configurers/files/ruby_basic.rb +3 -4
  235. data/spec/poolparty/poolparty/configurers/ruby_spec.rb +7 -23
  236. data/spec/poolparty/poolparty/{base_spec.rb → default_spec.rb} +44 -41
  237. data/spec/poolparty/poolparty/example_spec.rb +43 -11
  238. data/spec/poolparty/poolparty/key_spec.rb +42 -0
  239. data/spec/poolparty/poolparty/neighborhoods_spec.rb +65 -0
  240. data/spec/poolparty/poolparty/plugin_model_spec.rb +14 -24
  241. data/spec/poolparty/poolparty/plugin_spec.rb +25 -96
  242. data/spec/poolparty/poolparty/pool_spec.rb +3 -1
  243. data/spec/poolparty/poolparty/resource_spec.rb +70 -270
  244. data/spec/poolparty/poolparty/script_spec.rb +30 -53
  245. data/spec/poolparty/poolparty/service_spec.rb +5 -0
  246. data/spec/poolparty/poolparty/template_spec.rb +26 -0
  247. data/spec/poolparty/poolparty/test_plugins/webserver.rb +8 -25
  248. data/spec/poolparty/poolparty_base_class_spec.rb +84 -0
  249. data/spec/poolparty/poolparty_spec.rb +7 -4
  250. data/spec/poolparty/resources/cron_spec.rb +44 -0
  251. data/spec/poolparty/resources/directory_spec.rb +40 -0
  252. data/spec/poolparty/resources/exec_spec.rb +37 -0
  253. data/spec/poolparty/resources/file_spec.rb +64 -0
  254. data/spec/poolparty/resources/gem_spec.rb +7 -0
  255. data/spec/poolparty/resources/host_spec.rb +35 -0
  256. data/spec/poolparty/resources/package_spec.rb +26 -0
  257. data/spec/poolparty/resources/service_spec.rb +29 -0
  258. data/spec/poolparty/resources/sshkey_spec.rb +40 -0
  259. data/spec/poolparty/resources/symlink_spec.rb +29 -0
  260. data/spec/poolparty/resources/user_spec.rb +48 -0
  261. data/spec/poolparty/resources/variable_spec.rb +26 -0
  262. data/spec/poolparty/schema_spec.rb +53 -0
  263. data/spec/poolparty/spec_helper.rb +107 -23
  264. data/spec/poolparty/test_spec_helper.rb +13 -0
  265. data/tasks/development.rake +85 -69
  266. data/tasks/poolparty.rake +54 -0
  267. data/tasks/server.rake +41 -39
  268. data/tasks/spec.rake +35 -1
  269. data/test/fixtures/test_template.erb +1 -0
  270. data/test/poolparty/core/array_test.rb +21 -0
  271. data/test/poolparty/core/hash_test.rb +34 -0
  272. data/test/poolparty/core/string_test.rb +29 -0
  273. data/test/poolparty/dependency_resolver/puppet_resolver_test.rb +90 -0
  274. data/test/poolparty/modules/callbacks_test.rb +40 -0
  275. data/test/poolparty/modules/cloud_dsl_test.rb +60 -0
  276. data/test/poolparty/net/remoter_bases/vmrun/vmrun_test.rb +54 -0
  277. data/test/poolparty/net/remoter_test.rb +14 -0
  278. data/test/poolparty/poolparty/neighborhood_test.rb +23 -0
  279. data/test/poolparty/poolparty/poolparty_base_class_test.rb +84 -0
  280. data/test/poolparty/poolparty/template_test.rb +31 -0
  281. data/test/poolparty/provision/boot_strapper_test.rb +6 -0
  282. data/test/poolparty/provision/dr_configure_test.rb +6 -0
  283. data/test/poolparty/verification/verify_test.rb +49 -0
  284. data/test/test_helper.rb +8 -2
  285. data/test/test_poolparty.rb +6 -5
  286. data/vendor/chef/apache2/README.rdoc +59 -0
  287. data/vendor/chef/apache2/attributes/apache.rb +72 -0
  288. data/vendor/chef/apache2/definitions/apache_module.rb +36 -0
  289. data/vendor/chef/apache2/definitions/apache_site.rb +36 -0
  290. data/vendor/chef/apache2/definitions/web_app.rb +45 -0
  291. data/vendor/chef/apache2/files/default/apache2_module_conf_generate.pl +41 -0
  292. data/vendor/chef/apache2/recipes/default.rb +132 -0
  293. data/vendor/chef/apache2/recipes/mod_alias.rb +20 -0
  294. data/vendor/chef/apache2/recipes/mod_auth_basic.rb +20 -0
  295. data/vendor/chef/apache2/recipes/mod_auth_digest.rb +20 -0
  296. data/vendor/chef/apache2/recipes/mod_authn_file.rb +20 -0
  297. data/vendor/chef/apache2/recipes/mod_authnz_ldap.rb +20 -0
  298. data/vendor/chef/apache2/recipes/mod_authz_default.rb +20 -0
  299. data/vendor/chef/apache2/recipes/mod_authz_groupfile.rb +20 -0
  300. data/vendor/chef/apache2/recipes/mod_authz_host.rb +20 -0
  301. data/vendor/chef/apache2/recipes/mod_authz_user.rb +20 -0
  302. data/vendor/chef/apache2/recipes/mod_autoindex.rb +20 -0
  303. data/vendor/chef/apache2/recipes/mod_cgi.rb +20 -0
  304. data/vendor/chef/apache2/recipes/mod_dav.rb +20 -0
  305. data/vendor/chef/apache2/recipes/mod_dav_svn.rb +20 -0
  306. data/vendor/chef/apache2/recipes/mod_deflate.rb +20 -0
  307. data/vendor/chef/apache2/recipes/mod_dir.rb +20 -0
  308. data/vendor/chef/apache2/recipes/mod_env.rb +20 -0
  309. data/vendor/chef/apache2/recipes/mod_expires.rb +20 -0
  310. data/vendor/chef/apache2/recipes/mod_fcgid.rb +35 -0
  311. data/vendor/chef/apache2/recipes/mod_headers.rb +20 -0
  312. data/vendor/chef/apache2/recipes/mod_ldap.rb +20 -0
  313. data/vendor/chef/apache2/recipes/mod_log_config.rb +20 -0
  314. data/vendor/chef/apache2/recipes/mod_mime.rb +20 -0
  315. data/vendor/chef/apache2/recipes/mod_negotiation.rb +20 -0
  316. data/vendor/chef/apache2/recipes/mod_php5.rb +27 -0
  317. data/vendor/chef/apache2/recipes/mod_proxy.rb +20 -0
  318. data/vendor/chef/apache2/recipes/mod_proxy_http.rb +20 -0
  319. data/vendor/chef/apache2/recipes/mod_python.rb +22 -0
  320. data/vendor/chef/apache2/recipes/mod_rewrite.rb +20 -0
  321. data/vendor/chef/apache2/recipes/mod_setenvif.rb +20 -0
  322. data/vendor/chef/apache2/recipes/mod_ssl.rb +20 -0
  323. data/vendor/chef/apache2/recipes/mod_status.rb +20 -0
  324. data/vendor/chef/apache2/templates/default/a2dismod.erb +22 -0
  325. data/vendor/chef/apache2/templates/default/a2dissite.erb +29 -0
  326. data/vendor/chef/apache2/templates/default/a2enmod.erb +37 -0
  327. data/vendor/chef/apache2/templates/default/a2ensite.erb +38 -0
  328. data/vendor/chef/apache2/templates/default/apache2.conf.erb +630 -0
  329. data/vendor/chef/apache2/templates/default/default-site.erb +45 -0
  330. data/vendor/chef/apache2/templates/default/port_apache.erb +2 -0
  331. data/vendor/chef/apache2/templates/default/ports.conf.erb +6 -0
  332. data/vendor/chef/apache2/templates/default/web_app.conf.erb +43 -0
  333. data/vendor/chef/chef-deploy/LICENSE +201 -0
  334. data/vendor/chef/chef-deploy/README.rdoc +24 -0
  335. data/vendor/chef/chef-deploy/Rakefile +57 -0
  336. data/vendor/chef/chef-deploy/TODO +4 -0
  337. data/vendor/chef/chef-deploy/lib/chef-deploy/cached_deploy.rb +230 -0
  338. data/vendor/chef/chef-deploy/lib/chef-deploy/git.rb +132 -0
  339. data/vendor/chef/chef-deploy/lib/chef-deploy/subversion.rb +98 -0
  340. data/vendor/chef/chef-deploy/lib/chef-deploy.rb +183 -0
  341. data/vendor/gems/butterfly/History.txt +4 -0
  342. data/vendor/gems/butterfly/PostInstall.txt +2 -0
  343. data/vendor/gems/butterfly/README.rdoc +48 -0
  344. data/vendor/gems/butterfly/Rakefile +62 -0
  345. data/vendor/gems/butterfly/VERSION.yml +4 -0
  346. data/vendor/gems/butterfly/bin/flutter +4 -0
  347. data/vendor/gems/butterfly/butterfly.gemspec +37 -0
  348. data/vendor/gems/butterfly/examples/config.ru +15 -0
  349. data/vendor/gems/butterfly/examples/my_app.rb +12 -0
  350. data/vendor/gems/butterfly/lib/butterfly.rb +14 -0
  351. data/vendor/gems/butterfly/lib/handler.rb +48 -0
  352. data/vendor/gems/butterfly/lib/request.rb +29 -0
  353. data/vendor/gems/butterfly/lib/response.rb +49 -0
  354. data/vendor/gems/butterfly/script/console +10 -0
  355. data/vendor/gems/butterfly/script/destroy +14 -0
  356. data/vendor/gems/butterfly/script/generate +14 -0
  357. data/vendor/gems/butterfly/test/test_adapter_base.rb +23 -0
  358. data/vendor/gems/butterfly/test/test_butterfly_request.rb +46 -0
  359. data/vendor/gems/butterfly/test/test_butterfly_response.rb +43 -0
  360. data/vendor/gems/butterfly/test/test_butterfly_server.rb +16 -0
  361. data/vendor/gems/butterfly/test/test_default.rb +12 -0
  362. data/vendor/gems/butterfly/test/test_helper.rb +6 -0
  363. data/vendor/gems/dslify/History.txt +4 -0
  364. data/vendor/gems/dslify/Manifest.txt +25 -0
  365. data/vendor/gems/dslify/PostInstall.txt +5 -0
  366. data/vendor/gems/dslify/README.txt +60 -0
  367. data/vendor/gems/dslify/Rakefile +56 -0
  368. data/{config → vendor/gems/dslify/config}/hoe.rb +12 -55
  369. data/vendor/gems/dslify/config/requirements.rb +15 -0
  370. data/vendor/gems/dslify/dslify.gemspec +40 -0
  371. data/vendor/gems/dslify/lib/dslify/dslify.rb +76 -0
  372. data/vendor/gems/dslify/lib/dslify/version.rb +10 -0
  373. data/vendor/gems/dslify/lib/dslify.rb +7 -0
  374. data/vendor/gems/dslify/script/console +10 -0
  375. data/vendor/gems/dslify/script/destroy +14 -0
  376. data/vendor/gems/dslify/script/generate +14 -0
  377. data/{script → vendor/gems/dslify/script}/txt2html +4 -4
  378. data/{setup.rb → vendor/gems/dslify/setup.rb} +3 -3
  379. data/{tasks → vendor/gems/dslify/tasks}/deployment.rake +4 -18
  380. data/vendor/gems/dslify/tasks/environment.rake +7 -0
  381. data/{tasks → vendor/gems/dslify/tasks}/website.rake +0 -0
  382. data/vendor/gems/dslify/test/test_dslify.rb +138 -0
  383. data/vendor/gems/dslify/website/index.html +86 -0
  384. data/vendor/gems/dslify/website/index.txt +83 -0
  385. data/{website → vendor/gems/dslify/website}/javascripts/rounded_corners_lite.inc.js +0 -0
  386. data/{website → vendor/gems/dslify/website}/stylesheets/screen.css +18 -27
  387. data/{website → vendor/gems/dslify/website}/template.html.erb +1 -2
  388. data/vendor/gems/parenting/History.txt +4 -0
  389. data/vendor/gems/parenting/Manifest.txt +14 -0
  390. data/vendor/gems/parenting/PostInstall.txt +2 -0
  391. data/vendor/gems/parenting/README.rdoc +47 -0
  392. data/vendor/gems/parenting/Rakefile +28 -0
  393. data/vendor/gems/parenting/lib/parenting/parenting.rb +61 -0
  394. data/vendor/gems/parenting/lib/parenting.rb +10 -0
  395. data/vendor/gems/parenting/parenting.gemspec +39 -0
  396. data/vendor/gems/parenting/script/console +10 -0
  397. data/vendor/gems/parenting/script/destroy +14 -0
  398. data/vendor/gems/parenting/script/generate +14 -0
  399. data/vendor/gems/parenting/test/file_to_eval.rb +9 -0
  400. data/vendor/gems/parenting/test/test_helper.rb +5 -0
  401. data/vendor/gems/parenting/test/test_parenting.rb +117 -0
  402. data/vendor/gems/suitcase/LICENSE +20 -0
  403. data/vendor/gems/suitcase/README.rdoc +31 -0
  404. data/vendor/gems/suitcase/Rakefile +57 -0
  405. data/vendor/gems/suitcase/VERSION.yml +4 -0
  406. data/vendor/gems/suitcase/lib/suitcase/unzipper.rb +15 -0
  407. data/vendor/gems/suitcase/lib/suitcase/zipper.rb +119 -0
  408. data/vendor/gems/suitcase/lib/suitcase.rb +5 -0
  409. data/vendor/gems/suitcase/suitcase.gemspec +32 -0
  410. data/vendor/gems/suitcase/test/suitcase_test.rb +102 -0
  411. data/vendor/gems/suitcase/test/test_dir/box.rb +1 -0
  412. data/vendor/gems/suitcase/test/test_dir/test.txt +1 -0
  413. data/vendor/gems/suitcase/test/test_helper.rb +12 -0
  414. metadata +370 -343
  415. data/Capfile +0 -1
  416. data/Manifest.txt +0 -414
  417. data/bin/cloud-add-keypair +0 -28
  418. data/bin/cloud-ensure-provisioning +0 -39
  419. data/bin/cloud-maintain +0 -30
  420. data/bin/cloud-refresh +0 -17
  421. data/bin/cloud-run +0 -18
  422. data/bin/cloud-stats +0 -17
  423. data/bin/messenger-get-current-nodes +0 -14
  424. data/bin/pool +0 -31
  425. data/bin/pool-describe +0 -8
  426. data/bin/pool-generate +0 -18
  427. data/bin/pool-init +0 -28
  428. data/bin/pool-list +0 -30
  429. data/bin/pool-start +0 -26
  430. data/bin/server-build-messenger +0 -27
  431. data/bin/server-clean-cert-for +0 -15
  432. data/bin/server-list-responding +0 -24
  433. data/bin/server-start-client +0 -29
  434. data/bin/server-start-master +0 -26
  435. data/bin/server-start-node +0 -32
  436. data/bin/server-stop-client +0 -3
  437. data/bin/server-stop-master +0 -3
  438. data/bin/server-stop-node +0 -3
  439. data/bin/server-update-hosts +0 -49
  440. data/lib/erlang/messenger/Emakefile +0 -1
  441. data/lib/erlang/messenger/Makefile +0 -15
  442. data/lib/erlang/messenger/README +0 -5
  443. data/lib/erlang/messenger/Rakefile +0 -72
  444. data/lib/erlang/messenger/control +0 -11
  445. data/lib/erlang/messenger/ebin/client.app +0 -19
  446. data/lib/erlang/messenger/ebin/client_app.beam +0 -0
  447. data/lib/erlang/messenger/ebin/client_server.beam +0 -0
  448. data/lib/erlang/messenger/ebin/erl_crash.dump +0 -10326
  449. data/lib/erlang/messenger/ebin/master.app +0 -19
  450. data/lib/erlang/messenger/ebin/master_app.beam +0 -0
  451. data/lib/erlang/messenger/ebin/node.app +0 -19
  452. data/lib/erlang/messenger/ebin/node_app.beam +0 -0
  453. data/lib/erlang/messenger/ebin/packager.app +0 -19
  454. data/lib/erlang/messenger/ebin/pm_client.beam +0 -0
  455. data/lib/erlang/messenger/ebin/pm_client_old.beam +0 -0
  456. data/lib/erlang/messenger/ebin/pm_client_rel-0.1.rel +0 -1
  457. data/lib/erlang/messenger/ebin/pm_client_supervisor.beam +0 -0
  458. data/lib/erlang/messenger/ebin/pm_cluster.beam +0 -0
  459. data/lib/erlang/messenger/ebin/pm_event_manager.beam +0 -0
  460. data/lib/erlang/messenger/ebin/pm_master.beam +0 -0
  461. data/lib/erlang/messenger/ebin/pm_master_event_handler.beam +0 -0
  462. data/lib/erlang/messenger/ebin/pm_master_rel-0.1.rel +0 -1
  463. data/lib/erlang/messenger/ebin/pm_master_supervisor.beam +0 -0
  464. data/lib/erlang/messenger/ebin/pm_node.beam +0 -0
  465. data/lib/erlang/messenger/ebin/pm_node_rel-0.1.rel +0 -1
  466. data/lib/erlang/messenger/ebin/pm_node_supervisor.beam +0 -0
  467. data/lib/erlang/messenger/ebin/pm_packager.beam +0 -0
  468. data/lib/erlang/messenger/ebin/pm_spawner.beam +0 -0
  469. data/lib/erlang/messenger/ebin/pm_strings.beam +0 -0
  470. data/lib/erlang/messenger/ebin/utils.beam +0 -0
  471. data/lib/erlang/messenger/include/defines.hrl +0 -27
  472. data/lib/erlang/messenger/lib/eunit/AUTHORS +0 -2
  473. data/lib/erlang/messenger/lib/eunit/CHANGELOG +0 -14
  474. data/lib/erlang/messenger/lib/eunit/COPYING +0 -504
  475. data/lib/erlang/messenger/lib/eunit/Makefile +0 -28
  476. data/lib/erlang/messenger/lib/eunit/NOTES +0 -276
  477. data/lib/erlang/messenger/lib/eunit/README +0 -3
  478. data/lib/erlang/messenger/lib/eunit/doc/edoc-info +0 -3
  479. data/lib/erlang/messenger/lib/eunit/doc/erlang.png +0 -0
  480. data/lib/erlang/messenger/lib/eunit/doc/eunit.html +0 -172
  481. data/lib/erlang/messenger/lib/eunit/doc/index.html +0 -17
  482. data/lib/erlang/messenger/lib/eunit/doc/modules-frame.html +0 -12
  483. data/lib/erlang/messenger/lib/eunit/doc/overview-summary.html +0 -984
  484. data/lib/erlang/messenger/lib/eunit/doc/overview.edoc +0 -980
  485. data/lib/erlang/messenger/lib/eunit/doc/packages-frame.html +0 -11
  486. data/lib/erlang/messenger/lib/eunit/doc/stylesheet.css +0 -55
  487. data/lib/erlang/messenger/lib/eunit/ebin/autoload.beam +0 -0
  488. data/lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam +0 -0
  489. data/lib/erlang/messenger/lib/eunit/ebin/eunit.app +0 -21
  490. data/lib/erlang/messenger/lib/eunit/ebin/eunit.appup +0 -1
  491. data/lib/erlang/messenger/lib/eunit/ebin/eunit.beam +0 -0
  492. data/lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam +0 -0
  493. data/lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam +0 -0
  494. data/lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam +0 -0
  495. data/lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam +0 -0
  496. data/lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam +0 -0
  497. data/lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam +0 -0
  498. data/lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam +0 -0
  499. data/lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam +0 -0
  500. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam +0 -0
  501. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam +0 -0
  502. data/lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam +0 -0
  503. data/lib/erlang/messenger/lib/eunit/examples/eunit_examples.erl +0 -339
  504. data/lib/erlang/messenger/lib/eunit/examples/fib.erl +0 -19
  505. data/lib/erlang/messenger/lib/eunit/examples/tests.txt +0 -1
  506. data/lib/erlang/messenger/lib/eunit/include/eunit.hrl +0 -313
  507. data/lib/erlang/messenger/lib/eunit/src/Makefile +0 -46
  508. data/lib/erlang/messenger/lib/eunit/src/autoload.erl +0 -388
  509. data/lib/erlang/messenger/lib/eunit/src/code_monitor.erl +0 -243
  510. data/lib/erlang/messenger/lib/eunit/src/eunit.app.src +0 -21
  511. data/lib/erlang/messenger/lib/eunit/src/eunit.appup.src +0 -1
  512. data/lib/erlang/messenger/lib/eunit/src/eunit.erl +0 -196
  513. data/lib/erlang/messenger/lib/eunit/src/eunit_autoexport.erl +0 -102
  514. data/lib/erlang/messenger/lib/eunit/src/eunit_data.erl +0 -798
  515. data/lib/erlang/messenger/lib/eunit/src/eunit_internal.hrl +0 -48
  516. data/lib/erlang/messenger/lib/eunit/src/eunit_lib.erl +0 -682
  517. data/lib/erlang/messenger/lib/eunit/src/eunit_proc.erl +0 -552
  518. data/lib/erlang/messenger/lib/eunit/src/eunit_serial.erl +0 -157
  519. data/lib/erlang/messenger/lib/eunit/src/eunit_server.erl +0 -340
  520. data/lib/erlang/messenger/lib/eunit/src/eunit_striptests.erl +0 -64
  521. data/lib/erlang/messenger/lib/eunit/src/eunit_test.erl +0 -334
  522. data/lib/erlang/messenger/lib/eunit/src/eunit_tests.erl +0 -45
  523. data/lib/erlang/messenger/lib/eunit/src/eunit_tty.erl +0 -272
  524. data/lib/erlang/messenger/lib/eunit/src/file_monitor.erl +0 -409
  525. data/lib/erlang/messenger/lib/eunit/sys.config +0 -9
  526. data/lib/erlang/messenger/lib/eunit/vsn.mk +0 -1
  527. data/lib/erlang/messenger/pm_client_rel-0.1.boot +0 -0
  528. data/lib/erlang/messenger/pm_client_rel-0.1.script +0 -238
  529. data/lib/erlang/messenger/pm_master_rel-0.1.boot +0 -0
  530. data/lib/erlang/messenger/pm_master_rel-0.1.script +0 -239
  531. data/lib/erlang/messenger/pm_node_rel-0.1.boot +0 -0
  532. data/lib/erlang/messenger/pm_node_rel-0.1.script +0 -237
  533. data/lib/erlang/messenger/src/client_app.erl +0 -39
  534. data/lib/erlang/messenger/src/client_server.erl +0 -60
  535. data/lib/erlang/messenger/src/master_app.erl +0 -39
  536. data/lib/erlang/messenger/src/node_app.erl +0 -39
  537. data/lib/erlang/messenger/src/pm_client.erl +0 -49
  538. data/lib/erlang/messenger/src/pm_client_supervisor.erl +0 -38
  539. data/lib/erlang/messenger/src/pm_cluster.erl +0 -61
  540. data/lib/erlang/messenger/src/pm_event_manager.erl +0 -27
  541. data/lib/erlang/messenger/src/pm_master.erl +0 -215
  542. data/lib/erlang/messenger/src/pm_master_event_handler.erl +0 -72
  543. data/lib/erlang/messenger/src/pm_master_supervisor.erl +0 -39
  544. data/lib/erlang/messenger/src/pm_node.erl +0 -200
  545. data/lib/erlang/messenger/src/pm_node_supervisor.erl +0 -38
  546. data/lib/erlang/messenger/src/pm_packager.erl +0 -76
  547. data/lib/erlang/messenger/src/pm_spawner.erl +0 -213
  548. data/lib/erlang/messenger/src/pm_strings.erl +0 -11
  549. data/lib/erlang/messenger/src/utils.erl +0 -73
  550. data/lib/erlang/messenger/useful_snippets +0 -17
  551. data/lib/poolparty/capistrano.rb +0 -18
  552. data/lib/poolparty/config/postlaunchmessage.txt +0 -5
  553. data/lib/poolparty/dependency_resolutions/base.rb +0 -12
  554. data/lib/poolparty/modules/configurable.rb +0 -36
  555. data/lib/poolparty/modules/method_missing_sugar.rb +0 -58
  556. data/lib/poolparty/monitors/monitors/cpu_monitor.rb +0 -15
  557. data/lib/poolparty/monitors/monitors/web_monitor.rb +0 -18
  558. data/lib/poolparty/net/messenger.rb +0 -72
  559. data/lib/poolparty/net/remote.rb +0 -38
  560. data/lib/poolparty/net/remote_bases/ec2.rb +0 -190
  561. data/lib/poolparty/net/remoter.rb +0 -343
  562. data/lib/poolparty/plugins/deploydirectory.rb +0 -71
  563. data/lib/poolparty/plugins/line.rb +0 -77
  564. data/lib/poolparty/plugins/rsyncmirror.rb +0 -26
  565. data/lib/poolparty/poolparty/custom_resource.rb +0 -45
  566. data/lib/poolparty/poolparty/resources/class_package.rb +0 -105
  567. data/lib/poolparty/poolparty/resources/conditional.rb +0 -67
  568. data/lib/poolparty/poolparty/resources/cron.rb +0 -14
  569. data/lib/poolparty/poolparty/resources/custom_service.rb +0 -30
  570. data/lib/poolparty/poolparty/resources/directory.rb +0 -26
  571. data/lib/poolparty/poolparty/resources/exec.rb +0 -28
  572. data/lib/poolparty/poolparty/resources/file.rb +0 -23
  573. data/lib/poolparty/poolparty/resources/gem_package.rb +0 -52
  574. data/lib/poolparty/poolparty/resources/host.rb +0 -14
  575. data/lib/poolparty/poolparty/resources/mount.rb +0 -22
  576. data/lib/poolparty/poolparty/resources/package.rb +0 -24
  577. data/lib/poolparty/poolparty/resources/remote_file.rb +0 -26
  578. data/lib/poolparty/poolparty/resources/service.rb +0 -21
  579. data/lib/poolparty/poolparty/resources/sshkey.rb +0 -23
  580. data/lib/poolparty/poolparty/resources/symlink.rb +0 -25
  581. data/lib/poolparty/poolparty/resources/variable.rb +0 -32
  582. data/lib/poolparty/provisioners/capistrano/capistrano.rb +0 -127
  583. data/lib/poolparty/provisioners/capistrano/capistrano_configurer.rb +0 -58
  584. data/lib/poolparty/provisioners/capistrano/recipies/base.rb +0 -104
  585. data/lib/poolparty/provisioners/capistrano/recipies/master.rb +0 -121
  586. data/lib/poolparty/provisioners/capistrano/recipies/slave.rb +0 -12
  587. data/lib/poolparty/provisioners/provisioner_base.rb +0 -204
  588. data/lib/poolparty/spec/core/string.rb +0 -16
  589. data/lib/poolparty/spec/matchers/a_spec_extensions_base.rb +0 -26
  590. data/lib/poolparty/spec/matchers/have_cron.rb +0 -28
  591. data/lib/poolparty/spec/matchers/have_deploydirectory.rb +0 -15
  592. data/lib/poolparty/spec/matchers/have_directory.rb +0 -31
  593. data/lib/poolparty/spec/matchers/have_exec.rb +0 -28
  594. data/lib/poolparty/spec/matchers/have_file.rb +0 -28
  595. data/lib/poolparty/spec/matchers/have_gempackage.rb +0 -28
  596. data/lib/poolparty/spec/matchers/have_git.rb +0 -28
  597. data/lib/poolparty/spec/matchers/have_host.rb +0 -28
  598. data/lib/poolparty/spec/matchers/have_mount.rb +0 -28
  599. data/lib/poolparty/spec/matchers/have_package.rb +0 -28
  600. data/lib/poolparty/spec/matchers/have_remotefile.rb +0 -28
  601. data/lib/poolparty/spec/matchers/have_rsyncmirror.rb +0 -28
  602. data/lib/poolparty/spec/matchers/have_service.rb +0 -28
  603. data/lib/poolparty/spec/matchers/have_sshkey.rb +0 -28
  604. data/lib/poolparty/spec/matchers/have_symlink.rb +0 -28
  605. data/lib/poolparty/spec/matchers/have_variable.rb +0 -32
  606. data/lib/poolparty/spec/spec/dynamic_matchers.rb +0 -63
  607. data/lib/poolparty/spec/spec/ensure_matchers_exist.rb +0 -7
  608. data/lib/poolparty/spec/templates/have_base.rb +0 -28
  609. data/lib/poolparty/templates/puppet.conf +0 -26
  610. data/lib/poolparty/templates/puppetcleaner +0 -12
  611. data/lib/poolparty/templates/puppetrerun +0 -22
  612. data/lib/poolparty/version.rb +0 -9
  613. data/lib/poolpartyspec.rb +0 -34
  614. data/log/pool.log +0 -0
  615. data/poolparty.gemspec +0 -580
  616. data/spec/poolparty/dependency_resolutions/base_spec.rb +0 -11
  617. data/spec/poolparty/modules/configurable_spec.rb +0 -29
  618. data/spec/poolparty/net/log/pool.log +0 -0
  619. data/spec/poolparty/net/messenger_spec.rb +0 -16
  620. data/spec/poolparty/plugins/svn_spec.rb +0 -16
  621. data/spec/poolparty/poolparty/custom_resource_spec.rb +0 -120
  622. data/spec/poolparty/poolparty/resources/class_package_spec.rb +0 -120
  623. data/spec/poolparty/poolparty/resources/conditional_spec.rb +0 -77
  624. data/spec/poolparty/poolparty/resources/cron_spec.rb +0 -50
  625. data/spec/poolparty/poolparty/resources/directory_spec.rb +0 -40
  626. data/spec/poolparty/poolparty/resources/exec_spec.rb +0 -37
  627. data/spec/poolparty/poolparty/resources/file_spec.rb +0 -40
  628. data/spec/poolparty/poolparty/resources/gem_spec.rb +0 -46
  629. data/spec/poolparty/poolparty/resources/host_spec.rb +0 -28
  630. data/spec/poolparty/poolparty/resources/package_spec.rb +0 -44
  631. data/spec/poolparty/poolparty/resources/remote_file_spec.rb +0 -40
  632. data/spec/poolparty/poolparty/resources/service_spec.rb +0 -45
  633. data/spec/poolparty/poolparty/resources/sshkey_spec.rb +0 -48
  634. data/spec/poolparty/poolparty/resources/symlink_spec.rb +0 -22
  635. data/spec/poolparty/poolparty/resources/user_spec.rb +0 -38
  636. data/spec/poolparty/poolparty/resources/variable_spec.rb +0 -24
  637. data/spec/poolparty/provisioners/capistrano/capistrano_spec.rb +0 -27
  638. data/spec/poolparty/provisioners/provisioner_base_spec.rb +0 -120
  639. data/spec/poolparty/spec/core/string_spec.rb +0 -57
  640. data/website/index.html +0 -107
  641. data/website/index.txt +0 -95
  642. data/website/stylesheets/code.css +0 -29
@@ -1,310 +1,287 @@
1
- require File.dirname(__FILE__) + '/../spec_helper'
2
- require "ftools"
3
-
4
- module Hype
5
- def hyper
6
- "beatnick"
7
- end
8
- def instances_list
9
- []
10
- end
11
- register_remote_base :Hype
12
- end
13
-
14
- describe "Remote" do
15
- before(:each) do
16
- @cloud = cloud :test_cloud do;end
17
-
18
- @tc = TestClass.new
19
- @tc.stub!(:verbose).and_return false
20
- setup
21
- end
22
- it "should have the method 'using'" do
23
- @tc.respond_to?(:using).should == true
24
- end
25
- it "should include the module with using" do
26
- @tc.instance_eval do
27
- @remote_base = nil
28
- end
29
- @tc.should_receive(:extend).with("Hype".preserved_module_constant).once
30
- @tc.using :hype
31
- end
32
- it "should keep a list of the remote_bases" do
33
- @tc.stub!(:remote_bases).and_return [:ec2, :hype]
34
- @tc.available_bases.should == [:ec2, :hype]
35
- end
36
- it "should be able to register a new base" do
37
- @tc.remote_bases.should_receive(:<<).with(:hockey).and_return true
38
- @tc.register_remote_base("Hockey")
39
- end
40
- it "should not extend the module if the remote base isn't found" do
41
- @tc.should_not_receive(:extend)
42
- hide_output do
43
- @tc.using :paper
44
- end
45
- end
46
- describe "when including" do
47
- it "should be able to say if it is using a remote base with using_remoter?" do
48
- @tc.using :hype
49
- @tc.using_remoter?.should_not == nil
50
- end
51
- it "should ask if it is using_remoter? when calling using" do
52
- @tc.should_receive(:using_remoter?).once
53
- @tc.using :hype
54
- end
55
- it "should only include the remote class once" do
56
- @tc.instance_eval do
57
- @remote_base = nil
58
- end
59
- @tc.should_receive(:extend).with(Hype).once
60
- @tc.using :hype
61
- @tc.using :hype
62
- @tc.using :hype
63
- end
64
- end
65
- describe "after using" do
66
- before(:each) do
67
- @tc = TestClass.new
68
- stub_list_from_remote_for(@tc, false)
69
- @tc.using :hype
70
- end
71
- it "should now have the methods available from the module" do
72
- @tc.respond_to?(:hyper).should == true
73
- end
74
- it "should raise an exception because the launch_new_instance! is not defined" do
75
- lambda {
76
- @tc.launch_new_instance!
77
- }.should raise_error
78
- end
79
- it "should not raise an exception because instances_list is defined" do
80
- lambda {
81
- @tc.remote_instances_list
82
- }.should_not raise_error
83
- end
84
- it "should run hyper" do
85
- @tc.hyper.should == "beatnick"
86
- end
87
- end
88
- describe "methods" do
89
- before(:each) do
90
- @tc = TestClass.new
91
- @tc.using :ec2
92
-
93
- @tc.reset!
94
- @tc.stub!(:minimum_instances).and_return 3
95
- @tc.stub!(:maximum_instances).and_return 5
96
-
97
- stub_list_from_remote_for(@tc)
98
- stub_list_of_instances_for(@tc)
99
- end
100
- describe "minimum_number_of_instances_are_running?" do
101
- it "should be false if there aren't" do
102
- @tc.minimum_number_of_instances_are_running?.should == false
103
- end
104
- it "should be true if there are" do
105
- add_stub_instance_to(@tc, 8)
106
- add_stub_instance_to(@tc, 9)
107
- add_stub_instance_to(@tc, 10)
108
- @tc.minimum_number_of_instances_are_running?.should == true
109
- end
110
- end
111
- describe "can_shutdown_an_instance?" do
112
- it "should say false because minimum instances are not running" do
113
- @tc.can_shutdown_an_instance?.should == false
114
- end
115
- it "should say we false if only the minimum instances are running" do
116
- add_stub_instance_to(@tc, 8)
117
- @tc.can_shutdown_an_instance?.should == false
118
- end
119
- it "should say true because the minimum instances + 1 are running" do
120
- add_stub_instance_to(@tc, 8)
121
- add_stub_instance_to(@tc, 9)
122
- @tc.can_shutdown_an_instance?.should == true
123
- end
124
- end
125
- describe "request_launch_new_instances" do
126
- it "should requiest to launch a new instance 3 times" do
127
- @tc.should_receive(:launch_new_instance!).exactly(3).and_return "launched"
128
- @tc.request_launch_new_instances(3)
129
- end
130
- it "should return a list of hashes" do
131
- @tc.should_receive(:launch_new_instance!).exactly(3).and_return({:instance_id => "i-dasfasdf"})
132
- @tc.request_launch_new_instances(3).first.class.should == Hash
133
- end
134
- end
135
- describe "can_start_a_new_instance?" do
136
- it "should be true because the maximum instances are not running" do
137
- @tc.can_start_a_new_instance?.should == false
138
- end
139
- it "should say that we cannot start a new instance because we are at the maximum instances" do
140
- add_stub_instance_to(@tc, 7)
141
- add_stub_instance_to(@tc, 8)
142
- add_stub_instance_to(@tc, 9)
143
- @tc.can_start_a_new_instance?.should == false
144
- end
145
- end
146
- describe "maximum_number_of_instances_are_not_running?" do
147
- it "should be true because the maximum are not running" do
148
- @tc.maximum_number_of_instances_are_not_running?.should == true
149
- end
150
- it "should be false because the maximum are running" do
151
- add_stub_instance_to(@tc, 7)
152
- add_stub_instance_to(@tc, 8)
153
- add_stub_instance_to(@tc, 9)
154
- @tc.maximum_number_of_instances_are_not_running?.should == false
155
- end
156
- end
157
- describe "request_launch_one_instance_at_a_time" do
158
- before(:each) do
159
- @tc.stub!(:wait).and_return "true"
160
- remove_stub_instance_from(@tc, 3)
161
- remove_stub_instance_from(@tc, 5)
162
- @tc.stub!(:launch_new_instance!).and_return {}
163
- end
164
- it "should call reset! once" do
165
- @tc.should_receive(:reset!).once
166
- @tc.request_launch_one_instance_at_a_time
167
- end
168
- it "should not call wait if there are no pending instances" do
169
- Kernel.should_not_receive(:sleep)
170
- @tc.request_launch_one_instance_at_a_time
171
- end
172
- # TODO: Stub methods with wait
173
- end
174
- describe "launch_minimum_number_of_instances" do
175
- it "should not call minimum_number_of_instances_are_running? if if cannot start a new instance" do
176
- @tc.stub!(:can_start_a_new_instance?).and_return false
177
- @tc.should_not_receive(:minimum_number_of_instances_are_running?)
178
- @tc.launch_minimum_number_of_instances
179
- end
180
- # TODO: Stub methods with wait
181
- end
182
- describe "request_termination_of_non_master_instance" do
183
- it "should reject the master instance from the list of instances (we should never shut down the master unless shutting down the cloud)" do
184
- @master = @tc.list_of_running_instances.select {|a| a.master? }.first
185
- @tc.should_not_receive(:terminate_instance!).with(@master).and_return true
186
- @tc.request_termination_of_non_master_instance
187
- end
188
- it "should call terminate on an instance" do
189
- @tc.should_receive(:terminate_instance!).once
190
- @tc.request_termination_of_non_master_instance
191
- end
192
- end
193
- describe "expansions" do
194
- before(:each) do
195
- setup
196
- @tc.stub!(:copy_ssh_app).and_return true
197
- @tc.stub!(:prepare_reconfiguration).and_return "full"
198
- PoolParty::Provisioner.stub!(:reconfigure_master).and_return true
199
- @tc.stub!(:wait).and_return true
200
- @tc.stub!(:nonmaster_nonterminated_instances).and_return response_list_of_instances
201
- @inst = stub_instance(9, "running")
202
- @tc.nonmaster_nonterminated_instances.stub!(:last).and_return @inst
203
- @inst.stub!(:options).and_return({:name => "red"})
204
- @tc.stub!(:rsync_storage_files_to).and_return true
205
- @tc.stub!(:run_command_on).and_return true
206
- @tc.stub!(:full_keypair_path).and_return "true"
207
- end
208
- describe "expand_cloud_if_necessary" do
209
- before(:each) do
210
- setup
211
- stub_list_from_remote_for(@tc)
212
- @ri = PoolParty::Remote::RemoteInstance.new(:ip => "127.0.0.1", :num => 1, :name => "master")
213
- @tc.stub!(:request_launch_new_instances).and_return @ri
214
- @tc.stub!(:can_start_a_new_instance).and_return true
215
- @tc.stub!(:list_of_pending_instances).and_return []
216
- @tc.stub!(:prepare_for_configuration).and_return true
217
- @tc.stub!(:build_and_store_new_config_file).and_return true
218
- PoolParty::Provisioner.stub!(:provision_slaves).and_return true
219
- @cloud.stub!(:master).and_return @ri
220
- @cloud.stub!(:list_of_nonterminated_instances).and_return [@ri]
221
- @cloud.stub!(:full_keypair_path).and_return "keyairs"
222
-
223
- @provisioner = PoolParty::Provisioner::Capistrano.new(@ri, @cloud, :ubuntu)
224
- PoolParty::Provisioner::Capistrano.stub!(:new).and_return @provisioner
225
- @provisioner.stub!(:install).and_return true
226
- @provisioner.stub!(:configure).and_return true
227
- end
228
- it "should receive can_start_a_new_instance?" do
229
- @tc.should_receive(:can_start_a_new_instance?).once
230
- end
231
- it "should see if we should expand the cloud" do
232
- @tc.should_receive(:should_expand_cloud?).once.and_return false
233
- end
234
- it "should call request_launch_new_instances if we should_expand_cloud?" do
235
- @tc.should_receive(:should_expand_cloud?).once.and_return true
236
- @tc.should_receive(:request_launch_one_instance_at_a_time).once.and_return [{:ip => "127.0.0.5", :name => "node2"}]
237
- end
238
- it "should call a new slave provisioner" do
239
- @tc.stub!(:should_expand_cloud?).once.and_return true
240
- @provisioner.should_receive(:install).at_least(1)
241
- end
242
- after(:each) do
243
- @tc.expand_cloud_if_necessary
244
- end
245
- end
246
- describe "contract_cloud_if_necessary" do
247
- before(:each) do
248
- @tc.stub!(:request_termination_of_non_master_instance).and_return true
249
- @tc.stub!(:are_any_nodes_exceeding_minimum_runtime?).and_return true
250
- @tc.stub!(:wait).and_return true
251
- @tc.stub!(:valid_rules?).and_return false
252
- @tc.stub!(:can_shutdown_an_instance?).and_return true
253
- end
254
- it "should receive can_shutdown_an_instance?" do
255
- @tc.should_receive(:can_shutdown_an_instance?).once
256
- end
257
- it "should see if we should contract the cloud" do
258
- @tc.should_receive(:should_contract_cloud?).once.and_return false
259
- end
260
- it "should call request_termination_of_non_master_instance if we should_contract_cloud?" do
261
- @tc.stub!(:should_contract_cloud?).and_return true
262
- @tc.should_receive(:request_termination_of_non_master_instance).once.and_return true
263
- end
264
- after(:each) do
265
- @tc.contract_cloud_if_necessary
266
- end
267
- end
268
- end
269
- describe "rsync_storage_files_to" do
270
- before(:each) do
271
- Kernel.stub!(:system).and_return true
272
- @tc.extend CloudResourcer
273
- @tc.stub!(:keypair_path).and_return "~/.ec2/fake_keypair"
274
- @obj = Object.new
275
- @obj.stub!(:ip).and_return "192.168.0.1"
276
- end
277
- it "should call exec on the kernel" do
278
- @tc.stub!(:keypair).and_return "funky"
279
- ::File.stub!(:exists?).with("#{File.expand_path(Base.base_keypair_path)}/id_rsa-funky").and_return true
280
- lambda {
281
- @tc.rsync_storage_files_to(@tc.master)
282
- }.should_not raise_error
283
- end
284
- describe "run_command_on" do
285
- before(:each) do
286
- @tc.stub!(:keypair).and_return "fake_keypair"
287
- @tc.stub!(:keypair_path).and_return "~/.ec2/fake_keypair"
288
- @obj.stub!(:name).and_return "pop"
289
- end
290
- it "should call system on the kernel" do
291
- ::File.stub!(:exists?).with("#{File.expand_path(Base.base_keypair_path)}/id_rsa-funky").and_return true
292
- Kernel.should_receive(:system).with("#{@tc.ssh_string} 192.168.0.1 'ls'").and_return true
293
- @tc.run_command_on("ls", @obj)
294
- end
295
- end
296
- describe "ssh_into_instance_number" do
297
- before(:each) do
298
- @tc.stub!(:keypair).and_return "fake_keypair"
299
- ::File.stub!(:exists?).with("#{File.expand_path(Base.base_keypair_path)}/id_rsa-funky").and_return true
300
-
301
- Kernel.stub!(:system).with("#{@tc.ssh_string} 192.168.0.1").and_return true
302
- end
303
- it "should find the instance" do
304
- @tc.should_receive(:get_instance_by_number).with(0).and_return @obj
305
- @tc.ssh_into_instance_number
306
- end
307
- end
308
- end
309
- end
310
- end
1
+ # TODO: Reimplement!!!!!!
2
+ # require File.dirname(__FILE__) + '/../spec_helper'
3
+ # require "ftools"
4
+ #
5
+ # class PoolParty::Remote::Hype < PoolParty::Remote::RemoterBase
6
+ # def hyper
7
+ # "beatnick"
8
+ # end
9
+ # def self.describe_instances(o={})
10
+ # []
11
+ # end
12
+ # def instances_list
13
+ # []
14
+ # end
15
+ # end
16
+ #
17
+ # class PoolParty::Remote::HypeRemoteInstance < PoolParty::Remote::RemoteInstance
18
+ # end
19
+ #
20
+ # PoolParty::Remote.register_remote_base :Hype
21
+ #
22
+ # describe "Remote" do
23
+ # before(:each) do
24
+ # @cloud = cloud :test_cloud do;end
25
+ # @tc = TestRemoterClass.new
26
+ # @tc.stub!(:verbose).and_return false
27
+ # setup
28
+ # end
29
+ # it "should have the method 'using'" do
30
+ # @tc.respond_to?(:using).should == true
31
+ # end
32
+ # it "should include the module with using" do
33
+ # @tc.instance_eval do
34
+ # @remote_base = nil
35
+ # end
36
+ # @tc.using :hype
37
+ # @tc.remote_base.class =="Hype".class_constant
38
+ # end
39
+ # it "should keep a list of the remote_bases" do
40
+ # @tc.stub!(:remote_bases).and_return [:ec2, :hype]
41
+ # @tc.available_bases.include?(:ec2).should == true
42
+ # @tc.available_bases.include?(:hype).should == true
43
+ # end
44
+ # it "should be able to register a new base" do
45
+ # @tc.remote_bases.should_receive(:<<).with(:hockey).and_return true
46
+ # @tc.register_remote_base("Hockey")
47
+ # end
48
+ # it "should not extend the module if the remote base isn't found" do
49
+ # @tc.should_not_receive(:extend)
50
+ # hide_output do
51
+ # @tc.using :paper
52
+ # end
53
+ # end
54
+ # describe "when including" do
55
+ # it "should be able to say if it is using a remote base with using_remoter?" do
56
+ # @tc.using :hype
57
+ # @tc.using_remoter?.should_not == nil
58
+ # end
59
+ # it "should ask if it is using_remoter? when calling using" do
60
+ # @tc.should_receive(:using_remoter?).once
61
+ # @tc.using :hype
62
+ # end
63
+ # end
64
+ # describe "after using" do
65
+ # before(:each) do
66
+ # @hype_cloud = TestCloud.new do
67
+ # using :hype
68
+ # end
69
+ # stub_list_from_remote_for(@hype_cloud, false)
70
+ # end
71
+ # it "should set the remote_base as an instance of the remoter base" do
72
+ # @hype_cloud.remote_base.class.should == Hype
73
+ # end
74
+ # it "should now have the methods available from the module" do
75
+ # lambda {
76
+ # @hype_cloud.hyper
77
+ # }.should_not raise_error
78
+ # end
79
+ # it "should raise an exception because the launch_new_instance! is not defined" do
80
+ # lambda {
81
+ # @tc.launch_new_instance!
82
+ # }.should raise_error
83
+ # end
84
+ # it "should not raise an exception because instances_list is defined" do
85
+ # @hype_cloud.describe_instances
86
+ # lambda {
87
+ # @hype_cloud.describe_instances
88
+ # }.should_not raise_error
89
+ # end
90
+ # it "should run hyper" do
91
+ # @hype_cloud.hype.hyper.should == "beatnick"
92
+ # end
93
+ # end
94
+ # describe "methods" do
95
+ # before(:each) do
96
+ # @tc = TestClass.new
97
+ # @tc.using :ec2
98
+ #
99
+ # @tc.reset!
100
+ # @tc.stub!(:minimum_instances).and_return 3
101
+ # @tc.stub!(:maximum_instances).and_return 5
102
+ #
103
+ # stub_list_from_remote_for(@tc)
104
+ # stub_list_of_instances_for(@tc)
105
+ # end
106
+ # describe "minimum_number_of_instances_are_running?" do
107
+ # it "should be false if there aren't" do
108
+ # @tc.minimum_number_of_instances_are_running?.should == false
109
+ # end
110
+ # it "should be true if there are" do
111
+ # add_stub_instance_to(@tc, 8)
112
+ # add_stub_instance_to(@tc, 9)
113
+ # add_stub_instance_to(@tc, 10)
114
+ # @tc.minimum_number_of_instances_are_running?.should == true
115
+ # end
116
+ # end
117
+ # describe "can_shutdown_an_instance?" do
118
+ # it "should say false because minimum instances are not running" do
119
+ # @tc.can_shutdown_an_instance?.should == false
120
+ # end
121
+ # it "should say we false if only the minimum instances are running" do
122
+ # add_stub_instance_to(@tc, 8)
123
+ # @tc.can_shutdown_an_instance?.should == false
124
+ # end
125
+ # it "should say true because the minimum instances + 1 are running" do
126
+ # add_stub_instance_to(@tc, 8)
127
+ # add_stub_instance_to(@tc, 9)
128
+ # @tc.can_shutdown_an_instance?.should == true
129
+ # end
130
+ # end
131
+ # describe "request_launch_new_instances" do
132
+ # it "should requiest to launch a new instance 3 times" do
133
+ # @tc.should_receive(:launch_new_instance!).exactly(3).and_return "launched"
134
+ # @tc.request_launch_new_instances(3)
135
+ # end
136
+ # it "should return a list of hashes" do
137
+ # @tc.should_receive(:launch_new_instance!).exactly(3).and_return({:instance_id => "i-dasfasdf"})
138
+ # @tc.request_launch_new_instances(3).first.class.should == Hash
139
+ # end
140
+ # end
141
+ # describe "can_start_a_new_instance?" do
142
+ # it "should be true because the maximum instances are not running" do
143
+ # @tc.stub!(:list_of_pending_instances).and_return ["none"]
144
+ # @tc.can_start_a_new_instance?.should == false
145
+ # end
146
+ # it "should say that we cannot start a new instance because we are at the maximum instances" do
147
+ # add_stub_instance_to(@tc, 7)
148
+ # add_stub_instance_to(@tc, 8)
149
+ # add_stub_instance_to(@tc, 9)
150
+ # @tc.can_start_a_new_instance?.should == false
151
+ # end
152
+ # end
153
+ # describe "maximum_number_of_instances_are_not_running?" do
154
+ # it "should be true because the maximum are not running" do
155
+ # @tc.maximum_number_of_instances_are_not_running?.should == true
156
+ # end
157
+ # it "should be false because the maximum are running" do
158
+ # add_stub_instance_to(@tc, 7)
159
+ # add_stub_instance_to(@tc, 8)
160
+ # add_stub_instance_to(@tc, 9)
161
+ # @tc.maximum_number_of_instances_are_not_running?.should == false
162
+ # end
163
+ # end
164
+ # describe "launch_minimum_number_of_instances" do
165
+ # it "should not call minimum_number_of_instances_are_running? if if cannot start a new instance" do
166
+ # @tc.stub!(:can_start_a_new_instance?).and_return false
167
+ # @tc.should_not_receive(:minimum_number_of_instances_are_running?)
168
+ # @tc.launch_minimum_number_of_instances
169
+ # end
170
+ # # TODO: Stub methods with wait
171
+ # end
172
+ # describe "request_termination_of_non_master_instance" do
173
+ # before(:each) do
174
+ # @inst = "last instance of the pack"
175
+ # @inst.stub!(:instance_id).and_return "12345"
176
+ # @tc.stub!(:nonmaster_nonterminated_instances).and_return [@inst]
177
+ # end
178
+ # it "should call terminate on an instance" do
179
+ # @tc.should_receive(:terminate_instance!).with("12345").and_return true
180
+ # @tc.request_termination_of_non_master_instance
181
+ # end
182
+ # end
183
+ # describe "expansions" do
184
+ # before(:each) do
185
+ # setup
186
+ # @tc.stub!(:copy_ssh_app).and_return true
187
+ # @tc.stub!(:prepare_reconfiguration).and_return "full"
188
+ # @tc.stub!(:wait).and_return true
189
+ # @tc.stub!(:nonmaster_nonterminated_instances).and_return response_list_of_instances
190
+ # @inst = stub_instance(9, "running")
191
+ # @tc.nonmaster_nonterminated_instances.stub!(:last).and_return @inst
192
+ # @inst.stub!(:options).and_return({:name => "red"})
193
+ # @tc.stub!(:rsync_storage_files_to).and_return true
194
+ # @tc.stub!(:run_command_on).and_return true
195
+ # @tc.stub!(:full_keypair_path).and_return "true"
196
+ # end
197
+ # # describe "expand_cloud_if_necessary" do
198
+ # # before(:each) do
199
+ # # setup
200
+ # # stub_list_from_remote_for(@tc)
201
+ # # @ri = PoolParty::Remote::RemoteInstance.new(:ip => "127.0.0.1", :num => 1, :name => "master")
202
+ # # @tc.stub!(:request_launch_new_instances).and_return @ri
203
+ # # @tc.stub!(:can_start_a_new_instance).and_return true
204
+ # # @tc.stub!(:list_of_pending_instances).and_return []
205
+ # # @tc.stub!(:prepare_for_configuration).and_return true
206
+ # # @tc.stub!(:build_and_store_new_config_file).and_return true
207
+ # # PoolParty::Provisioner.stub!(:provision_slaves).and_return true
208
+ # # @cloud.stub!(:master).and_return @ri
209
+ # # @cloud.stub!(:list_of_nonterminated_instances).and_return [@ri]
210
+ # # @cloud.stub!(:full_keypair_path).and_return "keyairs"
211
+ # #
212
+ # # @provisioner = PoolParty::Provisioner::Capistrano.new(@ri, @cloud, :ubuntu)
213
+ # # PoolParty::Provisioner::Capistrano.stub!(:new).and_return @provisioner
214
+ # # @provisioner.stub!(:install).and_return true
215
+ # # @provisioner.stub!(:configure).and_return true
216
+ # # end
217
+ # # it "should receive can_start_a_new_instance?" do
218
+ # # @tc.should_receive(:can_start_a_new_instance?).once
219
+ # # end
220
+ # # it "should see if we should expand the cloud" do
221
+ # # @tc.should_receive(:can_expand_cloud?).once.and_return false
222
+ # # end
223
+ # # it "should call request_launch_new_instances if we can_expand_cloud?" do
224
+ # # @tc.should_receive(:can_expand_cloud?).once.and_return true
225
+ # # @tc.should_receive(:request_launch_one_instance_at_a_time).once.and_return [{:ip => "127.0.0.5", :name => "node2"}]
226
+ # # end
227
+ # # it "should call a new slave provisioner" do
228
+ # # @tc.stub!(:can_expand_cloud?).once.and_return true
229
+ # # @provisioner.should_receive(:install).at_least(1)
230
+ # # end
231
+ # # after(:each) do
232
+ # # @tc.expand_cloud_if_necessary
233
+ # # end
234
+ # # end
235
+ #
236
+ # describe "contract_cloud_if_necessary" do
237
+ # before(:each) do
238
+ # @tc.stub!(:request_termination_of_non_master_instance).and_return true
239
+ # @tc.stub!(:are_any_nodes_exceeding_minimum_runtime?).and_return true
240
+ # @tc.stub!(:wait).and_return true
241
+ # @tc.stub!(:valid_rules?).and_return false
242
+ # @tc.stub!(:can_shutdown_an_instance?).and_return true
243
+ # end
244
+ # it "should receive can_shutdown_an_instance?" do
245
+ # @tc.should_receive(:can_shutdown_an_instance?).once
246
+ # end
247
+ # it "should see if we should contract the cloud" do
248
+ # @tc.should_receive(:can_contract_cloud?).once.and_return false
249
+ # end
250
+ # it "should call request_termination_of_non_master_instance if we can_contract_cloud?" do
251
+ # @tc.stub!(:can_contract_cloud?).and_return true
252
+ # @tc.should_receive(:request_termination_of_non_master_instance).once.and_return true
253
+ # end
254
+ # after(:each) do
255
+ # @tc.contract_cloud_if_necessary
256
+ # end
257
+ # end
258
+ # end
259
+ # describe "rsync_storage_files_to" do
260
+ # before(:each) do
261
+ # Kernel.stub!(:system).and_return true
262
+ # @tc.extend CloudResourcer
263
+ # @obj = Object.new
264
+ # @obj.stub!(:ip).and_return "192.168.0.1"
265
+ # end
266
+ # it "should call exec on the kernel" do
267
+ # lambda {
268
+ # @tc.rsync_storage_files_to(stub_instance(1))
269
+ # }.should_not raise_error
270
+ # end
271
+ # describe "run_command_on" do
272
+ # before(:each) do
273
+ # @obj.stub!(:name).and_return "pop"
274
+ # end
275
+ # it "should call system on the kernel" do
276
+ # ::File.stub!(:exists?).with("#{File.expand_path(Default.base_keypair_path)}/id_rsa-funky").and_return true
277
+ # Kernel.should_receive(:system).with("#{@tc.ssh_string} 192.168.0.1 'ls'").and_return true
278
+ # @tc.run_command_on("ls", @obj)
279
+ # end
280
+ # it "should find the instance" do
281
+ # @tc.should_receive(:get_instance_by_number).with(0).and_return @obj
282
+ # @tc.ssh_into_instance_number
283
+ # end
284
+ # end
285
+ # end
286
+ # end
287
+ # end