veewee 0.3.7 → 0.3.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (966) hide show
  1. data/.gitignore +5 -0
  2. data/.rvmrc +2 -1
  3. data/.travis.yml +8 -0
  4. data/CONTRIBUTE.md +51 -0
  5. data/Gemfile +11 -2
  6. data/README.md +88 -22
  7. data/Rakefile +11 -7
  8. data/bin/veewee +1 -0
  9. data/doc/TODO.md +76 -0
  10. data/doc/basics.md +200 -0
  11. data/doc/build_hooks.md +69 -0
  12. data/doc/changes.md +20 -0
  13. data/doc/commands.md +42 -0
  14. data/doc/customize.md +145 -0
  15. data/doc/fusion.md +5 -1
  16. data/doc/installation.md +90 -9
  17. data/doc/kvm.md +52 -42
  18. data/doc/parallels.md +3 -0
  19. data/doc/providers.md +6 -21
  20. data/doc/requirements.md +69 -5
  21. data/doc/vagrant.md +26 -93
  22. data/doc/vbox.md +78 -1
  23. data/doc/veeweefile.md +25 -0
  24. data/lib/fission.old/cli.rb +76 -0
  25. data/lib/fission.old/command.rb +15 -0
  26. data/lib/fission.old/command/clone.rb +68 -0
  27. data/lib/fission.old/command/delete.rb +71 -0
  28. data/lib/fission.old/command/snapshot_create.rb +52 -0
  29. data/lib/fission.old/command/snapshot_list.rb +45 -0
  30. data/lib/fission.old/command/snapshot_revert.rb +54 -0
  31. data/lib/fission.old/command/start.rb +69 -0
  32. data/lib/fission.old/command/status.rb +31 -0
  33. data/lib/fission.old/command/stop.rb +49 -0
  34. data/lib/fission.old/command/suspend.rb +67 -0
  35. data/lib/fission.old/config.rb +34 -0
  36. data/lib/fission.old/core_ext/class.rb +5 -0
  37. data/lib/fission.old/core_ext/file.rb +7 -0
  38. data/lib/fission.old/core_ext/object.rb +112 -0
  39. data/lib/fission.old/error.rb +10 -0
  40. data/lib/fission.old/fusion.rb +17 -0
  41. data/lib/fission.old/leasesfile.rb +74 -0
  42. data/lib/fission.old/metadata.rb +39 -0
  43. data/lib/fission.old/response.rb +16 -0
  44. data/lib/fission.old/ui.rb +22 -0
  45. data/lib/fission.old/version.rb +3 -0
  46. data/lib/fission.old/vm.rb +370 -0
  47. data/lib/veewee/command/fusion.rb +16 -142
  48. data/lib/veewee/command/group_base.rb +111 -7
  49. data/lib/veewee/command/kvm.rb +19 -104
  50. data/lib/veewee/command/parallels.rb +15 -105
  51. data/lib/veewee/command/vagrant/build.rb +2 -2
  52. data/lib/veewee/command/vagrant/export.rb +0 -2
  53. data/lib/veewee/command/vbox.rb +21 -134
  54. data/lib/veewee/config.rb +2 -3
  55. data/lib/veewee/config/ostypes.yml +21 -1
  56. data/lib/veewee/definition.rb +42 -11
  57. data/lib/veewee/definitions.rb +27 -6
  58. data/lib/veewee/environment.rb +34 -25
  59. data/lib/veewee/error.rb +1 -1
  60. data/lib/veewee/provider/core/box/build.rb +71 -7
  61. data/lib/veewee/provider/core/box/exec.rb +1 -1
  62. data/lib/veewee/provider/core/box/floppy.rb +1 -1
  63. data/lib/veewee/provider/core/box/ssh.rb +2 -2
  64. data/lib/veewee/provider/core/box/validate_tags.rb +137 -30
  65. data/lib/veewee/provider/core/box/vnc.rb +1 -1
  66. data/lib/veewee/provider/core/box/wincp.rb +8 -8
  67. data/lib/veewee/provider/core/helper/iso.rb +41 -15
  68. data/lib/veewee/provider/core/helper/scancode.rb +46 -43
  69. data/lib/veewee/provider/core/helper/shell.rb +3 -2
  70. data/lib/veewee/provider/core/helper/ssh.rb +21 -10
  71. data/lib/veewee/provider/core/helper/tcp.rb +19 -6
  72. data/lib/veewee/provider/core/helper/web.rb +1 -1
  73. data/lib/veewee/provider/core/helper/winrm.rb +3 -0
  74. data/lib/veewee/provider/core/provider.rb +1 -1
  75. data/lib/veewee/provider/kvm/box.rb +7 -0
  76. data/lib/veewee/provider/kvm/box/create.rb +122 -71
  77. data/lib/veewee/provider/kvm/box/destroy.rb +5 -6
  78. data/lib/veewee/provider/kvm/box/export_vagrant.rb +143 -0
  79. data/lib/veewee/provider/kvm/box/helper/status.rb +6 -2
  80. data/lib/veewee/provider/kvm/provider.rb +26 -21
  81. data/lib/veewee/provider/kvm/templates/Vagrantfile +45 -0
  82. data/lib/veewee/provider/parallels/box.rb +1 -0
  83. data/lib/veewee/provider/parallels/box/export.rb +184 -0
  84. data/lib/veewee/provider/parallels/box/helper/buildinfo.rb +7 -5
  85. data/lib/veewee/provider/parallels/box/helper/console_type.rb +12 -6
  86. data/lib/veewee/provider/virtualbox/box.rb +19 -5
  87. data/lib/veewee/provider/virtualbox/box/create.rb +1 -1
  88. data/lib/veewee/provider/virtualbox/box/export_vagrant.rb +90 -8
  89. data/lib/veewee/provider/virtualbox/box/helper/console_type.rb +3 -1
  90. data/lib/veewee/provider/virtualbox/box/helper/create.rb +48 -23
  91. data/lib/veewee/provider/virtualbox/box/helper/forwarding.rb +5 -1
  92. data/lib/veewee/provider/virtualbox/box/helper/version.rb +4 -1
  93. data/lib/veewee/provider/virtualbox/box/up.rb +6 -6
  94. data/lib/veewee/provider/virtualbox/provider.rb +3 -1
  95. data/lib/veewee/provider/vmfusion/box.rb +1 -1
  96. data/lib/veewee/provider/vmfusion/box/export.rb +125 -0
  97. data/lib/veewee/provider/vmfusion/box/helper/buildinfo.rb +6 -2
  98. data/lib/veewee/provider/vmfusion/box/helper/ip.rb +6 -1
  99. data/lib/veewee/provider/vmfusion/box/poweroff.rb +1 -1
  100. data/lib/veewee/provider/vmfusion/box/ssh.rb +1 -1
  101. data/lib/veewee/provider/vmfusion/box/template.rb +10 -3
  102. data/lib/veewee/provider/vmfusion/box/template.vmx.erb +19 -5
  103. data/lib/veewee/templates/Vagrantfile.erb +11 -0
  104. data/lib/veewee/version.rb +1 -1
  105. data/templates/.ubuntu/base.sh +20 -0
  106. data/templates/.ubuntu/chef.sh +49 -0
  107. data/templates/.ubuntu/cleanup.sh +25 -0
  108. data/templates/.ubuntu/puppet.sh +15 -0
  109. data/templates/.ubuntu/ruby.sh +7 -0
  110. data/templates/.ubuntu/vagrant.sh +27 -0
  111. data/templates/.ubuntu/virtualbox.sh +15 -0
  112. data/templates/.ubuntu/zerodisk.sh +11 -0
  113. data/templates/CentOS-4.8-i386/ks.cfg +3 -3
  114. data/templates/CentOS-4.8-i386/postinstall.sh +3 -0
  115. data/templates/CentOS-5.5-i386-netboot/definition.rb +1 -1
  116. data/templates/CentOS-5.5-i386-netboot/ks.cfg +3 -3
  117. data/templates/CentOS-5.5-i386-netboot/postinstall.sh +3 -0
  118. data/templates/CentOS-5.5-x86_64-netboot/definition.rb +1 -1
  119. data/templates/CentOS-5.5-x86_64-netboot/ks.cfg +3 -3
  120. data/templates/CentOS-5.5-x86_64-netboot/postinstall.sh +4 -0
  121. data/templates/CentOS-5.6-i386-netboot/definition.rb +1 -1
  122. data/templates/CentOS-5.6-i386-netboot/ks.cfg +3 -3
  123. data/templates/CentOS-5.6-i386/ks.cfg +3 -3
  124. data/templates/CentOS-5.6-i386/postinstall.sh +3 -0
  125. data/templates/CentOS-5.6-x86_64-netboot-packages/definition.rb +1 -1
  126. data/templates/CentOS-5.6-x86_64-netboot-packages/ks.cfg +3 -3
  127. data/templates/CentOS-5.6-x86_64-netboot-packages/postinstall.sh +3 -0
  128. data/templates/CentOS-5.6-x86_64-netboot/definition.rb +1 -1
  129. data/templates/CentOS-5.6-x86_64-netboot/ks.cfg +3 -3
  130. data/templates/CentOS-5.6-x86_64-netboot/postinstall.sh +4 -0
  131. data/templates/CentOS-5.7-i386-netboot/definition.rb +1 -1
  132. data/templates/CentOS-5.7-i386-netboot/ks.cfg +3 -3
  133. data/templates/CentOS-5.7-i386-netboot/postinstall.sh +3 -0
  134. data/templates/CentOS-5.7-x86_64-netboot/definition.rb +1 -1
  135. data/templates/CentOS-5.7-x86_64-netboot/ks.cfg +3 -3
  136. data/templates/CentOS-5.7-x86_64-netboot/postinstall.sh +3 -0
  137. data/templates/CentOS-5.8-i386-netboot/definition.rb +1 -1
  138. data/templates/CentOS-5.8-i386-netboot/ks.cfg +3 -3
  139. data/templates/CentOS-5.8-i386-netboot/postinstall.sh +3 -0
  140. data/templates/CentOS-5.8-i386/definition.rb +1 -1
  141. data/templates/CentOS-5.8-i386/ks.cfg +3 -3
  142. data/templates/CentOS-5.8-i386/postinstall.sh +3 -0
  143. data/templates/CentOS-5.8-x86_64-netboot/definition.rb +1 -1
  144. data/templates/CentOS-5.8-x86_64-netboot/ks.cfg +5 -5
  145. data/templates/CentOS-5.8-x86_64-netboot/postinstall.sh +3 -0
  146. data/templates/CentOS-5.8-x86_64-reallyminimal/README.md +3 -0
  147. data/templates/CentOS-5.8-x86_64-reallyminimal/definition.rb +33 -0
  148. data/templates/CentOS-5.8-x86_64-reallyminimal/ks.cfg +102 -0
  149. data/templates/CentOS-5.8-x86_64-reallyminimal/postinstall.sh +132 -0
  150. data/templates/CentOS-5.8-x86_64/definition.rb +1 -1
  151. data/templates/CentOS-5.8-x86_64/ks.cfg +3 -3
  152. data/templates/CentOS-5.8-x86_64/postinstall.sh +3 -0
  153. data/templates/CentOS-5.9-i386-netboot/base.sh +9 -0
  154. data/templates/CentOS-5.9-i386-netboot/cfengine.sh +69 -0
  155. data/templates/CentOS-5.9-i386-netboot/chef.sh +3 -0
  156. data/templates/CentOS-5.9-i386-netboot/cleanup.sh +7 -0
  157. data/templates/CentOS-5.9-i386-netboot/definition.rb +43 -0
  158. data/templates/CentOS-5.9-i386-netboot/ks.cfg +47 -0
  159. data/templates/CentOS-5.9-i386-netboot/puppet.sh +18 -0
  160. data/templates/CentOS-5.9-i386-netboot/ruby.sh +12 -0
  161. data/templates/CentOS-5.9-i386-netboot/vagrant.sh +18 -0
  162. data/templates/CentOS-5.9-i386-netboot/virtualbox.sh +8 -0
  163. data/templates/CentOS-5.9-i386-netboot/vmfusion.sh +7 -0
  164. data/templates/{Debian-7.0-b4-amd64-netboot → CentOS-5.9-i386-netboot}/zerodisk.sh +0 -0
  165. data/templates/CentOS-5.9-i386/base.sh +9 -0
  166. data/templates/CentOS-5.9-i386/cfengine.sh +69 -0
  167. data/templates/CentOS-5.9-i386/chef.sh +3 -0
  168. data/templates/CentOS-5.9-i386/cleanup.sh +7 -0
  169. data/templates/CentOS-5.9-i386/definition.rb +43 -0
  170. data/templates/CentOS-5.9-i386/ks.cfg +47 -0
  171. data/templates/CentOS-5.9-i386/puppet.sh +18 -0
  172. data/templates/CentOS-5.9-i386/ruby.sh +12 -0
  173. data/templates/CentOS-5.9-i386/vagrant.sh +18 -0
  174. data/templates/CentOS-5.9-i386/virtualbox.sh +8 -0
  175. data/templates/CentOS-5.9-i386/vmfusion.sh +7 -0
  176. data/templates/{Debian-7.0-b4-i386-netboot → CentOS-5.9-i386}/zerodisk.sh +0 -0
  177. data/templates/CentOS-5.9-x86_64-netboot/base.sh +9 -0
  178. data/templates/CentOS-5.9-x86_64-netboot/cfengine.sh +69 -0
  179. data/templates/CentOS-5.9-x86_64-netboot/chef.sh +3 -0
  180. data/templates/CentOS-5.9-x86_64-netboot/cleanup.sh +7 -0
  181. data/templates/CentOS-5.9-x86_64-netboot/definition.rb +43 -0
  182. data/templates/CentOS-5.9-x86_64-netboot/ks.cfg +47 -0
  183. data/templates/CentOS-5.9-x86_64-netboot/puppet.sh +18 -0
  184. data/templates/CentOS-5.9-x86_64-netboot/ruby.sh +12 -0
  185. data/templates/CentOS-5.9-x86_64-netboot/vagrant.sh +18 -0
  186. data/templates/CentOS-5.9-x86_64-netboot/virtualbox.sh +8 -0
  187. data/templates/CentOS-5.9-x86_64-netboot/vmfusion.sh +7 -0
  188. data/templates/CentOS-5.9-x86_64-netboot/zerodisk.sh +3 -0
  189. data/templates/CentOS-5.9-x86_64/base.sh +9 -0
  190. data/templates/CentOS-5.9-x86_64/cfengine.sh +69 -0
  191. data/templates/CentOS-5.9-x86_64/chef.sh +3 -0
  192. data/templates/CentOS-5.9-x86_64/cleanup.sh +7 -0
  193. data/templates/CentOS-5.9-x86_64/definition.rb +43 -0
  194. data/templates/CentOS-5.9-x86_64/ks.cfg +47 -0
  195. data/templates/CentOS-5.9-x86_64/puppet.sh +18 -0
  196. data/templates/CentOS-5.9-x86_64/ruby.sh +12 -0
  197. data/templates/CentOS-5.9-x86_64/vagrant.sh +18 -0
  198. data/templates/CentOS-5.9-x86_64/virtualbox.sh +8 -0
  199. data/templates/CentOS-5.9-x86_64/vmfusion.sh +7 -0
  200. data/templates/CentOS-5.9-x86_64/zerodisk.sh +3 -0
  201. data/templates/CentOS-6.0-i386-netboot/base.sh +3 -0
  202. data/templates/CentOS-6.0-i386-netboot/definition.rb +1 -1
  203. data/templates/CentOS-6.0-i386-netboot/puppet.sh +7 -1
  204. data/templates/CentOS-6.0-i386/base.sh +2 -0
  205. data/templates/CentOS-6.0-i386/definition.rb +1 -1
  206. data/templates/CentOS-6.0-i386/puppet.sh +7 -1
  207. data/templates/CentOS-6.0-x86_64-minimal/base.sh +2 -0
  208. data/templates/CentOS-6.0-x86_64-minimal/definition.rb +2 -2
  209. data/templates/CentOS-6.0-x86_64-minimal/puppet.sh +7 -1
  210. data/templates/CentOS-6.0-x86_64-netboot/base.sh +2 -0
  211. data/templates/CentOS-6.0-x86_64-netboot/definition.rb +2 -2
  212. data/templates/CentOS-6.0-x86_64-netboot/puppet.sh +7 -1
  213. data/templates/CentOS-6.0-x86_64/base.sh +2 -0
  214. data/templates/CentOS-6.0-x86_64/definition.rb +2 -2
  215. data/templates/CentOS-6.0-x86_64/puppet.sh +7 -1
  216. data/templates/CentOS-6.1-x86_64-minimal/base.sh +2 -0
  217. data/templates/CentOS-6.1-x86_64-minimal/definition.rb +2 -2
  218. data/templates/CentOS-6.1-x86_64-minimal/puppet.sh +7 -1
  219. data/templates/CentOS-6.1-x86_64-netboot/base.sh +2 -0
  220. data/templates/CentOS-6.1-x86_64-netboot/definition.rb +2 -2
  221. data/templates/CentOS-6.1-x86_64-netboot/puppet.sh +7 -1
  222. data/templates/CentOS-6.2-i386-minimal/base.sh +2 -0
  223. data/templates/CentOS-6.2-i386-minimal/definition.rb +1 -1
  224. data/templates/CentOS-6.2-i386-minimal/puppet.sh +7 -1
  225. data/templates/CentOS-6.2-x86_64-minimal/base.sh +2 -0
  226. data/templates/CentOS-6.2-x86_64-minimal/definition.rb +2 -2
  227. data/templates/CentOS-6.2-x86_64-minimal/puppet.sh +7 -1
  228. data/templates/CentOS-6.2-x86_64-netboot/definition.rb +2 -2
  229. data/templates/CentOS-6.2-x86_64-netboot/puppet.sh +7 -1
  230. data/templates/CentOS-6.3-i386-minimal/base.sh +2 -0
  231. data/templates/CentOS-6.3-i386-minimal/puppet.sh +7 -1
  232. data/templates/CentOS-6.3-x86_64-minimal/base.sh +2 -0
  233. data/templates/CentOS-6.3-x86_64-minimal/definition.rb +1 -1
  234. data/templates/CentOS-6.3-x86_64-minimal/puppet.sh +7 -1
  235. data/templates/CentOS-6.3-x86_64-netboot/base.sh +2 -0
  236. data/templates/CentOS-6.3-x86_64-netboot/cfengine.sh +69 -0
  237. data/templates/CentOS-6.3-x86_64-netboot/definition.rb +1 -1
  238. data/templates/CentOS-6.3-x86_64-netboot/puppet.sh +7 -1
  239. data/templates/CentOS-6.3-x86_64-reallyminimal/README.md +12 -0
  240. data/templates/CentOS-6.3-x86_64-reallyminimal/definition.rb +33 -0
  241. data/templates/CentOS-6.3-x86_64-reallyminimal/ks.cfg +100 -0
  242. data/templates/CentOS-6.3-x86_64-reallyminimal/postinstall.sh +138 -0
  243. data/templates/CentOS-6.4-i386-minimal/base.sh +16 -0
  244. data/templates/CentOS-6.4-i386-minimal/chef.sh +2 -0
  245. data/templates/CentOS-6.4-i386-minimal/cleanup.sh +8 -0
  246. data/templates/CentOS-6.4-i386-minimal/definition.rb +38 -0
  247. data/templates/CentOS-6.4-i386-minimal/ks.cfg +36 -0
  248. data/templates/CentOS-6.4-i386-minimal/puppet.sh +18 -0
  249. data/templates/CentOS-6.4-i386-minimal/vagrant.sh +18 -0
  250. data/templates/CentOS-6.4-i386-minimal/virtualbox.sh +8 -0
  251. data/templates/CentOS-6.4-i386-minimal/vmfusion.sh +7 -0
  252. data/templates/CentOS-6.4-i386-minimal/zerodisk.sh +3 -0
  253. data/templates/CentOS-6.4-i386-netboot/base.sh +16 -0
  254. data/templates/CentOS-6.4-i386-netboot/cfengine.sh +69 -0
  255. data/templates/CentOS-6.4-i386-netboot/chef.sh +3 -0
  256. data/templates/CentOS-6.4-i386-netboot/cleanup.sh +8 -0
  257. data/templates/CentOS-6.4-i386-netboot/definition.rb +40 -0
  258. data/templates/CentOS-6.4-i386-netboot/ks.cfg +41 -0
  259. data/templates/CentOS-6.4-i386-netboot/puppet.sh +18 -0
  260. data/templates/CentOS-6.4-i386-netboot/ruby.sh +3 -0
  261. data/templates/CentOS-6.4-i386-netboot/vagrant.sh +18 -0
  262. data/templates/CentOS-6.4-i386-netboot/virtualbox.sh +8 -0
  263. data/templates/CentOS-6.4-i386-netboot/vmfusion.sh +7 -0
  264. data/templates/CentOS-6.4-i386-netboot/zerodisk.sh +3 -0
  265. data/templates/CentOS-6.4-x86_64-minimal/base.sh +16 -0
  266. data/templates/CentOS-6.4-x86_64-minimal/chef.sh +2 -0
  267. data/templates/CentOS-6.4-x86_64-minimal/cleanup.sh +8 -0
  268. data/templates/CentOS-6.4-x86_64-minimal/definition.rb +38 -0
  269. data/templates/CentOS-6.4-x86_64-minimal/ks.cfg +36 -0
  270. data/templates/CentOS-6.4-x86_64-minimal/puppet.sh +18 -0
  271. data/templates/CentOS-6.4-x86_64-minimal/vagrant.sh +18 -0
  272. data/templates/CentOS-6.4-x86_64-minimal/virtualbox.sh +8 -0
  273. data/templates/CentOS-6.4-x86_64-minimal/vmfusion.sh +7 -0
  274. data/templates/CentOS-6.4-x86_64-minimal/zerodisk.sh +3 -0
  275. data/templates/CentOS-6.4-x86_64-netboot/base.sh +16 -0
  276. data/templates/CentOS-6.4-x86_64-netboot/cfengine.sh +69 -0
  277. data/templates/CentOS-6.4-x86_64-netboot/chef.sh +3 -0
  278. data/templates/CentOS-6.4-x86_64-netboot/cleanup.sh +8 -0
  279. data/templates/CentOS-6.4-x86_64-netboot/definition.rb +40 -0
  280. data/templates/CentOS-6.4-x86_64-netboot/ks.cfg +41 -0
  281. data/templates/CentOS-6.4-x86_64-netboot/puppet.sh +18 -0
  282. data/templates/CentOS-6.4-x86_64-netboot/ruby.sh +3 -0
  283. data/templates/CentOS-6.4-x86_64-netboot/vagrant.sh +18 -0
  284. data/templates/CentOS-6.4-x86_64-netboot/virtualbox.sh +8 -0
  285. data/templates/CentOS-6.4-x86_64-netboot/vmfusion.sh +7 -0
  286. data/templates/CentOS-6.4-x86_64-netboot/zerodisk.sh +3 -0
  287. data/templates/Debian-5.0.10-amd64-netboot/base.sh +4 -0
  288. data/templates/Debian-5.0.10-amd64-netboot/definition.rb +10 -1
  289. data/templates/Debian-5.0.10-amd64-netboot/preseed.cfg +5 -3
  290. data/templates/Debian-5.0.10-amd64-netboot/ruby.sh +7 -6
  291. data/templates/Debian-5.0.10-amd64-netboot/vagrant.sh +4 -0
  292. data/templates/Debian-5.0.10-amd64-netboot/virtualbox.sh +12 -7
  293. data/templates/Debian-5.0.10-amd64-netboot/zerodisk.sh +3 -0
  294. data/templates/Debian-5.0.10-i386-netboot/base.sh +4 -0
  295. data/templates/Debian-5.0.10-i386-netboot/definition.rb +10 -1
  296. data/templates/Debian-5.0.10-i386-netboot/preseed.cfg +5 -3
  297. data/templates/Debian-5.0.10-i386-netboot/ruby.sh +7 -6
  298. data/templates/Debian-5.0.10-i386-netboot/vagrant.sh +4 -0
  299. data/templates/Debian-5.0.10-i386-netboot/virtualbox.sh +12 -7
  300. data/templates/Debian-5.0.10-i386-netboot/zerodisk.sh +3 -0
  301. data/templates/Debian-5.0.8-amd64-netboot/base.sh +4 -0
  302. data/templates/Debian-5.0.8-amd64-netboot/definition.rb +10 -1
  303. data/templates/Debian-5.0.8-amd64-netboot/preseed.cfg +5 -3
  304. data/templates/Debian-5.0.8-amd64-netboot/vagrant.sh +4 -0
  305. data/templates/Debian-5.0.8-amd64-netboot/virtualbox.sh +12 -7
  306. data/templates/Debian-5.0.8-amd64-netboot/zerodisk.sh +3 -0
  307. data/templates/Debian-5.0.8-i386-netboot/base.sh +4 -0
  308. data/templates/Debian-5.0.8-i386-netboot/definition.rb +10 -1
  309. data/templates/Debian-5.0.8-i386-netboot/preseed.cfg +5 -3
  310. data/templates/Debian-5.0.8-i386-netboot/vagrant.sh +4 -0
  311. data/templates/Debian-5.0.8-i386-netboot/virtualbox.sh +12 -7
  312. data/templates/Debian-5.0.8-i386-netboot/zerodisk.sh +3 -0
  313. data/templates/Debian-6.0.3-amd64-netboot/definition.rb +3 -1
  314. data/templates/Debian-6.0.3-amd64-netboot/preseed.cfg +2 -2
  315. data/templates/Debian-6.0.3-i386-netboot/definition.rb +3 -1
  316. data/templates/Debian-6.0.3-i386-netboot/preseed.cfg +2 -2
  317. data/templates/Debian-6.0.4-amd64-netboot/definition.rb +3 -1
  318. data/templates/Debian-6.0.4-amd64-netboot/preseed.cfg +2 -2
  319. data/templates/Debian-6.0.4-i386-netboot/definition.rb +4 -2
  320. data/templates/Debian-6.0.4-i386-netboot/preseed.cfg +2 -2
  321. data/templates/Debian-6.0.5-amd64-netboot/definition.rb +3 -1
  322. data/templates/Debian-6.0.5-amd64-netboot/preseed.cfg +2 -2
  323. data/templates/Debian-6.0.5-i386-netboot/definition.rb +3 -1
  324. data/templates/Debian-6.0.5-i386-netboot/preseed.cfg +3 -3
  325. data/templates/Debian-6.0.6-amd64-netboot/base.sh +6 -2
  326. data/templates/Debian-6.0.6-amd64-netboot/chef.sh +1 -1
  327. data/templates/Debian-6.0.6-amd64-netboot/definition.rb +5 -3
  328. data/templates/Debian-6.0.6-amd64-netboot/preseed.cfg +2 -2
  329. data/templates/Debian-6.0.6-amd64-netboot/puppet.sh +1 -1
  330. data/templates/Debian-6.0.6-amd64-netboot/ruby.sh +25 -9
  331. data/templates/Debian-6.0.6-amd64-netboot/vagrant.sh +0 -2
  332. data/templates/Debian-6.0.6-amd64-netboot/virtualbox.sh +17 -12
  333. data/templates/Debian-6.0.6-amd64-netboot/vmfusion.sh +7 -0
  334. data/templates/Debian-6.0.6-i386-netboot/base.sh +0 -1
  335. data/templates/Debian-6.0.6-i386-netboot/cleanup.sh +1 -0
  336. data/templates/Debian-6.0.6-i386-netboot/definition.rb +11 -2
  337. data/templates/Debian-6.0.6-i386-netboot/preseed.cfg +3 -3
  338. data/templates/Debian-6.0.6-i386-netboot/virtualbox.sh +3 -0
  339. data/templates/Debian-6.0.7-amd64-netboot/base.sh +27 -0
  340. data/templates/{Debian-7.0-b4-amd64-netboot → Debian-6.0.7-amd64-netboot}/chef.sh +0 -0
  341. data/templates/{Debian-6.0.6-amd64-netboot → Debian-6.0.7-amd64-netboot}/cleanup-virtualbox.sh +0 -0
  342. data/templates/{Debian-7.0-b4-amd64-netboot → Debian-6.0.7-amd64-netboot}/cleanup.sh +0 -0
  343. data/templates/Debian-6.0.7-amd64-netboot/definition.rb +50 -0
  344. data/templates/{Debian-7.0-b4-i386-netboot → Debian-6.0.7-amd64-netboot}/preseed.cfg +2 -2
  345. data/templates/Debian-6.0.7-amd64-netboot/puppet.sh +7 -0
  346. data/templates/Debian-6.0.7-amd64-netboot/ruby.sh +10 -0
  347. data/templates/{Debian-7.0-b4-amd64-netboot → Debian-6.0.7-amd64-netboot}/vagrant.sh +0 -0
  348. data/templates/{Debian-7.0-b4-amd64-netboot → Debian-6.0.7-amd64-netboot}/virtualbox.sh +6 -1
  349. data/templates/Debian-6.0.7-amd64-netboot/vmfusion.sh +7 -0
  350. data/templates/Debian-6.0.7-amd64-netboot/zerodisk.sh +3 -0
  351. data/templates/Debian-6.0.7-i386-netboot/base.sh +26 -0
  352. data/templates/{Debian-7.0-b4-i386-netboot → Debian-6.0.7-i386-netboot}/chef.sh +0 -0
  353. data/templates/{Debian-7.0-b4-amd64-netboot → Debian-6.0.7-i386-netboot}/cleanup-virtualbox.sh +0 -0
  354. data/templates/Debian-6.0.7-i386-netboot/cleanup.sh +18 -0
  355. data/templates/Debian-6.0.7-i386-netboot/definition.rb +59 -0
  356. data/templates/Debian-6.0.7-i386-netboot/preseed.cfg +315 -0
  357. data/templates/Debian-6.0.7-i386-netboot/puppet.sh +7 -0
  358. data/templates/{Debian-7.0-b4-amd64-netboot → Debian-6.0.7-i386-netboot}/ruby.sh +0 -0
  359. data/templates/{Debian-7.0-b4-i386-netboot → Debian-6.0.7-i386-netboot}/vagrant.sh +0 -0
  360. data/templates/{Debian-7.0-b4-i386-netboot → Debian-6.0.7-i386-netboot}/virtualbox.sh +3 -0
  361. data/templates/Debian-6.0.7-i386-netboot/vmfusion.sh +7 -0
  362. data/templates/Debian-6.0.7-i386-netboot/zerodisk.sh +3 -0
  363. data/templates/Debian-7.0-amd64-netboot/base.sh +25 -0
  364. data/templates/Debian-7.0-amd64-netboot/chef.sh +49 -0
  365. data/templates/{Debian-7.0-b4-i386-netboot → Debian-7.0-amd64-netboot}/cleanup-virtualbox.sh +0 -0
  366. data/templates/Debian-7.0-amd64-netboot/cleanup.sh +18 -0
  367. data/templates/Debian-7.0-amd64-netboot/definition.rb +55 -0
  368. data/templates/{Debian-7.0-b4-amd64-netboot → Debian-7.0-amd64-netboot}/preseed.cfg +4 -4
  369. data/templates/Debian-7.0-amd64-netboot/puppet.sh +7 -0
  370. data/templates/{Debian-7.0-b4-i386-netboot → Debian-7.0-amd64-netboot}/ruby.sh +0 -0
  371. data/templates/Debian-7.0-amd64-netboot/vagrant.sh +21 -0
  372. data/templates/Debian-7.0-amd64-netboot/virtualbox.sh +34 -0
  373. data/templates/Debian-7.0-amd64-netboot/vmfusion.sh +7 -0
  374. data/templates/Debian-7.0-amd64-netboot/zerodisk.sh +3 -0
  375. data/templates/{Debian-7.0-b4-amd64-netboot → Debian-7.0-i386-netboot}/base.sh +1 -1
  376. data/templates/Debian-7.0-i386-netboot/chef.sh +2 -0
  377. data/templates/Debian-7.0-i386-netboot/cleanup-virtualbox.sh +4 -0
  378. data/templates/{Debian-7.0-b4-i386-netboot → Debian-7.0-i386-netboot}/cleanup.sh +0 -0
  379. data/templates/Debian-7.0-i386-netboot/definition.rb +56 -0
  380. data/templates/Debian-7.0-i386-netboot/preseed.cfg +315 -0
  381. data/templates/Debian-7.0-i386-netboot/puppet.sh +7 -0
  382. data/templates/Debian-7.0-i386-netboot/ruby.sh +10 -0
  383. data/templates/Debian-7.0-i386-netboot/vagrant.sh +23 -0
  384. data/templates/Debian-7.0-i386-netboot/virtualbox.sh +34 -0
  385. data/templates/Debian-7.0-i386-netboot/vmfusion.sh +7 -0
  386. data/templates/Debian-7.0-i386-netboot/zerodisk.sh +3 -0
  387. data/templates/Debian-7.1.0-amd64-netboot/base.sh +25 -0
  388. data/templates/Debian-7.1.0-amd64-netboot/chef.sh +49 -0
  389. data/templates/Debian-7.1.0-amd64-netboot/cleanup-virtualbox.sh +4 -0
  390. data/templates/Debian-7.1.0-amd64-netboot/cleanup.sh +18 -0
  391. data/templates/Debian-7.1.0-amd64-netboot/definition.rb +53 -0
  392. data/templates/Debian-7.1.0-amd64-netboot/preseed.cfg +313 -0
  393. data/templates/Debian-7.1.0-amd64-netboot/puppet.sh +7 -0
  394. data/templates/Debian-7.1.0-amd64-netboot/ruby.sh +10 -0
  395. data/templates/Debian-7.1.0-amd64-netboot/vagrant.sh +21 -0
  396. data/templates/Debian-7.1.0-amd64-netboot/virtualbox.sh +34 -0
  397. data/templates/Debian-7.1.0-amd64-netboot/vmfusion.sh +7 -0
  398. data/templates/Debian-7.1.0-amd64-netboot/zerodisk.sh +3 -0
  399. data/templates/{Debian-7.0-b4-i386-netboot → Debian-7.1.0-i386-netboot}/base.sh +1 -1
  400. data/templates/Debian-7.1.0-i386-netboot/chef.sh +2 -0
  401. data/templates/Debian-7.1.0-i386-netboot/cleanup-virtualbox.sh +4 -0
  402. data/templates/Debian-7.1.0-i386-netboot/cleanup.sh +17 -0
  403. data/templates/{Debian-7.0-b4-i386-netboot → Debian-7.1.0-i386-netboot}/definition.rb +5 -5
  404. data/templates/Debian-7.1.0-i386-netboot/preseed.cfg +315 -0
  405. data/templates/Debian-7.1.0-i386-netboot/puppet.sh +7 -0
  406. data/templates/Debian-7.1.0-i386-netboot/ruby.sh +10 -0
  407. data/templates/Debian-7.1.0-i386-netboot/vagrant.sh +23 -0
  408. data/templates/Debian-7.1.0-i386-netboot/virtualbox.sh +34 -0
  409. data/templates/Debian-7.1.0-i386-netboot/vmfusion.sh +7 -0
  410. data/templates/Debian-7.1.0-i386-netboot/zerodisk.sh +3 -0
  411. data/templates/Debian-7.2.0-amd64-netboot/base.sh +25 -0
  412. data/templates/Debian-7.2.0-amd64-netboot/chef.sh +49 -0
  413. data/templates/Debian-7.2.0-amd64-netboot/cleanup-virtualbox.sh +4 -0
  414. data/templates/Debian-7.2.0-amd64-netboot/cleanup.sh +18 -0
  415. data/templates/Debian-7.2.0-amd64-netboot/definition.rb +53 -0
  416. data/templates/Debian-7.2.0-amd64-netboot/preseed.cfg +313 -0
  417. data/templates/Debian-7.2.0-amd64-netboot/puppet.sh +7 -0
  418. data/templates/Debian-7.2.0-amd64-netboot/ruby.sh +10 -0
  419. data/templates/Debian-7.2.0-amd64-netboot/vagrant.sh +21 -0
  420. data/templates/Debian-7.2.0-amd64-netboot/virtualbox.sh +34 -0
  421. data/templates/Debian-7.2.0-amd64-netboot/vmfusion.sh +7 -0
  422. data/templates/Debian-7.2.0-amd64-netboot/zerodisk.sh +3 -0
  423. data/templates/Debian-7.2.0-i386-netboot/base.sh +26 -0
  424. data/templates/Debian-7.2.0-i386-netboot/chef.sh +2 -0
  425. data/templates/Debian-7.2.0-i386-netboot/cleanup-virtualbox.sh +4 -0
  426. data/templates/Debian-7.2.0-i386-netboot/cleanup.sh +17 -0
  427. data/templates/{Debian-7.0-b4-amd64-netboot → Debian-7.2.0-i386-netboot}/definition.rb +5 -5
  428. data/templates/Debian-7.2.0-i386-netboot/preseed.cfg +315 -0
  429. data/templates/Debian-7.2.0-i386-netboot/puppet.sh +7 -0
  430. data/templates/Debian-7.2.0-i386-netboot/ruby.sh +10 -0
  431. data/templates/Debian-7.2.0-i386-netboot/vagrant.sh +23 -0
  432. data/templates/Debian-7.2.0-i386-netboot/virtualbox.sh +34 -0
  433. data/templates/Debian-7.2.0-i386-netboot/vmfusion.sh +7 -0
  434. data/templates/Debian-7.2.0-i386-netboot/zerodisk.sh +3 -0
  435. data/templates/Fedora-14-amd64-netboot/ks.cfg +3 -3
  436. data/templates/Fedora-14-amd64/ks.cfg +3 -3
  437. data/templates/Fedora-14-i386-netboot/ks.cfg +3 -3
  438. data/templates/Fedora-14-i386/ks.cfg +3 -3
  439. data/templates/Fedora-15-i386-netboot/ks.cfg +2 -2
  440. data/templates/Fedora-15-i386/ks.cfg +2 -2
  441. data/templates/Fedora-15-x86_64-netboot/ks.cfg +2 -2
  442. data/templates/Fedora-15-x86_64/definition.rb +1 -1
  443. data/templates/Fedora-15-x86_64/ks.cfg +2 -2
  444. data/templates/Fedora-16-i386/ks.cfg +2 -2
  445. data/templates/Fedora-16-x86_64-netboot/ks.cfg +2 -2
  446. data/templates/Fedora-16-x86_64/ks.cfg +2 -2
  447. data/templates/Fedora-17-i386/ks.cfg +2 -2
  448. data/templates/Fedora-17-x86_64/ks.cfg +2 -2
  449. data/templates/Fedora-18-i386/base.sh +12 -0
  450. data/templates/Fedora-18-i386/chef.sh +17 -0
  451. data/templates/Fedora-18-i386/cleanup.sh +6 -0
  452. data/templates/Fedora-18-i386/definition.rb +32 -10
  453. data/templates/Fedora-18-i386/ks.cfg +2 -2
  454. data/templates/Fedora-18-i386/puppet.sh +2 -0
  455. data/templates/Fedora-18-i386/ruby.sh +3 -0
  456. data/templates/Fedora-18-i386/vagrant.sh +18 -0
  457. data/templates/Fedora-18-i386/virtualbox.sh +8 -0
  458. data/templates/Fedora-18-i386/vmfusion.sh +7 -0
  459. data/templates/Fedora-18-i386/zerodisk.sh +3 -0
  460. data/templates/Fedora-18-x86_64/base.sh +12 -0
  461. data/templates/Fedora-18-x86_64/chef.sh +17 -0
  462. data/templates/Fedora-18-x86_64/cleanup.sh +6 -0
  463. data/templates/Fedora-18-x86_64/definition.rb +32 -10
  464. data/templates/Fedora-18-x86_64/ks.cfg +2 -2
  465. data/templates/Fedora-18-x86_64/puppet.sh +2 -0
  466. data/templates/Fedora-18-x86_64/ruby.sh +3 -0
  467. data/templates/Fedora-18-x86_64/vagrant.sh +18 -0
  468. data/templates/Fedora-18-x86_64/virtualbox.sh +8 -0
  469. data/templates/Fedora-18-x86_64/vmfusion.sh +7 -0
  470. data/templates/Fedora-18-x86_64/zerodisk.sh +3 -0
  471. data/templates/Fedora-19-i386/base.sh +9 -0
  472. data/templates/Fedora-19-i386/chef.sh +17 -0
  473. data/templates/Fedora-19-i386/cleanup.sh +6 -0
  474. data/templates/Fedora-19-i386/definition.rb +39 -0
  475. data/templates/Fedora-19-i386/ks.cfg +83 -0
  476. data/templates/Fedora-19-i386/puppet.sh +2 -0
  477. data/templates/Fedora-19-i386/ruby.sh +3 -0
  478. data/templates/Fedora-19-i386/vagrant.sh +18 -0
  479. data/templates/Fedora-19-i386/virtualbox.sh +4 -0
  480. data/templates/Fedora-19-i386/vmfusion.sh +7 -0
  481. data/templates/Fedora-19-i386/zerodisk.sh +3 -0
  482. data/templates/Fedora-19-x86_64/base.sh +9 -0
  483. data/templates/Fedora-19-x86_64/chef.sh +17 -0
  484. data/templates/Fedora-19-x86_64/cleanup.sh +6 -0
  485. data/templates/Fedora-19-x86_64/definition.rb +39 -0
  486. data/templates/Fedora-19-x86_64/ks.cfg +83 -0
  487. data/templates/Fedora-19-x86_64/puppet.sh +2 -0
  488. data/templates/Fedora-19-x86_64/ruby.sh +3 -0
  489. data/templates/Fedora-19-x86_64/vagrant.sh +18 -0
  490. data/templates/Fedora-19-x86_64/virtualbox.sh +4 -0
  491. data/templates/Fedora-19-x86_64/vmfusion.sh +7 -0
  492. data/templates/Fedora-19-x86_64/zerodisk.sh +3 -0
  493. data/templates/OSX/NOTICE.erb +23 -0
  494. data/templates/OSX/chef-omnibus.sh +6 -0
  495. data/templates/OSX/definition.rb +31 -0
  496. data/templates/OSX/fix_user_perms.sh +3 -0
  497. data/templates/OSX/postinstall.sh +28 -0
  498. data/templates/OSX/prepare_veewee_iso/prepare_veewee_iso.sh +281 -0
  499. data/templates/OSX/prepare_veewee_iso/support/10_8_AP_bomlist +34 -0
  500. data/templates/OSX/prepare_veewee_iso/support/OSInstall.collection +9 -0
  501. data/templates/OSX/prepare_veewee_iso/support/PartitionInfo.plist +0 -0
  502. data/templates/OSX/prepare_veewee_iso/support/com.vagrantup.veewee.plist +14 -0
  503. data/templates/OSX/prepare_veewee_iso/support/minstallconfig.xml +16 -0
  504. data/templates/OSX/prepare_veewee_iso/support/pkg-postinstall +25 -0
  505. data/templates/OSX/prepare_veewee_iso/support/shadowhash +1 -0
  506. data/templates/OSX/prepare_veewee_iso/support/vagrant.plist +804 -0
  507. data/templates/OSX/puppet.sh +18 -0
  508. data/templates/OSX/rvm.bash +17 -0
  509. data/templates/OSX/xcode-cli-tools.sh +19 -0
  510. data/templates/OracleLinux-5.9-i386-DVD/base.sh +26 -0
  511. data/templates/OracleLinux-5.9-i386-DVD/chef.sh +3 -0
  512. data/templates/OracleLinux-5.9-i386-DVD/cleanup.sh +8 -0
  513. data/templates/OracleLinux-5.9-i386-DVD/definition.rb +37 -0
  514. data/templates/OracleLinux-5.9-i386-DVD/ks.cfg +35 -0
  515. data/templates/OracleLinux-5.9-i386-DVD/proxy.sh +4 -0
  516. data/templates/OracleLinux-5.9-i386-DVD/puppet.sh +3 -0
  517. data/templates/OracleLinux-5.9-i386-DVD/ruby.sh +36 -0
  518. data/templates/OracleLinux-5.9-i386-DVD/vagrant.sh +21 -0
  519. data/templates/OracleLinux-5.9-i386-DVD/virtualbox.sh +8 -0
  520. data/templates/OracleLinux-5.9-i386-DVD/zerodisk.sh +3 -0
  521. data/templates/OracleLinux-5.9-x86_64-DVD/base.sh +26 -0
  522. data/templates/OracleLinux-5.9-x86_64-DVD/chef.sh +3 -0
  523. data/templates/OracleLinux-5.9-x86_64-DVD/cleanup.sh +8 -0
  524. data/templates/OracleLinux-5.9-x86_64-DVD/definition.rb +37 -0
  525. data/templates/OracleLinux-5.9-x86_64-DVD/ks.cfg +35 -0
  526. data/templates/OracleLinux-5.9-x86_64-DVD/proxy.sh +4 -0
  527. data/templates/OracleLinux-5.9-x86_64-DVD/puppet.sh +3 -0
  528. data/templates/OracleLinux-5.9-x86_64-DVD/ruby.sh +36 -0
  529. data/templates/OracleLinux-5.9-x86_64-DVD/vagrant.sh +21 -0
  530. data/templates/OracleLinux-5.9-x86_64-DVD/virtualbox.sh +8 -0
  531. data/templates/OracleLinux-5.9-x86_64-DVD/zerodisk.sh +3 -0
  532. data/templates/OracleLinux-6.3-x86_64-DVD/definition.rb +1 -0
  533. data/templates/OracleLinux-6.3-x86_64-DVD/nfs.sh +2 -0
  534. data/templates/OracleLinux-6.3-x86_64-DVD/puppet.sh +6 -0
  535. data/templates/OracleLinux-6.4-i386-DVD/base.sh +25 -0
  536. data/templates/OracleLinux-6.4-i386-DVD/chef.sh +3 -0
  537. data/templates/OracleLinux-6.4-i386-DVD/cleanup.sh +9 -0
  538. data/templates/OracleLinux-6.4-i386-DVD/definition.rb +39 -0
  539. data/templates/OracleLinux-6.4-i386-DVD/ks.cfg +36 -0
  540. data/templates/OracleLinux-6.4-i386-DVD/proxy.sh +4 -0
  541. data/templates/OracleLinux-6.4-i386-DVD/puppet.sh +10 -0
  542. data/templates/OracleLinux-6.4-i386-DVD/ruby.sh +5 -0
  543. data/templates/OracleLinux-6.4-i386-DVD/vagrant.sh +21 -0
  544. data/templates/OracleLinux-6.4-i386-DVD/virtualbox.sh +8 -0
  545. data/templates/OracleLinux-6.4-i386-DVD/zerodisk.sh +3 -0
  546. data/templates/OracleLinux-6.4-x86_64-DVD/base.sh +25 -0
  547. data/templates/OracleLinux-6.4-x86_64-DVD/chef.sh +3 -0
  548. data/templates/OracleLinux-6.4-x86_64-DVD/cleanup.sh +9 -0
  549. data/templates/OracleLinux-6.4-x86_64-DVD/definition.rb +39 -0
  550. data/templates/OracleLinux-6.4-x86_64-DVD/ks.cfg +36 -0
  551. data/templates/OracleLinux-6.4-x86_64-DVD/proxy.sh +4 -0
  552. data/templates/OracleLinux-6.4-x86_64-DVD/puppet.sh +10 -0
  553. data/templates/OracleLinux-6.4-x86_64-DVD/ruby.sh +5 -0
  554. data/templates/OracleLinux-6.4-x86_64-DVD/vagrant.sh +21 -0
  555. data/templates/OracleLinux-6.4-x86_64-DVD/virtualbox.sh +8 -0
  556. data/templates/OracleLinux-6.4-x86_64-DVD/zerodisk.sh +3 -0
  557. data/templates/SLES-11-SP2-DVD-x86_64-GM/autoinst.xml +2578 -0
  558. data/templates/SLES-11-SP2-DVD-x86_64-GM/definition.rb +33 -0
  559. data/templates/SLES-11-SP2-DVD-x86_64-GM/postinstall.sh +51 -0
  560. data/templates/VMware-ESXi-5.0u2-x86_64/definition.rb +26 -0
  561. data/templates/VMware-ESXi-5.0u2-x86_64/ks.cfg +63 -0
  562. data/templates/VMware-ESXi-5.0u2-x86_64/vagrant_key.py +6 -0
  563. data/templates/VMware-ESXi-5.0u2-x86_64/vnc_enable.sh +40 -0
  564. data/templates/VMware-ESXi-5.1-x86_64/definition.rb +27 -0
  565. data/templates/VMware-ESXi-5.1-x86_64/ks.cfg +63 -0
  566. data/templates/VMware-ESXi-5.1-x86_64/vagrant_key.py +6 -0
  567. data/templates/VMware-ESXi-5.1-x86_64/vnc_enable.sh +41 -0
  568. data/templates/archlinux-x86_64/README.md +51 -0
  569. data/templates/archlinux-x86_64/aur.sh +22 -0
  570. data/templates/archlinux-x86_64/base.sh +46 -0
  571. data/templates/archlinux-x86_64/basedevel.sh +6 -0
  572. data/templates/archlinux-x86_64/bootloader.sh +11 -0
  573. data/templates/archlinux-x86_64/chef.sh +31 -0
  574. data/templates/archlinux-x86_64/cleanup.sh +18 -0
  575. data/templates/archlinux-x86_64/definition.rb +57 -23
  576. data/templates/archlinux-x86_64/pacman.sh +28 -0
  577. data/templates/archlinux-x86_64/puppet.sh +22 -0
  578. data/templates/archlinux-x86_64/reboot.sh +22 -0
  579. data/templates/archlinux-x86_64/ruby.sh +27 -0
  580. data/templates/archlinux-x86_64/ssh.sh +18 -0
  581. data/templates/archlinux-x86_64/sudo.sh +12 -0
  582. data/templates/archlinux-x86_64/user.sh +11 -0
  583. data/templates/archlinux-x86_64/vagrant.sh +27 -0
  584. data/templates/archlinux-x86_64/virtualbox.sh +23 -0
  585. data/templates/archlinux-x86_64/zerodisk.sh +11 -0
  586. data/templates/freebsd-8.2-pcbsd-amd64/definition.rb +26 -0
  587. data/templates/freebsd-8.2-pcbsd-amd64/pcinstall.fbg.cfg +57 -0
  588. data/templates/freebsd-8.2-pcbsd-amd64/postinstall.sh +95 -0
  589. data/templates/freebsd-8.2-pcbsd-i386-netboot/pcinstall.fbg.cfg +2 -2
  590. data/templates/freebsd-8.2-pcbsd-i386-netboot/postinstall.sh +32 -30
  591. data/templates/freebsd-8.2-pcbsd-i386/pcinstall.fbg.cfg +1 -1
  592. data/templates/freebsd-8.2-pcbsd-i386/postinstall.sh +31 -29
  593. data/templates/freebsd-9.0-RELEASE-amd64/definition.rb +22 -9
  594. data/templates/freebsd-9.0-RELEASE-amd64/install.sh +103 -0
  595. data/templates/freebsd-9.0-RELEASE-amd64/postinstall.sh +72 -48
  596. data/templates/freebsd-9.1-RELEASE-amd64/definition.rb +32 -0
  597. data/templates/freebsd-9.1-RELEASE-amd64/install.sh +95 -0
  598. data/templates/freebsd-9.1-RELEASE-amd64/postinstall.csh +136 -0
  599. data/templates/funtoo-latest-x86_64/definition.rb +8 -6
  600. data/templates/funtoo-latest-x86_64/postinstall.sh +16 -0
  601. data/templates/gentoo-latest-amd64/base.sh +89 -0
  602. data/templates/gentoo-latest-amd64/chef.sh +7 -0
  603. data/templates/gentoo-latest-amd64/cleanup.sh +23 -0
  604. data/templates/gentoo-latest-amd64/cron.sh +8 -0
  605. data/templates/gentoo-latest-amd64/definition.rb +59 -0
  606. data/templates/gentoo-latest-amd64/grub.sh +23 -0
  607. data/templates/gentoo-latest-amd64/kernel.sh +109 -0
  608. data/templates/gentoo-latest-amd64/nfs.sh +11 -0
  609. data/templates/gentoo-latest-amd64/puppet.sh +7 -0
  610. data/templates/gentoo-latest-amd64/reboot.sh +4 -0
  611. data/templates/gentoo-latest-amd64/ruby.sh +17 -0
  612. data/templates/gentoo-latest-amd64/settings.sh +37 -0
  613. data/templates/gentoo-latest-amd64/syslog.sh +8 -0
  614. data/templates/gentoo-latest-amd64/vagrant.sh +57 -0
  615. data/templates/gentoo-latest-amd64/virtualbox.sh +23 -0
  616. data/templates/gentoo-latest-amd64/zerodisk.sh +15 -0
  617. data/templates/gentoo-latest-i686/base.sh +84 -0
  618. data/templates/gentoo-latest-i686/chef.sh +7 -0
  619. data/templates/gentoo-latest-i686/cleanup.sh +23 -0
  620. data/templates/gentoo-latest-i686/cron.sh +8 -0
  621. data/templates/gentoo-latest-i686/definition.rb +61 -0
  622. data/templates/gentoo-latest-i686/grub.sh +24 -0
  623. data/templates/gentoo-latest-i686/kernel.sh +109 -0
  624. data/templates/gentoo-latest-i686/nfs.sh +11 -0
  625. data/templates/gentoo-latest-i686/puppet.sh +7 -0
  626. data/templates/gentoo-latest-i686/reboot.sh +4 -0
  627. data/templates/gentoo-latest-i686/ruby_portage.sh +17 -0
  628. data/templates/gentoo-latest-i686/ruby_source.sh +15 -0
  629. data/templates/gentoo-latest-i686/settings.sh +40 -0
  630. data/templates/gentoo-latest-i686/syslog.sh +8 -0
  631. data/templates/gentoo-latest-i686/vagrant.sh +57 -0
  632. data/templates/gentoo-latest-i686/virtualbox.sh +18 -0
  633. data/templates/gentoo-latest-i686/zerodisk.sh +15 -0
  634. data/templates/nixos-minimal-0.2-i686/configuration.nix +39 -0
  635. data/templates/nixos-minimal-0.2-i686/definition.rb +50 -0
  636. data/templates/nixos-minimal-0.2-i686/postinstall.sh +28 -0
  637. data/templates/openSUSE-12.3-x86_64-NET_EN/README.md +5 -0
  638. data/templates/openSUSE-12.3-x86_64-NET_EN/autoinst.xml +211 -0
  639. data/templates/openSUSE-12.3-x86_64-NET_EN/definition.rb +37 -0
  640. data/templates/openSUSE-12.3-x86_64-NET_EN/postinstall.sh +37 -0
  641. data/templates/openSUSE-12.3-x86_64-NET_EN/virtualbox.sh +16 -0
  642. data/templates/openbsd50_amd64/definition.rb +1 -1
  643. data/templates/openbsd50_i386/definition.rb +1 -1
  644. data/templates/openbsd52_amd64/definition.rb +1 -1
  645. data/templates/openbsd52_i386/definition.rb +3 -7
  646. data/templates/openbsd52_i386_snap/README +28 -0
  647. data/templates/openbsd52_i386_snap/definition.rb +81 -0
  648. data/templates/openbsd52_i386_snap/postinstall.sh +81 -0
  649. data/templates/openbsd53_amd64/README +28 -0
  650. data/templates/openbsd53_amd64/base.sh +40 -0
  651. data/templates/openbsd53_amd64/chef.sh +2 -0
  652. data/templates/openbsd53_amd64/definition.rb +91 -0
  653. data/templates/openbsd53_amd64/puppet.sh +3 -0
  654. data/templates/openbsd53_amd64/ruby.sh +14 -0
  655. data/templates/openbsd53_amd64/vagrant.sh +27 -0
  656. data/templates/openbsd53_i386/README +28 -0
  657. data/templates/openbsd53_i386/base.sh +40 -0
  658. data/templates/openbsd53_i386/chef.sh +2 -0
  659. data/templates/openbsd53_i386/definition.rb +91 -0
  660. data/templates/openbsd53_i386/puppet.sh +3 -0
  661. data/templates/openbsd53_i386/ruby.sh +14 -0
  662. data/templates/openbsd53_i386/vagrant.sh +27 -0
  663. data/templates/openindiana-151a7-text-x86/auto_install/ai.dtd +58 -0
  664. data/templates/openindiana-151a7-text-x86/auto_install/ai_manifest.xml +241 -0
  665. data/templates/openindiana-151a7-text-x86/auto_install/configuration.dtd +44 -0
  666. data/templates/openindiana-151a7-text-x86/auto_install/default.xml +121 -0
  667. data/templates/openindiana-151a7-text-x86/auto_install/default.xml.orig +124 -0
  668. data/templates/openindiana-151a7-text-x86/auto_install/sc_profiles/static_network.xml +105 -0
  669. data/templates/openindiana-151a7-text-x86/auto_install/software.dtd +105 -0
  670. data/templates/openindiana-151a7-text-x86/auto_install/target.dtd +196 -0
  671. data/templates/openindiana-151a7-text-x86/default.xml +121 -0
  672. data/templates/openindiana-151a7-text-x86/definition.rb +56 -0
  673. data/templates/openindiana-151a7-text-x86/postinstall.sh +103 -0
  674. data/templates/scientificlinux-5.7-i386/definition.rb +16 -0
  675. data/templates/scientificlinux-5.7-i386/ks.cfg +75 -0
  676. data/templates/scientificlinux-5.7-i386/postinstall.sh +39 -0
  677. data/templates/scientificlinux-5.7-x86_64/definition.rb +16 -0
  678. data/templates/scientificlinux-5.7-x86_64/ks.cfg +75 -0
  679. data/templates/scientificlinux-5.7-x86_64/postinstall.sh +39 -0
  680. data/templates/scientificlinux-5.9-i386/definition.rb +16 -0
  681. data/templates/scientificlinux-5.9-i386/ks.cfg +75 -0
  682. data/templates/scientificlinux-5.9-i386/postinstall.sh +39 -0
  683. data/templates/scientificlinux-5.9-x86_64/definition.rb +16 -0
  684. data/templates/scientificlinux-5.9-x86_64/ks.cfg +75 -0
  685. data/templates/scientificlinux-5.9-x86_64/postinstall.sh +39 -0
  686. data/templates/scientificlinux-6.4-i386-netboot/base.sh +14 -0
  687. data/templates/scientificlinux-6.4-i386-netboot/cfengine.sh +69 -0
  688. data/templates/scientificlinux-6.4-i386-netboot/chef.sh +3 -0
  689. data/templates/scientificlinux-6.4-i386-netboot/cleanup.sh +5 -0
  690. data/templates/scientificlinux-6.4-i386-netboot/definition.rb +40 -0
  691. data/templates/scientificlinux-6.4-i386-netboot/ks.cfg +41 -0
  692. data/templates/scientificlinux-6.4-i386-netboot/puppet.sh +18 -0
  693. data/templates/scientificlinux-6.4-i386-netboot/ruby.sh +3 -0
  694. data/templates/scientificlinux-6.4-i386-netboot/vagrant.sh +18 -0
  695. data/templates/scientificlinux-6.4-i386-netboot/virtualbox.sh +8 -0
  696. data/templates/scientificlinux-6.4-i386-netboot/zerodisk.sh +3 -0
  697. data/templates/scientificlinux-6.4-x86_64-netboot/base.sh +14 -0
  698. data/templates/scientificlinux-6.4-x86_64-netboot/cfengine.sh +69 -0
  699. data/templates/scientificlinux-6.4-x86_64-netboot/chef.sh +3 -0
  700. data/templates/scientificlinux-6.4-x86_64-netboot/cleanup.sh +5 -0
  701. data/templates/scientificlinux-6.4-x86_64-netboot/definition.rb +40 -0
  702. data/templates/scientificlinux-6.4-x86_64-netboot/ks.cfg +41 -0
  703. data/templates/scientificlinux-6.4-x86_64-netboot/puppet.sh +18 -0
  704. data/templates/scientificlinux-6.4-x86_64-netboot/ruby.sh +3 -0
  705. data/templates/scientificlinux-6.4-x86_64-netboot/vagrant.sh +18 -0
  706. data/templates/scientificlinux-6.4-x86_64-netboot/virtualbox.sh +8 -0
  707. data/templates/scientificlinux-6.4-x86_64-netboot/zerodisk.sh +3 -0
  708. data/templates/solaris-10-ga-x86/README.md +39 -0
  709. data/templates/solaris-10-ga-x86/chef.sh +10 -0
  710. data/templates/solaris-10-ga-x86/cleanup.sh +18 -0
  711. data/templates/solaris-10-ga-x86/definition.rb +39 -0
  712. data/templates/solaris-10-ga-x86/jumpstart/begin +28 -0
  713. data/templates/solaris-10-ga-x86/jumpstart/finish +35 -0
  714. data/templates/solaris-10-ga-x86/jumpstart/profile +41 -0
  715. data/templates/solaris-10-ga-x86/jumpstart/rules +96 -0
  716. data/templates/solaris-10-ga-x86/jumpstart/rules.ok +2 -0
  717. data/templates/solaris-10-ga-x86/jumpstart/sysidcfg +16 -0
  718. data/templates/solaris-10-ga-x86/postinstall.sh +90 -0
  719. data/templates/solaris-10-ga-x86/puppet.sh +4 -0
  720. data/templates/solaris-10-ga-x86/update-terminfo.sh +84 -0
  721. data/templates/ubuntu-10.04.4-server-amd64-netboot/base.sh +24 -0
  722. data/templates/ubuntu-10.04.4-server-amd64-netboot/chef.sh +2 -0
  723. data/templates/ubuntu-10.04.4-server-amd64-netboot/cleanup.sh +22 -0
  724. data/templates/ubuntu-10.04.4-server-amd64-netboot/definition.rb +44 -0
  725. data/templates/ubuntu-10.04.4-server-amd64-netboot/preseed.cfg +89 -0
  726. data/templates/ubuntu-10.04.4-server-amd64-netboot/puppet.sh +7 -0
  727. data/templates/ubuntu-10.04.4-server-amd64-netboot/ruby.sh +24 -0
  728. data/templates/ubuntu-10.04.4-server-amd64-netboot/vagrant.sh +14 -0
  729. data/templates/ubuntu-10.04.4-server-amd64-netboot/virtualbox.sh +10 -0
  730. data/templates/ubuntu-10.04.4-server-amd64-netboot/vmfusion.sh +7 -0
  731. data/templates/ubuntu-10.04.4-server-amd64-netboot/zerodisk.sh +3 -0
  732. data/templates/ubuntu-10.04.4-server-amd64/base.sh +24 -0
  733. data/templates/ubuntu-10.04.4-server-amd64/chef.sh +2 -0
  734. data/templates/ubuntu-10.04.4-server-amd64/cleanup.sh +22 -0
  735. data/templates/ubuntu-10.04.4-server-amd64/definition.rb +29 -8
  736. data/templates/ubuntu-10.04.4-server-amd64/puppet.sh +7 -0
  737. data/templates/ubuntu-10.04.4-server-amd64/ruby.sh +24 -0
  738. data/templates/ubuntu-10.04.4-server-amd64/vagrant.sh +14 -0
  739. data/templates/ubuntu-10.04.4-server-amd64/virtualbox.sh +10 -0
  740. data/templates/ubuntu-10.04.4-server-amd64/vmfusion.sh +7 -0
  741. data/templates/ubuntu-10.04.4-server-amd64/zerodisk.sh +3 -0
  742. data/templates/ubuntu-10.04.4-server-i386-netboot/base.sh +24 -0
  743. data/templates/ubuntu-10.04.4-server-i386-netboot/chef.sh +2 -0
  744. data/templates/ubuntu-10.04.4-server-i386-netboot/cleanup.sh +22 -0
  745. data/templates/ubuntu-10.04.4-server-i386-netboot/definition.rb +44 -0
  746. data/templates/ubuntu-10.04.4-server-i386-netboot/preseed.cfg +89 -0
  747. data/templates/ubuntu-10.04.4-server-i386-netboot/puppet.sh +7 -0
  748. data/templates/ubuntu-10.04.4-server-i386-netboot/ruby.sh +24 -0
  749. data/templates/ubuntu-10.04.4-server-i386-netboot/vagrant.sh +14 -0
  750. data/templates/ubuntu-10.04.4-server-i386-netboot/virtualbox.sh +10 -0
  751. data/templates/ubuntu-10.04.4-server-i386-netboot/vmfusion.sh +7 -0
  752. data/templates/ubuntu-10.04.4-server-i386-netboot/zerodisk.sh +3 -0
  753. data/templates/ubuntu-10.04.4-server-i386/base.sh +24 -0
  754. data/templates/ubuntu-10.04.4-server-i386/chef.sh +2 -0
  755. data/templates/ubuntu-10.04.4-server-i386/cleanup.sh +22 -0
  756. data/templates/ubuntu-10.04.4-server-i386/definition.rb +28 -7
  757. data/templates/ubuntu-10.04.4-server-i386/puppet.sh +7 -0
  758. data/templates/ubuntu-10.04.4-server-i386/ruby.sh +24 -0
  759. data/templates/ubuntu-10.04.4-server-i386/vagrant.sh +14 -0
  760. data/templates/ubuntu-10.04.4-server-i386/virtualbox.sh +10 -0
  761. data/templates/ubuntu-10.04.4-server-i386/vmfusion.sh +7 -0
  762. data/templates/ubuntu-10.04.4-server-i386/zerodisk.sh +3 -0
  763. data/templates/ubuntu-10.10-server-amd64/base.sh +5 -2
  764. data/templates/ubuntu-10.10-server-amd64/cleanup.sh +1 -1
  765. data/templates/ubuntu-10.10-server-amd64/definition.rb +61 -35
  766. data/templates/ubuntu-10.10-server-amd64/preseed.cfg +1 -1
  767. data/templates/ubuntu-10.10-server-amd64/ruby.sh +6 -6
  768. data/templates/ubuntu-10.10-server-amd64/vagrant.sh +1 -1
  769. data/templates/ubuntu-11.04-server-amd64/definition.rb +1 -1
  770. data/templates/ubuntu-12.04.1-server-amd64-packages/postinstall.sh +2 -2
  771. data/templates/ubuntu-12.04.1-server-amd64/postinstall.sh +2 -2
  772. data/templates/ubuntu-12.04.1-server-i386-packages/postinstall.sh +1 -1
  773. data/templates/ubuntu-12.04.1-server-i386/postinstall.sh +1 -1
  774. data/templates/ubuntu-12.04.2-desktop-amd64/definition.rb +36 -0
  775. data/templates/ubuntu-12.04.2-desktop-amd64/postinstall.sh +106 -0
  776. data/templates/ubuntu-12.04.2-desktop-amd64/preseed.cfg +86 -0
  777. data/templates/ubuntu-12.04.2-server-amd64-netboot/definition.rb +36 -0
  778. data/templates/{ubuntu-10.04.4-server-i386 → ubuntu-12.04.2-server-amd64-netboot}/postinstall.sh +25 -21
  779. data/templates/ubuntu-12.04.2-server-amd64-netboot/preseed.cfg +99 -0
  780. data/templates/ubuntu-12.04.2-server-amd64-packages/definition.rb +35 -0
  781. data/templates/{ubuntu-12.10-server-i386-packages → ubuntu-12.04.2-server-amd64-packages}/postinstall.sh +14 -11
  782. data/templates/ubuntu-12.04.2-server-amd64-packages/preseed.cfg +87 -0
  783. data/templates/ubuntu-12.04.2-server-amd64/base.sh +20 -0
  784. data/templates/ubuntu-12.04.2-server-amd64/chef.sh +2 -0
  785. data/templates/ubuntu-12.04.2-server-amd64/cleanup.sh +23 -0
  786. data/templates/ubuntu-12.04.2-server-amd64/definition.rb +45 -0
  787. data/templates/ubuntu-12.04.2-server-amd64/preseed.cfg +87 -0
  788. data/templates/ubuntu-12.04.2-server-amd64/puppet.sh +7 -0
  789. data/templates/ubuntu-12.04.2-server-amd64/ruby.sh +26 -0
  790. data/templates/ubuntu-12.04.2-server-amd64/vagrant.sh +12 -0
  791. data/templates/ubuntu-12.04.2-server-amd64/virtualbox.sh +18 -0
  792. data/templates/ubuntu-12.04.2-server-amd64/vmfusion.sh +7 -0
  793. data/templates/ubuntu-12.04.2-server-amd64/vmtools.sh +33 -0
  794. data/templates/ubuntu-12.04.2-server-amd64/zerodisk.sh +3 -0
  795. data/templates/ubuntu-12.04.2-server-i386-netboot/definition.rb +36 -0
  796. data/templates/{ubuntu-10.04.4-server-amd64 → ubuntu-12.04.2-server-i386-netboot}/postinstall.sh +25 -30
  797. data/templates/ubuntu-12.04.2-server-i386-netboot/preseed.cfg +99 -0
  798. data/templates/ubuntu-12.04.2-server-i386-packages/definition.rb +35 -0
  799. data/templates/{ubuntu-12.10-server-amd64-packages → ubuntu-12.04.2-server-i386-packages}/postinstall.sh +5 -5
  800. data/templates/ubuntu-12.04.2-server-i386-packages/preseed.cfg +87 -0
  801. data/templates/ubuntu-12.04.2-server-i386/definition.rb +35 -0
  802. data/templates/ubuntu-12.04.2-server-i386/postinstall.sh +96 -0
  803. data/templates/ubuntu-12.04.2-server-i386/preseed.cfg +87 -0
  804. data/templates/ubuntu-12.04.3-desktop-i386/README.md +51 -0
  805. data/templates/ubuntu-12.04.3-desktop-i386/apt.sh +8 -0
  806. data/templates/ubuntu-12.04.3-desktop-i386/build_time.sh +1 -0
  807. data/templates/ubuntu-12.04.3-desktop-i386/chef.sh +3 -0
  808. data/templates/ubuntu-12.04.3-desktop-i386/cleanup.sh +16 -0
  809. data/templates/ubuntu-12.04.3-desktop-i386/definition.rb +57 -0
  810. data/templates/ubuntu-12.04.3-desktop-i386/preseed.cfg +106 -0
  811. data/templates/ubuntu-12.04.3-desktop-i386/puppet.sh +4 -0
  812. data/templates/ubuntu-12.04.3-desktop-i386/ruby.sh +25 -0
  813. data/templates/ubuntu-12.04.3-desktop-i386/sudo.sh +5 -0
  814. data/templates/ubuntu-12.04.3-desktop-i386/vagrant.sh +6 -0
  815. data/templates/ubuntu-12.04.3-desktop-i386/vbox.sh +18 -0
  816. data/templates/ubuntu-12.04.3-server-amd64/base.sh +20 -0
  817. data/templates/ubuntu-12.04.3-server-amd64/chef.sh +2 -0
  818. data/templates/ubuntu-12.04.3-server-amd64/cleanup.sh +23 -0
  819. data/templates/ubuntu-12.04.3-server-amd64/definition.rb +45 -0
  820. data/templates/ubuntu-12.04.3-server-amd64/preseed.cfg +87 -0
  821. data/templates/ubuntu-12.04.3-server-amd64/puppet.sh +7 -0
  822. data/templates/ubuntu-12.04.3-server-amd64/ruby.sh +26 -0
  823. data/templates/ubuntu-12.04.3-server-amd64/vagrant.sh +12 -0
  824. data/templates/ubuntu-12.04.3-server-amd64/virtualbox.sh +18 -0
  825. data/templates/ubuntu-12.04.3-server-amd64/vmfusion.sh +7 -0
  826. data/templates/ubuntu-12.04.3-server-amd64/vmtools.sh +33 -0
  827. data/templates/ubuntu-12.04.3-server-amd64/zerodisk.sh +3 -0
  828. data/templates/ubuntu-12.04.3-server-i386/apt.sh +7 -0
  829. data/templates/ubuntu-12.04.3-server-i386/build_time.sh +1 -0
  830. data/templates/ubuntu-12.04.3-server-i386/chef.sh +3 -0
  831. data/templates/ubuntu-12.04.3-server-i386/cleanup.sh +16 -0
  832. data/templates/ubuntu-12.04.3-server-i386/definition.rb +45 -0
  833. data/templates/ubuntu-12.04.3-server-i386/preseed.cfg +61 -0
  834. data/templates/ubuntu-12.04.3-server-i386/puppet.sh +4 -0
  835. data/templates/ubuntu-12.04.3-server-i386/ruby.sh +25 -0
  836. data/templates/ubuntu-12.04.3-server-i386/sudo.sh +5 -0
  837. data/templates/ubuntu-12.04.3-server-i386/vagrant.sh +6 -0
  838. data/templates/ubuntu-12.04.3-server-i386/vbox.sh +18 -0
  839. data/templates/ubuntu-12.10-desktop-amd64/definition.rb +40 -0
  840. data/templates/ubuntu-12.10-desktop-amd64/postinstall.sh +106 -0
  841. data/templates/ubuntu-12.10-desktop-amd64/preseed.cfg +86 -0
  842. data/templates/ubuntu-12.10-server-amd64-packages/base.sh +20 -0
  843. data/templates/ubuntu-12.10-server-amd64-packages/chef.sh +49 -0
  844. data/templates/ubuntu-12.10-server-amd64-packages/cleanup.sh +25 -0
  845. data/templates/ubuntu-12.10-server-amd64-packages/definition.rb +11 -2
  846. data/templates/ubuntu-12.10-server-amd64-packages/puppet.sh +15 -0
  847. data/templates/ubuntu-12.10-server-amd64-packages/ruby.sh +7 -0
  848. data/templates/ubuntu-12.10-server-amd64-packages/vagrant.sh +27 -0
  849. data/templates/ubuntu-12.10-server-amd64-packages/virtualbox.sh +15 -0
  850. data/templates/ubuntu-12.10-server-amd64-packages/zerodisk.sh +11 -0
  851. data/templates/ubuntu-12.10-server-amd64/postinstall.sh +1 -1
  852. data/templates/ubuntu-12.10-server-i386-packages/base.sh +20 -0
  853. data/templates/ubuntu-12.10-server-i386-packages/chef.sh +49 -0
  854. data/templates/ubuntu-12.10-server-i386-packages/cleanup.sh +25 -0
  855. data/templates/ubuntu-12.10-server-i386-packages/definition.rb +11 -2
  856. data/templates/ubuntu-12.10-server-i386-packages/puppet.sh +15 -0
  857. data/templates/ubuntu-12.10-server-i386-packages/ruby.sh +7 -0
  858. data/templates/ubuntu-12.10-server-i386-packages/vagrant.sh +27 -0
  859. data/templates/ubuntu-12.10-server-i386-packages/virtualbox.sh +15 -0
  860. data/templates/ubuntu-12.10-server-i386-packages/zerodisk.sh +11 -0
  861. data/templates/ubuntu-12.10-server-i386/postinstall.sh +1 -1
  862. data/templates/ubuntu-13.04-server-amd64-rvm/apt.sh +8 -0
  863. data/templates/ubuntu-13.04-server-amd64-rvm/build_time.sh +1 -0
  864. data/templates/ubuntu-13.04-server-amd64-rvm/chef.sh +1 -0
  865. data/templates/ubuntu-13.04-server-amd64-rvm/cleanup.sh +16 -0
  866. data/templates/ubuntu-13.04-server-amd64-rvm/definition.rb +45 -0
  867. data/templates/ubuntu-13.04-server-amd64-rvm/preseed.cfg +61 -0
  868. data/templates/ubuntu-13.04-server-amd64-rvm/puppet.sh +1 -0
  869. data/templates/ubuntu-13.04-server-amd64-rvm/rvm.sh +7 -0
  870. data/templates/ubuntu-13.04-server-amd64-rvm/sudo.sh +5 -0
  871. data/templates/ubuntu-13.04-server-amd64-rvm/vagrant.sh +6 -0
  872. data/templates/ubuntu-13.04-server-amd64-rvm/vbox.sh +18 -0
  873. data/templates/ubuntu-13.04-server-amd64/apt.sh +7 -0
  874. data/templates/ubuntu-13.04-server-amd64/build_time.sh +1 -0
  875. data/templates/ubuntu-13.04-server-amd64/chef.sh +3 -0
  876. data/templates/ubuntu-13.04-server-amd64/cleanup.sh +16 -0
  877. data/templates/ubuntu-13.04-server-amd64/definition.rb +45 -0
  878. data/templates/ubuntu-13.04-server-amd64/preseed.cfg +61 -0
  879. data/templates/ubuntu-13.04-server-amd64/puppet.sh +4 -0
  880. data/templates/ubuntu-13.04-server-amd64/ruby.sh +25 -0
  881. data/templates/ubuntu-13.04-server-amd64/sudo.sh +5 -0
  882. data/templates/ubuntu-13.04-server-amd64/vagrant.sh +6 -0
  883. data/templates/ubuntu-13.04-server-amd64/vbox.sh +18 -0
  884. data/templates/ubuntu-8.04.4-server-amd64/preseed.cfg +7 -7
  885. data/templates/ubuntu-8.04.4-server-i386/preseed.cfg +7 -7
  886. data/templates/windows-2008R1-serverstandard-amd64/Autounattend.xml +1 -0
  887. data/templates/windows-2008R1-serverweb-amd64/Autounattend.xml +1 -0
  888. data/templates/windows-2008R1-serverweb-amd64/install-cygwin-sshd.bat +1 -1
  889. data/templates/windows-2008R1-serverweb-i386/Autounattend.xml +6 -2
  890. data/templates/windows-2008R1-serverweb-i386/install-cygwin-sshd.bat +1 -1
  891. data/templates/windows-2008R1-serverwebcore-amd64/Autounattend.xml +1 -0
  892. data/templates/windows-2008R2-amd64/Autounattend.xml +4 -3
  893. data/templates/windows-2008R2-amd64/win7/Autounattend.xml +5 -3
  894. data/templates/windows-2008R2-serverstandard-amd64-winrm/Autounattend.xml +17 -12
  895. data/templates/windows-2008R2-serverstandard-amd64-winrm/install-vbox.bat +0 -2
  896. data/templates/windows-2008R2-serverstandard-amd64/Autounattend.xml +4 -5
  897. data/templates/windows-2008R2-serverstandard-amd64/definition.rb +3 -3
  898. data/templates/windows-2008R2-serverstandard-amd64/install-cygwin-sshd.bat +3 -2
  899. data/templates/windows-2008R2-serverweb-amd64/Autounattend.xml +4 -1
  900. data/templates/windows-2008R2-serverweb-amd64/install-cygwin-sshd.bat +1 -1
  901. data/templates/windows-2012-serverstandard-amd64/Autounattend.xml +235 -0
  902. data/templates/windows-2012-serverstandard-amd64/README.md +68 -0
  903. data/templates/windows-2012-serverstandard-amd64/definition.rb +29 -0
  904. data/templates/windows-2012-serverstandard-amd64/install-chef.bat +37 -0
  905. data/templates/windows-2012-serverstandard-amd64/install-puppet.bat +37 -0
  906. data/templates/windows-2012-serverstandard-amd64/install-vbox.bat +4 -0
  907. data/templates/windows-2012-serverstandard-amd64/oracle-cert.cer +0 -0
  908. data/templates/windows-2012R2-serverdatacenter-amd64/Autounattend.xml +235 -0
  909. data/templates/windows-2012R2-serverdatacenter-amd64/README.md +68 -0
  910. data/templates/windows-2012R2-serverdatacenter-amd64/definition.rb +33 -0
  911. data/templates/windows-2012R2-serverdatacenter-amd64/install-chef.bat +37 -0
  912. data/templates/windows-2012R2-serverdatacenter-amd64/install-puppet.bat +37 -0
  913. data/templates/windows-2012R2-serverdatacenter-amd64/install-vbox.bat +4 -0
  914. data/templates/windows-2012R2-serverdatacenter-amd64/oracle-cert.cer +0 -0
  915. data/templates/windows-7-enterprise-amd64-winrm/Autounattend.xml +17 -10
  916. data/templates/windows-7-enterprise-amd64/Autounattend.xml +4 -3
  917. data/templates/windows-7-enterprise-amd64/install-cygwin-sshd.bat +1 -1
  918. data/templates/windows-7-enterprise-i386/Autounattend.xml +4 -3
  919. data/templates/windows-7-enterprise-i386/install-cygwin-sshd.bat +1 -1
  920. data/templates/windows-7-premium-amd64/Autounattend.xml +4 -4
  921. data/templates/windows-7-professional-amd64/Autounattend.xml +4 -4
  922. data/templates/windows-7-professional-amd64/install-cygwin-sshd.bat +1 -1
  923. data/templates/windows-7-professional-amd64/postinstall.sh +2 -2
  924. data/templates/windows-7-ultimate-amd64/Autounattend.xml +4 -4
  925. data/templates/windows-7-ultimate-amd64/install-cygwin-sshd.bat +1 -1
  926. data/templates/windows-7sp1-ultimate-amd64/Autounattend.xml +4 -3
  927. data/templates/windows-7sp1-ultimate-amd64/install-cygwin-sshd.bat +2 -2
  928. data/test/build_realtest.rb +15 -5
  929. data/test/environment_test.rb +2 -1
  930. data/veewee.gemspec +6 -4
  931. metadata +689 -87
  932. data/doc/README-changes.txt +0 -20
  933. data/doc/TODO +0 -60
  934. data/doc/definition.md +0 -83
  935. data/doc/install.md +0 -16
  936. data/doc/running.md +0 -83
  937. data/doc/template.md +0 -153
  938. data/lib/veewee/provider/vmfusion/box/export_ova.rb +0 -49
  939. data/templates/Debian-5.0.10-amd64-netboot/postinstall.sh +0 -60
  940. data/templates/Debian-5.0.10-i386-netboot/postinstall.sh +0 -60
  941. data/templates/Debian-5.0.8-amd64-netboot/postinstall.sh +0 -60
  942. data/templates/Debian-5.0.8-i386-netboot/postinstall.sh +0 -60
  943. data/templates/Debian-7.0-b4-amd64-netboot/puppet.sh +0 -2
  944. data/templates/Debian-7.0-b4-i386-netboot/puppet.sh +0 -2
  945. data/templates/Fedora-18-i386/postinstall.sh +0 -40
  946. data/templates/Fedora-18-x86_64/postinstall.sh +0 -43
  947. data/templates/archlinux-i386-netboot/aif.cfg +0 -28
  948. data/templates/archlinux-i386-netboot/definition.rb +0 -26
  949. data/templates/archlinux-i386-netboot/postinstall.sh +0 -75
  950. data/templates/archlinux-i386-netboot/postinstall2.sh +0 -30
  951. data/templates/archlinux-x86_64-netboot/aif.cfg +0 -28
  952. data/templates/archlinux-x86_64-netboot/definition.rb +0 -26
  953. data/templates/archlinux-x86_64-netboot/postinstall.sh +0 -75
  954. data/templates/archlinux-x86_64-netboot/postinstall2.sh +0 -30
  955. data/templates/archlinux-x86_64/aif.cfg +0 -33
  956. data/templates/archlinux-x86_64/postinstall.sh +0 -90
  957. data/templates/archlinux-x86_64/postinstall2.sh +0 -38
  958. data/templates/gentoo-latest-i386-experimental/definition.rb +0 -45
  959. data/templates/gentoo-latest-i386-experimental/postinstall.sh +0 -184
  960. data/templates/gentoo-latest-x86_64-experimental/definition.rb +0 -45
  961. data/templates/gentoo-latest-x86_64-experimental/postinstall.sh +0 -214
  962. data/validation/features/steps/ssh_steps.old +0 -170
  963. data/validation/features/steps/veewee_steps.rb +0 -27
  964. data/validation/support/env.rb +0 -1
  965. data/validation/veewee-windows.feature +0 -34
  966. data/validation/veewee.feature +0 -45
@@ -2,6 +2,7 @@ require 'grit'
2
2
  require 'veewee/definition'
3
3
  require 'veewee/templates'
4
4
  require 'veewee/template'
5
+ require 'erb'
5
6
 
6
7
  module Veewee
7
8
  class Definitions
@@ -10,16 +11,20 @@ module Veewee
10
11
 
11
12
  def initialize(env)
12
13
  @env = env
14
+ @definitions = {}
13
15
  return self
14
16
  end
15
17
 
18
+
16
19
  def [](name)
17
- begin
18
- definition = Veewee::Definition.load(name, env)
19
- return definition
20
- rescue Veewee::DefinitionNotExist
21
- return nil
20
+ if @definitions[name].nil?
21
+ begin
22
+ @definitions[name] = Veewee::Definition.load(name, env)
23
+ rescue Veewee::DefinitionNotExist
24
+ return nil
25
+ end
22
26
  end
27
+ @definitions[name]
23
28
  end
24
29
 
25
30
  # Fetch all definitions
@@ -107,7 +112,7 @@ module Veewee
107
112
  else
108
113
  begin
109
114
  env.logger.debug("Starting copy '#{template.path}' to '#{dst_dir}'")
110
- FileUtils.cp_r(template.path + "/.", dst_dir)
115
+ FileUtils.cp_r(template.path + "/.", dst_dir, :preserve => true)
111
116
  env.logger.debug("Copy '#{template.path}' to '#{dst_dir}' succesful")
112
117
  rescue Exception => ex
113
118
  env.logger.fatal("Copy '#{template.path}' to #{dst_dir}' failed: #{ex}")
@@ -115,6 +120,22 @@ module Veewee
115
120
  end
116
121
  end
117
122
 
123
+ # If the template includes a NOTICE.erb or NOTICE.txt file, display it to the user
124
+ # .erb file takes priority, then .txt
125
+ notice_erb = File.join(dst_dir, 'NOTICE.erb')
126
+ notice_txt = File.join(dst_dir, 'NOTICE.txt')
127
+ if File.exist?(notice_erb)
128
+ template = File.read(notice_erb)
129
+ text = ERB.new(template).result(binding)
130
+ elsif File.exist?(notice_txt)
131
+ text = File.read(notice_txt)
132
+ end
133
+
134
+ if text
135
+ env.ui.warn("Template #{template_name} includes this NOTICE text you should first read:\n")
136
+ env.ui.info("#{text}\n")
137
+ end
138
+
118
139
  definition = env.definitions[definition_name]
119
140
  return definition
120
141
  end
@@ -18,8 +18,6 @@ module Veewee
18
18
  # The valid name for a Veeweefile for this environment
19
19
  attr_accessor :veewee_filename
20
20
 
21
- attr_accessor :loglevel
22
-
23
21
  # This initializes a new Veewee Environment
24
22
  # settings argument is a hash with the following options
25
23
  # - :definition_dir : where definitions are located
@@ -45,22 +43,29 @@ module Veewee
45
43
  # Hash element of all templates available
46
44
  attr_accessor :templates
47
45
 
48
- # Hash element of all templates available
46
+ # Hash element of all providers available
49
47
  attr_accessor :providers
50
48
 
51
- # Hash elelement of all OStypes
49
+ # Hash element of all OS types
52
50
  attr_reader :ostypes
53
51
 
52
+ # Path to the config file
53
+ attr_reader :config_filepath
54
+
55
+ attr_accessor :current_provider
56
+
54
57
  def initialize(options = {})
58
+ # symbolify commandline options
59
+ options = options.inject({}) {|result,(key,value)| result.update({key.to_sym => value})}
55
60
 
56
- cwd = ENV['VEEWEE_DIR'] || Dir.pwd
57
61
  # If a cwd was provided as option it overrules the default
58
- cwd = options[:cwd] if options.has_key?(:cwd)
62
+ # cwd is again merged later with all options but it has to merged here
63
+ # because several defaults are generated from it
64
+ cwd = options[:cwd] || Veewee::Environment.workdir
59
65
 
60
66
  defaults = {
61
67
  :cwd => cwd,
62
68
  :veewee_filename => "Veeweefile",
63
- :loglevel => :info,
64
69
  :definition_dir => File.join(cwd, "definitions"),
65
70
  :template_path => [File.expand_path(File.join(File.dirname(__FILE__), "..", "..", 'templates')), "templates"],
66
71
  :iso_dir => File.join(cwd, "iso"),
@@ -69,6 +74,9 @@ module Veewee
69
74
  }
70
75
 
71
76
  options = defaults.merge(options)
77
+
78
+ @config_filepath = File.join(options[:cwd], options[:veewee_filename])
79
+
72
80
  veeweefile_config = defaults.keys.inject({}) do |memo, obj|
73
81
  if config.env.methods.include?(obj) && !config.env.send(obj).nil?
74
82
  memo.merge({ obj => config.env.send(obj) })
@@ -78,13 +86,6 @@ module Veewee
78
86
  end
79
87
  options = options.merge(veeweefile_config)
80
88
 
81
- # We need to set this variable before the first call to the logger object
82
- if options.has_key?("debug")
83
- if options["debug"] == true
84
- ENV['VEEWEE_LOG'] = "STDOUT"
85
- end
86
- end
87
-
88
89
  logger.info("environment") { "Environment initialized (#{self})" }
89
90
 
90
91
  # Injecting all variables of the options and assign the variables
@@ -106,6 +107,10 @@ module Veewee
106
107
  return self
107
108
  end
108
109
 
110
+ def self.workdir
111
+ ENV['VEEWEE_DIR'] || Dir.pwd
112
+ end
113
+
109
114
  #---------------------------------------------------------------
110
115
  # Config Methods
111
116
  #---------------------------------------------------------------
@@ -156,7 +161,6 @@ module Veewee
156
161
 
157
162
  def load_config!
158
163
  @config = Config.new({ :env => self }).load_veewee_config()
159
-
160
164
  return self
161
165
  end
162
166
 
@@ -188,26 +192,31 @@ module Veewee
188
192
  def logger
189
193
  return @logger if @logger
190
194
 
191
- # Figure out where the output should go to.
192
195
  output = nil
193
- if ENV["VEEWEE_LOG"] == "STDOUT"
196
+ loglevel = Logger::ERROR
197
+
198
+ # Figure out where the output should go to.
199
+ if ENV["VEEWEE_LOG"]
194
200
  output = STDOUT
195
- elsif ENV["VEEWEE_LOG"] == "NULL"
196
- output = nil
197
- elsif ENV["VEEWEE_LOG"]
198
- output = ENV["VEEWEE_LOG"]
199
- else
200
- output = nil #log_path.join("#{Time.now.to_i}.log")
201
+ loglevel = Logger.const_get(ENV["VEEWEE_LOG"].upcase)
201
202
  end
202
203
 
203
- # Create the logger and custom formatter
204
+ # Create the logger and custom formatter
204
205
  @logger = ::Logger.new(output)
206
+ @logger.level = loglevel
205
207
  @logger.formatter = Proc.new do |severity, datetime, progname, msg|
206
208
  "#{datetime} - #{progname} - [#{resource}] #{msg}\n"
207
209
  end
208
-
209
210
  @logger
210
211
  end
211
212
 
213
+ # Get box from current provider
214
+ def get_box(name)
215
+ if current_provider.nil?
216
+ raise "Provider is unset in the environment."
217
+ else
218
+ providers[current_provider].get_box(name)
219
+ end
220
+ end
212
221
  end #Class
213
222
  end #Module
@@ -1,6 +1,6 @@
1
1
  module Veewee
2
2
  class Error < StandardError
3
- attr_reader :orginal
3
+ attr_reader :original
4
4
 
5
5
  def initialize(msg, original = $!)
6
6
  super(msg)
@@ -3,6 +3,20 @@ module Veewee
3
3
  module Core
4
4
  module BoxCommand
5
5
 
6
+ def run_hook(name)
7
+ hooks = definition.instance_variable_get(:@hooks)
8
+ if ! hooks.nil?
9
+ hook = hooks[name]
10
+ if hook.nil?
11
+ ui.info "Hook ##{name} is not defined"
12
+ else
13
+ raise Veewee::Error, "Hook is not callable" if ! hook.respond_to?(:call)
14
+ ui.info "Running ##{name} hook"
15
+ hook.call
16
+ end
17
+ end
18
+ end
19
+
6
20
  def build(options={})
7
21
 
8
22
  if definition.nil?
@@ -39,12 +53,18 @@ module Veewee
39
53
  raise Veewee::Error, "The box should have been deleted by now. Something went terribly wrong. Sorry"
40
54
  end
41
55
 
56
+ run_hook(:before_create)
57
+
42
58
  self.create(options)
43
59
 
60
+ run_hook(:after_create)
61
+
44
62
  # Check the GUI mode required
45
63
  env.logger.info "Provider asks the box to start: GUI enabled? #{!options['nogui']}"
46
64
  self.up(options)
47
65
 
66
+ run_hook(:after_up)
67
+
48
68
  # Waiting for it to boot
49
69
  ui.info "Waiting #{definition.boot_wait.to_i} seconds for the machine to boot"
50
70
  sleep definition.boot_wait.to_i
@@ -66,7 +86,10 @@ module Veewee
66
86
  })
67
87
 
68
88
  # Type the boot sequence
69
- self.console_type(boot_sequence)
89
+ Thread.new do
90
+ self.console_type(boot_sequence)
91
+ run_hook(:after_boot_sequence)
92
+ end
70
93
 
71
94
  self.handle_kickstart(options)
72
95
 
@@ -78,15 +101,22 @@ module Veewee
78
101
  sleep 2
79
102
  end
80
103
 
104
+ if ! definition.skip_iso_transfer then
105
+ self.transfer_buildinfo(options)
106
+ end
81
107
 
82
- self.transfer_buildinfo(options)
108
+ # Transfer the VEEWEE_<params> environment variables + definition.params
109
+ # into .veewee_params
110
+ self.transfer_params(options)
83
111
 
84
112
  # Filtering post install files based upon --postinstall-include and --postinstall--exclude
85
113
  definition.postinstall_files=filter_postinstall_files(options)
86
114
 
87
115
  self.handle_postinstall(options)
88
116
 
89
- ui.success "The box #{name} was build successfully!"
117
+ run_hook(:after_postinstall)
118
+
119
+ ui.success "The box #{name} was built successfully!"
90
120
  ui.info "You can now login to the box with:"
91
121
  if (definition.winrm_user && definition.winrm_password)
92
122
  env.ui.info winrm_command_string
@@ -202,7 +232,6 @@ module Veewee
202
232
  # It requires a box(to login to) and a definition(listing the postinstall files)
203
233
  def handle_postinstall(options)
204
234
 
205
- # Transfer all postinstall files
206
235
  definition.postinstall_files.each do |postinstall_file|
207
236
  # Filenames of postinstall_files are relative to their definition
208
237
  filename=File.join(definition.path,postinstall_file)
@@ -215,7 +244,7 @@ module Veewee
215
244
  # Prepare a pre_poinstall file if needed (not nil , or not empty)
216
245
  unless definition.pre_postinstall_file.to_s.empty?
217
246
  pre_filename=File.join(definition.path, definition.pre_postinstall_file)
218
- self.copy_to_box(filename,File.basename(pre_filename))
247
+ self.copy_to_box(pre_filename,File.basename(pre_filename))
219
248
  if (definition.winrm_user && definition.winrm_password)
220
249
  # not implemented on windows yet
221
250
  else
@@ -239,6 +268,8 @@ module Veewee
239
268
  # Upload the pre postinstall script if not already transfered
240
269
  command = "./" + File.basename(pre_filename)
241
270
  command = sudo(command) + " ./"+File.basename(filename)
271
+
272
+ self.exec(command)
242
273
  else
243
274
  if (definition.winrm_user && definition.winrm_password)
244
275
  # no sudo on windows, batch files only please?
@@ -248,8 +279,6 @@ module Veewee
248
279
  end
249
280
  end
250
281
 
251
- self.exec(command)
252
-
253
282
  else
254
283
  env.logger.info "Skipping postinstallfile #{postinstall_file}"
255
284
  end
@@ -278,6 +307,41 @@ module Veewee
278
307
  end
279
308
  end
280
309
 
310
+ def transfer_params(options)
311
+ filename = ".veewee_params"
312
+ content = ""
313
+
314
+ params = {}
315
+
316
+ # First check params in definition
317
+ params.merge!(definition.params) unless definition.params.nil?
318
+
319
+ # Environment vars override
320
+ veewee_env = ENV.select{|key,value| key.to_s.match(/^VEEWEE_/) }
321
+ veewee_env.each do |key,value|
322
+ params[key.gsub(/^VEEWEE_/,'')] = value
323
+ end
324
+
325
+ # Iterate over params
326
+ params.each do |key,value|
327
+ content += "export #{key}='#{value}'\n"
328
+ end
329
+
330
+ begin
331
+ infofile=Tempfile.open("#{filename}")
332
+ # Force binary mode to prevent windows from putting CR-LF end line style
333
+ # http://www.ruby-forum.com/topic/127453#568546
334
+ infofile.binmode
335
+ infofile.puts "#{content}"
336
+ infofile.rewind
337
+ infofile.close
338
+ self.copy_to_box(infofile.path,filename)
339
+ infofile.delete
340
+ rescue RuntimeError => ex
341
+ ui.error("Error transfering file #{filename} failed, possible not enough permissions to write? #{ex}",:prefix => false)
342
+ raise Veewee::Error,"Error transfering file #{filename} failed, possible not enough permissions to write? #{ex}"
343
+ end
344
+ end
281
345
 
282
346
  end #Module
283
347
  end #Module
@@ -41,7 +41,7 @@ module Veewee
41
41
  end
42
42
  rescue Net::SSH::AuthenticationFailed => ex # may want to catch winrm auth fails as well
43
43
  env.ui.error "Authentication failure"
44
- raise Veewee::SshError, "Authentication failure\n"+ex
44
+ raise Veewee::SshError, "Authentication failure\n"+ex.inspect
45
45
  end
46
46
  end
47
47
 
@@ -21,7 +21,7 @@ module Veewee
21
21
  env.logger.info "Removing previous floppy file"
22
22
  FileUtils.rm(floppy_file)
23
23
  end
24
- command="java -jar #{javacode_dir}/dir2floppy.jar \"#{temp_dir}\" \"#{floppy_file}\""
24
+ command="java -jar \"#{javacode_dir}/dir2floppy.jar\" \"#{temp_dir}\" \"#{floppy_file}\""
25
25
  shell_exec("#{command}")
26
26
  end
27
27
  end
@@ -9,10 +9,11 @@ module Veewee
9
9
 
10
10
  raise Veewee::Error,"Box is not running" unless self.running?
11
11
 
12
+ host_ip=self.ip_address
13
+
12
14
  if (options[:interactive]==true)
13
15
  # Command line options
14
16
  extended_command="#{command}"
15
- host_ip=self.ip_address
16
17
 
17
18
  unless host_ip.nil? || host_ip==""
18
19
  ssh_command="ssh #{ssh_commandline_options(options)} #{host_ip} \"#{extended_command}\""
@@ -92,4 +93,3 @@ module Veewee
92
93
  end # Module
93
94
  end # Module
94
95
  end # Module
95
-
@@ -15,47 +15,154 @@ module Veewee
15
15
  exit -1
16
16
  end
17
17
 
18
- require 'cucumber'
18
+ if definition.winrm_user && definition.winrm_password # prefer winrm
19
+ checks = checks_windows
20
+ else
21
+ checks = checks_linux
22
+ end
19
23
 
20
- require 'cucumber/rspec/disable_option_parser'
21
- require 'cucumber/cli/main'
24
+ # Some reject here based on tags
25
+ checks.reject! { |c|
26
+ tagged = false
27
+ c[:tags].each do |t|
28
+ tagged = true if tags.include?(t)
29
+ end
30
+ ! tagged
31
+ }
22
32
 
23
- # Passing ssh options via ENV varialbles to cucumber
24
- # VEEWEE_SSH_USER, VEEWEE_SSH_PASSWORD ,VEEWEE_SSH_PORT
25
- cucumber_vars=ssh_options
26
- cucumber_vars.each do |key,value|
27
- ENV['VEEWEE_'+key.to_s.upcase]=cucumber_vars[key].to_s
28
- end
33
+ # Assume clean exitcode
34
+ exitcode = 0
29
35
 
30
- # Pass the name of the box
31
- ENV['VEEWEE_BOXNAME']=@name
32
- ENV['VEEWEE_PROVIDER']=@provider.name
36
+ # Loop over checks
37
+ checks.each do |check|
38
+ if check[:sudo]
39
+ result = check_output_sudorun(check[:command],check[:expected_string])
40
+ else
41
+ result = check_output_run(check[:command],check[:expected_string])
42
+ end
33
43
 
34
- if definition.winrm_user && definition.winrm_password # prefer winrm
35
- featurefile="veewee-windows.feature"
36
- else
37
- featurefile="veewee.feature"
44
+ if result[:match]
45
+ ui.success("#{check[:description]} - OK")
46
+ else
47
+ ui.error("#{check[:description]} - FAILED")
48
+ ui.error("Command: #{check[:command]}")
49
+ ui.error("Expected string #{check[:expected_string]}")
50
+ ui.error("Output: #{check[:output]}")
51
+ exitcode = -1
52
+ end
38
53
  end
39
54
 
40
- feature_path=File.join(File.dirname(__FILE__),"..","..","..","..","..","validation",featurefile)
55
+ exit -1 if exitcode < 0
56
+ end
57
+
58
+ def check_output_sudorun(command,expected_string)
59
+ result = { :command => command,
60
+ :expected_string => expected_string,
61
+ :output => nil
62
+ }
63
+
64
+ begin
65
+ self.exec("echo '#{command}' > /tmp/validation.sh && chmod a+x /tmp/validation.sh", :mute => true)
66
+ sshresult = self.exec(self.sudo("/tmp/validation.sh"),:mute => true)
67
+
68
+ result[:output] = sshresult.stdout
69
+ result[:match] = ! sshresult.stdout.match(/#{expected_string}/).nil?
70
+ rescue
71
+ result[:match] = false
72
+ end
73
+ return result
74
+ end
41
75
 
42
- features=Array.new
43
- features[0]=feature_path
44
- features << "--tags"
45
- features << tags.map {|t| "@#{t}"}.join(',')
76
+ def check_output_run(command,expected_string)
77
+ result = { :command => command,
78
+ :expected_string => expected_string,
79
+ :output => nil
80
+ }
46
81
 
47
82
  begin
48
- # The dup is to keep ARGV intact, so that tools like ruby-debug can respawn.
49
- failure = Cucumber::Cli::Main.execute(features.dup)
50
- Kernel.exit(failure ? 1 : 0)
51
- rescue SystemExit => e
52
- Kernel.exit(e.status)
53
- rescue Exception => e
54
- ui.error("#{e.message} (#{e.class})")
55
- ui.error(e.backtrace.join("\n"))
56
- Kernel.exit(1)
83
+ sshresult = self.exec(command, {:exitcode => '*',:mute => true})
84
+ result[:output] = sshresult.stdout
85
+ result[:match] = ! sshresult.stdout.match(/#{expected_string}/).nil?
86
+ rescue
87
+ result[:match] = false
57
88
  end
89
+ return result
90
+ end
91
+
92
+ def checks_linux
93
+ return [
94
+ { :description => 'Checking user',
95
+ :tags => [ 'virtualbox','kvm', 'parallels'],
96
+ :command => 'who am i',
97
+ :expected_string => definition.ssh_user,
98
+ :sudo => false
99
+ },
100
+ { :description => 'Checking sudo',
101
+ :tags => [ 'virtualbox','kvm', 'parallels'],
102
+ :command => 'whoami',
103
+ :expected_string => 'root',
104
+ :sudo => true
105
+ },
106
+ { :description => 'Checking ruby',
107
+ :tags => [ 'virtualbox','kvm', 'parallels','ruby'],
108
+ :command => '. /etc/profile ;ruby --version 2> /dev/null 1> /dev/null; echo $?',
109
+ :expected_string => "0",
110
+ :sudo => false
111
+ },
112
+ { :description => 'Checking gem',
113
+ :tags => [ 'virtualbox','kvm', 'parallels','gem'],
114
+ :command => '. /etc/profile ;gem --version 2> /dev/null 1> /dev/null; echo $?',
115
+ :expected_string => "0",
116
+ :sudo => false
117
+ },
118
+ { :description => 'Checking chef',
119
+ :tags => [ 'chef'],
120
+ :command => '. /etc/profile ;chef-client --version 2> /dev/null 1>/dev/null; echo $?',
121
+ :expected_string => "0",
122
+ :sudo => false
123
+ },
124
+ { :description => 'Checking puppet',
125
+ :tags => [ 'puppet'],
126
+ :command => '. /etc/profile ;puppet --version 2> /dev/null 1>/dev/null; echo $?',
127
+ :expected_string => "0",
128
+ :sudo => false
129
+ },
130
+ { :description => 'Checking shared folder',
131
+ :tags => [ 'vagrant'],
132
+ :command => 'mount|grep veewee-validation; echo $?',
133
+ :expected_string => "0",
134
+ :sudo => false
135
+ }
136
+ ]
137
+ end
58
138
 
139
+ def checks_windows
140
+ return [
141
+ { :description => 'Checking user',
142
+ :tags => [ 'virtualbox','kvm','vmfusion'],
143
+ :command => 'whoami',
144
+ :expected_string => definition.ssh_user,
145
+ :sudo => false
146
+ },
147
+ { :description => 'Checking ruby',
148
+ :tags => [ 'virtualbox','kvm','vmfusion'],
149
+ :command => 'ruby --version > %TEMP%\devnull && echo %ERRORLEVEL%',
150
+ :expected_string => "0",
151
+ :sudo => false
152
+ },
153
+ { :description => 'Checking gem',
154
+ :tags => [ 'virtualbox','kvm','vmfusion'],
155
+ :command => 'gem --version > %TEMP%\devnull && echo %ERRORLEVEL%',
156
+ :expected_string => "0",
157
+ :sudo => false
158
+ },
159
+ { :description => 'Checking chef',
160
+ :tags => [ 'chef'],
161
+ :command => 'chef-client --version > %TEMP%\devnull && echo %ERRORLEVEL%',
162
+ :expected_string => "0",
163
+ :sudo => false
164
+ },
165
+ ]
59
166
  end
60
167
  end #Module
61
168