poolparty 0.2.69 → 0.2.84

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 (298) hide show
  1. data/Capfile +1 -0
  2. data/History.txt +6 -0
  3. data/Manifest.txt +140 -143
  4. data/PostInstall.txt +1 -1
  5. data/README.txt +2 -0
  6. data/bin/cloud-configure +5 -2
  7. data/bin/cloud-handle-load +3 -3
  8. data/bin/cloud-maintain +3 -3
  9. data/bin/cloud-provision +6 -5
  10. data/bin/cloud-rsync +28 -0
  11. data/bin/cloud-setup-dev +25 -0
  12. data/bin/cloud-spec +40 -0
  13. data/bin/cloud-start +5 -3
  14. data/bin/server-clean-cert-for +15 -0
  15. data/bin/server-rerun +0 -1
  16. data/bin/server-start-client +1 -1
  17. data/bin/server-start-master +1 -1
  18. data/bin/server-start-node +1 -1
  19. data/bin/server-update-hosts +4 -3
  20. data/bin/server-write-new-nodes +26 -0
  21. data/generators/poolspec/USAGE +2 -2
  22. data/generators/poolspec/poolspec_generator.rb +1 -1
  23. data/lib/erlang/messenger/Makefile +15 -0
  24. data/lib/erlang/messenger/ebin/client_app.beam +0 -0
  25. data/lib/erlang/messenger/ebin/client_server.beam +0 -0
  26. data/lib/erlang/messenger/ebin/erl_crash.dump +10326 -0
  27. data/lib/erlang/messenger/ebin/master_app.beam +0 -0
  28. data/lib/erlang/messenger/ebin/node_app.beam +0 -0
  29. data/lib/erlang/messenger/ebin/pm_client.beam +0 -0
  30. data/lib/erlang/messenger/ebin/pm_client_old.beam +0 -0
  31. data/lib/erlang/messenger/ebin/pm_client_supervisor.beam +0 -0
  32. data/lib/erlang/messenger/ebin/pm_cluster.beam +0 -0
  33. data/lib/erlang/messenger/ebin/pm_event_manager.beam +0 -0
  34. data/lib/erlang/messenger/ebin/pm_master.beam +0 -0
  35. data/lib/erlang/messenger/ebin/pm_master_event_handler.beam +0 -0
  36. data/lib/erlang/messenger/ebin/pm_master_supervisor.beam +0 -0
  37. data/lib/erlang/messenger/ebin/pm_node.beam +0 -0
  38. data/lib/erlang/messenger/ebin/pm_node_supervisor.beam +0 -0
  39. data/lib/erlang/messenger/ebin/pm_packager.beam +0 -0
  40. data/lib/erlang/messenger/ebin/pm_spawner.beam +0 -0
  41. data/lib/erlang/messenger/ebin/pm_strings.beam +0 -0
  42. data/lib/erlang/messenger/ebin/utils.beam +0 -0
  43. data/lib/erlang/messenger/lib/eunit/Makefile +28 -0
  44. data/lib/erlang/messenger/lib/eunit/ebin/autoload.beam +0 -0
  45. data/lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam +0 -0
  46. data/lib/erlang/messenger/lib/eunit/ebin/eunit.beam +0 -0
  47. data/lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam +0 -0
  48. data/lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam +0 -0
  49. data/lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam +0 -0
  50. data/lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam +0 -0
  51. data/lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam +0 -0
  52. data/lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam +0 -0
  53. data/lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam +0 -0
  54. data/lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam +0 -0
  55. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam +0 -0
  56. data/lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam +0 -0
  57. data/lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam +0 -0
  58. data/lib/erlang/messenger/lib/eunit/src/Makefile +46 -0
  59. data/lib/erlang/messenger/src/pm_master.erl +5 -0
  60. data/lib/erlang/messenger/src/pm_node.erl +2 -3
  61. data/lib/erlang/messenger/src/pm_spawner.erl +213 -0
  62. data/lib/poolparty/base_packages/heartbeat.rb +57 -43
  63. data/lib/poolparty/base_packages/poolparty.rb +18 -15
  64. data/lib/poolparty/capistrano.rb +18 -0
  65. data/lib/poolparty/core/class.rb +24 -0
  66. data/lib/poolparty/core/kernel.rb +7 -0
  67. data/lib/poolparty/core/module.rb +2 -2
  68. data/lib/poolparty/core/string.rb +1 -1
  69. data/lib/poolparty/dependency_resolutions/puppet.rb +10 -2
  70. data/lib/poolparty/exceptions/ProvisionerException.rb +5 -0
  71. data/lib/poolparty/extra/deployments.rb +31 -0
  72. data/lib/poolparty/helpers/binary.rb +14 -2
  73. data/lib/poolparty/helpers/optioner.rb +61 -22
  74. data/lib/poolparty/helpers/ruberl.rb +33 -0
  75. data/lib/poolparty/modules/cloud_dsl.rb +2 -1
  76. data/lib/poolparty/modules/cloud_resourcer.rb +30 -6
  77. data/lib/poolparty/modules/configurable.rb +2 -0
  78. data/lib/poolparty/modules/file_writer.rb +4 -4
  79. data/lib/poolparty/modules/resourcing_dsl.rb +5 -5
  80. data/lib/poolparty/monitors/base_monitor.rb +1 -1
  81. data/lib/poolparty/monitors/monitors/cpu_monitor.rb +2 -2
  82. data/lib/poolparty/net/messenger.rb +1 -1
  83. data/lib/poolparty/net/remote.rb +2 -2
  84. data/lib/poolparty/net/remote_bases/ec2.rb +51 -11
  85. data/lib/poolparty/net/remote_instance.rb +7 -3
  86. data/lib/poolparty/net/remoter.rb +72 -24
  87. data/lib/poolparty/net/remoter_base.rb +10 -0
  88. data/lib/poolparty/plugins/deploydirectory.rb +10 -5
  89. data/lib/poolparty/plugins/git.rb +51 -0
  90. data/lib/poolparty/{pool → poolparty}/base.rb +4 -2
  91. data/lib/poolparty/{pool → poolparty}/cloud.rb +32 -10
  92. data/lib/poolparty/{pool → poolparty}/plugin_model.rb +4 -4
  93. data/lib/poolparty/{pool → poolparty}/pool.rb +2 -2
  94. data/lib/poolparty/{pool → poolparty}/resource.rb +33 -15
  95. data/lib/poolparty/{pool → poolparty}/resources/class_package.rb +3 -3
  96. data/lib/poolparty/{pool → poolparty}/resources/directory.rb +6 -3
  97. data/lib/poolparty/{pool → poolparty}/resources/exec.rb +2 -5
  98. data/lib/poolparty/{pool → poolparty}/resources/file.rb +3 -3
  99. data/lib/poolparty/{pool → poolparty}/resources/package.rb +1 -1
  100. data/lib/poolparty/{pool → poolparty}/resources/remote_file.rb +1 -1
  101. data/lib/poolparty/poolparty/resources/remote_user.rb +17 -0
  102. data/lib/poolparty/{pool → poolparty}/resources/sshkey.rb +5 -1
  103. data/lib/poolparty/{pool → poolparty}/script.rb +1 -1
  104. data/lib/poolparty/provisioners/capistrano/capistrano.rb +127 -0
  105. data/lib/poolparty/provisioners/capistrano/capistrano_configurer.rb +58 -0
  106. data/lib/poolparty/provisioners/capistrano/recipies/base.rb +104 -0
  107. data/lib/poolparty/provisioners/capistrano/recipies/master.rb +121 -0
  108. data/lib/poolparty/provisioners/capistrano/recipies/slave.rb +12 -0
  109. data/lib/poolparty/provisioners/provisioner_base.rb +204 -0
  110. data/lib/poolparty/spec/core/string.rb +16 -0
  111. data/lib/poolparty/spec/matchers/a_spec_extensions_base.rb +26 -0
  112. data/lib/poolparty/spec/matchers/have_cron.rb +28 -0
  113. data/lib/poolparty/spec/matchers/have_deploydirectory.rb +15 -0
  114. data/lib/poolparty/spec/matchers/have_directory.rb +31 -0
  115. data/lib/poolparty/spec/matchers/have_exec.rb +28 -0
  116. data/lib/poolparty/spec/matchers/have_file.rb +28 -0
  117. data/lib/poolparty/spec/matchers/have_gempackage.rb +28 -0
  118. data/lib/poolparty/spec/matchers/have_git.rb +28 -0
  119. data/lib/poolparty/spec/matchers/have_host.rb +28 -0
  120. data/lib/poolparty/spec/matchers/have_mount.rb +28 -0
  121. data/lib/poolparty/spec/matchers/have_package.rb +28 -0
  122. data/lib/poolparty/spec/matchers/have_remotefile.rb +28 -0
  123. data/lib/poolparty/spec/matchers/have_rsyncmirror.rb +28 -0
  124. data/lib/poolparty/spec/matchers/have_service.rb +28 -0
  125. data/lib/poolparty/spec/matchers/have_sshkey.rb +28 -0
  126. data/lib/poolparty/spec/matchers/have_symlink.rb +28 -0
  127. data/lib/poolparty/spec/matchers/have_variable.rb +32 -0
  128. data/lib/poolparty/spec/spec/dynamic_matchers.rb +63 -0
  129. data/lib/poolparty/spec/spec/ensure_matchers_exist.rb +7 -0
  130. data/lib/poolparty/spec/templates/have_base.rb +28 -0
  131. data/lib/poolparty/templates/authkeys +1 -1
  132. data/lib/poolparty/templates/gem +12 -10
  133. data/lib/poolparty/templates/ha.cf +9 -11
  134. data/lib/poolparty/templates/haresources +1 -1
  135. data/lib/poolparty/templates/logd.cf +42 -0
  136. data/lib/poolparty/templates/puppet.conf +18 -8
  137. data/lib/poolparty/templates/puppetcleaner +9 -3
  138. data/lib/poolparty/templates/puppetrerun +16 -3
  139. data/lib/poolparty/templates/puppetrunner +1 -1
  140. data/lib/poolparty/version.rb +1 -1
  141. data/lib/poolparty.rb +12 -8
  142. data/lib/poolpartyspec.rb +34 -0
  143. data/poolparty.gemspec +151 -149
  144. data/spec/poolparty/aska/aska_spec.rb +0 -5
  145. data/spec/poolparty/bin/console_spec.rb +3 -0
  146. data/spec/poolparty/extra/deployments_spec.rb +64 -0
  147. data/spec/poolparty/helpers/binary_spec.rb +1 -1
  148. data/spec/poolparty/helpers/optioner_spec.rb +17 -4
  149. data/spec/poolparty/modules/cloud_resourcer_spec.rb +19 -2
  150. data/spec/poolparty/modules/configurable_spec.rb +2 -2
  151. data/spec/poolparty/net/remote_bases/ec2_spec.rb +5 -2
  152. data/spec/poolparty/net/remote_instance_spec.rb +5 -0
  153. data/spec/poolparty/net/remote_spec.rb +24 -31
  154. data/spec/poolparty/net/remoter_base_spec.rb +11 -6
  155. data/spec/poolparty/net/remoter_spec.rb +55 -27
  156. data/spec/poolparty/plugins/deploydirectory_spec.rb +1 -0
  157. data/spec/poolparty/plugins/git_spec.rb +45 -0
  158. data/spec/poolparty/{pool → poolparty}/cloud_spec.rb +41 -0
  159. data/spec/poolparty/{pool → poolparty}/plugin_spec.rb +1 -1
  160. data/spec/poolparty/{pool → poolparty}/pool_spec.rb +1 -1
  161. data/spec/poolparty/{pool → poolparty}/resource_spec.rb +15 -2
  162. data/spec/poolparty/poolparty/resources/user_spec.rb +38 -0
  163. data/spec/poolparty/poolparty/test_plugins/virtual_host_template.erb +0 -0
  164. data/spec/poolparty/poolparty_spec.rb +1 -1
  165. data/spec/poolparty/provisioners/capistrano/capistrano_spec.rb +27 -0
  166. data/spec/poolparty/provisioners/provisioner_base_spec.rb +120 -0
  167. data/spec/poolparty/spec/core/string_spec.rb +57 -0
  168. data/spec/poolparty/spec_helper.rb +48 -6
  169. data/tasks/deployment.rake +3 -5
  170. data/tasks/spec.rake +2 -3
  171. data/website/index.html +2 -2
  172. metadata +150 -148
  173. data/lib/erlang/messenger/lib/eunit/.svn/all-wcprops +0 -53
  174. data/lib/erlang/messenger/lib/eunit/.svn/entries +0 -140
  175. data/lib/erlang/messenger/lib/eunit/.svn/format +0 -1
  176. data/lib/erlang/messenger/lib/eunit/.svn/prop-base/NOTES.svn-base +0 -5
  177. data/lib/erlang/messenger/lib/eunit/.svn/text-base/AUTHORS.svn-base +0 -2
  178. data/lib/erlang/messenger/lib/eunit/.svn/text-base/CHANGELOG.svn-base +0 -14
  179. data/lib/erlang/messenger/lib/eunit/.svn/text-base/COPYING.svn-base +0 -504
  180. data/lib/erlang/messenger/lib/eunit/.svn/text-base/NOTES.svn-base +0 -276
  181. data/lib/erlang/messenger/lib/eunit/.svn/text-base/README.svn-base +0 -3
  182. data/lib/erlang/messenger/lib/eunit/.svn/text-base/sys.config.svn-base +0 -9
  183. data/lib/erlang/messenger/lib/eunit/.svn/text-base/vsn.mk.svn-base +0 -1
  184. data/lib/erlang/messenger/lib/eunit/doc/.svn/all-wcprops +0 -59
  185. data/lib/erlang/messenger/lib/eunit/doc/.svn/entries +0 -142
  186. data/lib/erlang/messenger/lib/eunit/doc/.svn/format +0 -1
  187. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/erlang.png.svn-base +0 -5
  188. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/eunit.html.svn-base +0 -5
  189. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/index.html.svn-base +0 -5
  190. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/modules-frame.html.svn-base +0 -5
  191. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/overview-summary.html.svn-base +0 -5
  192. data/lib/erlang/messenger/lib/eunit/doc/.svn/prop-base/packages-frame.html.svn-base +0 -5
  193. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/edoc-info.svn-base +0 -3
  194. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/erlang.png.svn-base +0 -0
  195. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/eunit.html.svn-base +0 -172
  196. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/index.html.svn-base +0 -17
  197. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/modules-frame.html.svn-base +0 -12
  198. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview-summary.html.svn-base +0 -984
  199. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/overview.edoc.svn-base +0 -980
  200. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/packages-frame.html.svn-base +0 -11
  201. data/lib/erlang/messenger/lib/eunit/doc/.svn/text-base/stylesheet.css.svn-base +0 -55
  202. data/lib/erlang/messenger/lib/eunit/ebin/.svn/all-wcprops +0 -5
  203. data/lib/erlang/messenger/lib/eunit/ebin/.svn/dir-prop-base +0 -8
  204. data/lib/erlang/messenger/lib/eunit/ebin/.svn/entries +0 -28
  205. data/lib/erlang/messenger/lib/eunit/ebin/.svn/format +0 -1
  206. data/lib/erlang/messenger/lib/eunit/examples/.svn/all-wcprops +0 -23
  207. data/lib/erlang/messenger/lib/eunit/examples/.svn/entries +0 -66
  208. data/lib/erlang/messenger/lib/eunit/examples/.svn/format +0 -1
  209. data/lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/eunit_examples.erl.svn-base +0 -5
  210. data/lib/erlang/messenger/lib/eunit/examples/.svn/prop-base/fib.erl.svn-base +0 -5
  211. data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/eunit_examples.erl.svn-base +0 -339
  212. data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/fib.erl.svn-base +0 -19
  213. data/lib/erlang/messenger/lib/eunit/examples/.svn/text-base/tests.txt.svn-base +0 -1
  214. data/lib/erlang/messenger/lib/eunit/include/.svn/all-wcprops +0 -11
  215. data/lib/erlang/messenger/lib/eunit/include/.svn/entries +0 -41
  216. data/lib/erlang/messenger/lib/eunit/include/.svn/format +0 -1
  217. data/lib/erlang/messenger/lib/eunit/include/.svn/prop-base/eunit.hrl.svn-base +0 -5
  218. data/lib/erlang/messenger/lib/eunit/include/.svn/text-base/eunit.hrl.svn-base +0 -313
  219. data/lib/erlang/messenger/lib/eunit/src/.svn/all-wcprops +0 -113
  220. data/lib/erlang/messenger/lib/eunit/src/.svn/entries +0 -259
  221. data/lib/erlang/messenger/lib/eunit/src/.svn/format +0 -1
  222. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/autoload.erl.svn-base +0 -5
  223. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/code_monitor.erl.svn-base +0 -5
  224. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit.erl.svn-base +0 -5
  225. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_autoexport.erl.svn-base +0 -5
  226. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_data.erl.svn-base +0 -5
  227. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_internal.hrl.svn-base +0 -5
  228. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_lib.erl.svn-base +0 -5
  229. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_proc.erl.svn-base +0 -5
  230. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_serial.erl.svn-base +0 -5
  231. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_server.erl.svn-base +0 -5
  232. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_striptests.erl.svn-base +0 -5
  233. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_test.erl.svn-base +0 -5
  234. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tests.erl.svn-base +0 -5
  235. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/eunit_tty.erl.svn-base +0 -5
  236. data/lib/erlang/messenger/lib/eunit/src/.svn/prop-base/file_monitor.erl.svn-base +0 -5
  237. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/autoload.erl.svn-base +0 -388
  238. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/code_monitor.erl.svn-base +0 -243
  239. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.app.src.svn-base +0 -21
  240. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.appup.src.svn-base +0 -1
  241. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit.erl.svn-base +0 -196
  242. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_autoexport.erl.svn-base +0 -102
  243. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_data.erl.svn-base +0 -798
  244. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_internal.hrl.svn-base +0 -48
  245. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_lib.erl.svn-base +0 -682
  246. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_proc.erl.svn-base +0 -552
  247. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_serial.erl.svn-base +0 -157
  248. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_server.erl.svn-base +0 -340
  249. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_striptests.erl.svn-base +0 -64
  250. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_test.erl.svn-base +0 -334
  251. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tests.erl.svn-base +0 -45
  252. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/eunit_tty.erl.svn-base +0 -272
  253. data/lib/erlang/messenger/lib/eunit/src/.svn/text-base/file_monitor.erl.svn-base +0 -409
  254. data/lib/erlang/messenger/src/pm_client_old.erl +0 -52
  255. data/lib/poolparty/helpers/provisioner_base.rb +0 -346
  256. data/lib/poolparty/helpers/provisioners/master.rb +0 -205
  257. data/lib/poolparty/helpers/provisioners/slave.rb +0 -64
  258. data/spec/poolparty/helpers/provisioner_base_spec.rb +0 -134
  259. data/spec/poolparty/helpers/provisioners/master_spec.rb +0 -54
  260. data/spec/poolparty/helpers/provisioners/slave_spec.rb +0 -28
  261. /data/lib/poolparty/{pool → poolparty}/custom_resource.rb +0 -0
  262. /data/lib/poolparty/{pool → poolparty}/loggable.rb +0 -0
  263. /data/lib/poolparty/{pool → poolparty}/plugin.rb +0 -0
  264. /data/lib/poolparty/{pool → poolparty}/resources/conditional.rb +0 -0
  265. /data/lib/poolparty/{pool → poolparty}/resources/cron.rb +0 -0
  266. /data/lib/poolparty/{pool → poolparty}/resources/custom_service.rb +0 -0
  267. /data/lib/poolparty/{pool → poolparty}/resources/gem_package.rb +0 -0
  268. /data/lib/poolparty/{pool → poolparty}/resources/host.rb +0 -0
  269. /data/lib/poolparty/{pool → poolparty}/resources/mount.rb +0 -0
  270. /data/lib/poolparty/{pool → poolparty}/resources/service.rb +0 -0
  271. /data/lib/poolparty/{pool → poolparty}/resources/symlink.rb +0 -0
  272. /data/lib/poolparty/{pool → poolparty}/resources/variable.rb +0 -0
  273. /data/log/{pool.logs → pool.log} +0 -0
  274. /data/spec/poolparty/{pool/test_plugins/virtual_host_template.erb → net/log/pool.log} +0 -0
  275. /data/spec/poolparty/{pool → poolparty}/base_spec.rb +0 -0
  276. /data/spec/poolparty/{pool → poolparty}/configurers/files/ruby_basic.rb +0 -0
  277. /data/spec/poolparty/{pool → poolparty}/configurers/files/ruby_plugins.rb +0 -0
  278. /data/spec/poolparty/{pool → poolparty}/configurers/ruby_spec.rb +0 -0
  279. /data/spec/poolparty/{pool → poolparty}/custom_resource_spec.rb +0 -0
  280. /data/spec/poolparty/{pool → poolparty}/example_spec.rb +0 -0
  281. /data/spec/poolparty/{pool → poolparty}/plugin_model_spec.rb +0 -0
  282. /data/spec/poolparty/{pool → poolparty}/resources/class_package_spec.rb +0 -0
  283. /data/spec/poolparty/{pool → poolparty}/resources/conditional_spec.rb +0 -0
  284. /data/spec/poolparty/{pool → poolparty}/resources/cron_spec.rb +0 -0
  285. /data/spec/poolparty/{pool → poolparty}/resources/directory_spec.rb +0 -0
  286. /data/spec/poolparty/{pool → poolparty}/resources/exec_spec.rb +0 -0
  287. /data/spec/poolparty/{pool → poolparty}/resources/file_spec.rb +0 -0
  288. /data/spec/poolparty/{pool → poolparty}/resources/gem_spec.rb +0 -0
  289. /data/spec/poolparty/{pool → poolparty}/resources/host_spec.rb +0 -0
  290. /data/spec/poolparty/{pool → poolparty}/resources/package_spec.rb +0 -0
  291. /data/spec/poolparty/{pool → poolparty}/resources/remote_file_spec.rb +0 -0
  292. /data/spec/poolparty/{pool → poolparty}/resources/service_spec.rb +0 -0
  293. /data/spec/poolparty/{pool → poolparty}/resources/sshkey_spec.rb +0 -0
  294. /data/spec/poolparty/{pool → poolparty}/resources/symlink_spec.rb +0 -0
  295. /data/spec/poolparty/{pool → poolparty}/resources/variable_spec.rb +0 -0
  296. /data/spec/poolparty/{pool → poolparty}/script_spec.rb +0 -0
  297. /data/spec/poolparty/{pool → poolparty}/test_plugins/sshkey_test +0 -0
  298. /data/spec/poolparty/{pool → poolparty}/test_plugins/webserver.rb +0 -0
@@ -0,0 +1,32 @@
1
+ module Spec
2
+ module Matchers
3
+ module SpecExtensions
4
+ class HaveVariable < SpecExtensionsBase
5
+ def initialize(varname, expected,extra="")
6
+ @varname = varname
7
+ @expected = expected
8
+ @extra = extra
9
+ end
10
+ def matches?(target)
11
+ @target = target
12
+ is_present?
13
+ end
14
+ def is_present?
15
+ @target.match(/\$#{@varname}(\W+)=(\W+)#{@expected}/)[0]
16
+ end
17
+ def failure_message
18
+ "expected #{@target.inspect} to have variable #{@expected}"
19
+ end
20
+ def negative_failure_message
21
+ "expected #{@target.inspect} not to have variable #{@expected}"
22
+ end
23
+ def type
24
+ "variable"
25
+ end
26
+ end
27
+ end
28
+ def have_variable(name, extra="")
29
+ SpecExtensions::HaveVariable.new(name, extra)
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,63 @@
1
+ require "rubygems"
2
+ require "spec"
3
+ require "#{::File.dirname(__FILE__)}/../matchers/a_spec_extensions_base.rb"
4
+ class Object
5
+ # For all of the available_resources, write the matcher template
6
+ # based on the have_base base and write the method have_
7
+ # for each of the resources available
8
+ def write_dynamic_matchers
9
+ PoolParty::Resources::Resource.available_resources.each do |ty|
10
+ ty.downcase!
11
+ filename = "#{::File.dirname(__FILE__)}/../matchers/have_#{ty}.rb"
12
+ unless ::File.file?(filename)
13
+ str = make_dynamic_matcher_string_for(ty)
14
+ ::File.open(filename, "w+") {|f| f << str}
15
+ end
16
+ end
17
+ end
18
+ # Create a dynamic matcher
19
+ # Create a matcher for spec based in the context called from
20
+ # Usage example:
21
+ # dynamic_matcher_for(:virtualhost) do
22
+ # set_description "should have virtualhost"
23
+ # it "should have the directory /var/www" do
24
+ # have_directory("/var/www")
25
+ # end
26
+ # end
27
+ # This creates a method by the name of the dynamic matcher
28
+ # so in the above example for virtualhost, the
29
+ # method have_virtualhost(name) &block is created in the spec
30
+ # context and can be called from within the describe/context
31
+ # in a spec
32
+ def dynamic_matcher_for(ty, &block)
33
+ name = "#{ty}".camelcase
34
+
35
+ begin
36
+ const = Object.const_set(name, Spec::Example::SharedExampleGroup.register(name.to_sym, &block))
37
+ rescue NameError => e
38
+ raise NameError.new(e.message + "\nThe first argument to share_as must be a legal name for a constant\n")
39
+ end
40
+
41
+ described_type = "#{ty.to_s.underscore.downcase}"
42
+
43
+ ::Spec::Example::ExampleGroupMethods.module_eval <<-EOM
44
+ def have_#{ty.to_s.underscore.downcase}(*args)
45
+ include #{const}
46
+ self.module_eval "@@described_type = args;def #{described_type}; @@described_type; end"
47
+ end
48
+ EOM
49
+ end
50
+ # Load the have_base file and fill in the variables for the
51
+ # have_base base template
52
+ def make_dynamic_matcher_string_for(ty, matcher="is_present?")
53
+ @basestr ||= open("#{::File.dirname(__FILE__)}/../templates/have_base.rb").read
54
+ typestring = ty.to_s
55
+ begin
56
+ @basestr ^ {:classname => "Have#{typestring.capitalize}",
57
+ :type => typestring,
58
+ :matches => matcher,
59
+ :includer => "SpecExtensions::Have#{typestring.capitalize}.new(name, extra)"}
60
+ rescue Exception => e
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,7 @@
1
+ require "rubygems"
2
+ require "poolparty"
3
+ Dir["#{::File.dirname(__FILE__)}/../core/*.rb"].each {|f| require f}
4
+
5
+ write_dynamic_matchers if @ensure_matchers_exist
6
+
7
+ Dir["#{::File.dirname(__FILE__)}/../matchers/*.rb"].each {|f| require f}
@@ -0,0 +1,28 @@
1
+ module Spec
2
+ module Matchers
3
+ module SpecExtensions
4
+ class :classname < SpecExtensionsBase
5
+ def initialize(expected,extra="")
6
+ @expected = expected
7
+ @extra = extra
8
+ end
9
+ def matches?(target)
10
+ @target = target
11
+ :matches
12
+ end
13
+ def failure_message
14
+ "expected #{@target.inspect} to have :type #{@expected}"
15
+ end
16
+ def negative_failure_message
17
+ "expected #{@target.inspect} not to have :type #{@expected}"
18
+ end
19
+ def type
20
+ ":type"
21
+ end
22
+ end
23
+ end
24
+ def have_:type(name, extra="")
25
+ :includer
26
+ end
27
+ end
28
+ end
@@ -1,2 +1,2 @@
1
1
  auth 1
2
- 1 md5 PasswordForpoolpartyClusterApplicationButItIsOnlyADefault
2
+ 1 sha1 PasswordForpoolpartyClusterApplicationButItIsOnlyADefault
@@ -1,20 +1,18 @@
1
- #! /usr/bin/ruby1.8
1
+ #!/usr/bin/env ruby
2
2
  #--
3
3
  # Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
4
4
  # All rights reserved.
5
5
  # See LICENSE.txt for permissions.
6
- # /usr/bin/gem is broken, so... have to use this until it is fixed
7
6
  #++
8
7
 
8
+ require 'rubygems'
9
+ require 'rubygems/gem_runner'
10
+ require 'rubygems/exceptions'
9
11
 
10
- require "rubygems"
11
- require "rubygems/gem_runner"
12
- Gem.manage_gems
12
+ required_version = Gem::Requirement.new "> 1.8.3"
13
13
 
14
- required_version = Gem::Version::Requirement.new(">= 1.8.0")
15
- unless required_version.satisfied_by?(Gem::Version.new(RUBY_VERSION))
16
- puts "Expected Ruby Version #{required_version}, was #{RUBY_VERSION}"
17
- exit(1)
14
+ unless required_version.satisfied_by? Gem.ruby_version then
15
+ abort "Expected Ruby Version #{required_version}, was #{Gem.ruby_version}"
18
16
  end
19
17
 
20
18
  # We need to preserve the original ARGV to use for passing gem options
@@ -22,4 +20,8 @@ end
22
20
  # it...its for the source building process.
23
21
  args = !ARGV.include?("--") ? ARGV.clone : ARGV[0...ARGV.index("--")]
24
22
 
25
- Gem::GemRunner.new.run(args)
23
+ begin
24
+ Gem::GemRunner.new.run args
25
+ rescue Gem::SystemExitException => e
26
+ exit e.exit_code
27
+ end
@@ -1,19 +1,17 @@
1
1
  # Heartbeat
2
- keepalive 2 # Time inbetween heartbeats
3
- deadtime 32 # wait 32 seconds before declaring dead
2
+ keepalive 5 # Time inbetween heartbeats
3
+ deadtime 32 # wait 10 seconds before declaring dead
4
4
  warntime 16 # issue a warning halfway through
5
5
  initdead 60 # Don't boot instances between 60 seconds of each other
6
6
  logfacility daemon # Log to syslog as facility "daemon"
7
- auto_failback off
7
+ auto_failback on
8
8
  use_logd yes
9
- bcast eth0
10
- crm on
11
- logfile /var/log/ha.log
9
+ crm yes
12
10
 
13
11
  <% ha_node_ips.chomp.split(/\t/).each_with_index do |ip,index| -%>
14
- <% if $hostname != ha_nodenames.chomp.split(/\t/)[index] -%>
15
- ucast eth0 <%= ip %>
16
- <% end %>
17
- <% end %>
12
+ <% if hostname != ha_nodenames.chomp.split(/\t/)[index] -%>
13
+ ucast eth0 <%= ip %>
14
+ <% end -%>
15
+ <% end -%>
18
16
 
19
- node <%= ha_nodenames %>
17
+ node <%= ha_nodenames.chomp.split(/\t/).join(" ") %>
@@ -1,3 +1,3 @@
1
- <% ha_nodenames.each_with_index do |name, index| -%>
1
+ <% ha_nodenames.split(/\t/).each_with_index do |name, index| -%>
2
2
  <%= name -%> <%= ha_node_ips[index] -%>/eth0:0
3
3
  <% end %>
@@ -0,0 +1,42 @@
1
+ # File to write debug messages to
2
+ # Default: /var/log/ha-debug
3
+ #debugfile /var/log/ha-debug
4
+
5
+ #
6
+ #
7
+ # File to write other messages to
8
+ # Default: /var/log/ha-log
9
+ #logfile /var/log/ha-log
10
+
11
+ #
12
+ #
13
+ # Facility to use for syslog()/logger
14
+ # Default: daemon
15
+ logfacility daemon
16
+
17
+
18
+ # Entity to be shown at beginning of a message
19
+ # for logging daemon
20
+ # Default: "logd"
21
+ #entity logd
22
+
23
+
24
+ # Do we register to apphbd
25
+ # Default: no
26
+ #useapphbd no
27
+
28
+ # There are two processes running for logging daemon
29
+ # 1. parent process which reads messages from all client channels
30
+ # and writes them to the child process
31
+ #
32
+ # 2. the child process which reads messages from the parent process through IPC
33
+ # and writes them to syslog/disk
34
+
35
+
36
+ # set the send queue length from the parent process to the child process
37
+ #
38
+ #sendqlen 256
39
+
40
+ # set the recv queue length in child process
41
+ #
42
+ #recvqlen 256
@@ -1,16 +1,26 @@
1
1
  [main]
2
2
  vardir = /var/lib/puppet
3
3
  logdir = /var/log/puppet
4
- pluginsync=false
5
- factsync=false
4
+ ssldir = /etc/poolparty/ssl
5
+ pluginsync = false
6
+ factsync = false
7
+
8
+ [puppetca]
9
+ config = $config/puppetca.conf
6
10
 
11
+ [certificates]
12
+ publickeydir = /etc/poolparty/public_keys
13
+ certdir = /etc/poolparty/certs
14
+ privatekeydir = /etc/poolparty/private_keys
15
+
16
+ [ca]
17
+ signeddir = /etc/poolparty/signed
18
+
7
19
  [puppetd]
8
20
  localconfig = $vardir/localconfig
9
- report=true
10
- server=master
11
-
12
- [puppetrun]
13
- certname = master
21
+ report = true
22
+ server = master
14
23
 
15
24
  [puppetmasterd]
16
- certname = master
25
+ certname = master
26
+ server = master
@@ -1,6 +1,12 @@
1
1
  #!/usr/bin/env bash
2
2
 
3
- # /var/lib/puppet/state/puppetdlock
3
+ ARGS=1 # Number of arguments expected.
4
+ E_BADARGS=85 # Exit value if incorrect number of args passed.
5
+
6
+ test $# -ne $ARGS && echo "Usage: `basename $0` requires $ARGS argument(s)" && exit $E_BADARGS
7
+
4
8
  . /etc/profile
5
- ps aux | grep puppetmaster | awk '{print $2}' | xargs kill
6
- /etc/init.d/puppetmaster stop;rm -rf /etc/puppet/ssl;/etc/init.d/puppetmaster start;puppetmasterd --verbose
9
+ HN=$1
10
+
11
+ echo "Cleaning $1 signed certs"
12
+ rm /etc/poolparty/ssl/ca/signed/$HN.*
@@ -2,8 +2,21 @@
2
2
 
3
3
  . /etc/profile
4
4
  if [ $(/usr/sbin/puppetd --onetime --no-daemonize --logdest syslog --server master)]; then
5
- echo "Run successfully"
5
+ echo "Run successfully" && exit 0
6
6
  else
7
- ps aux | grep puppetmaster | awk '{print $2}' | xargs kill;rm -rf /etc/puppet/ssl;puppetmasterd --verbose;/etc/init.d/puppetmaster start
8
- /usr/sbin/puppetd --onetime --no-daemonize --logdest syslog --server master
7
+ echo "Clearing old certs"
8
+ HN=`hostname`
9
+ if [[ $HN == "master" ]]; then
10
+ rm /etc/poolparty/ssl/ca/signed/$HN*
11
+ if [ $(/usr/sbin/puppetd --onetime --no-daemonize --logdest syslog --server master) ]; then
12
+ echo "Run successfully" && exit 0
13
+ else
14
+ # /etc/init.d/puppetmaster stop;rm -rf /etc/poolparty/ssl;/etc/init.d/puppetmaster start
15
+ rm /etc/poolparty/ssl/$HN*
16
+ /usr/sbin/puppetd --onetime --no-daemonize --logdest syslog --server master
17
+ fi
18
+ else
19
+ rm /etc/poolparty/ssl/ca/signed/$HN*
20
+ /usr/sbin/puppetd --onetime --no-daemonize --logdest syslog --server master
21
+ fi
9
22
  fi
@@ -4,5 +4,5 @@
4
4
  if [ $(/usr/sbin/puppetd --onetime --no-daemonize --logdest syslog --server master)]; then
5
5
  echo "Run successfully"
6
6
  else
7
- /usr/sbin/puppetd --onetime --no-daemonize --logdest syslog --server master
7
+ /usr/bin/puppetrerun;/usr/sbin/puppetd --onetime --no-daemonize --logdest syslog --server master
8
8
  fi
@@ -2,7 +2,7 @@ module PoolParty
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- TINY = 69
5
+ TINY = 84
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/lib/poolparty.rb CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
 
3
3
  # Load required gems
4
4
  @required_software = Array.new
5
- %w(activesupport ftools logging resolv ruby2ruby).each do |lib|
5
+ %w(activesupport ftools logging resolv ruby2ruby digest/sha2 open3 capistrano).each do |lib|
6
6
  begin
7
7
  require lib
8
8
  rescue Exception => e
@@ -36,21 +36,23 @@ end
36
36
  ActiveSupport::Dependencies.load_paths << File.dirname(__FILE__)
37
37
 
38
38
  ## Load PoolParty
39
- require "#{File.dirname(__FILE__)}/poolparty/version"
39
+ %w(version).each do |f|
40
+ require "#{File.dirname(__FILE__)}/poolparty/#{f}"
41
+ end
40
42
 
41
- %w(core modules exceptions dependency_resolutions aska monitors net).each do |dir|
43
+ %w(core modules exceptions dependency_resolutions aska monitors provisioners extra net).each do |dir|
42
44
  Dir[File.dirname(__FILE__) + "/poolparty/#{dir}/**.rb"].each do |file|
43
45
  require file
44
46
  end
45
47
  end
46
48
 
47
- Kernel.load_p File.dirname(__FILE__) + "/poolparty/pool"
49
+ Kernel.load_p File.dirname(__FILE__) + "/poolparty/poolparty"
48
50
  Logging.init :debug, :info, :warn, :error, :fatal
49
51
 
50
52
  module PoolParty
51
53
  include FileWriter
52
54
 
53
- def logger
55
+ def log
54
56
  @logger ||= make_new_logger
55
57
  end
56
58
 
@@ -81,8 +83,10 @@ class Class
81
83
  end
82
84
 
83
85
  ## Load PoolParty Plugins and package
84
- %w(plugins base_packages).each do |dir|
85
- Dir[File.dirname(__FILE__) + "/poolparty/#{dir}/**.rb"].each do |file|
86
- require file
86
+ module PoolParty
87
+ %w(plugins base_packages).each do |dir|
88
+ Dir[::File.dirname(__FILE__) + "/poolparty/#{dir}/*.rb"].each do |file|
89
+ require file
90
+ end
87
91
  end
88
92
  end
@@ -0,0 +1,34 @@
1
+ ["core", "spec"].each do |dir|
2
+ Dir[File.join(File.dirname(__FILE__), "poolparty", "spec", dir, "*.rb")].each {|f| require f}
3
+ end
4
+
5
+ class TestCloudClass < PoolParty::Cloud::Cloud
6
+ def build_test_manifest
7
+ reset_resources!
8
+ realize_plugins!
9
+
10
+ returning Array.new do |arr|
11
+
12
+ services.each do |service|
13
+ service.options.merge!(:name => service.name)
14
+ classpackage_with_self(service)
15
+ end
16
+
17
+ global_classpackages.each do |cls|
18
+ arr << cls.to_string
19
+ end
20
+
21
+ end.join("\n")
22
+ end
23
+ end
24
+
25
+ def new_test_cloud(&block)
26
+ TestCloudClass.new(:test_cloud, &block)
27
+ end
28
+
29
+ def load_test_cloud(name, poolfile=nil)
30
+ PoolParty::Script.inflate_file poolfile
31
+ blk = cloud(name).stored_block.dup
32
+ PoolParty::Pool.reset!
33
+ new_test_cloud &blk
34
+ end