veewee 0.3.0.alpha4 → 0.3.0.alpha5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (570) hide show
  1. data/.gitignore +3 -0
  2. data/.rvmrc +3 -2
  3. data/Gemfile +1 -1
  4. data/License +1 -1
  5. data/README.md +30 -174
  6. data/Rakefile +4 -2
  7. data/doc/README-changes.txt +19 -0
  8. data/doc/TODO +60 -0
  9. data/doc/definition.md +58 -0
  10. data/doc/fusion.md +2 -0
  11. data/doc/install.md +16 -0
  12. data/doc/installation.md +24 -0
  13. data/doc/kvm.md +2 -0
  14. data/doc/providers.md +23 -0
  15. data/doc/requirements.md +1 -0
  16. data/doc/running.md +83 -0
  17. data/doc/template.md +102 -0
  18. data/doc/vagrant.md +119 -0
  19. data/doc/vbox.md +2 -0
  20. data/lib/net/vnc/vnc.rb +1 -1
  21. data/lib/python/parallels_sdk_check.py +19 -0
  22. data/lib/python/parallels_send_key.py +73 -0
  23. data/lib/veewee/command.rb +2 -1
  24. data/lib/veewee/command/kvm.rb +55 -15
  25. data/lib/veewee/command/parallels.rb +124 -0
  26. data/lib/veewee/command/vagrant.rb +2 -106
  27. data/lib/veewee/command/vagrant/basebox.rb +82 -0
  28. data/lib/veewee/command/vagrant/build.rb +64 -0
  29. data/lib/veewee/command/vagrant/define.rb +48 -0
  30. data/lib/veewee/command/vagrant/destroy.rb +47 -0
  31. data/lib/veewee/command/vagrant/export.rb +44 -0
  32. data/lib/veewee/command/vagrant/halt.rb +43 -0
  33. data/lib/veewee/command/vagrant/list.rb +38 -0
  34. data/lib/veewee/command/vagrant/ostypes.rb +38 -0
  35. data/lib/veewee/command/vagrant/ssh.rb +39 -0
  36. data/lib/veewee/command/vagrant/templates.rb +39 -0
  37. data/lib/veewee/command/vagrant/undefine.rb +41 -0
  38. data/lib/veewee/command/vagrant/up.rb +44 -0
  39. data/lib/veewee/command/virtualbox.rb +61 -14
  40. data/lib/veewee/command/vmfusion.rb +44 -21
  41. data/lib/veewee/config.rb +0 -27
  42. data/lib/veewee/config/ostypes.yml +179 -43
  43. data/lib/veewee/config/vmfusion-ostypes.txt +1 -0
  44. data/lib/veewee/definition.rb +91 -35
  45. data/lib/veewee/definitions.rb +156 -0
  46. data/lib/veewee/environment.rb +80 -244
  47. data/lib/veewee/error.rb +12 -0
  48. data/lib/veewee/provider/core/box.rb +52 -0
  49. data/lib/veewee/provider/core/box/build.rb +229 -0
  50. data/lib/veewee/provider/core/box/exec.rb +34 -0
  51. data/lib/veewee/provider/core/box/floppy.rb +31 -0
  52. data/lib/veewee/provider/core/box/halt.rb +24 -0
  53. data/lib/veewee/provider/core/box/issh.rb +15 -0
  54. data/lib/veewee/provider/core/box/poweroff.rb +12 -0
  55. data/lib/veewee/provider/core/box/scp.rb +29 -0
  56. data/lib/veewee/provider/core/box/ssh.rb +95 -0
  57. data/lib/veewee/provider/core/box/sudo.rb +21 -0
  58. data/lib/veewee/{builder → provider}/core/box/vnc.rb +4 -4
  59. data/lib/veewee/provider/core/helper/iso.rb +142 -0
  60. data/lib/veewee/provider/core/helper/scancode.rb +114 -0
  61. data/lib/veewee/provider/core/helper/shell.rb +55 -0
  62. data/lib/veewee/provider/core/helper/ssh.rb +162 -0
  63. data/lib/veewee/provider/core/helper/tcp.rb +96 -0
  64. data/lib/veewee/provider/core/helper/web.rb +67 -0
  65. data/lib/veewee/{builder/core/builder.rb → provider/core/provider.rb} +8 -25
  66. data/lib/veewee/{builder/core/builder → provider/core/provider}/transaction.rb +0 -0
  67. data/lib/veewee/{builder/core/builder → provider/core/provider}/tunnel.rb +2 -2
  68. data/lib/veewee/provider/kvm/box.rb +46 -0
  69. data/lib/veewee/provider/kvm/box/build.rb +11 -0
  70. data/lib/veewee/provider/kvm/box/create.rb +76 -0
  71. data/lib/veewee/provider/kvm/box/destroy.rb +33 -0
  72. data/lib/veewee/provider/kvm/box/halt.rb +19 -0
  73. data/lib/veewee/provider/kvm/box/helper/console_type.rb +20 -0
  74. data/lib/veewee/provider/kvm/box/helper/ip.rb +14 -0
  75. data/lib/veewee/provider/kvm/box/helper/ssh_options.rb +19 -0
  76. data/lib/veewee/provider/kvm/box/helper/status.rb +28 -0
  77. data/lib/veewee/provider/kvm/box/poweroff.rb +14 -0
  78. data/lib/veewee/provider/kvm/box/up.rb +14 -0
  79. data/lib/veewee/provider/kvm/box/validate_kvm.rb +47 -0
  80. data/lib/veewee/provider/kvm/provider.rb +70 -0
  81. data/lib/veewee/provider/parallels/box.rb +35 -0
  82. data/lib/veewee/provider/parallels/box/build.rb +13 -0
  83. data/lib/veewee/provider/parallels/box/create.rb +63 -0
  84. data/lib/veewee/provider/parallels/box/destroy.rb +24 -0
  85. data/lib/veewee/provider/parallels/box/halt.rb +14 -0
  86. data/lib/veewee/provider/parallels/box/helper/buildinfo.rb +45 -0
  87. data/lib/veewee/provider/parallels/box/helper/console_type.rb +198 -0
  88. data/lib/veewee/provider/parallels/box/helper/ip.rb +23 -0
  89. data/lib/veewee/provider/parallels/box/helper/ssh_options.rb +20 -0
  90. data/lib/veewee/provider/parallels/box/helper/status.rb +28 -0
  91. data/lib/veewee/provider/parallels/box/poweroff.rb +14 -0
  92. data/lib/veewee/provider/parallels/box/ssh.rb +12 -0
  93. data/lib/veewee/provider/parallels/box/up.rb +15 -0
  94. data/lib/veewee/provider/parallels/box/validate_parallels.rb +47 -0
  95. data/lib/veewee/provider/parallels/notes/parallels-sdk.txt +116 -0
  96. data/lib/veewee/provider/parallels/provider.rb +33 -0
  97. data/lib/veewee/provider/virtualbox/box.rb +46 -0
  98. data/lib/veewee/provider/virtualbox/box/build.rb +20 -0
  99. data/lib/veewee/provider/virtualbox/box/create.rb +58 -0
  100. data/lib/veewee/provider/virtualbox/box/destroy.rb +66 -0
  101. data/lib/veewee/provider/virtualbox/box/export_vagrant.rb +99 -0
  102. data/lib/veewee/provider/virtualbox/box/halt.rb +13 -0
  103. data/lib/veewee/provider/virtualbox/box/helper/buildinfo.rb +25 -0
  104. data/lib/veewee/provider/virtualbox/box/helper/console_type.rb +62 -0
  105. data/lib/veewee/provider/virtualbox/box/helper/create.rb +176 -0
  106. data/lib/veewee/provider/virtualbox/box/helper/forwarding.rb +38 -0
  107. data/lib/veewee/provider/virtualbox/box/helper/guest_additions.rb +17 -0
  108. data/lib/veewee/provider/virtualbox/box/helper/ip.rb +19 -0
  109. data/lib/veewee/provider/virtualbox/box/helper/natinterface.rb +17 -0
  110. data/lib/veewee/provider/virtualbox/box/helper/ssh_options.rb +28 -0
  111. data/lib/veewee/provider/virtualbox/box/helper/status.rb +27 -0
  112. data/lib/veewee/provider/virtualbox/box/helper/version.rb +18 -0
  113. data/lib/veewee/provider/virtualbox/box/poweroff.rb +19 -0
  114. data/lib/veewee/provider/virtualbox/box/ssh.rb +13 -0
  115. data/lib/veewee/provider/virtualbox/box/up.rb +48 -0
  116. data/lib/veewee/provider/virtualbox/box/validate_vagrant.rb +53 -0
  117. data/lib/veewee/provider/virtualbox/provider.rb +19 -0
  118. data/lib/veewee/provider/vmfusion/box.rb +67 -0
  119. data/lib/veewee/provider/vmfusion/box/build.rb +13 -0
  120. data/lib/veewee/{builder/vmfusion/helper → provider/vmfusion/box}/create.rb +15 -24
  121. data/lib/veewee/provider/vmfusion/box/destroy.rb +20 -0
  122. data/lib/veewee/provider/vmfusion/box/export_ova.rb +49 -0
  123. data/lib/veewee/provider/vmfusion/box/halt.rb +13 -0
  124. data/lib/veewee/provider/vmfusion/box/helper/buildinfo.rb +43 -0
  125. data/lib/veewee/provider/vmfusion/box/helper/console_type.rb +18 -0
  126. data/lib/veewee/provider/vmfusion/box/helper/ip.rb +19 -0
  127. data/lib/veewee/provider/vmfusion/box/helper/ssh_options.rb +20 -0
  128. data/lib/veewee/provider/vmfusion/box/helper/status.rb +20 -0
  129. data/lib/veewee/provider/vmfusion/box/helper/vnc.rb +61 -0
  130. data/lib/veewee/provider/vmfusion/box/poweroff.rb +13 -0
  131. data/lib/veewee/provider/vmfusion/box/ssh.rb +12 -0
  132. data/lib/veewee/{builder/vmfusion/helper → provider/vmfusion/box}/template.rb +9 -4
  133. data/lib/veewee/{builder/vmfusion/helper → provider/vmfusion/box}/template.vmx.erb +5 -2
  134. data/lib/veewee/provider/vmfusion/box/up.rb +18 -0
  135. data/lib/veewee/provider/vmfusion/box/validate_vmfusion.rb +47 -0
  136. data/lib/veewee/{builder → provider}/vmfusion/info/export_ovf.info +0 -0
  137. data/lib/veewee/provider/vmfusion/provider.rb +20 -0
  138. data/lib/veewee/providers.rb +31 -0
  139. data/lib/veewee/template.rb +26 -0
  140. data/lib/veewee/templates.rb +71 -0
  141. data/lib/veewee/ui.rb +6 -4
  142. data/lib/veewee/version.rb +1 -1
  143. data/templates/CentOS-4.8-i386/postinstall.sh +1 -1
  144. data/templates/CentOS-5.5-i386-netboot/definition.rb +16 -0
  145. data/templates/CentOS-5.5-i386-netboot/ks.cfg +46 -0
  146. data/templates/CentOS-5.5-i386-netboot/postinstall.sh +60 -0
  147. data/templates/CentOS-5.5-x86_64-netboot/definition.rb +1 -1
  148. data/templates/CentOS-5.5-x86_64-netboot/postinstall.sh +1 -1
  149. data/templates/CentOS-5.6-i386-netboot/definition.rb +1 -1
  150. data/templates/CentOS-5.6-i386-netboot/ks.cfg +2 -2
  151. data/templates/CentOS-5.6-i386-netboot/postinstall.sh +21 -9
  152. data/templates/CentOS-5.6-i386/postinstall.sh +1 -1
  153. data/templates/CentOS-5.6-x86_64-netboot/definition.rb +1 -1
  154. data/templates/CentOS-5.6-x86_64-netboot/ks.cfg +1 -1
  155. data/templates/CentOS-5.6-x86_64-netboot/postinstall.sh +1 -1
  156. data/templates/CentOS-5.7-i386-netboot/postinstall.sh +3 -3
  157. data/templates/CentOS-5.7-x86_64-netboot/postinstall.sh +1 -1
  158. data/templates/CentOS-6.0-i386-netboot/ks.cfg +3 -2
  159. data/templates/CentOS-6.0-i386-netboot/postinstall.sh +1 -1
  160. data/templates/CentOS-6.0-i386/ks.cfg +2 -1
  161. data/templates/CentOS-6.0-i386/postinstall.sh +1 -1
  162. data/templates/CentOS-6.0-x86_64-minimal/definition.rb +2 -2
  163. data/templates/CentOS-6.0-x86_64-minimal/ks.cfg +2 -1
  164. data/templates/CentOS-6.0-x86_64-minimal/postinstall.sh +17 -4
  165. data/templates/CentOS-6.0-x86_64-netboot/ks.cfg +4 -2
  166. data/templates/CentOS-6.0-x86_64-netboot/postinstall.sh +1 -1
  167. data/templates/CentOS-6.0-x86_64/base.sh +12 -0
  168. data/templates/CentOS-6.0-x86_64/chef.sh +2 -0
  169. data/templates/CentOS-6.0-x86_64/cleanup.sh +4 -0
  170. data/templates/CentOS-6.0-x86_64/definition.rb +22 -8
  171. data/templates/CentOS-6.0-x86_64/ks.cfg +2 -1
  172. data/templates/CentOS-6.0-x86_64/postinstall.sh +1 -1
  173. data/templates/CentOS-6.0-x86_64/puppet.sh +11 -0
  174. data/templates/CentOS-6.0-x86_64/ruby.sh +2 -0
  175. data/templates/CentOS-6.0-x86_64/vagrant.sh +9 -0
  176. data/templates/CentOS-6.0-x86_64/virtualbox.sh +8 -0
  177. data/templates/CentOS-6.1-x86_64-minimal/base.sh +13 -0
  178. data/templates/CentOS-6.1-x86_64-minimal/chef.sh +2 -0
  179. data/templates/CentOS-6.1-x86_64-minimal/cleanup.sh +4 -0
  180. data/templates/CentOS-6.1-x86_64-minimal/definition.rb +39 -0
  181. data/templates/CentOS-6.1-x86_64-minimal/ks.cfg +47 -0
  182. data/templates/CentOS-6.1-x86_64-minimal/puppet.sh +11 -0
  183. data/templates/CentOS-6.1-x86_64-minimal/ruby.sh +2 -0
  184. data/templates/CentOS-6.1-x86_64-minimal/vagrant.sh +16 -0
  185. data/templates/CentOS-6.1-x86_64-minimal/virtualbox.sh +8 -0
  186. data/templates/CentOS-6.1-x86_64-netboot/base.sh +13 -0
  187. data/templates/CentOS-6.1-x86_64-netboot/chef.sh +2 -0
  188. data/templates/CentOS-6.1-x86_64-netboot/cleanup.sh +4 -0
  189. data/templates/CentOS-6.1-x86_64-netboot/definition.rb +39 -0
  190. data/templates/CentOS-6.1-x86_64-netboot/ks.cfg +46 -0
  191. data/templates/CentOS-6.1-x86_64-netboot/postinstall.sh +48 -0
  192. data/templates/CentOS-6.1-x86_64-netboot/puppet.sh +11 -0
  193. data/templates/CentOS-6.1-x86_64-netboot/ruby.sh +2 -0
  194. data/templates/CentOS-6.1-x86_64-netboot/vagrant.sh +16 -0
  195. data/templates/CentOS-6.1-x86_64-netboot/virtualbox.sh +8 -0
  196. data/templates/CentOS-6.2-x86_64-minimal/base.sh +14 -0
  197. data/templates/CentOS-6.2-x86_64-minimal/chef.sh +3 -0
  198. data/templates/CentOS-6.2-x86_64-minimal/cleanup.sh +5 -0
  199. data/templates/CentOS-6.2-x86_64-minimal/definition.rb +39 -0
  200. data/templates/CentOS-6.2-x86_64-minimal/ks.cfg +39 -0
  201. data/templates/CentOS-6.2-x86_64-minimal/puppet.sh +12 -0
  202. data/templates/CentOS-6.2-x86_64-minimal/ruby.sh +3 -0
  203. data/templates/CentOS-6.2-x86_64-minimal/vagrant.sh +17 -0
  204. data/templates/CentOS-6.2-x86_64-minimal/virtualbox.sh +8 -0
  205. data/templates/CentOS-6.2-x86_64-netboot/base.sh +13 -0
  206. data/templates/CentOS-6.2-x86_64-netboot/chef.sh +2 -0
  207. data/templates/CentOS-6.2-x86_64-netboot/cleanup.sh +4 -0
  208. data/templates/CentOS-6.2-x86_64-netboot/definition.rb +39 -0
  209. data/templates/CentOS-6.2-x86_64-netboot/ks.cfg +46 -0
  210. data/templates/CentOS-6.2-x86_64-netboot/postinstall.sh +48 -0
  211. data/templates/CentOS-6.2-x86_64-netboot/puppet.sh +11 -0
  212. data/templates/CentOS-6.2-x86_64-netboot/ruby.sh +2 -0
  213. data/templates/CentOS-6.2-x86_64-netboot/vagrant.sh +16 -0
  214. data/templates/CentOS-6.2-x86_64-netboot/virtualbox.sh +8 -0
  215. data/templates/Debian-5.0.8-amd64-netboot/base.sh +9 -0
  216. data/templates/Debian-5.0.8-amd64-netboot/chef.sh +2 -0
  217. data/templates/Debian-5.0.8-amd64-netboot/cleanup.sh +10 -0
  218. data/templates/Debian-5.0.8-amd64-netboot/postinstall.sh +1 -1
  219. data/templates/Debian-5.0.8-amd64-netboot/puppet.sh +2 -0
  220. data/templates/Debian-5.0.8-amd64-netboot/ruby.sh +11 -0
  221. data/templates/Debian-5.0.8-amd64-netboot/vagrant.sh +14 -0
  222. data/templates/Debian-5.0.8-amd64-netboot/virtualbox.sh +15 -0
  223. data/templates/Debian-5.0.8-i386-netboot/base.sh +9 -0
  224. data/templates/Debian-5.0.8-i386-netboot/chef.sh +2 -0
  225. data/templates/Debian-5.0.8-i386-netboot/cleanup.sh +10 -0
  226. data/templates/Debian-5.0.8-i386-netboot/postinstall.sh +1 -1
  227. data/templates/Debian-5.0.8-i386-netboot/puppet.sh +2 -0
  228. data/templates/Debian-5.0.8-i386-netboot/ruby.sh +11 -0
  229. data/templates/Debian-5.0.8-i386-netboot/vagrant.sh +14 -0
  230. data/templates/Debian-5.0.8-i386-netboot/virtualbox.sh +15 -0
  231. data/templates/Debian-6.0.3-amd64-netboot/base.sh +13 -0
  232. data/templates/Debian-6.0.3-amd64-netboot/chef.sh +2 -0
  233. data/templates/Debian-6.0.3-amd64-netboot/cleanup-virtualbox.sh +2 -0
  234. data/templates/Debian-6.0.3-amd64-netboot/cleanup.sh +18 -0
  235. data/templates/{Debian-6.0.2-amd64-netboot → Debian-6.0.3-amd64-netboot}/definition.rb +5 -4
  236. data/templates/Debian-6.0.3-amd64-netboot/postinstall.sh +80 -0
  237. data/templates/{Debian-6.0.2-amd64-netboot → Debian-6.0.3-amd64-netboot}/preseed.cfg +0 -0
  238. data/templates/Debian-6.0.3-amd64-netboot/puppet.sh +2 -0
  239. data/templates/Debian-6.0.3-amd64-netboot/ruby.sh +10 -0
  240. data/templates/Debian-6.0.3-amd64-netboot/vagrant.sh +25 -0
  241. data/templates/Debian-6.0.3-amd64-netboot/virtualbox.sh +15 -0
  242. data/templates/Debian-6.0.3-amd64-netboot/zerodisk.sh +3 -0
  243. data/templates/Debian-6.0.3-i386-netboot/base.sh +13 -0
  244. data/templates/Debian-6.0.3-i386-netboot/chef.sh +2 -0
  245. data/templates/Debian-6.0.3-i386-netboot/cleanup-virtualbox.sh +2 -0
  246. data/templates/Debian-6.0.3-i386-netboot/cleanup.sh +18 -0
  247. data/templates/{Debian-6.0.2-i386-netboot → Debian-6.0.3-i386-netboot}/definition.rb +3 -3
  248. data/templates/{Debian-6.0.2-i386-netboot → Debian-6.0.3-i386-netboot}/postinstall.sh +1 -4
  249. data/templates/{Debian-6.0.2-i386-netboot → Debian-6.0.3-i386-netboot}/preseed.cfg +0 -0
  250. data/templates/Debian-6.0.3-i386-netboot/puppet.sh +2 -0
  251. data/templates/Debian-6.0.3-i386-netboot/ruby.sh +10 -0
  252. data/templates/Debian-6.0.3-i386-netboot/vagrant.sh +25 -0
  253. data/templates/Debian-6.0.3-i386-netboot/virtualbox.sh +15 -0
  254. data/templates/Debian-6.0.3-i386-netboot/zerodisk.sh +3 -0
  255. data/templates/Debian-6.0.4-amd64-netboot/base.sh +13 -0
  256. data/templates/Debian-6.0.4-amd64-netboot/chef.sh +2 -0
  257. data/templates/Debian-6.0.4-amd64-netboot/cleanup-virtualbox.sh +4 -0
  258. data/templates/Debian-6.0.4-amd64-netboot/cleanup.sh +17 -0
  259. data/templates/Debian-6.0.4-amd64-netboot/definition.rb +49 -0
  260. data/templates/Debian-6.0.4-amd64-netboot/preseed.cfg +315 -0
  261. data/templates/Debian-6.0.4-amd64-netboot/puppet.sh +2 -0
  262. data/templates/Debian-6.0.4-amd64-netboot/ruby.sh +10 -0
  263. data/templates/Debian-6.0.4-amd64-netboot/vagrant.sh +21 -0
  264. data/templates/Debian-6.0.4-amd64-netboot/virtualbox.sh +13 -0
  265. data/templates/Debian-6.0.4-amd64-netboot/zerodisk.sh +3 -0
  266. data/templates/Debian-6.0.4-i386-netboot/base.sh +13 -0
  267. data/templates/Debian-6.0.4-i386-netboot/chef.sh +2 -0
  268. data/templates/Debian-6.0.4-i386-netboot/cleanup-virtualbox.sh +4 -0
  269. data/templates/Debian-6.0.4-i386-netboot/cleanup.sh +17 -0
  270. data/templates/Debian-6.0.4-i386-netboot/definition.rb +51 -0
  271. data/templates/Debian-6.0.4-i386-netboot/preseed.cfg +315 -0
  272. data/templates/Debian-6.0.4-i386-netboot/puppet.sh +2 -0
  273. data/templates/Debian-6.0.4-i386-netboot/ruby.sh +10 -0
  274. data/templates/Debian-6.0.4-i386-netboot/vagrant.sh +21 -0
  275. data/templates/Debian-6.0.4-i386-netboot/virtualbox.sh +13 -0
  276. data/templates/Debian-6.0.4-i386-netboot/zerodisk.sh +3 -0
  277. data/templates/Fedora-14-amd64-netboot/postinstall.sh +1 -1
  278. data/templates/Fedora-14-amd64/postinstall.sh +1 -1
  279. data/templates/Fedora-14-i386-netboot/postinstall.sh +1 -1
  280. data/templates/Fedora-14-i386/postinstall.sh +1 -1
  281. data/templates/Fedora-15-x86_64-netboot/definition.rb +29 -0
  282. data/templates/Fedora-15-x86_64-netboot/ks.cfg +64 -0
  283. data/templates/Fedora-15-x86_64-netboot/postinstall.sh +33 -0
  284. data/templates/Fedora-16-i386/definition.rb +17 -0
  285. data/templates/Fedora-16-i386/ks.cfg +72 -0
  286. data/templates/Fedora-16-i386/postinstall.sh +35 -0
  287. data/templates/Fedora-16-x86_64/definition.rb +17 -0
  288. data/templates/Fedora-16-x86_64/ks.cfg +72 -0
  289. data/templates/Fedora-16-x86_64/postinstall.sh +35 -0
  290. data/templates/SLES-11-SP1-DVD-i586-GM/autoinst_de.xml +1127 -0
  291. data/templates/SLES-11-SP1-DVD-i586-GM/autoinst_en.xml +1127 -0
  292. data/templates/SLES-11-SP1-DVD-i586-GM/definition.rb +37 -0
  293. data/templates/SLES-11-SP1-DVD-i586-GM/postinstall.sh +43 -0
  294. data/templates/SLES-11-SP1-DVD-x86_64-GM/autoinst_de.xml +1171 -0
  295. data/templates/SLES-11-SP1-DVD-x86_64-GM/autoinst_en.xml +1171 -0
  296. data/templates/SLES-11-SP1-DVD-x86_64-GM/definition.rb +37 -0
  297. data/templates/SLES-11-SP1-DVD-x86_64-GM/postinstall.sh +43 -0
  298. data/templates/archlinux-i386-netboot/aif.cfg +8 -14
  299. data/templates/archlinux-i386-netboot/definition.rb +4 -7
  300. data/templates/archlinux-i386-netboot/postinstall.sh +5 -17
  301. data/templates/archlinux-i386-netboot/postinstall2.sh +3 -1
  302. data/templates/archlinux-i386/postinstall.sh +1 -1
  303. data/templates/archlinux-x86_64-netboot/aif.cfg +8 -14
  304. data/templates/archlinux-x86_64-netboot/definition.rb +4 -7
  305. data/templates/archlinux-x86_64-netboot/postinstall.sh +1 -16
  306. data/templates/archlinux-x86_64-netboot/postinstall2.sh +3 -1
  307. data/templates/archlinux-x86_64/postinstall.sh +1 -1
  308. data/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb +5 -3
  309. data/templates/freebsd-8.2-pcbsd-i386-netboot/postinstall.sh +1 -1
  310. data/templates/freebsd-8.2-pcbsd-i386/definition.rb +3 -2
  311. data/templates/freebsd-8.2-pcbsd-i386/postinstall.sh +1 -1
  312. data/templates/funtoo-latest-generic_64-stable/definition.rb +34 -0
  313. data/templates/funtoo-latest-generic_64-stable/postinstall.sh +177 -0
  314. data/templates/funtoo-latest-generic_64-stable/postinstall2.sh +83 -0
  315. data/templates/gentoo-latest-i386-experimental/definition.rb +6 -6
  316. data/templates/gentoo-latest-i386-experimental/postinstall.sh +1 -1
  317. data/templates/gentoo-latest-x86_64-experimental/definition.rb +34 -0
  318. data/templates/gentoo-latest-x86_64-experimental/postinstall.sh +214 -0
  319. data/templates/openSUSE-11.4-DVD-i586/postinstall.sh +6 -1
  320. data/templates/openSUSE-11.4-DVD-x86_64/postinstall.sh +6 -1
  321. data/templates/openSUSE-11.4-NET-i586/postinstall.sh +6 -1
  322. data/templates/openSUSE-11.4-NET-x86_64/postinstall.sh +6 -1
  323. data/templates/openSUSE-12.1-DVD+NET-i586/autoinst_de.xml +1483 -0
  324. data/templates/openSUSE-12.1-DVD+NET-i586/autoinst_en.xml +1483 -0
  325. data/templates/openSUSE-12.1-DVD+NET-i586/definition.rb +44 -0
  326. data/templates/openSUSE-12.1-DVD+NET-i586/postinstall.sh +48 -0
  327. data/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_de.xml +1727 -0
  328. data/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_en.xml +1727 -0
  329. data/templates/openSUSE-12.1-DVD+NET-x86_64/definition.rb +44 -0
  330. data/templates/openSUSE-12.1-DVD+NET-x86_64/postinstall.sh +48 -0
  331. data/templates/openbsd50_amd64/README +28 -0
  332. data/templates/openbsd50_amd64/definition.rb +84 -0
  333. data/templates/openbsd50_amd64/postinstall.sh +81 -0
  334. data/templates/openbsd50_i386/README +28 -0
  335. data/templates/openbsd50_i386/definition.rb +84 -0
  336. data/templates/openbsd50_i386/postinstall.sh +80 -0
  337. data/templates/openindiana-148-ai-x86/definition.rb +1 -1
  338. data/templates/openindiana-148-ai-x86/postinstall.sh +1 -1
  339. data/templates/opensuse-11.4-i386-experimental/postinstall.sh +1 -1
  340. data/templates/scientificlinux-6.1-i386-netboot/base.sh +1 -0
  341. data/templates/scientificlinux-6.1-i386-netboot/chef.sh +1 -0
  342. data/templates/scientificlinux-6.1-i386-netboot/cleanup.sh +4 -0
  343. data/templates/scientificlinux-6.1-i386-netboot/definition.rb +35 -0
  344. data/templates/scientificlinux-6.1-i386-netboot/ks.cfg +53 -0
  345. data/templates/scientificlinux-6.1-i386-netboot/postinstall.sh +30 -0
  346. data/templates/scientificlinux-6.1-i386-netboot/puppet.sh +1 -0
  347. data/templates/scientificlinux-6.1-i386-netboot/vagrant.sh +8 -0
  348. data/templates/scientificlinux-6.1-i386-netboot/virtualbox.sh +8 -0
  349. data/templates/scientificlinux-6.1-x86_64-netboot/base.sh +1 -0
  350. data/templates/scientificlinux-6.1-x86_64-netboot/chef.sh +1 -0
  351. data/templates/scientificlinux-6.1-x86_64-netboot/cleanup.sh +4 -0
  352. data/templates/scientificlinux-6.1-x86_64-netboot/definition.rb +35 -0
  353. data/templates/scientificlinux-6.1-x86_64-netboot/ks.cfg +53 -0
  354. data/templates/scientificlinux-6.1-x86_64-netboot/postinstall.sh +30 -0
  355. data/templates/scientificlinux-6.1-x86_64-netboot/puppet.sh +1 -0
  356. data/templates/scientificlinux-6.1-x86_64-netboot/vagrant.sh +8 -0
  357. data/templates/scientificlinux-6.1-x86_64-netboot/virtualbox.sh +8 -0
  358. data/templates/solaris-11-express-i386/definition.rb +1 -1
  359. data/templates/solaris-11-express-i386/postinstall.sh +1 -1
  360. data/templates/ubuntu-10.04.2-amd64-netboot/postinstall.sh +12 -11
  361. data/templates/ubuntu-10.04.2-server-i386-netboot/postinstall.sh +12 -11
  362. data/templates/ubuntu-10.04.3-server-amd64-alt/definition.rb +2 -2
  363. data/templates/ubuntu-10.04.3-server-amd64-alt/postinstall.sh +12 -11
  364. data/templates/ubuntu-10.04.3-server-amd64/vagrant.sh +1 -1
  365. data/templates/ubuntu-10.04.3-server-i386/postinstall.sh +12 -11
  366. data/templates/ubuntu-10.04.4-server-amd64/definition.rb +24 -0
  367. data/templates/ubuntu-10.04.4-server-amd64/postinstall.sh +92 -0
  368. data/templates/ubuntu-10.04.4-server-amd64/preseed.cfg +87 -0
  369. data/templates/ubuntu-10.04.4-server-i386/definition.rb +24 -0
  370. data/templates/ubuntu-10.04.4-server-i386/postinstall.sh +92 -0
  371. data/templates/ubuntu-10.04.4-server-i386/preseed.cfg +87 -0
  372. data/templates/ubuntu-10.10-server-amd64-netboot/postinstall.sh +12 -11
  373. data/templates/ubuntu-10.10-server-amd64/postinstall.sh +12 -11
  374. data/templates/ubuntu-10.10-server-i386-netboot/postinstall.sh +12 -11
  375. data/templates/ubuntu-10.10-server-i386/postinstall.sh +12 -11
  376. data/templates/ubuntu-11.04-server-amd64/ssh-keys.sh +1 -1
  377. data/templates/ubuntu-11.04-server-i386/definition.rb +1 -1
  378. data/templates/ubuntu-11.04-server-i386/postinstall.sh +12 -11
  379. data/templates/ubuntu-11.10-server-amd64-ishaya/definition.rb +24 -0
  380. data/templates/ubuntu-11.10-server-amd64-ishaya/postinstall.sh +91 -0
  381. data/templates/ubuntu-11.10-server-amd64-ishaya/preseed.cfg +87 -0
  382. data/templates/ubuntu-11.10-server-amd64-ruby192/definition.rb +24 -0
  383. data/templates/ubuntu-11.10-server-amd64-ruby192/postinstall.sh +91 -0
  384. data/templates/ubuntu-11.10-server-amd64-ruby192/preseed.cfg +87 -0
  385. data/templates/ubuntu-11.10-server-amd64-rvm/definition.rb +35 -0
  386. data/templates/ubuntu-11.10-server-amd64-rvm/postinstall.sh +85 -0
  387. data/templates/ubuntu-11.10-server-amd64-rvm/preseed.cfg +93 -0
  388. data/templates/ubuntu-11.10-server-amd64/definition.rb +35 -0
  389. data/templates/ubuntu-11.10-server-amd64/postinstall.sh +89 -0
  390. data/templates/ubuntu-11.10-server-amd64/preseed.cfg +87 -0
  391. data/templates/ubuntu-11.10-server-i386/definition.rb +35 -0
  392. data/templates/ubuntu-11.10-server-i386/postinstall.sh +89 -0
  393. data/templates/ubuntu-11.10-server-i386/preseed.cfg +87 -0
  394. data/templates/ubuntu-12.04-server-amd64-packages/definition.rb +37 -0
  395. data/templates/{Debian-6.0.2-amd64-netboot → ubuntu-12.04-server-amd64-packages}/postinstall.sh +33 -32
  396. data/templates/ubuntu-12.04-server-amd64-packages/preseed.cfg +87 -0
  397. data/templates/ubuntu-12.04-server-amd64/definition.rb +37 -0
  398. data/templates/ubuntu-12.04-server-amd64/postinstall.sh +92 -0
  399. data/templates/ubuntu-12.04-server-amd64/preseed.cfg +87 -0
  400. data/templates/ubuntu-8.04.4-server-amd64/definition.rb +1 -0
  401. data/templates/ubuntu-8.04.4-server-amd64/postinstall.sh +19 -17
  402. data/templates/ubuntu-8.04.4-server-amd64/preseed.cfg +0 -1
  403. data/templates/ubuntu-8.04.4-server-i386/definition.rb +1 -1
  404. data/templates/ubuntu-8.04.4-server-i386/postinstall.sh +34 -11
  405. data/templates/windows-2008R1-serverstandard-amd64/Autounattend.xml +146 -0
  406. data/templates/windows-2008R1-serverstandard-amd64/README.md +134 -0
  407. data/templates/windows-2008R1-serverstandard-amd64/cygwin-setup.exe +0 -0
  408. data/templates/windows-2008R1-serverstandard-amd64/definition.rb +114 -0
  409. data/templates/windows-2008R1-serverstandard-amd64/install-cygwin-sshd.bat +41 -0
  410. data/templates/windows-2008R1-serverstandard-amd64/install-guest-additions.bat +5 -0
  411. data/templates/windows-2008R1-serverstandard-amd64/install-winrm.bat +16 -0
  412. data/templates/windows-2008R1-serverstandard-amd64/oracle-cert.cer +0 -0
  413. data/templates/windows-2008R1-serverstandard-amd64/postinstall.sh +75 -0
  414. data/templates/windows-2008R1-serverstandard-amd64/sudo +2 -0
  415. data/templates/windows-2008R1-serverstandard-amd64/winrm.rb +8 -0
  416. data/templates/windows-2008R1-serverweb-amd64/Autounattend.xml +162 -0
  417. data/templates/windows-2008R1-serverweb-amd64/README.md +134 -0
  418. data/templates/windows-2008R1-serverweb-amd64/cygwin-setup.exe +0 -0
  419. data/templates/windows-2008R1-serverweb-amd64/definition.rb +131 -0
  420. data/templates/windows-2008R1-serverweb-amd64/install-cygwin-sshd.bat +40 -0
  421. data/templates/windows-2008R1-serverweb-amd64/install-guest-additions.bat +5 -0
  422. data/templates/windows-2008R1-serverweb-amd64/install-vbox-guest.bat +2 -0
  423. data/templates/windows-2008R1-serverweb-amd64/install-winrm.bat +16 -0
  424. data/templates/windows-2008R1-serverweb-amd64/oracle-cert.cer +0 -0
  425. data/templates/windows-2008R1-serverweb-amd64/postinstall.sh +74 -0
  426. data/templates/windows-2008R1-serverweb-amd64/sudo +2 -0
  427. data/templates/windows-2008R1-serverweb-amd64/winrm.rb +8 -0
  428. data/templates/windows-2008R1-serverweb-i386/Autounattend.xml +142 -0
  429. data/templates/windows-2008R1-serverweb-i386/README.md +136 -0
  430. data/templates/windows-2008R1-serverweb-i386/cygwin-setup.exe +0 -0
  431. data/templates/windows-2008R1-serverweb-i386/definition.rb +132 -0
  432. data/templates/windows-2008R1-serverweb-i386/install-cygwin-sshd.bat +40 -0
  433. data/templates/windows-2008R1-serverweb-i386/install-vbox-guest.bat +2 -0
  434. data/templates/windows-2008R1-serverweb-i386/install-winrm.bat +14 -0
  435. data/templates/windows-2008R1-serverweb-i386/oracle-cert.cer +0 -0
  436. data/templates/windows-2008R1-serverweb-i386/postinstall.sh +74 -0
  437. data/templates/windows-2008R1-serverweb-i386/sudo +2 -0
  438. data/templates/windows-2008R1-serverweb-i386/winrm.rb +8 -0
  439. data/templates/windows-2008R1-serverwebcore-amd64/Autounattend.xml +162 -0
  440. data/templates/windows-2008R1-serverwebcore-amd64/README.md +134 -0
  441. data/templates/windows-2008R1-serverwebcore-amd64/cygwin-setup.exe +0 -0
  442. data/templates/windows-2008R1-serverwebcore-amd64/definition.rb +132 -0
  443. data/templates/windows-2008R1-serverwebcore-amd64/install-cygwin-sshd.bat +41 -0
  444. data/templates/windows-2008R1-serverwebcore-amd64/install-vbox-guest.bat +2 -0
  445. data/templates/windows-2008R1-serverwebcore-amd64/install-winrm.bat +14 -0
  446. data/templates/windows-2008R1-serverwebcore-amd64/oracle-cert.cer +0 -0
  447. data/templates/windows-2008R1-serverwebcore-amd64/postinstall.sh +74 -0
  448. data/templates/windows-2008R1-serverwebcore-amd64/sudo +2 -0
  449. data/templates/windows-2008R1-serverwebcore-amd64/winrm.rb +8 -0
  450. data/templates/windows-2008R2-amd64/cygwin-setup.exe +0 -0
  451. data/templates/windows-2008R2-amd64/install-winrm.bat +2 -0
  452. data/templates/windows-2008R2-amd64/postinstall.sh +1 -1
  453. data/templates/windows-2008R2-serverstandard-amd64/Autounattend.xml +147 -0
  454. data/templates/windows-2008R2-serverstandard-amd64/README.md +142 -0
  455. data/templates/windows-2008R2-serverstandard-amd64/definition.rb +43 -0
  456. data/templates/windows-2008R2-serverstandard-amd64/install-cygwin-sshd.bat +41 -0
  457. data/templates/windows-2008R2-serverstandard-amd64/install-winrm.bat +11 -0
  458. data/templates/windows-2008R2-serverstandard-amd64/oracle-cert.cer +0 -0
  459. data/templates/windows-2008R2-serverstandard-amd64/postinstall.sh +74 -0
  460. data/templates/windows-2008R2-serverweb-amd64/Autounattend.xml +151 -0
  461. data/templates/windows-2008R2-serverweb-amd64/README.md +142 -0
  462. data/templates/windows-2008R2-serverweb-amd64/definition.rb +38 -0
  463. data/templates/windows-2008R2-serverweb-amd64/install-cygwin-sshd.bat +40 -0
  464. data/templates/windows-2008R2-serverweb-amd64/install-vbox-guest.bat +2 -0
  465. data/templates/windows-2008R2-serverweb-amd64/install-winrm.bat +11 -0
  466. data/templates/windows-2008R2-serverweb-amd64/oracle-cert.cer +0 -0
  467. data/templates/windows-2008R2-serverweb-amd64/postinstall.sh +74 -0
  468. data/templates/windows-2008R2-serverwebcore-amd64/Autounattend.xml +145 -0
  469. data/templates/windows-2008R2-serverwebcore-amd64/README.md +142 -0
  470. data/templates/windows-2008R2-serverwebcore-amd64/cygwin-setup.exe +0 -0
  471. data/templates/windows-2008R2-serverwebcore-amd64/definition.rb +46 -0
  472. data/templates/windows-2008R2-serverwebcore-amd64/install-cygwin-sshd.bat +41 -0
  473. data/templates/windows-2008R2-serverwebcore-amd64/install-vbox-guest.bat +2 -0
  474. data/templates/windows-2008R2-serverwebcore-amd64/install-winrm.bat +11 -0
  475. data/templates/windows-2008R2-serverwebcore-amd64/oracle-cert.cer +0 -0
  476. data/templates/windows-2008R2-serverwebcore-amd64/postinstall.sh +74 -0
  477. data/templates/windows-7-enterprise-amd64/Autounattend.xml +155 -0
  478. data/templates/windows-7-enterprise-amd64/README.md +52 -0
  479. data/templates/windows-7-enterprise-amd64/definition.rb +40 -0
  480. data/templates/windows-7-enterprise-amd64/install-cygwin-sshd.bat +40 -0
  481. data/templates/windows-7-enterprise-amd64/install-vbox-guest.bat +2 -0
  482. data/templates/windows-7-enterprise-amd64/install-winrm.bat +14 -0
  483. data/templates/windows-7-enterprise-amd64/oracle-cert.cer +0 -0
  484. data/templates/windows-7-enterprise-amd64/postinstall.sh +74 -0
  485. data/templates/windows-7-enterprise-i386/Autounattend.xml +151 -0
  486. data/templates/windows-7-enterprise-i386/README.md +169 -0
  487. data/templates/windows-7-enterprise-i386/definition.rb +40 -0
  488. data/templates/windows-7-enterprise-i386/install-cygwin-sshd.bat +40 -0
  489. data/templates/windows-7-enterprise-i386/install-winrm.bat +14 -0
  490. data/templates/windows-7-enterprise-i386/oracle-cert.cer +0 -0
  491. data/templates/windows-7-enterprise-i386/postinstall.sh +74 -0
  492. data/templates/windows-7-premium-amd64/Autounattend.xml +152 -0
  493. data/templates/windows-7-premium-amd64/README.md +171 -0
  494. data/templates/windows-7-premium-amd64/definition.rb +38 -0
  495. data/templates/windows-7-premium-amd64/install-chefclient.bat +44 -0
  496. data/templates/windows-7-premium-amd64/install-winrm.bat +11 -0
  497. data/templates/windows-7-premium-amd64/oracle-cert.cer +0 -0
  498. data/templates/windows-7-premium-amd64/postinstall.sh +124 -0
  499. data/templates/windows-7-premium-amd64/winrm.rb +8 -0
  500. data/templates/windows-7-professional-amd64/Autounattend.xml +152 -0
  501. data/templates/windows-7-professional-amd64/README.md +171 -0
  502. data/templates/windows-7-professional-amd64/definition.rb +41 -0
  503. data/templates/windows-7-professional-amd64/install-cygwin-sshd.bat +40 -0
  504. data/templates/windows-7-professional-amd64/install-winrm.bat +14 -0
  505. data/templates/windows-7-professional-amd64/oracle-cert.cer +0 -0
  506. data/templates/windows-7-professional-amd64/postinstall.sh +74 -0
  507. data/templates/windows-7-ultimate-amd64/Autounattend.xml +152 -0
  508. data/templates/windows-7-ultimate-amd64/README.md +89 -0
  509. data/templates/windows-7-ultimate-amd64/definition.rb +41 -0
  510. data/templates/windows-7-ultimate-amd64/install-cygwin-sshd.bat +40 -0
  511. data/templates/windows-7-ultimate-amd64/install-winrm.bat +14 -0
  512. data/templates/windows-7-ultimate-amd64/oracle-cert.cer +0 -0
  513. data/templates/windows-7-ultimate-amd64/postinstall.sh +74 -0
  514. data/templates/windows-7sp1-ultimate-amd64/Autounattend.xml +149 -0
  515. data/templates/windows-7sp1-ultimate-amd64/README.md +89 -0
  516. data/templates/windows-7sp1-ultimate-amd64/definition.rb +42 -0
  517. data/templates/windows-7sp1-ultimate-amd64/install-cygwin-sshd.bat +40 -0
  518. data/templates/windows-7sp1-ultimate-amd64/install-winrm.bat +14 -0
  519. data/templates/windows-7sp1-ultimate-amd64/oracle-cert.cer +0 -0
  520. data/templates/windows-7sp1-ultimate-amd64/postinstall.sh +74 -0
  521. data/templates/windows-8-preview-dev-amd64/Autounattend.xml +140 -0
  522. data/templates/windows-8-preview-dev-amd64/README.md +134 -0
  523. data/templates/windows-8-preview-dev-amd64/cygwin-setup.exe +0 -0
  524. data/templates/windows-8-preview-dev-amd64/definition.rb +114 -0
  525. data/templates/windows-8-preview-dev-amd64/install-cygwin-sshd.bat +38 -0
  526. data/templates/windows-8-preview-dev-amd64/install-winrm.bat +11 -0
  527. data/templates/windows-8-preview-dev-amd64/oracle-cert.cer +0 -0
  528. data/templates/windows-8-preview-dev-amd64/postinstall.sh +122 -0
  529. data/templates/windows-8-preview-dev-amd64/winrm.rb +8 -0
  530. data/test/build_realtest.rb +71 -0
  531. data/test/definition_test.rb +3 -3
  532. data/test/definitions/test_definition/_disabled_postinstall.sh +1 -0
  533. data/test/definitions/test_definition/definition.rb +14 -17
  534. data/test/definitions/test_definition/enabled_postinstall.sh +1 -0
  535. data/test/environment_test.rb +4 -4
  536. data/validation/features/steps/{ssh_steps.rb → ssh_steps.old} +0 -0
  537. data/validation/features/steps/veewee_steps.rb +27 -0
  538. data/validation/veewee.feature +45 -0
  539. data/veewee.gemspec +18 -11
  540. metadata +500 -175
  541. data/Gemfile.lock +0 -98
  542. data/README-LIB.md +0 -2
  543. data/lib/veewee/builder/core/box.rb +0 -32
  544. data/lib/veewee/builder/core/builder/build.rb +0 -250
  545. data/lib/veewee/builder/core/builder/iso.rb +0 -120
  546. data/lib/veewee/builder/kvm/box.rb +0 -130
  547. data/lib/veewee/builder/kvm/builder.rb +0 -38
  548. data/lib/veewee/builder/virtualbox/box.rb +0 -121
  549. data/lib/veewee/builder/virtualbox/builder.rb +0 -48
  550. data/lib/veewee/builder/virtualbox/helper/_snapshots.rb +0 -105
  551. data/lib/veewee/builder/virtualbox/helper/_transaction.rb +0 -135
  552. data/lib/veewee/builder/virtualbox/helper/console_type.rb +0 -62
  553. data/lib/veewee/builder/virtualbox/helper/create.rb +0 -210
  554. data/lib/veewee/builder/virtualbox/helper/destroy.rb +0 -79
  555. data/lib/veewee/builder/virtualbox/helper/export_vagrant.rb +0 -87
  556. data/lib/veewee/builder/virtualbox/helper/validate_vagrant.rb +0 -35
  557. data/lib/veewee/builder/vmfusion/box.rb +0 -137
  558. data/lib/veewee/builder/vmfusion/builder.rb +0 -78
  559. data/lib/veewee/builder/vmfusion/helper/export_ova.rb +0 -26
  560. data/lib/veewee/builder/vmfusion/helper/validate_vmfusion.rb +0 -37
  561. data/lib/veewee/config/builders.rb +0 -36
  562. data/lib/veewee/util/scancode.rb +0 -112
  563. data/lib/veewee/util/shell.rb +0 -42
  564. data/lib/veewee/util/ssh.rb +0 -158
  565. data/lib/veewee/util/tcp.rb +0 -88
  566. data/lib/veewee/util/web.rb +0 -63
  567. data/lib/veewee/vagrant/config.rb +0 -7
  568. data/test/build_test.rb +0 -50
  569. data/test/definitions/test_definition/_test_me.sh +0 -1
  570. data/validation/vagrant.feature +0 -68
@@ -0,0 +1,24 @@
1
+ This needs to be bulked out more, but for now, here is a basic guide to installing Veewee from source.
2
+
3
+ First, if you are not using RVM, it's recommended that you do so as veewee will install in it's own gemset which keeps veewee and it's dependancies completely separate from your other Ruby gems.
4
+
5
+ RVM is available here: http://beginrescueend.com/
6
+
7
+ You can install it as follows:
8
+
9
+ $ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
10
+ $ source ~/.bash_profile
11
+
12
+ Now, install Ruby 1.9.2 using RVM:
13
+
14
+ $ rvm install 1.9.2
15
+
16
+ Ok, now that we have RVM installed, you can now install Veewee.
17
+
18
+ When you cd into the veewee directory, rvm should automatically read the .rvmrc file and prompt you to verify it - you can do so by pressing Y. This will then create a gemset for veewee.
19
+
20
+ $ git clone https://github.com/jedi4ever/veewee.git
21
+ $ cd veewee
22
+ $ gem install bundler
23
+ $ bundle install
24
+
@@ -0,0 +1,2 @@
1
+ Coming Soon
2
+
@@ -0,0 +1,23 @@
1
+ # Providers in Veewee
2
+
3
+ Initially veewee started as provider for virtualbox. From v0.3 Vmware fusion and KVM support are introduced.
4
+
5
+ ## Virtualbox
6
+
7
+ To interact with virtualbox, veewee executes shell-commands through the 'VboxManage' command. The virtualbox gem library proved to be less stable.
8
+
9
+ To simulate the typing, veewee uses the 'VBoxManage controlvm 'myubuntu' keyboardputscancode <keycode>'.
10
+ Scancode are injected directly the keyboard buffer with this. And as this buffer is small, we can't type fast.
11
+ This is why you have the delay while veewee types the commands. Speeding it up, will make the keyboard buffer loose keystrokes.
12
+
13
+ ## Vmware fusion
14
+
15
+ To interact with Vmware fusion, we leverage (a currently patched) version of [Fission gem](https://github.com/thbishop/fission). This takes care of the heavy lifting.
16
+
17
+ To interact with the screen , veewee enables VNC on the created vmware fusion machines and use the [Ruby-VNC gem](http://code.google.com/p/ruby-vnc/) to send the keystrokes. Here too , sending keystrokes too fast is a problem.
18
+
19
+ ## KVM
20
+
21
+ To interact with KVM veewee, uses [libvirt support](http://libvirt.org/ruby/) provided through [Fog gem](http://fog.io) libvirt support
22
+
23
+ To interact with the screen , veewee enables VNC on the created vmware fusion machines and use the [Ruby-VNC gem](http://code.google.com/p/ruby-vnc/) to send the keystrokes. Here too , sending keystrokes too fast is a problem.
@@ -0,0 +1 @@
1
+ Coming Soon
@@ -0,0 +1,83 @@
1
+ # Running veewee
2
+
3
+ ## Calling veewee
4
+
5
+ ### Using veewee cli
6
+ The first way to call veewee is through the 'veewee' cli command:
7
+
8
+ $ veewee
9
+ Tasks:
10
+ veewee fusion # Subcommand for Vmware fusion
11
+ veewee help [TASK] # Describe available tasks or one specific task
12
+ veewee kvm # Subcommand for kvm
13
+ veewee vbox # Subcommand for virtualbox
14
+ veewee version # Prints the Veewee version information
15
+
16
+ ### Using veewee as a vagrant plugin
17
+ The second way is to use it a vagrant plugin. Veewee registeres itself as a subcommand 'basebox'
18
+
19
+ $ vagrant basebox
20
+ Usage: vagrant basebox <command> [<args>]
21
+
22
+ Available subcommands:
23
+ build
24
+ define
25
+ destroy
26
+ export
27
+ halt
28
+ list
29
+ ostypes
30
+ ssh
31
+ templates
32
+ undefine
33
+ up
34
+
35
+ For help on any individual command run `vagrant basebox COMMAND -h`
36
+
37
+ ## Available commands
38
+
39
+ The following command are available: change the vbox to fusion or kvm if you want to use a different <provider>
40
+
41
+ Tasks:
42
+ veewee vbox build [BOX_NAME] # Build box
43
+ veewee vbox define [BOXNAME] [TEMPLATE] # Define a new basebox starting fr...
44
+ veewee vbox destroy [BOXNAME] # Destroys the basebox that was built
45
+ veewee vbox halt [BOXNAME] # Activates a shutdown on the basebox
46
+ veewee vbox help [COMMAND] # Describe subcommands or one spec...
47
+ veewee vbox list # Lists all defined boxes
48
+ veewee vbox ostypes # List the available Operating Sys...
49
+ veewee vbox ssh [BOXNAME] [COMMAND] # Shows SSH information
50
+ veewee vbox templates # List the currently available tem...
51
+ veewee vbox undefine [BOXNAME] # Removes the definition of a base...
52
+ veewee vbox up [BOXNAME] # Starts a Box
53
+ veewee vbox validate [NAME] # Validates a box against vagrant ...
54
+
55
+ ## Non-Vagrant usage
56
+ A typical cycle would be:
57
+
58
+ $ veewee vbox define 'mybuntu' 'ubuntu-10.10-amd64'
59
+ $ veewee vbox build 'myubuntu'
60
+ $ veewee vbox ssh 'myubuntu'
61
+ $ veewee vbox halt 'myubuntu'
62
+ $ veewee vbox up 'myubuntu'
63
+ $ veewee vbox export 'myubuntu'
64
+
65
+ ## Vagrant usage
66
+
67
+ A typical cycle would be:
68
+
69
+ $ vagrant basebox define 'myubuntu' 'ubuntu-10.10-amd64'
70
+ $ vagrant basebox build 'myubuntu'
71
+ $ vagrant basebox export 'myubuntu'
72
+
73
+ $ vagrant basebox add 'myubuntu' 'myubuntu.box'
74
+ $ vagrant init 'mybuntu'
75
+ $ vagrant up
76
+ $ vagrant ssh
77
+
78
+ ## Exporting a vm
79
+ The export format depends on the provider:
80
+
81
+ - fusion : exports to an 'ova' file
82
+ - kvm : export to a raw '.img' file
83
+ - vbox: exports to a '.box' format (for use in vagrant)
@@ -0,0 +1,102 @@
1
+ # Veewee Template
2
+
3
+ ## Listing available templates
4
+
5
+ Veewee provides templates for a lot of different os-es.
6
+
7
+ To see all the templates provided:
8
+
9
+ veewee vbox templates
10
+
11
+ The following templates are available:
12
+ veewee vbox define '<box_name>' 'archlinux-i386'
13
+ veewee vbox define '<box_name>' 'archlinux-i386-netboot'
14
+ veewee vbox define '<box_name>' 'archlinux-x86_64'
15
+ veewee vbox define '<box_name>' 'archlinux-x86_64-netboot'
16
+ veewee vbox define '<box_name>' 'CentOS-4.8-i386'
17
+ veewee vbox define '<box_name>' 'CentOS-5.5-x86_64-netboot'
18
+ veewee vbox define '<box_name>' 'CentOS-5.6-i386'
19
+ veewee vbox define '<box_name>' 'CentOS-5.6-i386-netboot'
20
+ veewee vbox define '<box_name>' 'CentOS-5.6-x86_64-netboot'
21
+ veewee vbox define '<box_name>' 'CentOS-5.7-i386-netboot'
22
+ veewee vbox define '<box_name>' 'CentOS-5.7-x86_64-netboot'
23
+ veewee vbox define '<box_name>' 'CentOS-6.0-i386'
24
+ veewee vbox define '<box_name>' 'CentOS-6.0-i386-netboot'
25
+ veewee vbox define '<box_name>' 'CentOS-6.0-x86_64'
26
+ veewee vbox define '<box_name>' 'CentOS-6.0-x86_64-minimal'
27
+ veewee vbox define '<box_name>' 'CentOS-6.0-x86_64-netboot'
28
+ veewee vbox define '<box_name>' 'CentOS-6.1-x86_64-minimal'
29
+ veewee vbox define '<box_name>' 'CentOS-6.2-x86_64-minimal'
30
+ veewee vbox define '<box_name>' 'Debian-5.0.8-amd64-netboot'
31
+ veewee vbox define '<box_name>' 'Debian-5.0.8-i386-netboot'
32
+ veewee vbox define '<box_name>' 'Debian-6.0.3-amd64-netboot'
33
+ veewee vbox define '<box_name>' 'Debian-6.0.3-i386-netboot'
34
+ veewee vbox define '<box_name>' 'Fedora-14-amd64'
35
+ veewee vbox define '<box_name>' 'Fedora-14-amd64-netboot'
36
+ veewee vbox define '<box_name>' 'Fedora-14-i386'
37
+ veewee vbox define '<box_name>' 'Fedora-14-i386-netboot'
38
+ veewee vbox define '<box_name>' 'Fedora-15-i386'
39
+ veewee vbox define '<box_name>' 'Fedora-15-i386-netboot'
40
+ veewee vbox define '<box_name>' 'Fedora-15-x86_64'
41
+ veewee vbox define '<box_name>' 'Fedora-15-x86_64-netboot'
42
+ veewee vbox define '<box_name>' 'Fedora-16-i386'
43
+ veewee vbox define '<box_name>' 'Fedora-16-x86_64'
44
+ veewee vbox define '<box_name>' 'freebsd-8.2-experimental'
45
+ veewee vbox define '<box_name>' 'freebsd-8.2-pcbsd-i386'
46
+ veewee vbox define '<box_name>' 'freebsd-8.2-pcbsd-i386-netboot'
47
+ veewee vbox define '<box_name>' 'funtoo-latest-generic_64-stable'
48
+ veewee vbox define '<box_name>' 'gentoo-latest-i386-experimental'
49
+ veewee vbox define '<box_name>' 'gentoo-latest-x86_64-experimental'
50
+ veewee vbox define '<box_name>' 'openbsd50_amd64'
51
+ veewee vbox define '<box_name>' 'openbsd50_i386'
52
+ veewee vbox define '<box_name>' 'openindiana-148-ai-x86'
53
+ veewee vbox define '<box_name>' 'openSUSE-11.4-DVD-i586'
54
+ veewee vbox define '<box_name>' 'openSUSE-11.4-DVD-x86_64'
55
+ veewee vbox define '<box_name>' 'opensuse-11.4-i386-experimental'
56
+ veewee vbox define '<box_name>' 'openSUSE-11.4-NET-i586'
57
+ veewee vbox define '<box_name>' 'openSUSE-11.4-NET-x86_64'
58
+ veewee vbox define '<box_name>' 'openSUSE-12.1-DVD+NET-i586'
59
+ veewee vbox define '<box_name>' 'openSUSE-12.1-DVD+NET-x86_64'
60
+ veewee vbox define '<box_name>' 'scientificlinux-6.1-i386-netboot'
61
+ veewee vbox define '<box_name>' 'scientificlinux-6.1-x86_64-netboot'
62
+ veewee vbox define '<box_name>' 'SLES-11-SP1-DVD-i586-GM'
63
+ veewee vbox define '<box_name>' 'SLES-11-SP1-DVD-x86_64-GM'
64
+ veewee vbox define '<box_name>' 'solaris-11-express-i386'
65
+ veewee vbox define '<box_name>' 'Sysrescuecd-2.0.0-experimental'
66
+ veewee vbox define '<box_name>' 'ubuntu-10.04.2-amd64-netboot'
67
+ veewee vbox define '<box_name>' 'ubuntu-10.04.2-server-i386-netboot'
68
+ veewee vbox define '<box_name>' 'ubuntu-10.04.3-server-amd64'
69
+ veewee vbox define '<box_name>' 'ubuntu-10.04.3-server-amd64-alt'
70
+ veewee vbox define '<box_name>' 'ubuntu-10.04.3-server-i386'
71
+ veewee vbox define '<box_name>' 'ubuntu-10.10-server-amd64'
72
+ veewee vbox define '<box_name>' 'ubuntu-10.10-server-amd64-netboot'
73
+ veewee vbox define '<box_name>' 'ubuntu-10.10-server-i386'
74
+ veewee vbox define '<box_name>' 'ubuntu-10.10-server-i386-netboot'
75
+ veewee vbox define '<box_name>' 'ubuntu-11.04-server-amd64'
76
+ veewee vbox define '<box_name>' 'ubuntu-11.04-server-i386'
77
+ veewee vbox define '<box_name>' 'ubuntu-11.10-server-amd64'
78
+ veewee vbox define '<box_name>' 'ubuntu-11.10-server-amd64-ishaya'
79
+ veewee vbox define '<box_name>' 'ubuntu-11.10-server-amd64-ruby192'
80
+ veewee vbox define '<box_name>' 'ubuntu-11.10-server-i386'
81
+ veewee vbox define '<box_name>' 'ubuntu-8.04.4-server-amd64'
82
+ veewee vbox define '<box_name>' 'ubuntu-8.04.4-server-i386'
83
+ veewee vbox define '<box_name>' 'windows-2008R1-serverstandard-amd64'
84
+ veewee vbox define '<box_name>' 'windows-2008R2-amd64'
85
+ veewee vbox define '<box_name>' 'windows-2008R2-serverstandard-amd64'
86
+ veewee vbox define '<box_name>' 'windows-7-enterprise-amd64'
87
+ veewee vbox define '<box_name>' 'windows-7-enterprise-i386'
88
+ veewee vbox define '<box_name>' 'windows-7-premium-amd64'
89
+ veewee vbox define '<box_name>' 'windows-7-professional-amd64'
90
+ veewee vbox define '<box_name>' 'windows-7-ultimate-amd64'
91
+ veewee vbox define '<box_name>' 'windows-7sp1-ultimate-amd64'
92
+ veewee vbox define '<box_name>' 'windows-8-preview-dev-amd64'
93
+
94
+
95
+ ## Structure
96
+ Templates have the same structure as a <definition> but are provided by veewee as templates for definitions.
97
+
98
+ ## Extending templates
99
+
100
+ - fork veewee
101
+ - add a new template under the templates directory
102
+ - send me a pull request
@@ -0,0 +1,119 @@
1
+ ## Define a new box
2
+ Let's define a Ubuntu 10.10 server i386 basebox called myunbuntubox
3
+ this is essentially making a copy based on the templates provided above.
4
+
5
+ $ veewee vbox basebox define 'myubuntubox' 'ubuntu-10.10-server-i386'
6
+ The basebox 'myubuntubox' has been succesfully created from the template ''ubuntu-10.10-server-i386'
7
+ You can now edit the definition files stored in definitions/myubuntubox
8
+ or build the box with:
9
+ veewee vbox basebox build 'myubuntubox'
10
+
11
+ -> This copies over the templates/ubuntu-10.10-server-i386 to definition/myubuntubox
12
+
13
+ $ ls definitions/myubuntubox
14
+ definition.rb postinstall.sh postinstall2.sh preseed.cfg
15
+
16
+ ## Optionally modify the definition.rb , postinstall.sh or preseed.cfg
17
+
18
+ Veewee::Definition.declare( {
19
+ :cpu_count => '1', :memory_size=> '256',
20
+ :disk_size => '10140', :disk_format => 'VDI',
21
+ :os_type_id => 'Ubuntu',
22
+ :iso_file => "ubuntu-10.10-server-i386.iso",
23
+ :iso_src => "http://releases.ubuntu.com/maverick/ubuntu-10.10-server-i386.iso",
24
+ :iso_md5 => "ce1cee108de737d7492e37069eed538e",
25
+ :iso_download_timeout => "1000",
26
+ :boot_wait => "10",
27
+ :boot_cmd_sequence => [
28
+ '<Esc><Esc><Enter>',
29
+ '/install/vmlinuz noapic preseed/url=http://%IP%:%PORT%/preseed.cfg ',
30
+ 'debian-installer=en_US auto locale=en_US kbd-chooser/method=us ',
31
+ 'hostname=%NAME% ',
32
+ 'fb=false debconf/frontend=noninteractive ',
33
+ 'console-setup/ask_detect=false console-setup/modelcode=pc105 console-setup/layoutcode=us ',
34
+ 'initrd=/install/initrd.gz -- <Enter>'
35
+ ],
36
+ :kickstart_port => "7122", :kickstart_timeout => "10000",:kickstart_file => "preseed.cfg",
37
+ :ssh_login_timeout => "10000",:ssh_user => "vagrant", :ssh_password => "vagrant",:ssh_key => "",
38
+ :ssh_host_port => "2222", :ssh_guest_port => "22",
39
+ :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
40
+ :shutdown_cmd => "shutdown -H",
41
+ :postinstall_files => [ "postinstall.sh"],:postinstall_timeout => "10000"
42
+ }
43
+ )
44
+
45
+ If you need to change values in the templates, be sure to run the rake undefine, the rake define again to copy the changes across.
46
+
47
+ ## Getting the cdrom file in place
48
+ Put your isofile inside the 'currentdir'/iso directory or if you don't run
49
+
50
+ $ veewee vbox basebox build 'myubuntubox'
51
+
52
+ - the build assumes your iso files are in 'currentdir'/iso
53
+ - if it can not find it will suggest to download the iso for you
54
+ - use '--force' to overwrite an existing install
55
+
56
+ ## Build the new box:
57
+
58
+ $ veewee vbox basebox build 'myubuntubox'
59
+
60
+ - This will create a machine + disk according to the definition.rb
61
+ - Note: :os_type_id = The internal Name Virtualbox uses for that Distribution
62
+ - Mount the ISO File :iso_file
63
+ - Boot up the machine and wait for :boot_time
64
+ - Send the keystrokes in :boot_cmd_sequence
65
+ - Startup a webserver on :kickstart_port to wait for a request for the :kickstart_file (don't navigate to the file in your browser or the server will stop and the installer will not be able to find your preseed)
66
+ - Wait for ssh login to work with :ssh_user , :ssh_password
67
+ - Sudo execute the :postinstall_files
68
+
69
+ ## Validate the vm
70
+
71
+ $ veewee vbox validate 'myubuntubox'
72
+
73
+ this will run some cucumber test against the box to see if it has the necessary bits and pieces for vagrant to work
74
+
75
+ ## Export the vm to a .box file
76
+
77
+ $ vagrant basebox export 'myubuntubox'
78
+
79
+ this is actually calling - vagrant package --base 'myubuntubox' --output 'boxes/myubuntubox.box'
80
+
81
+ this will result in a myubuntubox.box
82
+
83
+ ## Add the box as one of your boxes
84
+ To import it into vagrant type:
85
+
86
+ $ vagrant box add 'myubuntubox' 'myubuntubox.box'
87
+
88
+ ## Use it in vagrant
89
+
90
+ To use it:
91
+
92
+ $ vagrant init 'myubuntubox'
93
+ $ vagrant up
94
+ $ vagrant ssh
95
+
96
+ ## How to add a new OS/installation (needs some love)
97
+
98
+ I suggest the easiest way is to get an account on github and fork of the veewee repository
99
+
100
+ $ git clone https://github.com/*your account*/veewee.git
101
+ $ cd veewee
102
+ $ gem install bundler
103
+ $ bundle install
104
+
105
+ If you don't use rvm, be sure to execute vagrant through bundle exec
106
+
107
+ $ alias vagrant="bundle exec vagrant"
108
+
109
+ Start of an existing one
110
+
111
+ $ veewee vbox basebox define 'mynewos' 'ubuntu...'
112
+
113
+ - Do changes in the currentdir/definitions/mynewos
114
+ - When it builds ok, move the definition/mynewos to a sensible directory under templates
115
+ - commit the changes (git commit -a)
116
+ - push the changes to github (git push)
117
+ - go to the github gui and issue a pull request for it
118
+
119
+ ## If you have a setup working, share your 'definition' with me. That would be fun!
@@ -0,0 +1,2 @@
1
+ Coming Soon
2
+
@@ -73,7 +73,7 @@ module Net
73
73
  attr_reader :server, :display, :options, :socket, :pointer
74
74
 
75
75
  def initialize display=':0', options={}
76
- @server = 'localhost'
76
+ @server = '127.0.0.1'
77
77
  if display =~ /^(.*)(:\d+)$/
78
78
  @server, display = $1, $2
79
79
  end
@@ -0,0 +1,19 @@
1
+ import sys
2
+ import prlsdkapi
3
+
4
+ prlsdk = prlsdkapi.prlsdk
5
+ consts = prlsdkapi.prlsdk.consts
6
+
7
+ # Initialize the Parallels API Library
8
+ prlsdk.InitializeSDK(consts.PAM_DESKTOP_MAC)
9
+
10
+ # Obtain a server object identifying the Parallels Service.
11
+ server = prlsdkapi.Server()
12
+
13
+ # Log in. (local as we do Parallels Desktop
14
+ login_job=server.login_local()
15
+ login_job.wait()
16
+
17
+ # Logoff and deinitialize the library
18
+ server.logoff()
19
+ prlsdkapi.deinit_sdk
@@ -0,0 +1,73 @@
1
+ import sys
2
+ import prlsdkapi
3
+
4
+ if len(sys.argv) != 4:
5
+ print "Usage: parallels_send_keycode '<VM_NAME>' '<keyname>' '<press|release>'"
6
+ exit()
7
+
8
+ # Parse arguments
9
+ vm_name=sys.argv[1]
10
+ # Keycode to use
11
+ keyname=sys.argv[2]
12
+ # Release or press
13
+ state=sys.argv[3]
14
+
15
+ print "Sending keyname '%(keyname)s' to VM '%(vm_name)s'" % {"keyname": keyname, "vm_name":vm_name}
16
+
17
+ prlsdk = prlsdkapi.prlsdk
18
+ consts = prlsdkapi.prlsdk.consts
19
+
20
+ # Initialize the Parallels API Library
21
+ prlsdk.InitializeSDK(consts.PAM_DESKTOP_MAC)
22
+
23
+ # Obtain a server object identifying the Parallels Service.
24
+ server = prlsdkapi.Server()
25
+
26
+ # Log in. (local as we do Parallels Desktop
27
+ login_job=server.login_local()
28
+ login_job.wait()
29
+
30
+ # Get a list of virtual machines.
31
+ # Find the specified virtual machine and
32
+ # obtain an object identifying it.
33
+ vm_list = server.get_vm_list()
34
+ result= vm_list.wait()
35
+
36
+ print prlsdkapi.prlsdk.consts.ScanCodesList
37
+
38
+ # Look for the VM with the name speficied on the CLI
39
+ found = False
40
+ for i in range(result.get_params_count()):
41
+ VM = result.get_param_by_index(i)
42
+ print VM.get_name()
43
+ if VM.get_name() == vm_name:
44
+ found = True
45
+ break
46
+
47
+ press = consts.PKE_PRESS
48
+ release = consts.PKE_RELEASE
49
+
50
+ # Access the Remote Desktop Access session
51
+ vm_io = prlsdkapi.VmIO()
52
+ try:
53
+ vm_io.connect_to_vm(VM).wait()
54
+ except prlsdkapi.PrlSDKError, e:
55
+ print "Error: %s" % e
56
+ exit()
57
+
58
+ scan_code = consts.ScanCodesList[keyname]
59
+
60
+ if state == 'press':
61
+ vm_io.send_key_event(VM,scan_code,press)
62
+ elif state == 'release':
63
+ vm_io.send_key_event(VM,scan_code,release)
64
+ else:
65
+ print "invalid state: %s" % state
66
+ exit()
67
+
68
+ # End the Remote Deskop Access session
69
+ vm_io.disconnect_from_vm(VM)
70
+
71
+ # Logoff and deinitialize the library
72
+ server.logoff()
73
+ prlsdkapi.deinit_sdk