veewee 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
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