veewee 0.2.2 → 0.2.3

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 (123) hide show
  1. data/Gemfile +1 -1
  2. data/Gemfile.lock +75 -0
  3. data/lib/veewee.rb +2 -0
  4. data/lib/veewee/command.rb +1 -59
  5. data/lib/veewee/command/basebox.rb +63 -0
  6. data/lib/veewee/command/basebox_build.rb +32 -0
  7. data/lib/veewee/command/basebox_define.rb +28 -0
  8. data/lib/veewee/command/basebox_destroy.rb +22 -0
  9. data/lib/veewee/command/basebox_export.rb +22 -0
  10. data/lib/veewee/command/basebox_list.rb +23 -0
  11. data/lib/veewee/command/basebox_ostypes.rb +23 -0
  12. data/lib/veewee/command/basebox_templates.rb +23 -0
  13. data/lib/veewee/command/basebox_undefine.rb +22 -0
  14. data/lib/veewee/command/basebox_validate.rb +26 -0
  15. data/lib/veewee/config.rb +1 -2
  16. data/lib/veewee/version.rb +1 -1
  17. data/templates/CentOS-6.0-x86_64-minimal/definition.rb +1 -1
  18. data/templates/CentOS-6.0-x86_64-minimal/postinstall.sh +12 -4
  19. data/templates/CentOS-6.2-x86_64-minimal/definition.rb +15 -0
  20. data/templates/CentOS-6.2-x86_64-minimal/ks.cfg +37 -0
  21. data/templates/CentOS-6.2-x86_64-minimal/postinstall.sh +50 -0
  22. data/templates/SLES-11-SP1-DVD-i586-GM/autoinst_de.xml +1127 -0
  23. data/templates/SLES-11-SP1-DVD-i586-GM/autoinst_en.xml +1127 -0
  24. data/templates/SLES-11-SP1-DVD-i586-GM/definition.rb +37 -0
  25. data/templates/SLES-11-SP1-DVD-i586-GM/postinstall.sh +43 -0
  26. data/templates/SLES-11-SP1-DVD-x86_64-GM/autoinst_de.xml +1171 -0
  27. data/templates/SLES-11-SP1-DVD-x86_64-GM/autoinst_en.xml +1171 -0
  28. data/templates/SLES-11-SP1-DVD-x86_64-GM/definition.rb +37 -0
  29. data/templates/SLES-11-SP1-DVD-x86_64-GM/postinstall.sh +43 -0
  30. data/templates/funtoo-latest-generic_64-stable/definition.rb +34 -0
  31. data/templates/funtoo-latest-generic_64-stable/postinstall.sh +177 -0
  32. data/templates/funtoo-latest-generic_64-stable/postinstall2.sh +83 -0
  33. data/templates/gentoo-latest-x86_64-experimental/definition.rb +4 -4
  34. data/templates/gentoo-latest-x86_64-experimental/postinstall.sh +2 -2
  35. data/templates/openSUSE-12.1-DVD+NET-i586/autoinst_de.xml +1483 -0
  36. data/templates/openSUSE-12.1-DVD+NET-i586/autoinst_en.xml +1483 -0
  37. data/templates/openSUSE-12.1-DVD+NET-i586/definition.rb +44 -0
  38. data/templates/openSUSE-12.1-DVD+NET-i586/postinstall.sh +43 -0
  39. data/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_de.xml +1727 -0
  40. data/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_en.xml +1727 -0
  41. data/templates/openSUSE-12.1-DVD+NET-x86_64/definition.rb +44 -0
  42. data/templates/openSUSE-12.1-DVD+NET-x86_64/postinstall.sh +43 -0
  43. data/templates/openbsd50_amd64/README +28 -0
  44. data/templates/openbsd50_amd64/definition.rb +84 -0
  45. data/templates/openbsd50_amd64/postinstall.sh +81 -0
  46. data/templates/openbsd50_i386/.definition.rb.swp +0 -0
  47. data/templates/openbsd50_i386/README +28 -0
  48. data/templates/openbsd50_i386/definition.rb +84 -0
  49. data/templates/openbsd50_i386/postinstall.sh +80 -0
  50. data/templates/windows-2008R1-serverstandard-amd64/Autounattend.xml +146 -0
  51. data/templates/windows-2008R1-serverstandard-amd64/README.md +134 -0
  52. data/templates/windows-2008R1-serverstandard-amd64/cygwin-setup.exe +0 -0
  53. data/templates/windows-2008R1-serverstandard-amd64/definition.rb +114 -0
  54. data/templates/windows-2008R1-serverstandard-amd64/install-cygwin-sshd.bat +40 -0
  55. data/templates/windows-2008R1-serverstandard-amd64/install-guest-additions.bat +5 -0
  56. data/templates/windows-2008R1-serverstandard-amd64/install-winrm.bat +14 -0
  57. data/templates/windows-2008R1-serverstandard-amd64/oracle-cert.cer +0 -0
  58. data/templates/windows-2008R1-serverstandard-amd64/postinstall.sh +74 -0
  59. data/templates/windows-2008R1-serverstandard-amd64/sudo +2 -0
  60. data/templates/windows-2008R1-serverstandard-amd64/winrm.rb +8 -0
  61. data/templates/windows-2008R2-amd64/cygwin-setup.exe +0 -0
  62. data/templates/windows-2008R2-amd64/install-winrm.bat +2 -0
  63. data/templates/windows-2008R2-serverstandard-amd64/Autounattend.xml +147 -0
  64. data/templates/windows-2008R2-serverstandard-amd64/README.md +142 -0
  65. data/templates/windows-2008R2-serverstandard-amd64/definition.rb +44 -0
  66. data/templates/windows-2008R2-serverstandard-amd64/install-cygwin-sshd.bat +41 -0
  67. data/templates/windows-2008R2-serverstandard-amd64/install-winrm.bat +11 -0
  68. data/templates/windows-2008R2-serverstandard-amd64/oracle-cert.cer +0 -0
  69. data/templates/windows-2008R2-serverstandard-amd64/postinstall.sh +74 -0
  70. data/templates/windows-7-enterprise-amd64/Autounattend.xml +149 -0
  71. data/templates/windows-7-enterprise-amd64/README.md +52 -0
  72. data/templates/windows-7-enterprise-amd64/definition.rb +39 -0
  73. data/templates/windows-7-enterprise-amd64/install-cygwin-sshd.bat +40 -0
  74. data/templates/windows-7-enterprise-amd64/install-winrm.bat +14 -0
  75. data/templates/windows-7-enterprise-amd64/oracle-cert.cer +0 -0
  76. data/templates/windows-7-enterprise-amd64/postinstall.sh +74 -0
  77. data/templates/windows-7-enterprise-i386/Autounattend.xml +151 -0
  78. data/templates/windows-7-enterprise-i386/README.md +169 -0
  79. data/templates/windows-7-enterprise-i386/definition.rb +40 -0
  80. data/templates/windows-7-enterprise-i386/install-cygwin-sshd.bat +40 -0
  81. data/templates/windows-7-enterprise-i386/install-winrm.bat +14 -0
  82. data/templates/windows-7-enterprise-i386/oracle-cert.cer +0 -0
  83. data/templates/windows-7-enterprise-i386/postinstall.sh +74 -0
  84. data/templates/windows-7-premium-amd64/Autounattend.xml +152 -0
  85. data/templates/windows-7-premium-amd64/README.md +171 -0
  86. data/templates/windows-7-premium-amd64/definition.rb +38 -0
  87. data/templates/windows-7-premium-amd64/install-chefclient.bat +44 -0
  88. data/templates/windows-7-premium-amd64/install-winrm.bat +11 -0
  89. data/templates/windows-7-premium-amd64/oracle-cert.cer +0 -0
  90. data/templates/windows-7-premium-amd64/postinstall.sh +124 -0
  91. data/templates/windows-7-premium-amd64/winrm.rb +8 -0
  92. data/templates/windows-7-professional-amd64/Autounattend.xml +152 -0
  93. data/templates/windows-7-professional-amd64/README.md +171 -0
  94. data/templates/windows-7-professional-amd64/definition.rb +41 -0
  95. data/templates/windows-7-professional-amd64/install-cygwin-sshd.bat +40 -0
  96. data/templates/windows-7-professional-amd64/install-winrm.bat +14 -0
  97. data/templates/windows-7-professional-amd64/oracle-cert.cer +0 -0
  98. data/templates/windows-7-professional-amd64/postinstall.sh +74 -0
  99. data/templates/windows-7-ultimate-amd64/Autounattend.xml +152 -0
  100. data/templates/windows-7-ultimate-amd64/README.md +89 -0
  101. data/templates/windows-7-ultimate-amd64/definition.rb +41 -0
  102. data/templates/windows-7-ultimate-amd64/install-cygwin-sshd.bat +40 -0
  103. data/templates/windows-7-ultimate-amd64/install-winrm.bat +14 -0
  104. data/templates/windows-7-ultimate-amd64/oracle-cert.cer +0 -0
  105. data/templates/windows-7-ultimate-amd64/postinstall.sh +74 -0
  106. data/templates/windows-7sp1-ultimate-amd64/Autounattend.xml +152 -0
  107. data/templates/windows-7sp1-ultimate-amd64/README.md +89 -0
  108. data/templates/windows-7sp1-ultimate-amd64/definition.rb +42 -0
  109. data/templates/windows-7sp1-ultimate-amd64/install-cygwin-sshd.bat +40 -0
  110. data/templates/windows-7sp1-ultimate-amd64/install-winrm.bat +14 -0
  111. data/templates/windows-7sp1-ultimate-amd64/oracle-cert.cer +0 -0
  112. data/templates/windows-7sp1-ultimate-amd64/postinstall.sh +74 -0
  113. data/templates/windows-8-preview-dev-amd64/Autounattend.xml +140 -0
  114. data/templates/windows-8-preview-dev-amd64/README.md +134 -0
  115. data/templates/windows-8-preview-dev-amd64/cygwin-setup.exe +0 -0
  116. data/templates/windows-8-preview-dev-amd64/definition.rb +114 -0
  117. data/templates/windows-8-preview-dev-amd64/install-cygwin-sshd.bat +38 -0
  118. data/templates/windows-8-preview-dev-amd64/install-winrm.bat +11 -0
  119. data/templates/windows-8-preview-dev-amd64/oracle-cert.cer +0 -0
  120. data/templates/windows-8-preview-dev-amd64/postinstall.sh +122 -0
  121. data/templates/windows-8-preview-dev-amd64/winrm.rb +8 -0
  122. data/veewee.gemspec +3 -2
  123. metadata +162 -34
@@ -0,0 +1,89 @@
1
+ This uses the All In One "Windows 7 7600 AIO.ISO" from MSDN
2
+ file: Windows 7 7600 AIO.ISO
3
+ md5sum: ace6c61269613bf515fd59c62185bbcf
4
+
5
+ '''
6
+ PS C:\Users\Administrator> Dism /Get-WIMInfo /WimFile:d:\sources\install.wim
7
+
8
+ Deployment Image Servicing and Management tool
9
+ Version: 6.1.7600.16385
10
+
11
+ Details for image : d:\sources\install.wim
12
+
13
+ Index : 1
14
+ Name : Windows 7 STARTER
15
+ Description : Windows 7 STARTER
16
+ Size : 7,936,340,784 bytes
17
+
18
+ Index : 2
19
+ Name : Windows 7 HOMEBASIC
20
+ Description : Windows 7 HOMEBASIC
21
+ Size : 7,992,394,907 bytes
22
+
23
+ Index : 3
24
+ Name : Windows 7 HOMEPREMIUM
25
+ Description : Windows 7 HOMEPREMIUM
26
+ Size : 8,432,859,356 bytes
27
+
28
+ Index : 4
29
+ Name : Windows 7 PROFESSIONAL
30
+ Description : Windows 7 PROFESSIONAL
31
+ Size : 8,313,318,889 bytes
32
+
33
+ Index : 5
34
+ Name : Windows 7 ULTIMATE
35
+ Description : Windows 7 ULTIMATE
36
+ Size : 8,471,060,645 bytes
37
+
38
+ Index : 6
39
+ Name : Windows 7 Home Basic X64
40
+ Description : Windows 7 HOMEBASIC
41
+ Size : 11,500,789,302 bytes
42
+
43
+ Index : 7
44
+ Name : Windows 7 Home Premium X64
45
+ Description : Windows 7 HOMEPREMIUM
46
+ Size : 12,012,660,212 bytes
47
+
48
+ Index : 8
49
+ Name : Windows 7 Home Professional X64
50
+ Description : Windows 7 PROFESSIONAL
51
+ Size : 11,910,752,928 bytes
52
+
53
+ Index : 9
54
+ Name : Windows 7 Home Ultimate X64
55
+ Description : Windows 7 ULTIMATE
56
+ Size : 12,070,211,908 bytes
57
+
58
+ The operation completed successfully.
59
+ '''
60
+
61
+ - place it in a directory called iso
62
+
63
+ The installation uses the Standard way for Windows Unattended installation. The XML file was created using the Windows AIK kit, but the file can also be edited by hand.
64
+
65
+ To edit the Autounattend.xml and validate it:
66
+ You can download The Windows® Automated Installation Kit (AIK) for Windows® 7:
67
+ url: http://www.microsoft.com/download/en/details.aspx?id=5753
68
+ file: KB3AIK_EN.iso
69
+ md5sum: 1e73b24a89eceab9d50585b92db5482f
70
+
71
+
72
+
73
+ - Building the machine creates a floppy that contains:
74
+ - AutoUnattend.xml (that will configure the windows)
75
+ - winrm-install.bat (activates the http and https listener + punches the firewall hole)
76
+
77
+ AIK also includes dism, which will allow you to choose a specific version:
78
+
79
+ If you want to install a different version, edit Autoattended.xml and replace the /IMAGE/NAME value with
80
+ one of the names listed in the sources/install.wim on the install DVD .iso
81
+
82
+ # <InstallFrom>
83
+ # <MetaData wcm:action="add">
84
+ # <Key>/IMAGE/NAME</Key>
85
+ # <Value>Windows 7 ULTIMATE</Value>
86
+ # </MetaData>
87
+ # </InstallFrom>
88
+
89
+
@@ -0,0 +1,42 @@
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
+ :iso_file => "X17-24395.iso",
7
+ # https://sites.google.com/site/linuxlablibrary/windows-7-iso
8
+ :iso_src => "http://msft.digitalrivercontent.net/win/X17-24395.iso",
9
+ :iso_md5 => "56a26636ec667799f5a7f42f142c772d",
10
+ :iso_download_timeout => "100000",
11
+
12
+ :cpu_count => '1',
13
+ :memory_size=> '512',
14
+ :disk_size => '20280', :disk_format => 'VDI', :hostiocache => 'off',
15
+
16
+ :floppy_files => [
17
+ "Autounattend.xml",
18
+ "install-winrm.bat",
19
+ "oracle-cert.cer",
20
+ "install-cygwin-sshd.bat"
21
+ ],
22
+
23
+
24
+ :boot_wait => "720", #12 minutes.. should be long enough
25
+ # this is waiting for the screene where we could put in our product key
26
+ # this is the command sequence to bybass it and to not try to register once online
27
+ :boot_cmd_sequence => [
28
+ '<Tab><Spacebar><Tab><Tab><Tab><Spacebar>'
29
+ ],
30
+
31
+ :ssh_login_timeout => "10000",
32
+ # Actively attempt to winrm (no ssh on base windows) in for 10000 seconds
33
+ :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
34
+ :ssh_host_port => "59857", :ssh_guest_port => "22",
35
+ # And run postinstall.sh for up to 10000 seconds
36
+ :postinstall_timeout => "10000",
37
+ :postinstall_files => ["postinstall.sh"],
38
+ # No sudo on windows
39
+ :sudo_cmd => "sh '%f'",
40
+ # Shutdown is different as well
41
+ :shutdown_cmd => "shutdown /s /t 0 /c \"Vagrant Shutdown\" /f /d p:4:1",
42
+ })
@@ -0,0 +1,40 @@
1
+ REM http://webcache.googleusercontent.com/search?q=cache:SjoPPpuQxuoJ:www.tcm.phy.cam.ac.uk/~mr349/cygwin_install.html+install+cygwin+ssh+commandline&cd=2&hl=nl&ct=clnk&gl=be&source=www.google.be
2
+
3
+ REM create the cygwin directory
4
+ cmd /c mkdir %SystemDrive%\cygwin
5
+
6
+ cmd /c bitsadmin /transfer CygwinSetupExe /download /priority normal http://www.cygwin.com/setup.exe %SystemDrive%\cygwin\cygwin-setup.exe
7
+
8
+ REM goto a temp directory
9
+ cd %SystemDrive%\windows\temp
10
+
11
+ REM run the installation
12
+ cmd /c %SystemDrive%\cygwin\cygwin-setup.exe -q -R %SystemDrive%\cygwin -P openssh,openssl,curl,cygrunsrv,wget,rebase,vim -s http://cygwin.mirrors.pair.com
13
+
14
+ %SystemDrive%\cygwin\bin\bash -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin cygrunsrv -R sshd'
15
+
16
+ REM /bin/ash is the right shell for this command
17
+ cmd /c %SystemDrive%\cygwin\bin\ash -c /bin/rebaseall
18
+
19
+ cmd /c %SystemDrive%\cygwin\bin\bash -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin mkgroup -l'>%SystemDrive%\cygwin\etc\group
20
+
21
+ cmd /c %SystemDrive%\cygwin\bin\bash -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin mkpasswd -l'>%SystemDrive%\cygwin\etc\passwd
22
+
23
+ %SystemDrive%\cygwin\usr\bin\sleep 1
24
+
25
+ %SystemDrive%\cygwin\bin\bash -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin /usr/bin/ssh-host-config -y -c "ntsecbinmode tty" -w "abc&&123!!" '
26
+
27
+ %SystemDrive%\cygwin\usr\bin\sleep 2
28
+
29
+ cmd /c if exist %Systemroot%\system32\netsh.exe netsh advfirewall firewall add rule name="SSHD" dir=in action=allow program="c:\cygwin\usr\sbin\sshd.exe" SSHD enable=yes
30
+
31
+ cmd /c if exist %Systemroot%\system32\netsh.exe netsh advfirewall firewall add rule name="ssh" dir=in action=allow protocol=TCP localport=22
32
+
33
+ %SystemDrive%\cygwin\usr\bin\sleep 2
34
+
35
+ net start sshd
36
+
37
+ # Fix corrupt recycle bin
38
+ # http://www.winhelponline.com/blog/fix-corrupted-recycle-bin-windows-7-vista/
39
+ cmd /c rd /s /q c:\$Recycle.bin
40
+
@@ -0,0 +1,14 @@
1
+ cmd /c winrm quickconfig -q
2
+ cmd /c winrm quickconfig -transport:http # needs to be auto no questions asked
3
+ cmd /c winrm set winrm/config @{MaxTimeoutms="1800000"}
4
+ cmd /c winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}
5
+ cmd /c winrm set winrm/config/service @{AllowUnencrypted="true"}
6
+ cmd /c winrm set winrm/config/service/auth @{Basic="true"}
7
+ cmd /c winrm set winrm/config/listener?Address=*+Transport=HTTP @{Port="5985"}
8
+ cmd /c netsh advfirewall firewall set rule group="remote administration" new enable=yes
9
+ cmd /c netsh firewall add portopening TCP 5985 "Port 5985"
10
+ cmd /c net stop winrm
11
+ cmd /c net start winrm
12
+
13
+ cmd /c reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 0 /f
14
+ cmd /c reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveIsSecure /t REG_SZ /d 0 /f
@@ -0,0 +1,74 @@
1
+ set -x
2
+
3
+ # Create the home directory
4
+ mkdir -p /home/vagrant
5
+ chown vagrant /home/vagrant
6
+ cd /home/vagrant
7
+
8
+ # Install ssh certificates
9
+ mkdir /home/vagrant/.ssh
10
+ chmod 700 /home/vagrant/.ssh
11
+ cd /home/vagrant/.ssh
12
+ wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
13
+ chown -R vagrant /home/vagrant/.ssh
14
+ cd ..
15
+
16
+ # Install rpm,apt-get like code for cygwin
17
+ # http://superuser.com/questions/40545/upgrading-and-installing-packages-through-the-cygwin-command-line
18
+ wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg
19
+ chmod +x apt-cyg
20
+ mv apt-cyg /usr/local/bin/
21
+
22
+ # 7zip will allow us to extract a file from an ISO
23
+ wget http://downloads.sourceforge.net/sevenzip/7z922-x64.msi
24
+ msiexec /qb /i 7z922-x64.msi
25
+
26
+ # Download Virtualbox Additions
27
+ VBOX_VERSION="4.1.8" #"4.0.8"
28
+ wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
29
+
30
+ # Extract the installer from the ISO (WHY WHY WHY isn't this available not bundled within an ISO)
31
+ /cygdrive/c/Program\ Files/7-Zip/7z.exe x VBoxGuestAdditions_$VBOX_VERSION.iso VBoxWindowsAdditions-amd64.exe
32
+
33
+ # Mark Oracle as a trusted installer
34
+ #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
+ certutil -addstore -f "TrustedPublisher" a:oracle-cert.cer
37
+
38
+ # Install the Virtualbox Additions
39
+ ./VBoxWindowsAdditions-amd64.exe /S
40
+
41
+
42
+ #Rather than do the manual install of ruby and chef, just use the opscode msi
43
+ curl -L http://www.opscode.com/chef/install.msi -o chef-client-latest.msi
44
+ msiexec /qb /i chef-client-latest.msi
45
+
46
+
47
+ #http://www.msfn.org/board/topic/105277-howto-create-a-fully-up-to-date-xp-x64-dvd/
48
+
49
+ #Making aliases
50
+ cat <<EOF > /home/vagrant/.bash_profile
51
+ alias chef-client="chef-client.bat"
52
+ alias gem="gem.bat"
53
+ alias ruby="ruby.exe"
54
+ alias puppet="puppet.bat"
55
+ alias ohai="ohai.bat"
56
+ alias irb="irb.bat"
57
+ alias facter="facter.bat"
58
+ EOF
59
+
60
+
61
+ cat <<'EOF' > /bin/sudo
62
+ #!/usr/bin/bash
63
+ exec "$@"
64
+ EOF
65
+ chmod 755 /bin/sudo
66
+
67
+ # Mounting a directory
68
+ net.exe use '\\vboxsvr\veewee-validation'
69
+
70
+
71
+ # Reboot
72
+ # http://www.techrepublic.com/blog/datacenter/restart-windows-server-2003-from-the-command-line/245
73
+ shutdown.exe /s /t 0 /d p:2:4 /c "Vagrant initial reboot"
74
+
@@ -0,0 +1,140 @@
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
+ <Extend>true</Extend>
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 2008</Label>
23
+ </ModifyPartition>
24
+ </ModifyPartitions>
25
+ <DiskID>0</DiskID>
26
+ <WillWipeDisk>true</WillWipeDisk>
27
+ </Disk>
28
+ <WillShowUI>OnError</WillShowUI>
29
+ </DiskConfiguration>
30
+ <UserData>
31
+ <AcceptEula>true</AcceptEula>
32
+ <FullName>Vagrant Fullname</FullName>
33
+ <Organization>Vagrant Inc</Organization>
34
+ <ProductKey>
35
+ <WillShowUI>Always</WillShowUI>
36
+ </ProductKey>
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 Longhorn SERVERSTANDARD</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>dgBhAGcAcgBhAG4AdABBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByAFAAYQBzAHMAdwBvAHIAZAA=</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
+ <NetworkLocation>Home</NetworkLocation>
89
+ <ProtectYourPC>3</ProtectYourPC>
90
+ </OOBE>
91
+ <AutoLogon>
92
+ <Password>
93
+ <Value>dgBhAGcAcgBhAG4AdABQAGEAcwBzAHcAbwByAGQA</Value>
94
+ <PlainText>false</PlainText>
95
+ </Password>
96
+ <Username>administrator</Username>
97
+ <Enabled>true</Enabled>
98
+ </AutoLogon>
99
+ <FirstLogonCommands>
100
+ <SynchronousCommand wcm:action="add">
101
+ <CommandLine>cmd.exe /c a:install-winrm.bat</CommandLine>
102
+ <Description>Install Win RM</Description>
103
+ <Order>1</Order>
104
+ </SynchronousCommand>
105
+ <!-- <SynchronousCommand wcm:action="add"> -->
106
+ <!-- <CommandLine>cmd.exe /c a:install-chefclient.bat</CommandLine> -->
107
+ <!-- <Description>Install Chef Client</Description> -->
108
+ <!-- <Order>2</Order> -->
109
+ <!-- </SynchronousCommand> -->
110
+ <SynchronousCommand wcm:action="add">
111
+ <CommandLine>cmd.exe /c a:install-cygwin-sshd.bat</CommandLine>
112
+ <Description>Install Cygwin SSHD</Description>
113
+ <Order>2</Order>
114
+ </SynchronousCommand>
115
+ </FirstLogonCommands>
116
+ <ShowWindowsLive>false</ShowWindowsLive>
117
+ </component>
118
+ </settings>
119
+ <settings pass="specialize">
120
+ <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
121
+ <OEMInformation>
122
+ <HelpCustomized>false</HelpCustomized>
123
+ </OEMInformation>
124
+ <!-- Rename computer here. -->
125
+ <ComputerName>vagrant-2008R2</ComputerName>
126
+ <TimeZone>New Zealand Standard Time</TimeZone>
127
+ <RegisteredOwner></RegisteredOwner>
128
+ </component>
129
+ <component name="Microsoft-Windows-OutOfBoxExperience" 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">
130
+ <DoNotOpenInitialConfigurationTasksAtLogon>true</DoNotOpenInitialConfigurationTasksAtLogon>
131
+ </component>
132
+ <component name="Microsoft-Windows-ServerManager-SvrMgrNc" 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">
133
+ <DoNotOpenServerManagerAtLogon>true</DoNotOpenServerManagerAtLogon>
134
+ </component>
135
+ <component name="Microsoft-Windows-Security-Licensing-SLC-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">
136
+ <SkipAutoActivation>true</SkipAutoActivation>
137
+ </component>
138
+ </settings>
139
+ <cpi:offlineImage cpi:source="catalog:d:/sources/install_windows longhorn serverstandard.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
140
+ </unattend>
@@ -0,0 +1,134 @@
1
+ You can download a free trial of Windows Server 2008 Enterprise: (60 day eval, expandable to 240 days)
2
+
3
+ From http://www.microsoft.com/download/en/details.aspx?id=8371
4
+
5
+ 64bit
6
+ url: http://download.microsoft.com/download/B/4/D/B4DC75A1-D7D2-4F31-87F9-E02C950E8D31/6001.18000.080118-1840_amd64fre_Server_en-us-KRMSXFRE_EN_DVD.iso
7
+ filename: 6001.18000.080118-1840_amd64fre_Server_en-us-KRMSXFRE_EN_DVD.iso
8
+ md5sum: 0477c88678efb8ebc5cd7a9e9efd8b82
9
+
10
+
11
+ 32bit
12
+ url: http://download.microsoft.com/download/B/4/D/B4DC75A1-D7D2-4F31-87F9-E02C950E8D31/6001.18000.080118-1840_x86fre_Server_en-us-KRMSFRE_EN_DVD.iso
13
+
14
+
15
+ - place it in a directory called iso
16
+
17
+ The installation uses the Standard way for Windows Unattended installation. The XML file was created using the Windows AIK kit, but the file can also be edited by hand.
18
+
19
+ You can download Automated Installation Kit (AIK) for Windows Vista SP1 and Windows Server 2008:
20
+ from http://www.microsoft.com/download/en/details.aspx?id=9085
21
+ file: 6001.18000.080118-1840-kb3aikl_en.iso
22
+ md5sum: b83fad8fd28e637b82cb4a6bef7d6920
23
+
24
+ - Building the machine creates a floppy that contains:
25
+ - AutoUnattend.xml (that will configure the windows)
26
+ - winrm-install.bat (activates the http and https listener + punches the firewall hole)
27
+
28
+ AIK also includes dism, which will allow you to choose a specific version:
29
+
30
+ If you want to install a different version, edit Autoattended.xml and replace the /IMAGE/NAME value with
31
+ one of the names listed in the Longhorn install.wim on the install .iso
32
+
33
+ <InstallFrom>
34
+ <MetaData wcm:action="add">
35
+ <Key>/IMAGE/NAME</Key>
36
+ <Value>Windows Longhorn SERVERSTANDARD</Value> ### This comes from the Name: field below
37
+ </MetaData>
38
+ </InstallFrom>
39
+
40
+ PS C:\Users\Administrator> Dism /Get-WIMInfo /WimFile:d:\sources\install.wim
41
+
42
+ Deployment Image Servicing and Management tool
43
+ Version: 6.1.7600.16385
44
+
45
+ Details for image : d:\sources\install.wim
46
+
47
+ Index : 1
48
+ Name : Windows Longhorn SERVERSTANDARD
49
+ Description : Windows Longhorn SERVERSTANDARD
50
+ Size : 8,784,297,519 bytes
51
+
52
+ Index : 2
53
+ Name : Windows Longhorn SERVERENTERPRISE
54
+ Description : Windows Longhorn SERVERENTERPRISE
55
+ Size : 8,792,036,862 bytes
56
+
57
+ Index : 3
58
+ Name : Windows Longhorn SERVERDATACENTER
59
+ Description : Windows Longhorn SERVERDATACENTER
60
+ Size : 8,792,568,645 bytes
61
+
62
+ Index : 4
63
+ Name : Windows Longhorn SERVERSTANDARDCORE
64
+ Description : Windows Longhorn SERVERSTANDARDCORE
65
+ Size : 2,512,939,954 bytes
66
+
67
+ Index : 5
68
+ Name : Windows Longhorn SERVERENTERPRISECORE
69
+ Description : Windows Longhorn SERVERENTERPRISECORE
70
+ Size : 2,522,686,340 bytes
71
+
72
+ Index : 6
73
+ Name : Windows Longhorn SERVERDATACENTERCORE
74
+ Description : Windows Longhorn SERVERDATACENTERCORE
75
+ Size : 2,522,615,418 bytes
76
+
77
+
78
+ This gets us nearly there, but we still need a winrm provisioner, as I don't like having to install cygwin.
79
+
80
+ Expose the winrm port:
81
+
82
+ <pre>
83
+ $ gem install chef
84
+ $ gem install knife-windows
85
+ #Create a tunnel
86
+ $ ssh -p 7222 -L5985:localhost:5985 vagrant@localhost
87
+ $ knife bootstrap windows winrm localhost -x Administrator -P 'vagrant'
88
+ </pre>
89
+
90
+
91
+ - http://wiki.opscode.com/display/chef/Knife+Windows+Bootstrap
92
+ - https://github.com/opscode/knife-windows/blob/master/lib/chef/knife/bootstrap/windows-shell.erb
93
+
94
+ - https://github.com/zenchild/WinRM
95
+
96
+ - http://devopscloud.net/2011/04/17/managing-chef-from-windows-7/
97
+ - http://devopscloud.net/2011/04/28/powershell-userdata-to-start-a-chef-run/
98
+ - http://devopscloud.net/2011/03/23/dissection-of-a-chef-recipe-or-two-for-windows/
99
+ - https://github.com/pmorton/chef-windows-installer
100
+
101
+ ==
102
+ https://github.com/zenchild/WinRM/issues/unreads#issue/1
103
+ http -> requires unencryptedwinrm quickconfig (said yes to enable firewall)
104
+ winrm p winrm/config/service @{AllowUnencrypted="true"}
105
+ winrm set winrm/config/service/auth @{Basic="true"}netsh advfirewall firewall set rule group="remote administration" new enable=yes
106
+
107
+ - http://forums.citrix.com/thread.jspa?messageID=1535826
108
+ - http://support.microsoft.com/kb/2019527
109
+
110
+ winrm get winrm/config
111
+
112
+ The purpose of configuring WinRM for HTTPS is to encrypt the data being sent across the wire.
113
+
114
+ WinRM HTTPS requires a local computer "Server Authentication" certificate with a CN matching the hostname, that is not expired, revoked, or self-signed to be installed.
115
+
116
+ To install or view certificates for the local computer:
117
+
118
+ - click Start, run, MMC, "File" menu, "Add or Remove Snap-ins" select "Certificates" and click "Add". Go through the wizard selecting "Computer account".
119
+
120
+ - Install or view the certificates under:
121
+ Certificates (Local computer)
122
+ Personal
123
+ Certificates
124
+
125
+ If you do not have a Sever Authenticating certificate consult your certicate administrator. If you have a microsoft Certificate server you may be abel to request a certificate using the web certificate template from HTTPS://<MyDomainCertificateServer>/certsrv
126
+
127
+ Once the certificate is installed type the following to configure WINRM to listen on HTTPS:
128
+
129
+ winrm quickconfig -transport:https
130
+
131
+ If you do not have an appropriate certificate you can run the following with the authentication methods configured for WinRM however the data will not be encrypted.
132
+
133
+ winrm quickconfig
134
+