veewee 0.3.1 → 0.3.2

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 (108) hide show
  1. data/Gemfile +4 -0
  2. data/README.md +1 -1
  3. data/doc/definition.md +18 -0
  4. data/doc/kvm.md +28 -1
  5. data/doc/template.md +53 -2
  6. data/lib/veewee/command/fusion.rb +37 -3
  7. data/lib/veewee/command/vagrant/basebox.rb +2 -0
  8. data/lib/veewee/command/vagrant/winrm.rb +39 -0
  9. data/lib/veewee/command/vbox.rb +18 -0
  10. data/lib/veewee/definition.rb +13 -3
  11. data/lib/veewee/error.rb +3 -0
  12. data/lib/veewee/provider/core/box.rb +7 -0
  13. data/lib/veewee/provider/core/box/build.rb +34 -14
  14. data/lib/veewee/provider/core/box/copy.rb +17 -0
  15. data/lib/veewee/provider/core/box/exec.rb +31 -12
  16. data/lib/veewee/provider/core/box/floppy.rb +1 -0
  17. data/lib/veewee/provider/core/box/halt.rb +7 -3
  18. data/lib/veewee/provider/core/box/validate_tags.rb +8 -2
  19. data/lib/veewee/provider/core/box/wincp.rb +120 -0
  20. data/lib/veewee/provider/core/box/winrm.rb +59 -0
  21. data/lib/veewee/provider/core/helper/comm.rb +47 -0
  22. data/lib/veewee/provider/core/helper/web.rb +20 -9
  23. data/lib/veewee/provider/core/helper/winrm.rb +167 -0
  24. data/lib/veewee/provider/kvm/box/create.rb +59 -3
  25. data/lib/veewee/provider/kvm/provider.rb +6 -6
  26. data/lib/veewee/provider/parallels/box/helper/buildinfo.rb +1 -1
  27. data/lib/veewee/provider/virtualbox/box.rb +1 -0
  28. data/lib/veewee/provider/virtualbox/box/build.rb +4 -2
  29. data/lib/veewee/provider/virtualbox/box/create.rb +32 -12
  30. data/lib/veewee/provider/virtualbox/box/helper/buildinfo.rb +6 -3
  31. data/lib/veewee/provider/virtualbox/box/helper/create.rb +20 -5
  32. data/lib/veewee/provider/virtualbox/box/helper/winrm_options.rb +31 -0
  33. data/lib/veewee/provider/virtualbox/box/up.rb +33 -12
  34. data/lib/veewee/provider/virtualbox/box/winrm.rb +13 -0
  35. data/lib/veewee/provider/vmfusion/box.rb +2 -0
  36. data/lib/veewee/provider/vmfusion/box/add_share.rb +18 -0
  37. data/lib/veewee/provider/vmfusion/box/build.rb +3 -1
  38. data/lib/veewee/provider/vmfusion/box/create.rb +7 -2
  39. data/lib/veewee/provider/vmfusion/box/helper/buildinfo.rb +9 -6
  40. data/lib/veewee/provider/vmfusion/box/helper/ip.rb +1 -1
  41. data/lib/veewee/provider/vmfusion/box/helper/winrm_options.rb +21 -0
  42. data/lib/veewee/provider/vmfusion/box/template.rb +7 -3
  43. data/lib/veewee/provider/vmfusion/box/template.vmx.erb +6 -0
  44. data/lib/veewee/provider/vmfusion/box/winrm.rb +12 -0
  45. data/lib/veewee/provider/vmfusion/provider.rb +7 -1
  46. data/lib/veewee/version.rb +1 -1
  47. data/templates/CentOS-5.6-x86_64-netboot-packages/definition.rb +16 -0
  48. data/templates/CentOS-5.6-x86_64-netboot-packages/ks.cfg +47 -0
  49. data/templates/CentOS-5.6-x86_64-netboot-packages/postinstall.sh +61 -0
  50. data/templates/Debian-7.0-b3-amd64-netboot/base.sh +27 -0
  51. data/templates/Debian-7.0-b3-amd64-netboot/chef.sh +2 -0
  52. data/templates/Debian-7.0-b3-amd64-netboot/cleanup-virtualbox.sh +4 -0
  53. data/templates/Debian-7.0-b3-amd64-netboot/cleanup.sh +17 -0
  54. data/templates/Debian-7.0-b3-amd64-netboot/definition.rb +51 -0
  55. data/templates/Debian-7.0-b3-amd64-netboot/preseed.cfg +313 -0
  56. data/templates/Debian-7.0-b3-amd64-netboot/puppet.sh +2 -0
  57. data/templates/Debian-7.0-b3-amd64-netboot/ruby.sh +10 -0
  58. data/templates/Debian-7.0-b3-amd64-netboot/vagrant.sh +25 -0
  59. data/templates/Debian-7.0-b3-amd64-netboot/virtualbox.sh +13 -0
  60. data/templates/Debian-7.0-b3-amd64-netboot/zerodisk.sh +3 -0
  61. data/templates/Fedora-18-i386/definition.rb +17 -0
  62. data/templates/Fedora-18-i386/ks.cfg +75 -0
  63. data/templates/Fedora-18-i386/postinstall.sh +38 -0
  64. data/templates/Fedora-18-x86_64/definition.rb +17 -0
  65. data/templates/Fedora-18-x86_64/ks.cfg +75 -0
  66. data/templates/Fedora-18-x86_64/postinstall.sh +38 -0
  67. data/templates/OracleLinux-6.3-x86_64-DVD/base.sh +30 -0
  68. data/templates/OracleLinux-6.3-x86_64-DVD/chef.sh +3 -0
  69. data/templates/OracleLinux-6.3-x86_64-DVD/cleanup.sh +5 -0
  70. data/templates/OracleLinux-6.3-x86_64-DVD/definition.rb +40 -0
  71. data/templates/OracleLinux-6.3-x86_64-DVD/ks.cfg +42 -0
  72. data/templates/OracleLinux-6.3-x86_64-DVD/puppet.sh +12 -0
  73. data/templates/OracleLinux-6.3-x86_64-DVD/ruby.sh +3 -0
  74. data/templates/OracleLinux-6.3-x86_64-DVD/vagrant.sh +18 -0
  75. data/templates/OracleLinux-6.3-x86_64-DVD/virtualbox.sh +8 -0
  76. data/templates/OracleLinux-6.3-x86_64-DVD/zerodisk.sh +3 -0
  77. data/templates/funtoo-latest-x86_64/definition.rb +37 -0
  78. data/templates/funtoo-latest-x86_64/postinstall.sh +401 -0
  79. data/templates/openbsd50_amd64/definition.rb +3 -2
  80. data/templates/openbsd50_amd64/postinstall.sh +4 -4
  81. data/templates/openbsd50_i386/definition.rb +4 -4
  82. data/templates/openbsd52_amd64/README +28 -0
  83. data/templates/openbsd52_amd64/definition.rb +85 -0
  84. data/templates/openbsd52_amd64/postinstall.sh +81 -0
  85. data/templates/openbsd52_i386/README +28 -0
  86. data/templates/openbsd52_i386/definition.rb +85 -0
  87. data/templates/openbsd52_i386/postinstall.sh +81 -0
  88. data/templates/windows-2008R1-serverstandard-amd64/Autounattend.xml +6 -6
  89. data/templates/windows-2008R1-serverweb-amd64/install-winrm.bat +1 -1
  90. data/templates/windows-2008R2-serverstandard-amd64-winrm/Autounattend.xml +224 -0
  91. data/templates/windows-2008R2-serverstandard-amd64-winrm/README.md +87 -0
  92. data/templates/windows-2008R2-serverstandard-amd64-winrm/definition.rb +33 -0
  93. data/templates/windows-2008R2-serverstandard-amd64-winrm/install-chef.bat +2 -0
  94. data/templates/windows-2008R2-serverstandard-amd64-winrm/install-vbox.bat +4 -0
  95. data/templates/windows-2008R2-serverstandard-amd64-winrm/oracle-cert.cer +0 -0
  96. data/templates/windows-2008R2-serverstandard-amd64-winrm/postinstall.sh +74 -0
  97. data/templates/windows-7-enterprise-amd64-winrm/Autounattend.xml +227 -0
  98. data/templates/windows-7-enterprise-amd64-winrm/README.md +52 -0
  99. data/templates/windows-7-enterprise-amd64-winrm/definition.rb +27 -0
  100. data/templates/windows-7-enterprise-amd64-winrm/install-chef.bat +2 -0
  101. data/templates/windows-7-enterprise-amd64-winrm/install-fusion.bat +18 -0
  102. data/templates/windows-7-enterprise-amd64-winrm/install-puppet.bat +4 -0
  103. data/templates/windows-7-enterprise-amd64-winrm/install-vbox.bat +4 -0
  104. data/templates/windows-7-enterprise-amd64-winrm/oracle-cert.cer +0 -0
  105. data/templates/windows-7-enterprise-amd64-winrm/postinstall.bat +74 -0
  106. data/validation/veewee-windows.feature +34 -0
  107. data/veewee.gemspec +1 -1
  108. metadata +73 -7
@@ -0,0 +1,227 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <unattend xmlns="urn:schemas-microsoft-com:unattend">
3
+ <servicing></servicing>
4
+ <settings pass="windowsPE">
5
+ <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
6
+ <DiskConfiguration>
7
+ <Disk wcm:action="add">
8
+ <CreatePartitions>
9
+ <CreatePartition wcm:action="add">
10
+ <Order>1</Order>
11
+ <Type>Primary</Type>
12
+ <Size>20000</Size>
13
+ </CreatePartition>
14
+ </CreatePartitions>
15
+ <ModifyPartitions>
16
+ <ModifyPartition wcm:action="add">
17
+ <Extend>false</Extend>
18
+ <Format>NTFS</Format>
19
+ <Letter>C</Letter>
20
+ <Order>1</Order>
21
+ <PartitionID>1</PartitionID>
22
+ <Label>Windows 7 Enterprise</Label>
23
+ </ModifyPartition>
24
+ </ModifyPartitions>
25
+ <DiskID>0</DiskID>
26
+ <WillWipeDisk>true</WillWipeDisk>
27
+ </Disk>
28
+ <WillShowUI>OnError</WillShowUI>
29
+ </DiskConfiguration>
30
+ <UserData>
31
+ <ProductKey>
32
+ <WillShowUI>Never</WillShowUI>
33
+ </ProductKey>
34
+ <AcceptEula>true</AcceptEula>
35
+ <FullName>Vagrant Fullname</FullName>
36
+ <Organization>Vagrant Inc</Organization>
37
+ </UserData>
38
+ <ImageInstall>
39
+ <OSImage>
40
+ <InstallTo>
41
+ <DiskID>0</DiskID>
42
+ <PartitionID>1</PartitionID>
43
+ </InstallTo>
44
+ <WillShowUI>OnError</WillShowUI>
45
+ <InstallToAvailablePartition>false</InstallToAvailablePartition>
46
+ <InstallFrom>
47
+ <MetaData wcm:action="add">
48
+ <Key>/IMAGE/NAME</Key>
49
+ <Value>Windows 7 ENTERPRISE</Value>
50
+ </MetaData>
51
+ </InstallFrom>
52
+ </OSImage>
53
+ </ImageInstall>
54
+ </component>
55
+ <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
56
+ <SetupUILanguage>
57
+ <UILanguage>en-US</UILanguage>
58
+ </SetupUILanguage>
59
+ <InputLocale>en-US</InputLocale>
60
+ <SystemLocale>en-US</SystemLocale>
61
+ <UILanguage>en-US</UILanguage>
62
+ <UILanguageFallback>en-US</UILanguageFallback>
63
+ <UserLocale>en-US</UserLocale>
64
+ </component>
65
+ </settings>
66
+ <settings pass="oobeSystem">
67
+ <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
68
+ <UserAccounts>
69
+ <AdministratorPassword>
70
+ <Value>ZABnAEIAaABBAEcAYwBBAGMAZwBCAGgAQQBHADQAQQBkAEEAQgBRAEEARwBFAEEAYwB3AEIAegBBAEgAYwBBAGIAdwBCAHkAQQBHAFEAQQBBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByAFAAYQBzAHMAdwBvAHIAZAA=</Value>
71
+ <PlainText>false</PlainText>
72
+ </AdministratorPassword>
73
+ <LocalAccounts>
74
+ <LocalAccount wcm:action="add">
75
+ <Password>
76
+ <Value>dgBhAGcAcgBhAG4AdABQAGEAcwBzAHcAbwByAGQA</Value>
77
+ <PlainText>false</PlainText>
78
+ </Password>
79
+ <Description>Vagrant User</Description>
80
+ <DisplayName>vagrant</DisplayName>
81
+ <Group>administrators</Group>
82
+ <Name>vagrant</Name>
83
+ </LocalAccount>
84
+ </LocalAccounts>
85
+ </UserAccounts>
86
+ <OOBE>
87
+ <HideEULAPage>true</HideEULAPage>
88
+ <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
89
+ <NetworkLocation>Work</NetworkLocation>
90
+ <ProtectYourPC>3</ProtectYourPC>
91
+ </OOBE>
92
+ <AutoLogon>
93
+ <Password>
94
+ <Value>dgBhAGcAcgBhAG4AdABQAGEAcwBzAHcAbwByAGQA</Value>
95
+ <PlainText>false</PlainText>
96
+ </Password>
97
+ <Username>vagrant</Username>
98
+ <Enabled>true</Enabled>
99
+ </AutoLogon>
100
+ <FirstLogonCommands>
101
+ <!-- <SynchronousCommand wcm:action="add"> -->
102
+ <!-- <CommandLine>cmd.exe /c a:install-cygwin-sshd.bat</CommandLine> -->
103
+ <!-- <Description>Install Cygwin SSH</Description> -->
104
+ <!-- <Order>1</Order> -->
105
+ <!-- <RequiresUserInput>true</RequiresUserInput> -->
106
+ <!-- </SynchronousCommand> -->
107
+ <!-- <SynchronousCommand wcm:action="add"> -->
108
+ <!-- <CommandLine>cmd.exe /c a:install-vbox-guest.bat</CommandLine> -->
109
+ <!-- <Description>Install Win RM</Description> -->
110
+ <!-- <Order>1</Order> -->
111
+ <!-- <RequiresUserInput>true</RequiresUserInput> -->
112
+ <!-- </SynchronousCommand> -->
113
+ <SynchronousCommand wcm:action="add">
114
+ <CommandLine>cmd.exe /c winrm quickconfig -q</CommandLine>
115
+ <Description>winrm quickconfig -q</Description>
116
+ <Order>1</Order>
117
+ <RequiresUserInput>true</RequiresUserInput>
118
+ </SynchronousCommand>
119
+ <SynchronousCommand wcm:action="add">
120
+ <CommandLine>cmd.exe /c winrm quickconfig -transport:http</CommandLine>
121
+ <Description>winrm quickconfig -transport:http</Description>
122
+ <Order>2</Order>
123
+ <RequiresUserInput>true</RequiresUserInput>
124
+ </SynchronousCommand>
125
+ <SynchronousCommand wcm:action="add">
126
+ <CommandLine>cmd.exe /c winrm set winrm/config @{MaxTimeoutms="1800000"}</CommandLine>
127
+ <Description>Win RM MaxTimoutms</Description>
128
+ <Order>3</Order>
129
+ <RequiresUserInput>true</RequiresUserInput>
130
+ </SynchronousCommand>
131
+ <SynchronousCommand wcm:action="add">
132
+ <CommandLine>cmd.exe /c winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}</CommandLine>
133
+ <Description>Win RM MaxMemoryPerShellMB</Description>
134
+ <Order>4</Order>
135
+ <RequiresUserInput>true</RequiresUserInput>
136
+ </SynchronousCommand>
137
+ <SynchronousCommand wcm:action="add">
138
+ <CommandLine>cmd.exe /c winrm set winrm/config/service @{AllowUnencrypted="true"}</CommandLine>
139
+ <Description>Win RM AllowUnencrypted</Description>
140
+ <Order>5</Order>
141
+ <RequiresUserInput>true</RequiresUserInput>
142
+ </SynchronousCommand>
143
+ <SynchronousCommand wcm:action="add">
144
+ <CommandLine>cmd.exe /c winrm set winrm/config/service/auth @{Basic="true"}</CommandLine>
145
+ <Description>Win RM auth Basic</Description>
146
+ <Order>6</Order>
147
+ <RequiresUserInput>true</RequiresUserInput>
148
+ </SynchronousCommand>
149
+ <SynchronousCommand wcm:action="add">
150
+ <CommandLine>cmd.exe /c winrm set winrm/config/listener?Address=*+Transport=HTTP @{Port="5985"} </CommandLine>
151
+ <Description>Win RM listener Address/Port</Description>
152
+ <Order>7</Order>
153
+ <RequiresUserInput>true</RequiresUserInput>
154
+ </SynchronousCommand>
155
+ <SynchronousCommand wcm:action="add">
156
+ <CommandLine>cmd.exe /c netsh advfirewall firewall set rule group="remote administration" new enable=yes </CommandLine>
157
+ <Description>Win RM adv firewall enable</Description>
158
+ <Order>8</Order>
159
+ <RequiresUserInput>true</RequiresUserInput>
160
+ </SynchronousCommand>
161
+ <SynchronousCommand wcm:action="add">
162
+ <CommandLine>cmd.exe /c netsh firewall add portopening TCP 5985 "Port 5985" </CommandLine>
163
+ <Description>Win RM port open</Description>
164
+ <Order>9</Order>
165
+ <RequiresUserInput>true</RequiresUserInput>
166
+ </SynchronousCommand>
167
+ <SynchronousCommand wcm:action="add">
168
+ <CommandLine>cmd.exe /c net stop winrm </CommandLine>
169
+ <Description>Stop Win RM Service </Description>
170
+ <Order>10</Order>
171
+ <RequiresUserInput>true</RequiresUserInput>
172
+ </SynchronousCommand>
173
+ <SynchronousCommand wcm:action="add">
174
+ <CommandLine>cmd.exe /c sc config winrm start= auto</CommandLine>
175
+ <Description>Win RM Autostart</Description>
176
+ <Order>11</Order>
177
+ <RequiresUserInput>true</RequiresUserInput>
178
+ </SynchronousCommand>
179
+ <SynchronousCommand wcm:action="add">
180
+ <CommandLine>cmd.exe /c net start winrm </CommandLine>
181
+ <Description>Start Win RM Service</Description>
182
+ <Order>12</Order>
183
+ <RequiresUserInput>true</RequiresUserInput>
184
+ </SynchronousCommand>
185
+ <SynchronousCommand wcm:action="add">
186
+ <CommandLine>powershell -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force"</CommandLine>
187
+ <Description>Start Win RM Service</Description>
188
+ <Order>13</Order>
189
+ <RequiresUserInput>true</RequiresUserInput>
190
+ </SynchronousCommand>
191
+ </FirstLogonCommands>
192
+ <ShowWindowsLive>false</ShowWindowsLive>
193
+ </component>
194
+ </settings>
195
+ <settings pass="specialize">
196
+ <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
197
+ <OEMInformation>
198
+ <HelpCustomized>false</HelpCustomized>
199
+ </OEMInformation>
200
+ <!-- Rename computer here. -->
201
+ <ComputerName>vagrant-win7ent</ComputerName>
202
+ <TimeZone>Pacific Standard Time</TimeZone>
203
+ <RegisteredOwner>Vagrant</RegisteredOwner>
204
+ <ShowWindowsLive>false</ShowWindowsLive>
205
+ </component>
206
+ <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
207
+ <SkipAutoActivation>true</SkipAutoActivation>
208
+ </component>
209
+ <component name="Security-Malware-Windows-Defender" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
210
+ <DisableAntiSpyware>true</DisableAntiSpyware>
211
+ </component>
212
+ <component name="Microsoft-Windows-SystemRestore-Main" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
213
+ <DisableSR>1</DisableSR>
214
+ </component>
215
+ </settings>
216
+ <settings pass="generalize">
217
+ <component name="Microsoft-Windows-Security-SPP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
218
+ <SkipRearm>1</SkipRearm>
219
+ </component>
220
+ </settings>
221
+ <settings pass="offlineServicing">
222
+ <component name="Microsoft-Windows-LUA-Settings" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
223
+ <EnableLUA>false</EnableLUA>
224
+ </component>
225
+ </settings>
226
+ <cpi:offlineImage cpi:source="catalog:d:/sources/install_windows 7 enterprise.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
227
+ </unattend>
@@ -0,0 +1,52 @@
1
+ You can download a free trial of Windows 7 Enterprise 90-day Trial
2
+
3
+ url: http://technet.microsoft.com/en-us/evalcenter/cc442495.aspx
4
+ file: 7600.16385.090713-1255_x64fre_enterprise_en-us_EVAL_Eval_Enterprise-GRMCENXEVAL_EN_DVD.iso
5
+ md5sum: 1d0d239a252cb53e466d39e752b17c28
6
+
7
+ '''
8
+ PS C:\Users\Administrator> Dism /Get-WIMInfo /WimFile:d:\sources\install.wim
9
+
10
+ Deployment Image Servicing and Management tool
11
+ Version: 6.1.7600.16385
12
+
13
+ Details for image : d:\sources\install.wim
14
+
15
+ Index : 1
16
+ Name : Windows 7 ENTERPRISE
17
+ Description : Windows 7 ENTERPRISE
18
+ Size : 11,913,037,777 bytes
19
+
20
+ The operation completed successfully.
21
+ '''
22
+
23
+ - place it in a directory called iso
24
+
25
+ The installation uses the Standard way for Windows Unattended installation.
26
+ The XML file was created using the Windows AIK kit, but the file can also be edited by hand.
27
+
28
+ To edit the Autounattend.xml and validate it:
29
+
30
+ You can download The Windows® Automated Installation Kit (AIK) for Windows® 7:
31
+ url: http://www.microsoft.com/download/en/details.aspx?id=5753
32
+ file: KB3AIK_EN.iso
33
+ md5sum: 1e73b24a89eceab9d50585b92db5482f
34
+
35
+ - Building the machine creates a floppy that contains:
36
+ - AutoUnattend.xml (that will configure the windows)
37
+ - winrm-install.bat (activates the http and https listener + punches the firewall hole)
38
+
39
+ AIK also includes dism, which will allow you to choose a specific version:
40
+
41
+ If you want to install a different version, edit Autoattended.xml and replace the /IMAGE/NAME value with
42
+ one of the names listed in the sources/install.wim on the install DVD .iso
43
+
44
+
45
+
46
+ # Use the Name : from 'Dism.exe /Get-WIMInfo /WimFile:d:\sources\install.wim'
47
+ # <InstallFrom>
48
+ # <MetaData wcm:action="add">
49
+ # <Key>/IMAGE/NAME</Key>
50
+ # <Value>Windows 7 ENTERPRISE</Value>
51
+ # </MetaData>
52
+ # </InstallFrom>
@@ -0,0 +1,27 @@
1
+ # -*- coding: utf-8 -*-
2
+ #video memory size should be at least 32meg for windows 7 to do full screen on my desktop
3
+ # I'm not sure how to set that with veewee::session yet
4
+ Veewee::Session.declare({
5
+ :os_type_id => 'Windows7_64',
6
+ # Windows 7 Enterprise 90-day Trial
7
+ # http://technet.microsoft.com/en-us/evalcenter/cc442495.aspx
8
+ :iso_file => "7600.16385.090713-1255_x64fre_enterprise_en-us_EVAL_Eval_Enterprise-GRMCENXEVAL_EN_DVD.iso",
9
+ :iso_src => "http://wb.dlservice.microsoft.com/dl/download/release/Win7/3/b/a/3bac7d87-8ad2-4b7a-87b3-def36aee35fa/7600.16385.090713-1255_x64fre_enterprise_en-us_EVAL_Eval_Enterprise-GRMCENXEVAL_EN_DVD.iso",
10
+ :iso_md5 => "1d0d239a252cb53e466d39e752b17c28",
11
+ :iso_download_timeout => "100000",
12
+ :cpu_count => '1',
13
+ :memory_size=> '512',
14
+ :disk_size => '20280', :disk_format => 'VDI', :hostiocache => 'off',
15
+ :floppy_files => [
16
+ "Autounattend.xml",
17
+ "oracle-cert.cer"
18
+ ],
19
+ :winrm_user => "vagrant", :winrm_password => "vagrant",
20
+ :postinstall_timeout => "10000",
21
+ :postinstall_files => [
22
+ "install-chef.bat",
23
+ "install-puppet.bat",
24
+ "install-vbox.bat"
25
+ ],
26
+ :shutdown_cmd => "shutdown /s /t 10 /c \"Vagrant Shutdown\" /f /d p:4:1",
27
+ })
@@ -0,0 +1,2 @@
1
+ cmd /C cscript %TEMP%\wget.vbs /url:http://www.opscode.com/chef/install.msi /path:%TEMP%\chef-client.msi
2
+ cmd /C msiexec /qn /i %TEMP%\chef-client.msi
@@ -0,0 +1,18 @@
1
+ REM Not much here yet, some notes to make things going
2
+ REM Enable autorun
3
+ REM reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom\Autorun /v Data /t REG_DWORD /f /d 1
4
+
5
+ REM Install vmware tools
6
+ REM /Applications/VMware\ Fusion.app/Contents/Library/vmrun installtools /Users/patrick/Documents/Virtual\ Machines.localized/win7.vmwarevm/win7.vmx
7
+
8
+
9
+ REM Manually install it
10
+ REM http://communities.vmware.com/servlet/JiveServlet/previewBody/12413-102-4-13370/VMware%20Tools%20-%20Unattended_Install.pdf
11
+
12
+ REM NOT WORKING
13
+ REM msiexec /i "VMware Tools.msi" ADDLOCAL=ALL REMOVE="Hgfs,WYSE,GuestSDK,vmdesched" /qn /l* C:\temp\toolsinst.log /norestart
14
+ REM VMware Tools64.msi for 64 bit
15
+
16
+ REM WORKING
17
+ REM d:Setup64.exe /s /v "/qn"
18
+ REM
@@ -0,0 +1,4 @@
1
+ cmd /C cscript %TEMP%\wget.vbs /url:https://downloads.puppetlabs.com/windows/puppet-3.0.1.msi /path:%TEMP%\puppet.msi
2
+ cmd /C msiexec /qn /i %TEMP%\puppet.msi
3
+ cmd /C gem install sys-admin win32-process win32-dir win32-taskscheduler
4
+ cmd /C gem install win32-service --platform=mswin32
@@ -0,0 +1,4 @@
1
+ cmd /c certutil -addstore -f "TrustedPublisher" a:oracle-cert.cer
2
+ cmd /c e:\VBoxWindowsAdditions-amd64.exe /S
3
+
4
+ shutdown /r /t 2 /c "Install Virtualbox Guest Additions Reboot" /f /d p:4:1
@@ -0,0 +1,74 @@
1
+ REM set -x
2
+
3
+ REM # Create the home directory
4
+ REM mkdir -p /home/vagrant
5
+ REM chown vagrant /home/vagrant
6
+ REM cd /home/vagrant
7
+
8
+ REM # Install ssh certificates
9
+ REM mkdir /home/vagrant/.ssh
10
+ REM chmod 700 /home/vagrant/.ssh
11
+ REM cd /home/vagrant/.ssh
12
+ REM wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
13
+ REM chown -R vagrant /home/vagrant/.ssh
14
+ REM cd ..
15
+
16
+ REM # Install rpm,apt-get like code for cygwin
17
+ REM # http://superuser.com/questions/40545/upgrading-and-installing-packages-through-the-cygwin-command-line
18
+ REM wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg
19
+ REM chmod +x apt-cyg
20
+ REM mv apt-cyg /usr/local/bin/
21
+
22
+ REM # 7zip will allow us to extract a file from an ISO
23
+ REM wget http://downloads.sourceforge.net/sevenzip/7z922-x64.msi
24
+ REM msiexec /qb /i 7z922-x64.msi
25
+
26
+ REM # Download Virtualbox Additions
27
+ REM VBOX_VERSION="4.1.8" #"4.0.8"
28
+ REM wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
29
+
30
+ REM # Extract the installer from the ISO (WHY WHY WHY isn't this available not bundled within an ISO)
31
+ REM /cygdrive/c/Program\ Files/7-Zip/7z.exe x VBoxGuestAdditions_$VBOX_VERSION.iso VBoxWindowsAdditions-amd64.exe
32
+
33
+ REM # Mark Oracle as a trusted installer
34
+ REM #http://blogs.msdn.com/b/steverac/archive/2009/07/09/adding-certificates-to-the-local-certificates-store-and-setting-local-policy-using-a-command-line-system-center-updates-publisher-example.aspx
35
+
36
+ REM certutil -addstore -f "TrustedPublisher" a:oracle-cert.cer
37
+
38
+ REM # Install the Virtualbox Additions
39
+ REM ./VBoxWindowsAdditions-amd64.exe /S
40
+
41
+
42
+ REM #Rather than do the manual install of ruby and chef, just use the opscode msi
43
+ cmd /C cscript %TEMP%\wget.vbs /url:http://www.opscode.com/chef/install.msi /path:%TEMP%\chef-client.msi
44
+ msiexec /qb /i %TEMP%\chef-client-latest.msi
45
+
46
+
47
+ REM #http://www.msfn.org/board/topic/105277-howto-create-a-fully-up-to-date-xp-x64-dvd/
48
+
49
+ REM #Making aliases
50
+ REM cat <<EOF > /home/vagrant/.bash_profile
51
+ REM alias chef-client="chef-client.bat"
52
+ REM alias gem="gem.bat"
53
+ REM alias ruby="ruby.exe"
54
+ REM alias puppet="puppet.bat"
55
+ REM alias ohai="ohai.bat"
56
+ REM alias irb="irb.bat"
57
+ REM alias facter="facter.bat"
58
+ REM EOF
59
+
60
+
61
+ REM cat <<'EOF' > /bin/sudo
62
+ REM #!/usr/bin/bash
63
+ REM exec "$@"
64
+ REM EOF
65
+ REM chmod 755 /bin/sudo
66
+
67
+ REM # Mounting a directory
68
+ REM net.exe use '\\vboxsvr\veewee-validation'
69
+
70
+
71
+ REM # Reboot
72
+ REM # http://www.techrepublic.com/blog/datacenter/restart-windows-server-2003-from-the-command-line/245
73
+ REM shutdown.exe /s /t 0 /d p:2:4 /c "Vagrant initial reboot"
74
+
@@ -0,0 +1,34 @@
1
+ Feature: veewee box validation
2
+ As a valid veewee box
3
+ I need to comply to a set of rules
4
+ In order to make sure it works on Windows with Winrm
5
+
6
+ @vmfusion @virtualbox @kvm
7
+ Scenario: Valid definition
8
+ Given a veeweebox was build
9
+ And I run "whoami" over ssh
10
+ Then I should see the provided username in the output
11
+
12
+ @vmfusion @virtualbox @kvm
13
+ Scenario: Checking ruby
14
+ Given a veeweebox was build
15
+ And I run "ruby --version > %TEMP%\devnull && echo %ERRORLEVEL%" over ssh
16
+ Then I should see "0" in the output
17
+
18
+ @vmfusion @virtualbox @kvm
19
+ Scenario: Checking gem
20
+ Given a veeweebox was build
21
+ And I run "gem --version > %TEMP%\devnull && echo %ERRORLEVEL%" over ssh
22
+ Then I should see "0" in the output
23
+
24
+ @vmfusion @virtualbox @kvm
25
+ Scenario: Checking chef
26
+ Given a veeweebox was build
27
+ And I run "chef-client --version > %TEMP%\devnull && echo %ERRORLEVEL%" over ssh
28
+ Then I should see "0" in the output
29
+
30
+ @vagrant
31
+ Scenario: Checking shared folders
32
+ Given a veeweebox was build
33
+ And I run "net use|grep veewee-validation" over ssh
34
+ Then I should see "veewee-validation" in the output