Commit Graph

103 Commits

Author SHA1 Message Date
Matthew Hooker 8b763032ce
builder/hyper-v don't wait for shutdown to return.
Mirrors work done in #4436
2017-03-20 15:32:42 -07:00
Matthew Hooker 597b7ad8c5
builder/hyper-v: validate output dir in step, not in config
essentially same work as #2233
2017-03-08 23:52:34 -08:00
Matthew Hooker c5ddbacb62 Merge pull request #4318 from Tadas/fix-hyperv-admin
Check for 'Hyper-V Administrators' security group
2017-03-08 23:35:17 -08:00
Matthew Hooker 22d1322bd9
always check for an error first when walking a path 2017-01-26 16:32:21 -08:00
Matthew Hooker d2e59e4e92
set PACKER_HTTP_ADDR env var when available.
If using a builder that has an http server set up for file transfer,
expose the connection info to the shell provisioner through the environment
variable PACKER_HTTP_ADDR.

Closes #2869
2017-01-16 23:19:52 -08:00
Tadas Medisauskas 4939ea1a3b Add support for Hyper-V admins security group 2016-12-22 14:59:25 +00:00
Matthew Hooker 45d4cf8b36
move powershell module to common 2016-12-12 18:34:15 -08:00
Matthew Hooker 5e324d6bb4
apply #4041 to hyperV builder 2016-12-12 18:34:15 -08:00
Taliesin Sisson e50fe9fd54 Porting over paulmey changes to license and copyright headers. Good guy Microsoft have changed the licensing to MPL2 and removed the copyright headers so that we can include it in the official Packer release.
1ce6ba91f7?diff=unified#diff-5d60887f0940c9f8d6724e59843ac1fb
2016-12-12 22:45:24 +00:00
Taliesin Sisson 335615408a Run go fmt on files 2016-12-12 22:45:19 +00:00
Taliesin Sisson 04a6880361 Remove unused import 2016-12-12 22:45:17 +00:00
Taliesin Sisson 3f0835aab2 Remove headless option as it is not used. 2016-12-12 22:45:16 +00:00
Taliesin Sisson 3c1df5a791 Remove inconsistent "_mb" from ram size 2016-12-12 22:45:14 +00:00
Taliesin Sisson d7117560cf We are using powershell and Msvm to send keys to virtual keyboard so update comment 2016-12-12 22:45:12 +00:00
Taliesin Sisson a27d75ff89 Fix comment left over from initial import 2016-12-12 22:45:11 +00:00
Taliesin Sisson 501845cb4f SSHKeyPath and SSHWaitTimeout have been deprecated in favor of communicator configuration 2016-12-12 22:45:10 +00:00
Taliesin Sisson c2d1f6b617 Added the ability to independently configure switch vlan. This will people to leave the switch in trunk mode and set a vlan for the vm. 2016-12-12 22:45:06 +00:00
James Johnson 48b6cc0650 Enable VlanID 2016-12-12 22:45:05 +00:00
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 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
Patrick Lang 6342e1525d s/EnabeSecureBoot/EnableSecureBoot/g 2016-12-12 22:45:01 +00:00
Taliesin Sisson 9c53df1e0e Add special key modifiers to log output when used.
Update documentation to include new key modifiers.
2016-12-12 22:44:59 +00:00
Taliesin Sisson 5f7290c6f8 Add type scan support for ctrl, shift, alt.
<leftAlt>
<leftCtrl>
<leftShift>
<rightAlt>
<rightCtrl>
<rightShift>

Add type support for combinations of ctr, alt, shift with (only use lower case characters with this):
<leftAltOn>
<leftCtrlOn>
<leftShiftOn>
<leftAltOff>
<leftCtrlOff>
<leftShiftOff>
<rightAltOn>
<rightCtrlOn>
<rightShiftOn>
<rightAltOff>
<rightCtrlOff>
<rightShiftOff>
2016-12-12 22:44:58 +00:00
Taliesin Sisson 4d22bd1d4a Generate switch name using uuid v1 2016-12-12 22:44:49 +00:00
Taliesin Sisson fb098fcbf0 http server has moved to common step 2016-12-12 22:44:47 +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 bda2468404 removed unused reference 2016-12-12 22:44:40 +00:00
Taliesin Sisson d1961b7c8e Echo output when its used 2016-12-12 22:44:40 +00:00
Taliesin Sisson 18241e5215 Setting boot drive is generation specific 2016-12-12 22:44:37 +00:00
Taliesin Sisson 8477a0b748 Accidentally included bracket 2016-12-12 22:44:35 +00:00
Taliesin Sisson e0c10dec12 If exit code = 1 and the length of the stderr is 0, then we can assume that the exit code was not set, so assume success 2016-12-12 22:44:34 +00:00
Taliesin Sisson fe8d99fd8a If we are not getting the exit code assigned then default to it being successful
Useful to know what the exit code is if there is an error
2016-12-12 22:44:31 +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 31ac1da28d Setting boot drive message 2016-12-12 22:44:30 +00:00
Taliesin Sisson 50a8d1b6b4 Forgot to check in these files. 2016-12-12 22:44:27 +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 9f94834826 Use correct formatting for printf 2016-12-12 22:44:19 +00:00
Taliesin Sisson 54733323a8 Should only default to first controller if its not 1 of the 2 controllers available 2016-12-12 22:44:18 +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 4e8074d7e5 Need to expose generation as a public property 2016-12-12 22:44:13 +00:00
Taliesin Sisson e18594f404 Hyperv generation 2 machines use scsi for dvd drives. Allow gen 1 machines to have at least 1 iso image attached 2016-12-12 22:44:12 +00:00
Taliesin Sisson 3051ea6633 Quote powershell so that it does not try to interpret command to be run
Get VName out of state. This allows template replacement to be run on vmname
2016-12-12 22:44:10 +00:00
Taliesin Sisson f3cc413bbb Set the dvd to the first boot device 2016-12-12 22:44:08 +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 a42215981e The test is meant to fail if the folder already exists 2016-12-12 22:44:02 +00:00
Taliesin Sisson ca16f33fa3 Use the same configuration style as existing builders
Move builder into correctly named folder
2016-12-12 22:44:02 +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