...
- Install the Windows 10 ADK (download) and choose only Deployment Tools
- Download the Windows 10 Enterprise Evaluation ISO, and mount it in your host/VM (you need to login with your Microsoft account to download ISOs)
- Download the stable amd64 virto-win iso, following this link
- Download the Windows OpenStack Imaging Tools
- Change the following:
UnattendTemplate.xml: Change
InputLocale
andUserLocale
fromen-US
tonb-NO
- Added ntnu_wallpaper.png to the
UnattendResources
-folder - UnattendResources\Specialize.ps1:
- Change the line with
Wallpaper.png
tontnu_wallpaper.png
(do not change the destination filename in the copy-command, as the wallpaper is set through an imported local GPO) - Replace the ICMP-firewall-command with the following to commands:
netsh advfirewall firewall add rule name="All ICMP V4" protocol=icmpv4:any,any dir=in action=allow
andnetsh advfirewall firewall add rule name="All ICMP V6" protocol=icmpv6:any,any dir=in action=allow
- Change the line with
- Create the following powershell-script, modify the three path-variables, and run it:
Code Block language powershell title CreateOpenStackImage.ps1 linenumbers true Import-Module .\windows-openstack-imaging-tools-master\WinImageBuilder.psm1 $virtualDiskPath = "<C:\path\to\diskfile.raw>" $wimFilePath = "<windowsiso-mountpoint>\sources\install.wim>" $virtIOISOPath = "<C:\path\to\virtio-win-x.x.xxx.iso>" $images = Get-WimFileImagesInfo -WimFilePath $wimFilePath $image = $images[0] New-WindowsCloudImage -WimFilePath $wimFilePath -ImageName $image.ImageName -VirtualDiskFormat RAW -VirtualDiskPath $virtualDiskPath -SizeBytes 18GB -VirtIOISOPath $virtIOISOPath -InstallUpdates
You now have a .raw diskfile, which contains a Windows 10-installation that will automatically run sysprep once booted. Now you have to choices:
- Import the .raw file to glance (see Upload new images), and spawn an instance from the new image
- Create a new local KVM-vm (on a Linux host), be sure to choose a virtio NIC, attach the .raw-file, boot the VM
- Wait for the instance to shutdown (it will install updates, run the powershellscripts
Logon.ps1
,FirstLogon.ps1
andSpecialize.ps1
and finally run sysprep - If you chose 8a, create a public snapshot of the instance. This snapshot is your new cloud ready Windows 10 image.
- If you chose 8b, upload the .raw-file to glance (Upload new images)
When you spawn a Windows instance, be sure to attach a keypair. Cloudbase-init will generate a random password for the user Admin
, which can be retrived with:
Code Block |
---|
nova get-password <instance-id> <private-key-file> |