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
@@ -47,7 +47,7 @@ module Veewee
47
47
  end
48
48
 
49
49
  def allow_for_http_request(filename,options) # start in new thread
50
- s = server_for_http_request(filename,options.merge({:threaded => true}))
50
+ s = server_for_http_request(filename,options.merge({:threaded => false}))
51
51
  Thread.new { s.start }
52
52
  end
53
53
 
@@ -34,6 +34,7 @@ module Veewee
34
34
  rescue HTTPClient::ReceiveTimeoutError,HTTPClient::ConnectTimeoutError
35
35
  @winrm_up = false
36
36
  end
37
+ @winrm_up
37
38
  end
38
39
 
39
40
 
@@ -62,6 +63,8 @@ module Veewee
62
63
  @connected = true
63
64
  return true
64
65
  rescue Exception => e
66
+ @winrm_up = false
67
+ next if e.message =~ /401/ # 2012 gives 401 errors
65
68
  puts e.inspect
66
69
  puts e.message
67
70
  puts e.backtrace.inspect
@@ -41,7 +41,7 @@ module Veewee
41
41
 
42
42
  return box
43
43
  rescue Error => ex
44
- ui.error "Could not instante the box #{name} with provider #{type} ,#{ex}"
44
+ ui.error "Could not instantiate the box #{name} with provider #{type} ,#{ex}"
45
45
  raise
46
46
  end
47
47
  end
@@ -8,6 +8,7 @@ require 'veewee/provider/kvm/box/up'
8
8
  require 'veewee/provider/kvm/box/halt'
9
9
  require 'veewee/provider/kvm/box/poweroff'
10
10
  require 'veewee/provider/kvm/box/destroy'
11
+ require 'veewee/provider/kvm/box/export_vagrant'
11
12
 
12
13
  require 'veewee/provider/kvm/box/helper/ip'
13
14
  require 'veewee/provider/kvm/box/helper/ssh_options'
@@ -33,6 +34,12 @@ module Veewee
33
34
 
34
35
  @connection=::Fog::Compute[:libvirt]
35
36
 
37
+ # Many of the existing templates have disk_format set to "VDI"
38
+ # Use "qcow2" instead as a vagrant-libvirt-compatible default
39
+ definition.disk_format.downcase!
40
+ definition.disk_format = "qcow2" if definition.disk_format == "vdi"
41
+ @volume_name = "#{name}.#{definition.disk_format}"
42
+
36
43
  end
37
44
 
38
45
  end # End Class
@@ -1,4 +1,5 @@
1
1
  require 'nokogiri'
2
+ require 'fileutils'
2
3
 
3
4
  module Veewee
4
5
  module Provider
@@ -7,82 +8,49 @@ module Veewee
7
8
  # Create a new vm
8
9
  def create(options={})
9
10
  # Assemble the Virtualmachine and set all the memory and other stuff"
10
-
11
-
12
11
  create_server(options)
13
12
  create_volume(options)
13
+ add_virtio_drivers if File.exists?(File.join(definition.path, 'Autounattend.xml'))
14
14
  self.create_floppy("virtualfloppy.img")
15
+ FileUtils.move(File.join(definition.path, 'Autounattend.xml.virtio'), File.join(definition.path, 'Autounattend.xml')) if File.exists?(File.join(definition.path, 'Autounattend.xml.virtio'))
16
+ add_floppy unless definition.floppy_files.nil?
15
17
  end
16
18
 
17
19
  def create_server(options)
18
- #memory_size,cpu_count, volume_size
19
- # verify some stuff before trying to create the server
20
- kvm_options = definition.kvm[:vm_options][0]
21
- # Create the "server"
22
- attributes = {
23
- :name => name,
24
- :memory_size => definition.memory_size.to_i*1024,
25
- :cpus => definition.cpu_count.to_i,
26
- :volume_capacity => "#{definition.disk_size}M",
27
- :domain_type => options['use_emulation'] ? 'qemu': 'kvm',
28
- :iso_file => definition.iso_file,
29
- :arch => definition.os_type_id.end_with?("_64") ? "x86_64" : "i686",
30
- :iso_dir => env.config.veewee.iso_dir
31
- }
32
- # Check for network stuff (default, bridge)
33
- check_network(kvm_options, attributes)
34
- # Check for pool (storage)
35
- check_pool(kvm_options, attributes)
36
- s=@connection.servers.create(attributes)
37
- end
38
20
 
39
- # Check the network availability of the defined network for kvm
40
- def check_network(options, attributes)
41
- env.logger.info "Checking network"
42
- if options.nil? or options.empty? or options["network_type"].nil? or options["network_type"] == "network"
43
- check_default_network
44
- attributes[:network_interface_type] = "network"
45
- elsif options["network_type"] == "bridge"
46
- options["network_bridge_name"].nil?
47
- if options["network_bridge_name"].nil?
48
- raise Veewee::Error, "You need to specify a 'network_bridge_name' if you plan to use 'bridge' as network type"
49
- else
50
- attributes[:network_interface_type] = "bridge"
51
- attributes[:network_bridge_name] = "#{options["network_bridge_name"]}"
52
- end
53
- else
54
- raise Veewee::Error, "You specified a 'network_type' that isn't known (#{options["network_type"]})"
21
+ # set volume pool name to user specified volume pool and fall back to first available volume pool
22
+ if options["pool_name"]
23
+ raise Veewee::Error, "Specified storage pool #{options["pool_name"]} does not exist" if @connection.pools.select { |pool| pool.name == options["pool_name"] }.empty?
24
+ volume_pool_name = options["pool_name"]
55
25
  end
56
- end
26
+ volume_pool_name ||= @connection.pools.first.name
27
+ env.logger.info "Using storage pool #{volume_pool_name}"
57
28
 
58
- def check_default_network
59
- # Nothing specified, we check for default network
60
- conn = ::Libvirt::open("qemu:///system")
61
- networks=conn.list_networks
62
- if networks.count < 1
63
- raise Veewee::Error, "You need at least one (active) network defined or customize your definition. This needs to be available if you connect to qemu:///system."
29
+ # set network name to user specified network and fall back to default network or first available network
30
+ if options["network_name"]
31
+ raise Veewee::Error, "Specified network #{options["network_name"]} does not exist" if @connection.networks.select { |net| net.name == options["network_name"] }.empty?
32
+ network_name = options["network_name"]
64
33
  end
65
- end
34
+ network_name ||= "default" unless @connection.networks.select { |net| net.name == 'default' }.empty?
35
+ network_name ||= @connection.networks.first.name
36
+ env.logger.info "Using network #{network_name}"
66
37
 
67
- # Check the given pool and append to attributes
68
- # Note: volume_pool_name is not working in fog library version 1.7.0.
69
- # This should be fixed in the next release.
70
- def check_pool(options, attributes)
71
- env.logger.info "Checking pool storage"
72
- if not options.nil? and not options.empty? and not options["pool_name"].nil?
73
- conn = ::Libvirt::open("qemu:///system")
74
- # Checking if the pool exists and if it is active
75
- begin
76
- storage = conn.lookup_storage_pool_by_name(options["pool_name"])
77
- rescue Libvirt::RetrieveError
78
- raise Veewee::Error, "You've specified an non-existent storage pool (#{options["pool_name"]})"
79
- end
80
- if storage.active?
81
- attributes[:volume_pool_name] = options["pool_name"]
82
- else
83
- raise Veewee::Error, "The storage pool '#{options["pool_name"]}' is not started. Start it and restart the creation process"
84
- end
85
- end
38
+ # Create the "server"
39
+ attributes = {
40
+ :name => name,
41
+ :memory_size => definition.memory_size.to_i*1024,
42
+ :cpus => definition.cpu_count.to_i,
43
+ :volume_capacity => "#{definition.disk_size}M",
44
+ :domain_type => options['use_emulation'] ? 'qemu' : 'kvm',
45
+ :iso_file => definition.iso_file,
46
+ :arch => definition.os_type_id.end_with?("_64") ? "x86_64" : "i686",
47
+ :iso_dir => env.config.veewee.iso_dir,
48
+ :volume_pool_name => volume_pool_name,
49
+ :volume_format_type => definition.disk_format,
50
+ :network_nat_network => network_name
51
+ }
52
+
53
+ @connection.servers.create(attributes)
86
54
  end
87
55
 
88
56
  # Create the volume of a new vm
@@ -91,11 +59,12 @@ module Veewee
91
59
  end
92
60
 
93
61
  def add_floppy
62
+ env.logger.info 'Adding floppy disk'
94
63
  # Get a raw libvirt connection
95
- c=@connection.raw
64
+ conn = @connection.client
96
65
 
97
66
  # Retrieve the domain
98
- domain=c.lookup_domain_by_name(name)
67
+ domain=conn.lookup_domain_by_name(name)
99
68
 
100
69
  # Retrieve the existing XML from the domain
101
70
  domain_xml=domain.xml_desc
@@ -107,8 +76,8 @@ module Veewee
107
76
  devices=domain_doc.xpath('/domain/devices').first
108
77
  # The floppy xml representation
109
78
  floppy_xml="<disk type='file' device='floppy'><driver name='qemu' type='raw'/><source file='"+
110
- File.join(definitition.path,"virtualfloppy.img") +
111
- "'/><target dev='fda' bus='fdc'/><address type='drive' controller='0' bus='0' unit='0'/></disk>
79
+ File.join(definition.path, "virtualfloppy.img") +
80
+ "'/><target dev='fda' bus='fdc'/><address type='drive' controller='0' bus='0' unit='0'/></disk>
112
81
  <controller type='fdc' index='0'>"
113
82
 
114
83
  # Convert the floppy xml to nokogiri
@@ -121,10 +90,92 @@ module Veewee
121
90
  new_xml=domain_doc.to_xml
122
91
 
123
92
  # Undefine the existing domain
124
- s.undefine
93
+ domain.undefine
94
+
95
+ # Re-define the domain
96
+ conn.define_domain_xml(new_xml)
97
+ end
98
+
99
+ def add_virtio_drivers
100
+ env.logger.info 'Adding virtio drivers for windows system to the virtual machine'
101
+ # Get a raw libvirt connection
102
+ conn = @connection.client
103
+
104
+ # Retrieve the domain
105
+ domain=conn.lookup_domain_by_name(name)
106
+
107
+ # Retrieve the existing XML from the domain
108
+ domain_xml=domain.xml_desc
109
+
110
+ # Convert the xml nokogiri doc
111
+ domain_doc=Nokogiri::XML(domain_xml)
112
+
113
+ # Find the device section
114
+ devices=domain_doc.xpath('/domain/devices').first
115
+
116
+ # get latest version of virtio drivers
117
+ url ='http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/'
118
+ filename = open(url).read.scan(/\"(virtio-win-.*.iso)\"/).first.first
119
+ download_iso(url + filename, filename)
120
+ path = File.join(env.config.veewee.iso_dir, filename)
121
+
122
+ # The disk xml representation
123
+ disk_xml="<disk type='file' device='cdrom'><driver name='qemu' type='raw'/><source file='" +
124
+ path + "'/><target dev='hdd' bus='ide'/></disk>"
125
+
126
+ # Convert the disk xml to nokogiri
127
+ disk_doc=Nokogiri::XML(disk_xml)
128
+
129
+ # Add the floppy to the devices section
130
+ devices.add_child(disk_doc.root)
131
+
132
+ # Get the raw xml of the changed document
133
+ new_xml=domain_doc.to_xml
134
+
135
+ # Undefine the existing domain
136
+ domain.undefine
125
137
 
126
138
  # Re-define the domain
127
- c.define_domain_xml(new_xml)
139
+ conn.define_domain_xml(new_xml)
140
+
141
+ env.logger.info 'Add search path for virtio drivers to Autounattend.xml'
142
+ # parse Autoattend.xml to document
143
+ FileUtils.copy(File.join(definition.path, 'Autounattend.xml'), File.join(definition.path, 'Autounattend.xml.virtio'))
144
+ doc = Nokogiri::XML.parse(File.read(File.join(definition.path, 'Autounattend.xml')))
145
+ # determine platform and windows version
146
+ platform = definition.os_type_id.end_with?("_64") ? "amd64" : "x86"
147
+ version = case definition.os_type_id.downcase
148
+ when /windows-?7/
149
+ 'win7'
150
+ when /windows-?2008/
151
+ 'win7'
152
+ when /windows-?8/
153
+ 'win8'
154
+ when /xp/
155
+ 'xp'
156
+ when /vista/
157
+ 'vista'
158
+ else
159
+ raise 'could not determine windows version'
160
+ end
161
+ # create new element
162
+ component=Nokogiri::XML(%Q|<component name="Microsoft-Windows-PnpCustomizationsWinPE"
163
+ processorArchitecture="#{platform}" publicKeyToken="31bf3856ad364e35"
164
+ language="neutral" versionScope="nonSxS"
165
+ xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
166
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
167
+ <DriverPaths>
168
+ <PathAndCredentials wcm:keyValue="1" wcm:action="add">
169
+ <Path>e:\\#{version}\\#{platform}</Path>
170
+ </PathAndCredentials>
171
+ </DriverPaths>
172
+ </component>|)
173
+ doc.xpath('//unattend:settings[@pass="windowsPE"]', 'unattend' => 'urn:schemas-microsoft-com:unattend').first.add_child component.root
174
+
175
+ file = File.open(File.join(definition.path, 'Autounattend.xml'), 'w')
176
+ file.write(doc)
177
+ file.close
178
+
128
179
  end
129
180
 
130
181
  end #End Module
@@ -4,7 +4,7 @@ module Veewee
4
4
  module BoxCommand
5
5
  # Destroy a vm
6
6
  def destroy(options={})
7
- if @connection.servers.all(:name => name).nil?
7
+ unless exists_vm? or exists_volume?
8
8
  env.ui.error "Error:: You tried to destroy a non-existing box '#{name}'"
9
9
  raise Veewee::Error,"Error:: You tried to destroy a non-existing box '#{name}'"
10
10
  end
@@ -12,9 +12,9 @@ module Veewee
12
12
  self.poweroff if running?
13
13
  destroy_vm if exists_vm?
14
14
 
15
- vol_exists=!@connection.volumes.all(:name => "#{name}.img").nil?
16
- env.logger.info "Volume exists? : #{vol_exists}"
17
- destroy_volume if exists_volume?
15
+ vol_exists = exists_volume?
16
+ env.logger.info "Volume exists?: #{vol_exists}"
17
+ destroy_volume if vol_exists
18
18
  end
19
19
 
20
20
  def destroy_vm
@@ -23,8 +23,7 @@ module Veewee
23
23
  end
24
24
 
25
25
  def destroy_volume
26
- vol=@connection.volumes.all(:name => "#{name}.img").first
27
- vol.destroy
26
+ @connection.volumes.all(:name => @volume_name).first.destroy
28
27
  end
29
28
  end # End Module
30
29
 
@@ -0,0 +1,143 @@
1
+ require 'pathname'
2
+ require 'erb'
3
+ module Veewee
4
+ module Provider
5
+ module Kvm
6
+ module BoxCommand
7
+ def export_vagrant(options)
8
+
9
+ # Check if box already exists
10
+ unless self.exists?
11
+ ui.info "#{name} is not found, maybe you need to build it first?"
12
+ exit
13
+ end
14
+
15
+ if File.exists?("#{name}.box")
16
+ if options["force"]
17
+ env.logger.debug("#{name}.box exists, but --force was provided")
18
+ env.logger.debug("removing #{name}.box first")
19
+ FileUtils.rm("#{name}.box")
20
+ env.logger.debug("#{name}.box removed")
21
+ else
22
+ raise Veewee::Error, "export file #{name}.box already exists. Use --force option to overwrite."
23
+ end
24
+ end
25
+
26
+ # We need to shutdown first
27
+ if self.running?
28
+ ui.info "Vagrant requires the box to be shutdown, before it can export"
29
+ ui.info "Sudo also needs to work for user #{definition.ssh_user}"
30
+ ui.info "Performing a clean shutdown now."
31
+
32
+ self.halt
33
+
34
+ #Wait for state poweroff
35
+ while (self.running?) do
36
+ ui.info ".",{:new_line => false}
37
+ sleep 1
38
+ end
39
+ ui.info ""
40
+ ui.info "Machine #{name} is powered off cleanly"
41
+ end
42
+
43
+ # Vagrant requires a relative path for output of boxes
44
+ boxdir=Pathname.new(Dir.pwd)
45
+ full_path=File.join(boxdir,name+".box")
46
+ path1=Pathname.new(full_path)
47
+ path2=Pathname.new(Dir.pwd)
48
+ box_path=File.expand_path(path1.relative_path_from(path2).to_s)
49
+
50
+ if File.exists?("#{box_path}")
51
+ raise Veewee::Error, "box #{name}.box already exists"
52
+ end
53
+
54
+ # Create temp directory
55
+ current_dir = FileUtils.pwd
56
+ ui.info "Creating a temporary directory for export"
57
+ tmp_dir = Dir.mktmpdir
58
+ env.logger.debug("Create temporary directory for export #{tmp_dir}")
59
+
60
+ server = @connection.servers.all(:name => name).first
61
+ volume = server.volumes.find(&:path)
62
+
63
+ begin
64
+ ui.info "Adding additional files"
65
+
66
+ # Handling the Vagrantfile
67
+ if options["vagrantfile"].to_s == ""
68
+ # Prepare the vagrant erb
69
+ template_path = File.join(File.dirname(__FILE__),'..','templates',"Vagrantfile")
70
+ ui.info("Creating Vagrantfile")
71
+ FileUtils.cp(template_path, File.join(tmp_dir,'Vagrantfile'))
72
+ else
73
+ f = options["vagrantfile"]
74
+ env.logger.debug("Including vagrantfile: #{f}")
75
+ FileUtils.cp(f,File.join(tmp_dir,"Vagrantfile"))
76
+ end
77
+
78
+ # Inject a metadata.json file
79
+ File.open(File.join(tmp_dir, 'metadata.json'), 'w') {|f| f.write(template_metadatafile(volume.capacity)) }
80
+
81
+ # Handling other includes
82
+ unless options["include"].nil?
83
+ options["include"].each do |f|
84
+ env.logger.debug("Including file: #{f}")
85
+ FileUtils.cp(f,File.join(tmp_dir,f))
86
+ end
87
+ end
88
+
89
+ # Final image must be qcow2 for vagrant-libvirt
90
+ # This also allows us to make the image sparse again after zerodisk.sh has run
91
+ # both qemu-img and virt-sparsify can do this, but the latter is better
92
+ volume_out = File.join(tmp_dir, 'box.img')
93
+ if options['sparsify']
94
+ ui.info "Sparsifying and copying the box volume"
95
+ command = "virt-sparsify --machine-readable #{volume.path} --convert qcow2 #{volume_out}"
96
+ else
97
+ ui.info "Copying the box volume"
98
+ command = "qemu-img convert -O qcow2 #{volume.path} #{volume_out}"
99
+ end
100
+ env.logger.debug("Source volume: #{volume.path}")
101
+ env.logger.debug(command)
102
+ shell_exec command
103
+
104
+ ui.info "Packaging the box"
105
+ FileUtils.cd(tmp_dir)
106
+ command = "tar -cvf '#{box_path}' ."
107
+ env.logger.debug(command)
108
+ shell_exec (command)
109
+
110
+ rescue Errno::ENOENT => ex
111
+ raise Veewee::Error, "#{ex}"
112
+ rescue Error => ex
113
+ raise Veewee::Error, "Packaging of the box failed:\n+#{ex}"
114
+ ensure
115
+ # Remove temporary directory
116
+ ui.info "Cleaning up temporary directory"
117
+ env.logger.debug("Removing temporary dir #{tmp_dir}")
118
+ FileUtils.rm_rf(tmp_dir)
119
+
120
+ FileUtils.cd(current_dir)
121
+ end
122
+ ui.info ""
123
+ ui.info "To import it into vagrant type:"
124
+ ui.info "vagrant box add '#{name}' '#{box_path}'"
125
+ ui.info ""
126
+ ui.info "To use it:"
127
+ ui.info "vagrant init '#{name}'"
128
+ ui.info "vagrant up --provider=libvirt"
129
+ ui.info "vagrant ssh"
130
+ end
131
+
132
+ def template_metadatafile size
133
+ {
134
+ "provider" => "libvirt",
135
+ "format" => "qcow2",
136
+ "virtual_size" => size+1 # fog rounds down
137
+ }.to_json
138
+ end
139
+
140
+ end #Module
141
+ end #Module
142
+ end #Module
143
+ end #Module