Commit Graph

38 Commits

Author SHA1 Message Date
Taliesin Sisson 9fbd1e472a Add support for mac spoofing and dynamic memory.
To enable nested virtualization, mac spoofing, no dynamic memory and at least 4gb of ram should be set for the vm. Set warning if this has not been done.
Detected Virtualization Extensions are supported by the machine your are running on, as it only works for Windows 10 and Windows Server 2016 onwards.
2016-12-12 22:45:04 +00:00
Patrick Lang 1277a25d0b Fix type casting 2016-12-12 22:45:03 +00:00
Patrick Lang 6d391fc34a Adding support for nested Hyper-V 2016-12-12 22:45:02 +00:00
Patrick Lang f94c2cd2f7 Adding nested virtualization support 2016-12-12 22:45:01 +00:00
Taliesin Sisson 7ce9203530 Enable-VMIntegrationService cmdlet has a language dependent value for -Name option. So avoid using it, as it will break on machines with different languages. 2016-12-12 22:45:00 +00:00
Taliesin Sisson e636c3de3c Dvd drive creation will auto select the controller number and controller location. This fixes the bug of first generation machines not being able to add more then 1 dvd drive. 2016-12-12 22:44:58 +00:00
Taliesin Sisson 17597b48e1 Base64 encode powershell to avoid any necessary escaping 2016-12-12 22:44:54 +00:00
Taliesin Sisson 52c6cd5fc1 Test should run and pass even when run on an environment that does not have Powershel. 2016-12-12 22:44:53 +00:00
Taliesin Sisson 8c3239770d Skip these tests on platforms that don't have powershell installed 2016-12-12 22:44:52 +00:00
Taliesin Sisson 5d5809b27e Make hiding of progress backward compatible with old versions of powershell 2016-12-12 22:44:48 +00:00
Taliesin Sisson de447779f8 Windows Server 2016 won't let you set the first boot device 2016-12-12 22:44:46 +00:00
Taliesin Sisson 181132f32b Forget to pass in the dvd drive to eject the iso from 2016-12-12 22:44:45 +00:00
Gildas Cherruel 872fc559f5 Export of Hyper-V/VMCX machines 2016-12-12 22:44:45 +00:00
Taliesin Sisson d878f4dd8e A workaround for bug in Windows 10 and Windows 2016 where you have to specify a path when creating a dvd drive 2016-12-12 22:44:44 +00:00
Taliesin Sisson 4ab2e8b252 try to get the virtual keyboard a number of different ways. This should hopefully work for Windows 7, Window 10 and Windows Server 2016 2016-12-12 22:44:43 +00:00
Taliesin Sisson 056fc59166 Do not try to type scancodes if there are none. We haven't figured out how to do this on Windows 10 or Windows 7 and below. This will at least allow other types of VMs to be built. 2016-12-12 22:44:42 +00:00
Gildas Cherruel 8734c5b25f Remove all Dvd Drives on Generation 1 2016-12-12 22:44:42 +00:00
Taliesin Sisson 199bee6885 Need to sleep after sending previous characters, not before 2016-12-12 22:44:41 +00:00
Taliesin Sisson d1961b7c8e Echo output when its used 2016-12-12 22:44:40 +00:00
Taliesin Sisson f8e3970d87 By default a gen 1 vm get a dvd drive. Remove it on creation so that it behaves the same as gen 2. 2016-12-12 22:44:38 +00:00
Taliesin Sisson 18241e5215 Setting boot drive is generation specific 2016-12-12 22:44:37 +00:00
Taliesin Sisson 93a2615f7a Fix gen 1 creation of dvd 2016-12-12 22:44:37 +00:00
Taliesin Sisson 07764c631e The default for wait is 1 second 2016-12-12 22:44:36 +00:00
Taliesin Sisson 4b394c8563 Write output will put ouput from function, so we don't want to be getting line from output of function
Fix unit tests for not showing progress stream when using powershell
Ensure that progress stream does not get leaked into stdout
Using Write-Output instead of Write-Host since PS v5 now leaks the host stream to stderr
2016-12-12 22:44:33 +00:00
Taliesin Sisson 3cb621f890 Get rid of mount and unmount that does not specify controller location exactly
Handle cleanup if unmount step has not already done so
2016-12-12 22:44:30 +00:00
Taliesin Sisson 010d171bec GuestAdditionsMode and GuestAdditionsPath can be set in config. If GuestAdditionsMode == "attach" it will mount the HyperV Integration Services ISO. If GuestAdditionsPath is set, then it will be used as an alternative to where the HyperV Integration Service ISO is.
Included the build step to download ISO, so iso_urls works properly now.
Online activation should be done via provisioner
Installation of integration services should be done via provisioner
Cleaned up the way dvd drives are mounted and unmounted (still need to implement feature to find unused drives before adding a new one)
Cleaned up the way floppies are mounted and unmounted
2016-12-12 22:44:27 +00:00
Taliesin Sisson 422efeeaf6 Make use of driver instead of directly referencing hyper
Move inline powershell to hyperv
2016-12-12 22:44:26 +00:00
Taliesin Sisson 9fd635742c Always force turn off vm 2016-12-12 22:44:24 +00:00
Taliesin Sisson 9cf8b18e09 If there is only one ip address on a card we need to force it to be an array. Otherwise powershell may treat it as a property.
Stop-Vm with force parameter to ensure that powershell prompts will not appear
2016-12-12 22:44:22 +00:00
Taliesin Sisson efafed4f37 Copy the folder structure correctly 2016-12-12 22:44:15 +00:00
Taliesin Sisson 5f2c12324c No need to remove floppy controller for 2nd generation vms
Don't want to be prompted for confirmation from powershell commandlets
2016-12-12 22:44:14 +00:00
Taliesin Sisson 02db768018 With generation 2 machine by default a dvd drive is not created. So create a dvd drive for os if it does not exist.
Allow secure boot mode to be configured from config.
2016-12-12 22:44:07 +00:00
Taliesin Sisson aa1f1da1ff Support for boot_command
Setup local http server
Add compaction of hard drive
GetHostAdapterIpAddress function added for hyperv
renamed step step_start_vm to step_run to fall in ine with naming conventions of other builders
2016-12-12 22:44:07 +00:00
Taliesin Sisson 03b0698edd Remove devices after it has been shut down
Attempt to stop vm, before deleting it
2016-12-12 22:44:06 +00:00
Taliesin Sisson 2d7cfcd65d Throw error if we can't get mac or ip address during steps 2016-12-12 22:44:05 +00:00
Taliesin Sisson 87b3dec3d2 Wait until WinRM is available, before continuing with install. This is how other system like VeeWee do it.
Add support for number of cpus to use for vm
Add support for vm generation
2016-12-12 22:44:04 +00:00
Taliesin Sisson 469415fdfb Tests where for an old version of powershell class. Changed for the new one 2016-12-12 22:44:03 +00:00
Taliesin Sisson 1fe4c501e4 Port of https://github.com/pbolduc/packer-hyperv/
Remove steps that are windows specific
2016-12-12 22:44:01 +00:00