veewee 0.3.7 → 0.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -0,0 +1,67 @@
1
+ module Fission
2
+ class Command
3
+ class Suspend < Command
4
+
5
+ def initialize(args=[])
6
+ super
7
+ @options.all = false
8
+ end
9
+
10
+ def execute
11
+ option_parser.parse! @args
12
+
13
+ if @args.count != 1 && !@options.all
14
+ Fission.ui.output self.class.help
15
+ Fission.ui.output ""
16
+ Fission.ui.output_and_exit "Incorrect arguments for suspend command", 1
17
+ end
18
+
19
+ vms_to_suspend.each do |vm|
20
+ Fission.ui.output "Suspending '#{vm.name}'"
21
+ task = vm.suspend
22
+
23
+ if task.successful?
24
+ Fission.ui.output "VM '#{vm.name}' suspended"
25
+ else
26
+ Fission.ui.output_and_exit "There was an error suspending the VM. The error was:\n#{task.output}", task.code
27
+ end
28
+ end
29
+ end
30
+
31
+ def vms_to_suspend
32
+ if @options.all
33
+ vms=Fission::VM.all_running
34
+ else
35
+ vm_name = @args.first
36
+ vm=Fission::VM.new(vm_name)
37
+
38
+ unless vm.exists?
39
+ Fission.ui.output ''
40
+ Fission.ui.output_and_exit "VM #{vm_name} does not exist (#{Fission::VM.path(vm_name)})", 1
41
+ end
42
+
43
+ unless vm.running?
44
+ Fission.ui.output ''
45
+ Fission.ui.output_and_exit "VM '#{vm_name}' is not running", 1
46
+ end
47
+
48
+ vms = [vm]
49
+ end
50
+ vms
51
+ end
52
+
53
+ def option_parser
54
+ optparse = OptionParser.new do |opts|
55
+ opts.banner = "\nsuspend usage: fission suspend [vm | --all]"
56
+
57
+ opts.on '--all', 'Suspend all running VMs' do
58
+ @options.all = true
59
+ end
60
+ end
61
+
62
+ optparse
63
+ end
64
+
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,34 @@
1
+ module Fission
2
+ class Config
3
+ attr_accessor :attributes
4
+
5
+ CONF_FILE = File.expand_path '~/.fissionrc'
6
+
7
+ def initialize
8
+ @attributes = {}
9
+ load_from_file
10
+
11
+ if @attributes['vm_dir'].blank?
12
+ @attributes['vm_dir'] = File.expand_path('~/Documents/Virtual Machines.localized/')
13
+ end
14
+
15
+ if File.exists?('/Library/Application Support/VMware Fusion/vmrun')
16
+ @attributes['vmrun_bin'] = '/Library/Application Support/VMware Fusion/vmrun'
17
+ else
18
+ @attributes['vmrun_bin'] = '/Applications/VMware Fusion.app/Contents/Library/vmrun'
19
+ end
20
+
21
+ @attributes['vmrun_cmd'] = "#{@attributes['vmrun_bin'].gsub(' ', '\ ')} -T fusion"
22
+ @attributes['plist_file'] = File.expand_path('~/Library/Preferences/com.vmware.fusion.plist')
23
+ @attributes['gui_bin'] = File.expand_path('/Applications/VMware Fusion.app/Contents/MacOS/vmware')
24
+ end
25
+
26
+ private
27
+ def load_from_file
28
+ if File.file?(CONF_FILE)
29
+ @attributes.merge!(YAML.load_file(CONF_FILE))
30
+ end
31
+ end
32
+
33
+ end
34
+ end
@@ -0,0 +1,5 @@
1
+ class Class
2
+ def descendants
3
+ ObjectSpace.each_object(Class).select { |klass| klass < self }
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ class File
2
+ # from ptools
3
+ def self.binary?(file)
4
+ s = (File.read(file, File.stat(file).blksize) || "").split(//)
5
+ ((s.size - s.grep(" ".."~").size) / s.size.to_f) > 0.30
6
+ end
7
+ end
@@ -0,0 +1,112 @@
1
+ # this is from active_support
2
+ # github.com/rails/rails/activesupport
3
+ #
4
+ class Object
5
+ # An object is blank if it's false, empty, or a whitespace string.
6
+ # For example, "", " ", +nil+, [], and {} are blank.
7
+ #
8
+ # This simplifies:
9
+ #
10
+ # if !address.nil? && !address.empty?
11
+ #
12
+ # ...to:
13
+ #
14
+ # if !address.blank?
15
+ def blank?
16
+ respond_to?(:empty?) ? empty? : !self
17
+ end
18
+
19
+ # An object is present if it's not <tt>blank?</tt>.
20
+ def present?
21
+ !blank?
22
+ end
23
+
24
+ # Returns object if it's <tt>present?</tt> otherwise returns +nil+.
25
+ # <tt>object.presence</tt> is equivalent to <tt>object.present? ? object : nil</tt>.
26
+ #
27
+ # This is handy for any representation of objects where blank is the same
28
+ # as not present at all. For example, this simplifies a common check for
29
+ # HTTP POST/query parameters:
30
+ #
31
+ # state = params[:state] if params[:state].present?
32
+ # country = params[:country] if params[:country].present?
33
+ # region = state || country || 'US'
34
+ #
35
+ # ...becomes:
36
+ #
37
+ # region = params[:state].presence || params[:country].presence || 'US'
38
+ def presence
39
+ self if present?
40
+ end
41
+ end
42
+
43
+ class NilClass
44
+ # +nil+ is blank:
45
+ #
46
+ # nil.blank? # => true
47
+ #
48
+ def blank?
49
+ true
50
+ end
51
+ end
52
+
53
+ class FalseClass
54
+ # +false+ is blank:
55
+ #
56
+ # false.blank? # => true
57
+ #
58
+ def blank?
59
+ true
60
+ end
61
+ end
62
+
63
+ class TrueClass
64
+ # +true+ is not blank:
65
+ #
66
+ # true.blank? # => false
67
+ #
68
+ def blank?
69
+ false
70
+ end
71
+ end
72
+
73
+ class Array
74
+ # An array is blank if it's empty:
75
+ #
76
+ # [].blank? # => true
77
+ # [1,2,3].blank? # => false
78
+ #
79
+ alias_method :blank?, :empty?
80
+ end
81
+
82
+ class Hash
83
+ # A hash is blank if it's empty:
84
+ #
85
+ # {}.blank? # => true
86
+ # {:key => 'value'}.blank? # => false
87
+ #
88
+ alias_method :blank?, :empty?
89
+ end
90
+
91
+ class String
92
+ # A string is blank if it's empty or contains whitespaces only:
93
+ #
94
+ # "".blank? # => true
95
+ # " ".blank? # => true
96
+ # " something here ".blank? # => false
97
+ #
98
+ def blank?
99
+ self !~ /\S/
100
+ end
101
+ end
102
+
103
+ class Numeric #:nodoc:
104
+ # No number is blank:
105
+ #
106
+ # 1.blank? # => false
107
+ # 0.blank? # => false
108
+ #
109
+ def blank?
110
+ false
111
+ end
112
+ end
@@ -0,0 +1,10 @@
1
+ module Fission
2
+ class Error < StandardError
3
+ attr_reader :original
4
+ def initialize(msg, original=$!)
5
+ super(msg)
6
+ @original = original
7
+ end
8
+ end
9
+ end
10
+
@@ -0,0 +1,17 @@
1
+ module Fission
2
+ class Fusion
3
+
4
+ def self.running?
5
+ command = "ps -ef | grep -v grep | grep -c "
6
+ command << "#{Fission.config.attributes['gui_bin'].gsub(' ', '\ ')} 2>&1"
7
+ output = `#{command}`
8
+
9
+ response = Fission::Response.new :code => 0
10
+
11
+ output.strip.to_i > 0 ? response.data = true : response.data = false
12
+
13
+ response
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,74 @@
1
+ require 'date'
2
+
3
+ class Lease
4
+ attr_accessor :name,:mac,:start,:end,:ip
5
+
6
+ def initialize(name)
7
+ @name=name
8
+ @ip=name
9
+ end
10
+
11
+ def expired?
12
+ @end < DateTime.now
13
+ end
14
+ end
15
+
16
+ class LeasesFile
17
+
18
+ attr_reader :leases
19
+
20
+ def initialize(filename)
21
+ @filename=filename
22
+ @leases=Array.new
23
+ load
24
+ end
25
+
26
+ def load
27
+ @leases=Array.new
28
+ File.open(@filename,"r") do |leasefile|
29
+ lease=nil
30
+ while (line = leasefile.gets)
31
+
32
+ line=line.lstrip.gsub(';','')
33
+ case line
34
+ when /^lease/
35
+ @leases << lease unless lease.nil?
36
+ name=line.split(' ')[1]
37
+ lease=Lease.new(name)
38
+ when /^hardware/
39
+ lease.mac=line.split(" ")[2]
40
+ when /^starts/
41
+ lease.start=DateTime.parse(line.split(" ")[2..3].join(" "))
42
+ when /^ends/
43
+ lease.end=DateTime.parse(line.split(" ")[2..3].join(" "))
44
+ end
45
+
46
+ end
47
+ @leases << lease unless lease.nil?
48
+ end
49
+ return @leases
50
+ end
51
+
52
+ def all_leases
53
+ return @leases
54
+ end
55
+
56
+ def current_leases
57
+ hash_list=Hash.new
58
+ @leases.each do |lease|
59
+ hash_list[lease.name]=lease
60
+ end
61
+ collapsed_list=Array.new
62
+ hash_list.each do |key,value|
63
+ collapsed_list << value
64
+ end
65
+ return collapsed_list
66
+ end
67
+
68
+ def find_lease_by_mac(mac)
69
+ matches=current_leases.select{|l| l.mac==mac}
70
+ return nil if matches.nil?
71
+ return matches[0]
72
+ end
73
+
74
+ end
@@ -0,0 +1,39 @@
1
+ module Fission
2
+ class Metadata
3
+
4
+ require 'cfpropertylist'
5
+
6
+ attr_accessor :content
7
+
8
+ def self.delete_vm_info(vm_path)
9
+ metadata = new
10
+ metadata.load
11
+ metadata.delete_vm_restart_document(vm_path)
12
+ metadata.delete_vm_favorite_entry(vm_path)
13
+ metadata.save
14
+ end
15
+
16
+ def load
17
+ raw_data = CFPropertyList::List.new :file => Fission.config.attributes['plist_file']
18
+ @content = CFPropertyList.native_types raw_data.value
19
+ end
20
+
21
+ def save
22
+ new_content = CFPropertyList::List.new
23
+ new_content.value = CFPropertyList.guess @content
24
+ new_content.save Fission.config.attributes['plist_file'],
25
+ CFPropertyList::List::FORMAT_BINARY
26
+ end
27
+
28
+ def delete_vm_restart_document(vm_path)
29
+ if @content.has_key?('PLRestartDocumentPaths')
30
+ @content['PLRestartDocumentPaths'].delete_if { |p| p == vm_path }
31
+ end
32
+ end
33
+
34
+ def delete_vm_favorite_entry(vm_path)
35
+ @content['VMFavoritesListDefaults2'].delete_if { |vm| vm['path'] == vm_path }
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,16 @@
1
+ module Fission
2
+ class Response
3
+ attr_accessor :code, :output, :data
4
+
5
+ def initialize(args={})
6
+ @code = args.fetch :code, 1
7
+ @output = args.fetch :output, ''
8
+ @data = args.fetch :data, nil
9
+ end
10
+
11
+ def successful?
12
+ @code == 0
13
+ end
14
+
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ module Fission
2
+ class UI
3
+ attr_reader :stdout
4
+
5
+ def initialize(stdout=$stdout)
6
+ @stdout = stdout
7
+ end
8
+
9
+ def output(s)
10
+ @stdout.puts s
11
+ end
12
+
13
+ def output_printf(string, key, value)
14
+ @stdout.send :printf, string, key, value
15
+ end
16
+
17
+ def output_and_exit(s, exit_code)
18
+ output s
19
+ exit exit_code
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,3 @@
1
+ module Fission
2
+ VERSION = "0.4.0a"
3
+ end
@@ -0,0 +1,370 @@
1
+ require 'fission/leasesfile'
2
+ require 'shellwords'
3
+ require 'fission/error'
4
+
5
+ module Fission
6
+ class VM
7
+ attr_reader :name
8
+
9
+ def initialize(name)
10
+ @name = name
11
+ end
12
+
13
+ #####################################################
14
+ # Path Helpers
15
+ #####################################################
16
+ # Returns the topdir of the vm
17
+ def path
18
+ File.join Fission.config.attributes['vm_dir'], "#{@name}.vmwarevm"
19
+ end
20
+
21
+ # Returns a string to the path of the config file
22
+ # There is no guarantee it exists
23
+ def vmx_path
24
+ return File.join(path, "#{@name}.vmx")
25
+ end
26
+
27
+
28
+ ####################################################################
29
+ # State information
30
+ ####################################################################
31
+ def running?
32
+ raise Fission::Error,"VM #{@name} does not exist" unless self.exists?
33
+
34
+ command = "#{vmrun_cmd} list"
35
+ output = `#{command}`
36
+
37
+ response = Fission::Response.new :code => $?.exitstatus
38
+
39
+ if response.successful?
40
+ vms = output.split("\n").select do |vm|
41
+ vm.include?('.vmx') && File.exists?(vm) && File.extname(vm) == '.vmx'
42
+ end
43
+ return vms.include?(self.vmx_path)
44
+ else
45
+ raise Fission::Error,"Error listing the state of vm #{@name}:\n#{output}"
46
+ end
47
+ end
48
+
49
+ def suspended?
50
+ raise Fission::Error,"VM #{@name} does not exist" unless self.exists?
51
+
52
+ suspend_filename=File.join(File.dirname(vmx_path), File.basename(vmx_path,".vmx")+".vmem")
53
+ return File.exists?(suspend_filename)
54
+ end
55
+
56
+ # Checks to see if a vm exists
57
+ def exists?
58
+ File.exists? vmx_path
59
+ end
60
+
61
+ # Returns the state of a vm
62
+ def state
63
+ return "not created" unless self.exists?
64
+
65
+ return "suspend" if self.suspended?
66
+
67
+ return "running" if self.running?
68
+
69
+ return "not running"
70
+ end
71
+
72
+ ####################################################################
73
+ # VM information
74
+ ####################################################################
75
+
76
+ # Returns an Array of snapshot names
77
+ def snapshots
78
+ raise Fission::Error,"VM #{@name} does not exist" unless self.exists?
79
+
80
+ command = "#{vmrun_cmd} listSnapshots #{vmx_path.shellescape} 2>&1"
81
+ output = `#{command}`
82
+
83
+ raise "There was an error listing the snapshots of #{@name} :\n #{output}" unless $?.exitstatus==0
84
+
85
+ snaps_unfiltered = output.split("\n").select { |s| !s.include? 'Total snapshots:' }
86
+ snaps=snaps_unfiltered.map { |s| s.strip }
87
+ return snaps
88
+ end
89
+
90
+ # Retrieve the first mac address for a vm
91
+ # This will only retrieve the first auto generate mac address
92
+ def mac_address
93
+ raise ::Fission::Error,"VM #{@name} does not exist" unless self.exists?
94
+
95
+ line=File.new(vmx_path).grep(/^ethernet0.generatedAddress =/)
96
+ if line.nil?
97
+ #Fission.ui.output "Hmm, the vmx file #{vmx_path} does not contain a generated mac address "
98
+ return nil
99
+ end
100
+ address=line.first.split("=")[1].strip.split(/\"/)[1]
101
+ return address
102
+ end
103
+
104
+ # Retrieve the ip address for a vm.
105
+ # This will only look for dynamically assigned ip address via vmware dhcp
106
+ def ip_address
107
+ raise ::Fission::Error,"VM #{@name} does not exist" unless self.exists?
108
+
109
+ unless mac_address.nil?
110
+ lease=LeasesFile.new("/var/db/vmware/vmnet-dhcpd-vmnet8.leases").find_lease_by_mac(mac_address)
111
+ if lease.nil?
112
+ return nil
113
+ else
114
+ return lease.ip
115
+ end
116
+ else
117
+ # No mac address was found for this machine so we can't calculate the ip-address
118
+ return nil
119
+ end
120
+ end
121
+
122
+ ####################################################################
123
+ # VMS information
124
+ ####################################################################
125
+
126
+ # Returns an array of vm objects
127
+ def self.all
128
+ vm_dirs = Dir[File.join Fission.config.attributes['vm_dir'], '*.vmwarevm'].select do |d|
129
+ File.directory? d
130
+ end
131
+
132
+ vm_names=vm_dirs.map { |d| File.basename d, '.vmwarevm' }
133
+ vms=[]
134
+ vm_names.each do |vmname|
135
+ vm=Fission::VM.new vmname
136
+ vms << vm
137
+ end
138
+
139
+ return vms
140
+ end
141
+
142
+ # Returns an array of vms that are running
143
+ def self.all_running
144
+ running_vms=self.all.select do |vm|
145
+ vm.state=="running"
146
+ end
147
+ return running_vms
148
+ end
149
+
150
+ # Returns an existing vm
151
+ def self.get(name)
152
+ return Fission::VM.new(name)
153
+ end
154
+
155
+ #####################################################
156
+ # VM Class Actions
157
+ #####################################################
158
+ def self.clone(source_vm, target_vm)
159
+ raise Fission::Error,"VM #{source_vm} does not exist" unless Fission::VM.new(source_vm).exists?
160
+ raise Fission::Error,"VM #{target_vm} already exists" if Fission::VM.new(target_vm).exists?
161
+
162
+ FileUtils.cp_r Fission::VM.new(source_vm).path, Fission::VM.new(target_vm).path
163
+
164
+ rename_vm_files source_vm, target_vm
165
+ update_config source_vm, target_vm
166
+
167
+ response = Response.new :code => 0
168
+ end
169
+
170
+ def self.delete(vm_name)
171
+ raise Fission::Error,"VM #{vm_name} does not exist" unless Fission::VM.new(vm_name).exists?
172
+
173
+ vm=Fission::VM.new(vm_name)
174
+ FileUtils.rm_rf vm.path
175
+ Fission::Metadata.delete_vm_info(vm.path)
176
+
177
+ Response.new :code => 0
178
+ end
179
+
180
+
181
+ #####################################################
182
+ # VM Instance Actions
183
+ #####################################################
184
+ def create_snapshot(name)
185
+ raise Fission::Error,"VM #{@name} does not exist" unless self.exists?
186
+
187
+ command = "#{vmrun_cmd} snapshot #{vmx_path.shellescape} \"#{name}\" 2>&1"
188
+ output = `#{command}`
189
+
190
+ response = Fission::Response.new :code => $?.exitstatus
191
+ response.output = output unless response.successful?
192
+
193
+ response
194
+ end
195
+
196
+ def start(args={})
197
+ raise Fission::Error,"VM #{@name} does not exist" unless self.exists?
198
+ raise Fission::Error,"VM #{@name} is already started" if self.running?
199
+
200
+
201
+ command = "#{vmrun_cmd} start #{vmx_path.shellescape}"
202
+
203
+ if !args[:headless].blank? && args[:headless]
204
+ command << " nogui 2>&1"
205
+ else
206
+ command << " gui 2>&1"
207
+ end
208
+
209
+ output = `#{command}`
210
+
211
+ response = Fission::Response.new :code => $?.exitstatus
212
+ response.output = output unless response.successful?
213
+
214
+ response
215
+ end
216
+
217
+ def stop
218
+ raise Fission::Error,"VM #{@name} does not exist" unless self.exists?
219
+ raise Fission::Error,"VM #{@name} is not running" unless self.running?
220
+
221
+ command = "#{vmrun_cmd} stop #{vmx_path.shellescape} 2>&1"
222
+ output = `#{command}`
223
+
224
+ response = Fission::Response.new :code => $?.exitstatus
225
+ response.output = output unless response.successful?
226
+
227
+ response
228
+ end
229
+
230
+ def halt
231
+ raise Fission::Error,"VM #{@name} does not exist" unless self.exists?
232
+ raise Fission::Error,"VM #{@name} is not running" unless self.running?
233
+
234
+ command = "#{vmrun_cmd} stop #{vmx_path.shellescape} hard 2>&1"
235
+ output = `#{command}`
236
+
237
+ response = Fission::Response.new :code => $?.exitstatus
238
+ response.output = output unless response.successful?
239
+
240
+ response
241
+ end
242
+
243
+ def resume
244
+ raise Fission::Error,"VM #{@name} does not exist" unless self.exists?
245
+ raise Fission::Error,"VM #{@name} is already running" if self.running?
246
+ if self.suspended?
247
+ self.start
248
+ end
249
+ end
250
+
251
+ def suspend
252
+ raise Fission::Error,"VM #{@name} does not exist" unless self.exists?
253
+ raise Fission::Error,"VM #{@name} is not running" unless self.running?
254
+
255
+ command = "#{vmrun_cmd} suspend #{vmx_path.shellescape} hard 2>&1"
256
+ output = `#{command}`
257
+
258
+ response = Fission::Response.new :code => $?.exitstatus
259
+ response.output = output unless response.successful?
260
+ response
261
+ end
262
+
263
+ # Action to revert to a snapshot
264
+ # Returns a response object
265
+ def revert_to_snapshot(name)
266
+ raise Fission::Error,"VM #{@name} does not exist" unless self.exists?
267
+
268
+ command = "#{vmrun_cmd} revertToSnapshot #{vmx_path.shellescape} \"#{name}\" 2>&1"
269
+ output = `#{command}`
270
+
271
+ response = Fission::Response.new :code => $?.exitstatus
272
+ response.output = output unless response.successful?
273
+
274
+ response
275
+ end
276
+
277
+ #####################################################
278
+ # Helpers
279
+ #####################################################
280
+ private
281
+ def self.rename_vm_files(from, to)
282
+ to_vm=Fission::VM.new(to)
283
+
284
+ files_to_rename(from, to).each do |filename|
285
+ text_to_replace = File.basename(filename, File.extname(filename))
286
+
287
+ if File.extname(filename) == '.vmdk'
288
+ if filename.match /\-s\d+\.vmdk/
289
+ text_to_replace = filename.partition(/\-s\d+.vmdk/).first
290
+ end
291
+ end
292
+
293
+ unless File.exists?(File.join(to_vm.path, filename.gsub(text_to_replace, to)))
294
+ FileUtils.mv File.join(to_vm.path, filename),
295
+ File.join(to_vm.path, filename.gsub(text_to_replace, to))
296
+ end
297
+ end
298
+ end
299
+
300
+ def self.files_to_rename(from, to)
301
+ files_which_match_source_vm = []
302
+ other_files = []
303
+
304
+ from_vm=Fission::VM.new(from)
305
+
306
+ Dir.entries(from_vm.path).each do |f|
307
+ unless f == '.' || f == '..'
308
+ f.include?(from) ? files_which_match_source_vm << f : other_files << f
309
+ end
310
+ end
311
+
312
+ files_which_match_source_vm + other_files
313
+ end
314
+
315
+ def self.vm_file_extensions
316
+ ['.nvram', '.vmdk', '.vmem', '.vmsd', '.vmss', '.vmx', '.vmxf']
317
+ end
318
+
319
+ # This is done after a clone has been done
320
+ # All files are already at the to location
321
+ # The content of the text files will be substituted with strings from => to
322
+ def self.update_config(from, to)
323
+ to_vm=Fission::VM.new(to)
324
+
325
+ ['.vmx', '.vmxf', '.vmdk'].each do |ext|
326
+ file = File.join to_vm.path, "#{to}#{ext}"
327
+
328
+ unless File.binary?(file)
329
+ text = (File.read file).gsub from, to
330
+ # Force binary mode to prevent windows from putting CR-LF end line style
331
+ # http://www.ruby-forum.com/topic/60697#58748
332
+ File.open(file, 'wb'){ |f| f.print text }
333
+ end
334
+
335
+ end
336
+
337
+ # Rewrite vmx file to avoid messages
338
+ new_vmx_file=File.open(File.join(to_vm.vmx_path),'r')
339
+
340
+ content=new_vmx_file.read
341
+
342
+ # Filter out other values
343
+ content=content.gsub(/^tools.remindInstall.*\n/, "")
344
+ content=content.gsub(/^uuid.action.*\n/,"").strip
345
+
346
+ # Remove generate mac addresses
347
+ content=content.gsub(/^ethernet.+generatedAddress.*\n/,"").strip
348
+
349
+ # Add the correct values
350
+ content=content+"\ntools.remindInstall = \"FALSE\"\n"
351
+ content=content+"uuid.action = \"create\"\n"
352
+
353
+ # Now rewrite the vmx file
354
+ # Force binary mode to prevent windows from putting CR-LF end line style
355
+ # http://www.ruby-forum.com/topic/60697#58748
356
+ File.open(new_vmx_file,'wb'){ |f| f.print content}
357
+
358
+ end
359
+
360
+ def vmrun_cmd
361
+ if File.exists?("/Library/Application Support/VMware Fusion/vmrun")
362
+ return("/Library/Application Support/VMware Fusion/vmrun").shellescape
363
+ end
364
+ if File.exists?("/Applications/VMware Fusion.app/Contents/Library/vmrun")
365
+ return("/Applications/VMware Fusion.app/Contents/Library/vmrun").shellescape
366
+ end
367
+ end
368
+
369
+ end
370
+ end