veewee 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (235) hide show
  1. checksums.yaml +8 -8
  2. data/doc/basics.md +7 -7
  3. data/doc/customize.md +1 -2
  4. data/lib/veewee/definition.rb +2 -2
  5. data/lib/veewee/provider/core/box/build.rb +20 -22
  6. data/lib/veewee/provider/core/box/copy.rb +7 -1
  7. data/lib/veewee/provider/core/box/vnc.rb +16 -17
  8. data/lib/veewee/provider/core/box/wincp.rb +1 -2
  9. data/lib/veewee/provider/core/helper/ssh.rb +4 -0
  10. data/lib/veewee/provider/core/helper/web.rb +27 -22
  11. data/lib/veewee/provider/core/helper/winrm.rb +4 -0
  12. data/lib/veewee/provider/kvm/box.rb +0 -1
  13. data/lib/veewee/provider/kvm/box/up.rb +5 -0
  14. data/lib/veewee/provider/parallels/box.rb +0 -1
  15. data/lib/veewee/provider/vmfusion/box.rb +0 -2
  16. data/lib/veewee/version.rb +1 -1
  17. data/templates/CentOS-4.8-i386/definition.rb +1 -1
  18. data/templates/CentOS-5.10-i386-netboot/definition.rb +1 -1
  19. data/templates/CentOS-5.10-i386/definition.rb +1 -1
  20. data/templates/CentOS-5.10-x86_64-netboot/definition.rb +1 -1
  21. data/templates/CentOS-5.10-x86_64/definition.rb +1 -1
  22. data/templates/CentOS-5.5-i386-netboot/definition.rb +1 -1
  23. data/templates/CentOS-5.5-x86_64-netboot/definition.rb +1 -1
  24. data/templates/CentOS-5.6-i386-netboot/definition.rb +1 -1
  25. data/templates/CentOS-5.6-i386/definition.rb +1 -1
  26. data/templates/CentOS-5.6-x86_64-netboot-packages/definition.rb +1 -1
  27. data/templates/CentOS-5.6-x86_64-netboot/definition.rb +1 -1
  28. data/templates/CentOS-5.7-i386-netboot/definition.rb +1 -1
  29. data/templates/CentOS-5.7-x86_64-netboot/definition.rb +1 -1
  30. data/templates/CentOS-5.8-i386-netboot/definition.rb +1 -1
  31. data/templates/CentOS-5.8-i386/definition.rb +1 -1
  32. data/templates/CentOS-5.8-x86_64-netboot/definition.rb +1 -1
  33. data/templates/CentOS-5.8-x86_64-reallyminimal/definition.rb +1 -1
  34. data/templates/CentOS-5.8-x86_64/definition.rb +1 -1
  35. data/templates/CentOS-5.9-i386-netboot/definition.rb +1 -1
  36. data/templates/CentOS-5.9-i386/definition.rb +1 -1
  37. data/templates/CentOS-5.9-x86_64-netboot/definition.rb +1 -1
  38. data/templates/CentOS-5.9-x86_64/definition.rb +1 -1
  39. data/templates/CentOS-6.0-i386-netboot/definition.rb +1 -1
  40. data/templates/CentOS-6.0-i386/definition.rb +1 -1
  41. data/templates/CentOS-6.0-x86_64-minimal/definition.rb +1 -1
  42. data/templates/CentOS-6.0-x86_64-netboot/definition.rb +1 -1
  43. data/templates/CentOS-6.0-x86_64/definition.rb +1 -1
  44. data/templates/CentOS-6.1-x86_64-minimal/definition.rb +1 -1
  45. data/templates/CentOS-6.1-x86_64-netboot/definition.rb +1 -1
  46. data/templates/CentOS-6.2-i386-minimal/definition.rb +1 -1
  47. data/templates/CentOS-6.2-x86_64-minimal/definition.rb +1 -1
  48. data/templates/CentOS-6.2-x86_64-netboot/definition.rb +1 -1
  49. data/templates/CentOS-6.3-i386-minimal/definition.rb +1 -1
  50. data/templates/CentOS-6.3-x86_64-minimal/definition.rb +1 -1
  51. data/templates/CentOS-6.3-x86_64-netboot/definition.rb +1 -1
  52. data/templates/CentOS-6.3-x86_64-reallyminimal/definition.rb +1 -1
  53. data/templates/CentOS-6.4-i386-minimal/definition.rb +1 -1
  54. data/templates/CentOS-6.4-i386-netboot/definition.rb +1 -1
  55. data/templates/CentOS-6.4-x86_64-minimal/definition.rb +1 -1
  56. data/templates/CentOS-6.4-x86_64-netboot/definition.rb +1 -1
  57. data/templates/CentOS-6.5-i386-minimal/definition.rb +1 -1
  58. data/templates/CentOS-6.5-i386-netboot/definition.rb +1 -1
  59. data/templates/CentOS-6.5-x86_64-minimal/definition.rb +1 -1
  60. data/templates/CentOS-6.5-x86_64-netboot/definition.rb +1 -1
  61. data/templates/CentOS-7.0-1406-x86_64-netinstall/definition.rb +1 -1
  62. data/templates/Debian-5.0.10-amd64-netboot/definition.rb +1 -1
  63. data/templates/Debian-5.0.10-i386-netboot/definition.rb +1 -1
  64. data/templates/Debian-5.0.8-amd64-netboot/definition.rb +1 -1
  65. data/templates/Debian-5.0.8-i386-netboot/definition.rb +1 -1
  66. data/templates/Debian-6.0.3-amd64-netboot/definition.rb +1 -1
  67. data/templates/Debian-6.0.3-i386-netboot/definition.rb +1 -1
  68. data/templates/Debian-6.0.4-amd64-netboot/definition.rb +1 -1
  69. data/templates/Debian-6.0.4-i386-netboot/definition.rb +1 -1
  70. data/templates/Debian-6.0.5-amd64-netboot/definition.rb +1 -1
  71. data/templates/Debian-6.0.5-i386-netboot/definition.rb +1 -1
  72. data/templates/Debian-6.0.6-amd64-netboot/definition.rb +1 -1
  73. data/templates/Debian-6.0.6-i386-netboot/definition.rb +1 -1
  74. data/templates/Debian-6.0.7-amd64-netboot/definition.rb +1 -1
  75. data/templates/Debian-6.0.7-i386-netboot/definition.rb +1 -1
  76. data/templates/Debian-6.0.8-amd64-netboot/definition.rb +1 -1
  77. data/templates/Debian-6.0.8-i386-netboot/definition.rb +1 -1
  78. data/templates/Debian-6.0.9-amd64-netboot/definition.rb +1 -1
  79. data/templates/Debian-6.0.9-i386-netboot/definition.rb +1 -1
  80. data/templates/Debian-7.0-amd64-netboot/definition.rb +1 -1
  81. data/templates/Debian-7.0-i386-netboot/definition.rb +1 -1
  82. data/templates/Debian-7.1.0-amd64-netboot/definition.rb +1 -1
  83. data/templates/Debian-7.1.0-i386-netboot/definition.rb +1 -1
  84. data/templates/Debian-7.2.0-amd64-netboot/definition.rb +1 -1
  85. data/templates/Debian-7.2.0-i386-netboot/definition.rb +1 -1
  86. data/templates/Debian-7.3.0-amd64-netboot/definition.rb +1 -1
  87. data/templates/Debian-7.3.0-i386-netboot/definition.rb +1 -1
  88. data/templates/Debian-7.4.0-amd64-netboot/definition.rb +1 -1
  89. data/templates/Debian-7.4.0-i386-netboot/definition.rb +1 -1
  90. data/templates/Debian-7.5.0-amd64-netboot/definition.rb +1 -1
  91. data/templates/Debian-7.5.0-i386-netboot/definition.rb +1 -1
  92. data/templates/Debian-7.6.0-amd64-netboot/definition.rb +1 -1
  93. data/templates/Debian-7.6.0-i386-netboot/definition.rb +1 -1
  94. data/templates/Fedora-14-amd64-netboot/definition.rb +1 -1
  95. data/templates/Fedora-14-amd64/definition.rb +1 -1
  96. data/templates/Fedora-14-i386-netboot/definition.rb +1 -1
  97. data/templates/Fedora-14-i386/definition.rb +1 -1
  98. data/templates/Fedora-15-i386-netboot/definition.rb +1 -1
  99. data/templates/Fedora-15-i386/definition.rb +1 -1
  100. data/templates/Fedora-15-x86_64-netboot/definition.rb +1 -1
  101. data/templates/Fedora-15-x86_64/definition.rb +1 -1
  102. data/templates/Fedora-16-i386/definition.rb +1 -1
  103. data/templates/Fedora-16-x86_64-netboot/definition.rb +1 -1
  104. data/templates/Fedora-16-x86_64/definition.rb +1 -1
  105. data/templates/Fedora-17-i386/definition.rb +1 -1
  106. data/templates/Fedora-17-x86_64/definition.rb +1 -1
  107. data/templates/Fedora-18-i386/definition.rb +1 -1
  108. data/templates/Fedora-18-x86_64/definition.rb +1 -1
  109. data/templates/Fedora-19-i386/definition.rb +1 -1
  110. data/templates/Fedora-19-x86_64/definition.rb +1 -1
  111. data/templates/Fedora-20-i386/definition.rb +1 -1
  112. data/templates/Fedora-20-x86_64/definition.rb +1 -1
  113. data/templates/OracleLinux-5.10-i386-DVD/definition.rb +1 -1
  114. data/templates/OracleLinux-5.10-x86_64-DVD/definition.rb +1 -1
  115. data/templates/OracleLinux-5.9-i386-DVD/definition.rb +1 -1
  116. data/templates/OracleLinux-5.9-x86_64-DVD/definition.rb +1 -1
  117. data/templates/OracleLinux-6.3-x86_64-DVD/definition.rb +1 -1
  118. data/templates/OracleLinux-6.4-i386-DVD/definition.rb +1 -1
  119. data/templates/OracleLinux-6.4-x86_64-DVD/definition.rb +1 -1
  120. data/templates/OracleLinux-6.5-i386-DVD/definition.rb +1 -1
  121. data/templates/OracleLinux-6.5-x86_64-DVD/definition.rb +1 -1
  122. data/templates/OracleLinux-7.0-x86_64-DVD/definition.rb +1 -1
  123. data/templates/SLES-11-SP1-DVD-i586-GM/definition.rb +1 -1
  124. data/templates/SLES-11-SP1-DVD-x86_64-GM/definition.rb +1 -1
  125. data/templates/SLES-11-SP2-DVD-x86_64-GM/definition.rb +1 -1
  126. data/templates/SLES-11-SP3-DVD-x86_64-GM/definition.rb +1 -1
  127. data/templates/Sysrescuecd-2.0.0-experimental/definition.rb +1 -1
  128. data/templates/VMware-ESXi-5.0u2-x86_64/definition.rb +1 -1
  129. data/templates/VMware-ESXi-5.1-x86_64/definition.rb +1 -1
  130. data/templates/archlinux-i386/definition.rb +1 -1
  131. data/templates/freebsd-10.0-RELEASE-amd64/definition.rb +1 -1
  132. data/templates/freebsd-8.2-experimental/definition.rb +1 -1
  133. data/templates/freebsd-8.2-pcbsd-amd64/definition.rb +1 -1
  134. data/templates/freebsd-8.2-pcbsd-i386-netboot/definition.rb +1 -1
  135. data/templates/freebsd-8.2-pcbsd-i386/definition.rb +1 -1
  136. data/templates/freebsd-9.0-RELEASE-amd64/definition.rb +1 -1
  137. data/templates/freebsd-9.1-RELEASE-amd64/definition.rb +1 -1
  138. data/templates/freebsd-9.2-RELEASE-amd64/definition.rb +1 -1
  139. data/templates/gentoo-latest-amd64/definition.rb +1 -1
  140. data/templates/gentoo-latest-i686/definition.rb +1 -1
  141. data/templates/netbsd-613-amd64/definition.rb +1 -1
  142. data/templates/openSUSE-11.4-DVD-i586/definition.rb +1 -1
  143. data/templates/openSUSE-11.4-DVD-x86_64/definition.rb +1 -1
  144. data/templates/openSUSE-11.4-NET-i586/definition.rb +1 -1
  145. data/templates/openSUSE-11.4-NET-x86_64/definition.rb +1 -1
  146. data/templates/openSUSE-12.1-DVD+NET-i586/definition.rb +1 -1
  147. data/templates/openSUSE-12.1-DVD+NET-x86_64/definition.rb +1 -1
  148. data/templates/openSUSE-12.3-x86_64-NET_EN/definition.rb +1 -1
  149. data/templates/openSUSE-13.1/definition.rb +1 -1
  150. data/templates/openbsd50_amd64/definition.rb +1 -1
  151. data/templates/openbsd50_i386/definition.rb +1 -1
  152. data/templates/openbsd52_amd64/definition.rb +1 -1
  153. data/templates/openbsd52_i386/definition.rb +1 -1
  154. data/templates/openbsd52_i386_snap/definition.rb +1 -1
  155. data/templates/openbsd53_amd64/definition.rb +1 -1
  156. data/templates/openbsd53_i386/definition.rb +1 -1
  157. data/templates/openbsd54_amd64/definition.rb +1 -1
  158. data/templates/openbsd54_i386/definition.rb +1 -1
  159. data/templates/openbsd55_amd64/definition.rb +1 -1
  160. data/templates/openbsd55_i386/definition.rb +1 -1
  161. data/templates/openindiana-148-ai-x86/definition.rb +1 -1
  162. data/templates/openindiana-151a7-text-x86/definition.rb +1 -1
  163. data/templates/opensuse-11.4-i386-experimental/definition.rb +1 -1
  164. data/templates/scientificlinux-5.7-i386/definition.rb +1 -1
  165. data/templates/scientificlinux-5.7-x86_64/definition.rb +1 -1
  166. data/templates/scientificlinux-5.9-i386/definition.rb +1 -1
  167. data/templates/scientificlinux-5.9-x86_64/definition.rb +1 -1
  168. data/templates/scientificlinux-6.1-i386-netboot/definition.rb +1 -1
  169. data/templates/scientificlinux-6.1-x86_64-netboot/definition.rb +1 -1
  170. data/templates/scientificlinux-6.2-i386-netboot/definition.rb +1 -1
  171. data/templates/scientificlinux-6.2-x86_64-netboot/definition.rb +1 -1
  172. data/templates/scientificlinux-6.3-i386-netboot/definition.rb +1 -1
  173. data/templates/scientificlinux-6.3-x86_64-netboot/definition.rb +1 -1
  174. data/templates/scientificlinux-6.4-i386-netboot/definition.rb +1 -1
  175. data/templates/scientificlinux-6.4-x86_64-netboot/definition.rb +1 -1
  176. data/templates/scientificlinux-6.5-i386-netboot/definition.rb +1 -1
  177. data/templates/scientificlinux-6.5-x86_64-netboot/definition.rb +1 -1
  178. data/templates/solaris-11-express-i386/definition.rb +1 -1
  179. data/templates/ubuntu-10.04.2-amd64-netboot/definition.rb +1 -1
  180. data/templates/ubuntu-10.04.2-server-i386-netboot/definition.rb +1 -1
  181. data/templates/ubuntu-10.04.3-server-i386/definition.rb +1 -1
  182. data/templates/ubuntu-10.04.4-server-amd64-netboot/definition.rb +1 -1
  183. data/templates/ubuntu-10.04.4-server-amd64/definition.rb +1 -1
  184. data/templates/ubuntu-10.04.4-server-i386-netboot/definition.rb +1 -1
  185. data/templates/ubuntu-10.04.4-server-i386/definition.rb +1 -1
  186. data/templates/ubuntu-10.10-server-amd64-netboot/definition.rb +1 -1
  187. data/templates/ubuntu-10.10-server-i386-netboot/definition.rb +1 -1
  188. data/templates/ubuntu-10.10-server-i386/definition.rb +1 -1
  189. data/templates/ubuntu-11.04-server-amd64/definition.rb +1 -1
  190. data/templates/ubuntu-11.04-server-i386/definition.rb +1 -1
  191. data/templates/ubuntu-11.10-server-amd64-ishaya/definition.rb +1 -1
  192. data/templates/ubuntu-11.10-server-amd64-ruby192/definition.rb +1 -1
  193. data/templates/ubuntu-11.10-server-amd64-rvm/definition.rb +1 -1
  194. data/templates/ubuntu-11.10-server-amd64/definition.rb +1 -1
  195. data/templates/ubuntu-11.10-server-i386/definition.rb +1 -1
  196. data/templates/ubuntu-12.04.1-server-amd64-packages/definition.rb +1 -1
  197. data/templates/ubuntu-12.04.1-server-amd64/definition.rb +1 -1
  198. data/templates/ubuntu-12.04.1-server-i386-packages/definition.rb +1 -1
  199. data/templates/ubuntu-12.04.1-server-i386/definition.rb +1 -1
  200. data/templates/ubuntu-12.04.2-desktop-amd64/definition.rb +1 -1
  201. data/templates/ubuntu-12.04.2-server-amd64-netboot/definition.rb +1 -1
  202. data/templates/ubuntu-12.04.2-server-amd64-packages/definition.rb +1 -1
  203. data/templates/ubuntu-12.04.2-server-amd64/definition.rb +1 -1
  204. data/templates/ubuntu-12.04.2-server-i386-netboot/definition.rb +1 -1
  205. data/templates/ubuntu-12.04.2-server-i386-packages/definition.rb +1 -1
  206. data/templates/ubuntu-12.04.2-server-i386/definition.rb +1 -1
  207. data/templates/ubuntu-12.04.3-desktop-i386/definition.rb +1 -1
  208. data/templates/ubuntu-12.04.3-server-amd64-parallels/definition.rb +1 -1
  209. data/templates/ubuntu-12.04.3-server-amd64/definition.rb +1 -1
  210. data/templates/ubuntu-12.04.3-server-i386/definition.rb +1 -1
  211. data/templates/ubuntu-12.04.4-server-amd64/definition.rb +1 -1
  212. data/templates/ubuntu-12.04.4-server-i386/definition.rb +1 -1
  213. data/templates/ubuntu-12.10-desktop-amd64/definition.rb +1 -1
  214. data/templates/ubuntu-12.10-server-amd64-packages/definition.rb +1 -1
  215. data/templates/ubuntu-12.10-server-amd64/definition.rb +1 -1
  216. data/templates/ubuntu-12.10-server-i386-packages/definition.rb +1 -1
  217. data/templates/ubuntu-12.10-server-i386/definition.rb +1 -1
  218. data/templates/ubuntu-13.04-minimal-i386-rvm/definition.rb +1 -1
  219. data/templates/ubuntu-13.04-server-amd64-rvm/definition.rb +1 -1
  220. data/templates/ubuntu-13.04-server-amd64/definition.rb +1 -1
  221. data/templates/ubuntu-13.10-server-amd64/definition.rb +1 -1
  222. data/templates/ubuntu-14.04-server-amd64/definition.rb +1 -1
  223. data/templates/ubuntu-8.04.4-server-amd64/definition.rb +1 -1
  224. data/templates/ubuntu-8.04.4-server-i386/definition.rb +1 -1
  225. data/templates/windows-2008R1-serverstandard-amd64/definition.rb +4 -5
  226. data/templates/windows-2008R1-serverweb-amd64/definition.rb +5 -6
  227. data/templates/windows-2008R1-serverweb-i386/definition.rb +5 -6
  228. data/templates/windows-2008R1-serverwebcore-amd64/definition.rb +5 -6
  229. metadata +2 -8
  230. data/lib/veewee/provider/kvm/box/helper/ssh_options.rb +0 -13
  231. data/lib/veewee/provider/kvm/box/helper/winrm_options.rb +0 -13
  232. data/lib/veewee/provider/parallels/box/helper/ssh_options.rb +0 -14
  233. data/lib/veewee/provider/parallels/box/helper/winrm_options.rb +0 -13
  234. data/lib/veewee/provider/vmfusion/box/helper/ssh_options.rb +0 -14
  235. data/lib/veewee/provider/vmfusion/box/helper/winrm_options.rb +0 -13
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MGYzYTZiOTM2OGM2Nzc3Yjc4NTEyNzhiMjRjMGYyMmQzYTk0OTJlZQ==
4
+ YzM2NTRjOTM1ODExZDQ4OWI1NjU1ZTk5ZWVhMzViNGIwNDA4ZGE0Mw==
5
5
  data.tar.gz: !binary |-
6
- NjdiN2ZkN2QyZGM4YjdiMTk1NGJkMGE4NjdiYWFkYTUzMmE5ZGUxOQ==
6
+ YzM0MDk2Y2IxYzFiNjU3NGRiNGU3NmM0YzcxZTA2M2FhNzU4YTc4Zg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YTIwNmFmYzIyYWNkZTgwM2NhZWRlODgzMWZhMTYwYzk4OGQwNjczNTU3YjI1
10
- NTdjYTBjMTNmNDI3M2Y3MTNjNDA4NzNmMDk2ZjVkOTA2NzczOTFmZDEwYjE4
11
- OGM1OTdkOTFmMmI4OTE4MGU4YzAxNWY3Y2U1ZDZiYzY5ZTM2YjI=
9
+ ZGQ4M2I3ZDY3MWQyMWIyNmQ2MThkMTllMjk2YWI1ZDcyMjE5OTczZjJjY2Q5
10
+ MzAyN2Q1ZTBkN2Q1MDgzMzBhODVlNmZiNDdlYzQyYTkzMjcxMDRhMTJhODhh
11
+ MjU3MjJlZGYwZGE0OTFlOWRmZTMxZmFlOGI4N2Y3MDhlN2VhZTQ=
12
12
  data.tar.gz: !binary |-
13
- NWIxZWQ5Yzk0MDUzNjk4YzdkNWZkNzVkYzQwMzc5Mjg5ZDE0ODdjOWU4ZWM4
14
- NzNkMzZlYjBmNmQ1ZTM2M2YwNDAxOTcwMWEyODUwOTcyZGU2ZGI0Y2FlNjRh
15
- OGI0ZWNmZDdkYjk0ZGY5MTBkZGRmYWE5NjQwYTVhNzQ1NWJjZGE=
13
+ NzMxYjkxY2YyMjA2NzBiZmZjYjJmNzczYWRjMzJjYThiZjUyYTIyMWQyNWRh
14
+ NzZkMjQ4ZTdkNzE3YjZlMWQ3NTdmYzI4NGQzNWVmZjQzODc1NDViYmFmYWI0
15
+ N2JhNDVmYzE2NmU2OGI0OGJjMjczMjEzZmIzMzdkOTBlZDMzYmU=
@@ -14,8 +14,8 @@ Each template folder name follows a naming scheme to help you choosing the right
14
14
  For example, the template for a Ubuntu 12.10 server (i386) basebox looks like this:
15
15
 
16
16
  ubuntu-12.10-server-i386[-netboot]
17
- ^ ^ ^ ^
18
- | | | +----- install flavor
17
+ ^ ^ ^ ^
18
+ | | | +----- install flavor
19
19
  | | +----- architecture
20
20
  | +----- version
21
21
  +----- OS name
@@ -97,9 +97,9 @@ Or you can remove the folder under `definitions`:
97
97
 
98
98
  ## Manage ISO files
99
99
 
100
- The distro ISOs (also called *disk images*) provide all files needed to install the OS. This file is essential for starting the installation process.
100
+ The distro ISOs (also called *disk images*) provide all files needed to install the OS. This file is essential for starting the installation process.
101
101
 
102
- If you already have an `.iso` file for the desired distribution on your disk, put it inside the `iso/` directory and make sure `definition.rb` is referencing the correct file.
102
+ If you already have an `.iso` file for the desired distribution on your disk, put it inside the `iso/` directory and make sure `definition.rb` is referencing the correct file.
103
103
 
104
104
  If an expected ISO is not found in the `iso/` directory, Veewee will ask you to download the ISO file from the web. Depending on your internet connection fetching an ISO file can take a while.
105
105
 
@@ -113,7 +113,7 @@ In order to build the defined box, execute this subcommand:
113
113
  The `build` subcommand can take the following optional flags:
114
114
 
115
115
  Flag Option | Description
116
- --------------------------------|-------------
116
+ --------------------------------|-------------
117
117
  -f --force | overwrites if already exists
118
118
  -a --auto | automatically downloads the ISO without asking
119
119
  -n --nogui | builds in the background rather than opening a VM GUI and building in the GUI window
@@ -133,7 +133,7 @@ The `build` subcommand will run the following routines behind the scenes:
133
133
  * Mount the ISO file `:iso_file`
134
134
  * Boot up the machine and wait for `:boot_time`
135
135
  * Send the keystrokes in `:boot_cmd_sequence`
136
- * Start up a webserver on `:kickstart_port` to wait for a request from the `:kickstart_file`
136
+ * Start up a webserver on `:kickstart_port` to wait `:kickstart_timeout` for a request for the `:kickstart_file`
137
137
  IMPORTANT: Do NOT navigate to the file in your browser or the server will stop and the installer will not be able to find your preseed
138
138
  * Wait for ssh login to work with `:ssh_user` and `:ssh_password`
139
139
  * `sudo` execute the `:postinstall_files`
@@ -198,7 +198,7 @@ Validation is highly recommended before requesting a fork pull on any modified t
198
198
 
199
199
  Finally let's export the box so it can be distributed or used by Vagrant:
200
200
 
201
- $ bundle exec veewee vbox export 'myubuntubox'
201
+ $ bundle exec veewee vbox export 'myubuntubox'
202
202
 
203
203
 
204
204
  ## Up Next
@@ -92,7 +92,7 @@ All other settings are used internally by Veewee, the virtualization provider, o
92
92
  'initrd=/install/initrd.gz -- <Enter>'
93
93
  ],
94
94
  :kickstart_port => "7122",
95
- :kickstart_timeout => "10000",
95
+ :kickstart_timeout => "60",
96
96
  :kickstart_file => "preseed.cfg",
97
97
  :ssh_login_timeout => "10000",
98
98
  :ssh_user => "vagrant",
@@ -128,7 +128,6 @@ Definition Option | Default | Provider
128
128
  :boot_wait | uninitialised | core
129
129
  :boot_cmd_sequence | empty | core
130
130
  :kickstart_port | uninitialised | core
131
- :kickstart_ip | uninitialised | core
132
131
  :kickstart_timeout | uninitialised | core
133
132
  :kickstart_file | uninitialised | core
134
133
  :ssh_login_timeout | uninitialised | kvm, parallels, virtualbox, vmfusion
@@ -21,7 +21,7 @@ module Veewee
21
21
 
22
22
  attr_accessor :boot_wait, :boot_cmd_sequence
23
23
 
24
- attr_accessor :kickstart_port, :kickstart_ip, :kickstart_timeout, :kickstart_file
24
+ attr_accessor :kickstart_port, :kickstart_timeout, :kickstart_file
25
25
 
26
26
  attr_accessor :ssh_login_timeout, :ssh_user, :ssh_password, :ssh_key, :ssh_host_port, :ssh_guest_port
27
27
 
@@ -92,7 +92,7 @@ module Veewee
92
92
  # :hostiocache => 'off' ,
93
93
  # :os_type_id => 'Ubuntu',
94
94
  # :boot_wait => "10", :boot_cmd_sequence => [ "boot"],
95
- # :kickstart_port => "7122", :kickstart_ip => "127.0.0.1", :kickstart_timeout => 10000,#
95
+ # :kickstart_port => "7122", :kickstart_timeout => 60,#
96
96
  # :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant",:ssh_key => "",
97
97
  @ssh_host_port = "2222" ; @ssh_guest_port = "22"
98
98
  # :ssh_host_port => "2222", :ssh_guest_port => "22", :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
@@ -72,10 +72,12 @@ module Veewee
72
72
  })
73
73
 
74
74
  # Type the boot sequence
75
+ t =
75
76
  Thread.new do
76
77
  self.console_type(boot_sequence)
77
78
  run_hook(:after_boot_sequence)
78
79
  end
80
+ t.abort_on_exception = true
79
81
 
80
82
  self.handle_kickstart(options)
81
83
  end
@@ -221,34 +223,30 @@ module Veewee
221
223
  # It requires a definition to find all the necessary information
222
224
  def handle_kickstart(options)
223
225
 
224
- # Handling the kickstart by web
225
- kickstartfiles=definition.kickstart_file
226
+ case definition.kickstart_file
227
+ when Array then kickstartfiles = definition.kickstart_file
228
+ when String then kickstartfiles = definition.kickstartfiles.split
229
+ when nil then kickstartfiles = []
230
+ else raise "Do not know how to handle kickstart_file: #{kickstart_file.inspect}"
231
+ end
226
232
 
227
- if kickstartfiles.nil? || kickstartfiles.length == 0
233
+ if kickstartfiles.empty?
228
234
  env.ui.info "Skipping webserver as no kickstartfile was specified"
229
235
  else
230
- env.ui.info "Starting a webserver #{definition.kickstart_ip}:#{definition.kickstart_port}\n"
231
- end
232
-
233
- # Check if the kickstart is an array or a single string
234
- if kickstartfiles.is_a?(String)
235
- # Let's turn it into an array
236
- kickstartfiles=kickstartfiles.split
236
+ env.ui.info "Starting a webserver #{host_ip_as_seen_by_guest}:#{definition.kickstart_port}, check your firewall if nothing happens\n"
237
+ timeouts = Array(definition.kickstart_timeout).map(&:to_i)
237
238
  end
238
239
 
239
240
  # For each kickstart file spinup a webserver and wait for the file to be fetched
240
- unless kickstartfiles.nil?
241
- kickstartfiles.each do |kickfile|
242
- wait_for_http_request(
243
- File.join(definition.path, kickfile),
244
- kickfile.start_with?('/') ? kickfile : '/' + kickfile,
245
- {
246
- :port => definition.kickstart_port,
247
- :host => definition.kickstart_ip,
248
- :timeout => definition.kickstart_timeout,
249
- }
250
- )
251
- end
241
+ kickstartfiles.each_with_index do |kickfile, index|
242
+ wait_for_http_request(
243
+ File.join(definition.path, kickfile),
244
+ kickfile.start_with?('/') ? kickfile : '/' + kickfile,
245
+ {
246
+ :port => definition.kickstart_port,
247
+ :timeout => timeouts.fetch(index, timeouts.last), # get the matching kickfile timeout or the last defined
248
+ }
249
+ )
252
250
  end
253
251
  end
254
252
 
@@ -5,8 +5,14 @@ module Veewee
5
5
 
6
6
  def copy_to_box(localfile,remotefile,options={})
7
7
  raise Veewee::Error,"Box is not running" unless self.running?
8
- if definition.winrm_user && definition.winrm_password # prefer winrm
8
+ if
9
+ definition.winrm_user && definition.winrm_password # prefer winrm
10
+ then
9
11
  self.wincp(localfile,remotefile,options)
12
+ elsif
13
+ definition.os_type_id =~ /^Windows/
14
+ then
15
+ raise "Trying to transfer #{localfile} to windows machine without 'winrm_user' and 'winrm_password' set in definition."
10
16
  else
11
17
  self.scp(localfile,remotefile,options)
12
18
  end
@@ -12,26 +12,25 @@ module Veewee
12
12
  def vnc_type(sequence,host,display=20)
13
13
  counter=0
14
14
  env.logger.info "Opening VNC #{host} on display #{display}"
15
- vnc=Net::VNC.open("#{host}:#{display}",{:wait => 0.001})
16
- sequence.each { |s|
17
- counter=counter+1
15
+ Net::VNC.open("#{host}:#{display}",{:wait => 0.001}) do |vnc|
16
+ sequence.each { |s|
17
+ counter=counter+1
18
18
 
19
- ui.info "Typing:[#{counter}]: "+s
19
+ ui.info "Typing:[#{counter}]: "+s
20
20
 
21
- keycodes=string_to_vnccode(s)
21
+ keycodes=string_to_vnccode(s)
22
22
 
23
- keycodes.each do |keycode|
24
- if keycode==:wait
25
- sleep 1
26
- else
27
- send_vnc_keycode(vnc,keycode)
23
+ keycodes.each do |keycode|
24
+ if keycode==:wait
25
+ sleep 1
26
+ else
27
+ send_vnc_keycode(vnc,keycode)
28
+ end
28
29
  end
29
- end
30
- }
31
- vnc.close
32
- ui.info "Done typing."
33
- ui.info ""
34
-
30
+ }
31
+ ui.info "Done typing."
32
+ ui.info ""
33
+ end
35
34
  end
36
35
 
37
36
  def send_vnc_keycode(vnc,keycode)
@@ -48,7 +47,7 @@ module Veewee
48
47
 
49
48
  def string_to_vnccode(thestring)
50
49
 
51
- # https://github.com/aquasync/ruby-vnc/blob/master/data/keys.yaml
50
+ # https://github.com/aquasync/ruby-vnc/blob/master/data/keys.yaml
52
51
 
53
52
  special=Hash.new
54
53
  # Specific veewee
@@ -32,11 +32,10 @@ module Veewee
32
32
  urlpath,
33
33
  {
34
34
  :port => definition.kickstart_port,
35
- :host => definition.kickstart_ip,
36
35
  :timeout => definition.kickstart_timeout,
37
36
  }
38
37
  )
39
-
38
+
40
39
  begin
41
40
  self.when_winrm_login_works(self.ip_address,winrm_options.merge(options)) do
42
41
  env.ui.info "Going to try and copy #{localfile} to #{remotefile.inspect}"
@@ -37,6 +37,10 @@ module Veewee::Provider::Core::Helper::Ssh
37
37
  return ssh_options
38
38
  end
39
39
 
40
+ def ssh_options
41
+ build_ssh_options
42
+ end
43
+
40
44
  def ssh_key_to_a(ssh_key)
41
45
  case ssh_key
42
46
  when "" then []
@@ -23,7 +23,8 @@ module Veewee
23
23
  response['Content-Type']='text/plain'
24
24
  response.status = 200
25
25
  content = File.open(@localfile, "r").read
26
- response.body = case File.extname(@localfile)
26
+ response.body =
27
+ case File.extname(@localfile)
27
28
  when ".erb"
28
29
  ui.info "Rendering and serving file #{@localfile}"
29
30
  ERB.new(content).result(binding)
@@ -47,34 +48,38 @@ module Veewee
47
48
 
48
49
  def allow_for_http_request(filename, urlname, options) # start in new thread
49
50
  s = server_for_http_request(filename, urlname, options.merge({:threaded => false}))
50
- Thread.new { s.start }
51
+ t = Thread.new { s.start }
52
+ t.abort_on_exception = true
51
53
  end
52
54
 
53
- def server_for_http_request(filename, urlname, options={:timeout => 10, :port => 7125, :threaded => false})
55
+ def server_for_http_request(filename, urlname, options)
54
56
  # Calculate the OS equivalent of /dev/null , on windows this is NUL:
55
57
  # http://www.ruby-forum.com/topic/115472
56
58
  fn = test(?e, '/dev/null') ? '/dev/null' : 'NUL:'
59
+ webrick_logger = WEBrick::Log.new(fn, WEBrick::Log::INFO)
57
60
 
58
- webrick_logger=WEBrick::Log.new(fn, WEBrick::Log::INFO)
59
-
60
- s= ::WEBrick::HTTPServer.new(
61
- :Port => options[:port],
62
- :Logger => webrick_logger,
63
- :AccessLog => webrick_logger
64
- )
65
-
66
- env.logger.debug("mounting file #{urlname}")
67
-
68
- s.mount("#{urlname}", Veewee::Provider::Core::Helper::Servlet::FileServlet, filename, ui, options[:threaded])
69
-
70
- trap("INT"){
71
- s.shutdown
72
- ui.info "Stopping webserver"
73
- exit
74
- }
75
-
76
- s
61
+ timeout = options[:timeout] || 60
62
+ server = nil
63
+ Timeout.timeout(timeout) do
64
+ server =
65
+ ::WEBrick::HTTPServer.new(
66
+ :Port => options[:port],
67
+ :Logger => webrick_logger,
68
+ :AccessLog => webrick_logger
69
+ )
70
+ env.logger.debug("mounting file #{urlname}")
71
+ server.mount("#{urlname}", Veewee::Provider::Core::Helper::Servlet::FileServlet, filename, ui, options[:threaded])
72
+ trap("INT"){
73
+ server.shutdown
74
+ ui.info "Stopping webserver"
75
+ exit
76
+ }
77
+ end
78
+ rescue Timeout::Error
79
+ server.shutdown unless server.nil?
80
+ raise "File #{filename.inspect} was not requested in #{timeout}seconds, are you using firewall blocking connections to port: #{options[:port]}?"
77
81
  end
82
+
78
83
  end #Class
79
84
  end #Module
80
85
  end #Module
@@ -33,6 +33,10 @@ module Veewee
33
33
  }
34
34
  end
35
35
 
36
+ def winrm_options
37
+ build_winrm_options
38
+ end
39
+
36
40
  def winrm_up?(ip,options)
37
41
  begin
38
42
  if not @winrm_up
@@ -11,7 +11,6 @@ require 'veewee/provider/kvm/box/destroy'
11
11
  require 'veewee/provider/kvm/box/export_vagrant'
12
12
 
13
13
  require 'veewee/provider/kvm/box/helper/ip'
14
- require 'veewee/provider/kvm/box/helper/ssh_options'
15
14
  require 'veewee/provider/kvm/box/helper/status'
16
15
  require 'veewee/provider/kvm/box/helper/console_type'
17
16
 
@@ -6,6 +6,11 @@ module Veewee
6
6
  def up(options={})
7
7
  matched_servers=@connection.servers.all(:name => name)
8
8
  matched_servers.first.start unless matched_servers.nil?
9
+ rescue Libvirt::Error => e
10
+ warn "
11
+ Libvirt Error! Make sure your user has permissions to run anything.
12
+ "
13
+ raise e
9
14
  end
10
15
 
11
16
  end # End Module
@@ -3,7 +3,6 @@ require 'veewee/provider/core/helper/tcp'
3
3
 
4
4
  require 'veewee/provider/parallels/box/helper/status'
5
5
  require 'veewee/provider/parallels/box/helper/ip'
6
- require 'veewee/provider/parallels/box/helper/ssh_options'
7
6
  require 'veewee/provider/parallels/box/helper/console_type'
8
7
  require 'veewee/provider/parallels/box/helper/buildinfo'
9
8
 
@@ -4,8 +4,6 @@ require 'veewee/provider/core/helper/tcp'
4
4
 
5
5
  require 'veewee/provider/vmfusion/box/helper/status'
6
6
  require 'veewee/provider/vmfusion/box/helper/ip'
7
- require 'veewee/provider/vmfusion/box/helper/ssh_options'
8
- require 'veewee/provider/vmfusion/box/helper/winrm_options'
9
7
  require 'veewee/provider/vmfusion/box/helper/vnc'
10
8
  require 'veewee/provider/vmfusion/box/helper/console_type'
11
9
  require 'veewee/provider/vmfusion/box/helper/buildinfo'
@@ -4,5 +4,5 @@ end
4
4
 
5
5
  # Only set the version constant if it wasn't set before
6
6
  unless defined?(Veewee::VERSION)
7
- ::Veewee::VERSION="0.4.3"
7
+ ::Veewee::VERSION="0.4.4"
8
8
  end
@@ -5,7 +5,7 @@ Veewee::Definition.declare({
5
5
  :iso_file => "CentOS-4.8-i386-bin-DVD.iso", :iso_src => "", :iso_md5 => "", :iso_download_timeout => 1000,
6
6
  :iso_download_instructions => "This iso is no more available, for instructions see http://vault.centos.org/4.8/isos/i386/",
7
7
  :boot_wait => "10", :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg<Enter>' ],
8
- :kickstart_port => "7122", :kickstart_timeout => 10000, :kickstart_file => "ks.cfg",
8
+ :kickstart_port => "7122", :kickstart_timeout => 300, :kickstart_file => "ks.cfg",
9
9
  :ssh_login_timeout => "10000", :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
10
10
  :ssh_host_port => "7222", :ssh_guest_port => "22",
11
11
  :sudo_cmd => "echo '%p'|sudo -S sh '%f'",
@@ -18,7 +18,7 @@ Veewee::Session.declare({
18
18
  :boot_wait => "10",
19
19
  :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg<Enter>' ],
20
20
  :kickstart_port => "7122",
21
- :kickstart_timeout => 10000,
21
+ :kickstart_timeout => 300,
22
22
  :kickstart_file => "ks.cfg",
23
23
  :ssh_login_timeout => "10000",
24
24
  :ssh_user => "vagrant",
@@ -18,7 +18,7 @@ Veewee::Session.declare({
18
18
  :boot_wait => "10",
19
19
  :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg<Enter>' ],
20
20
  :kickstart_port => "7122",
21
- :kickstart_timeout => 10000,
21
+ :kickstart_timeout => 300,
22
22
  :kickstart_file => "ks.cfg",
23
23
  :ssh_login_timeout => "10000",
24
24
  :ssh_user => "vagrant",
@@ -18,7 +18,7 @@ Veewee::Session.declare({
18
18
  :boot_wait => "10",
19
19
  :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg<Enter>' ],
20
20
  :kickstart_port => "7122",
21
- :kickstart_timeout => 10000,
21
+ :kickstart_timeout => 300,
22
22
  :kickstart_file => "ks.cfg",
23
23
  :ssh_login_timeout => "10000",
24
24
  :ssh_user => "vagrant",
@@ -18,7 +18,7 @@ Veewee::Session.declare({
18
18
  :boot_wait => "10",
19
19
  :boot_cmd_sequence => [ 'linux text ks=http://%IP%:%PORT%/ks.cfg<Enter>' ],
20
20
  :kickstart_port => "7122",
21
- :kickstart_timeout => 10000,
21
+ :kickstart_timeout => 300,
22
22
  :kickstart_file => "ks.cfg",
23
23
  :ssh_login_timeout => "10000",
24
24
  :ssh_user => "vagrant",