DanHam
3fc2defb6d
Refactor the export step for Hyper-V ISO and VMCX builders
...
* Fixes a bug that caused the build to error if users did not
explicitly set `skip_compaction:true` when setting `skip_export:
true`. See #6392 .
* Improves the efficiency of the compaction and export process by
reordering the compaction and export steps.
* Further improves the efficiency of the compacting step through
compacting the vmd* file directly rather than creating and then
operating on a copy.
* The changes mean the export process now stores the exported machine
files and folders under a folder with name 'vm_name' in the output
directory. Previously the exported machine files and folders were
stored directly in the output directory.
2018-07-20 02:09:54 +01:00
Unknown
5710c0aca1
Making log output clearer for hyper-v gui connection
2018-05-14 20:53:51 +10:00
Unknown
29c4b4436d
Changes requested in PR #6243
...
- Logging error if vmconnect.exe fails.
- Using StepRun struct rather than StateBag for command Cancel function
- Better handling in Disconnect when headless is true or vmconnect failed in Start
2018-05-14 20:52:10 +10:00
Unknown
fc734b6bd9
Using vmconnect to display gui for hyper-v
...
vmconnect.exe comes as part of Hyper-V and is the tool used by Hyper-V Manager to connect with a virtual machine. This commits sets behaviour the same as virtualbox and vmware to display the virtual machine connection unless headless is set in the template.
2018-05-14 20:52:10 +10:00
M. Marsh
5871b8242b
Merge pull request #6101 from adarobin/azurecompatible
...
Add use_fixed_vhd_format Hyper-V ISO option
2018-05-10 17:02:44 -07:00
Stefan Henseler
6f00596053
Adds config option to specify hyper-v secure boot template
2018-05-10 19:00:35 +02:00
Adam Robinson
3aebd5f462
Add use_fixed_vhd_format Hyper-V ISO option
2018-04-26 13:35:19 -04:00
Matthew Hooker
1d36ef038c
implement boot config struct for hyperv
2018-04-19 14:26:31 -07:00
Matthew Hooker
c6299972b9
s/boot_command/bootcommand/
2018-04-19 14:26:31 -07:00
Matthew Hooker
94129b7fe3
we're using PC-XT (set1) not PC-AT
2018-04-19 14:26:30 -07:00
Matthew Hooker
bdb1eee7d8
Implement new parser for HyperV boot command
2018-04-19 14:26:29 -07:00
M. Marsh
f5c031baf9
Merge pull request #5941 from synax/hyper-v-disk-block-size
...
Adds Support to configure hyper-v disk block size
2018-04-19 11:27:52 -07:00
Josh Soref
62f59662a3
spelling: installation
2018-03-13 08:04:40 +00:00
Josh Soref
60ef3c3374
spelling: directories
2018-03-13 07:37:32 +00:00
Josh Soref
efb525f03d
spelling: creating
2018-03-13 07:22:37 +00:00
Stefan Henseler
103186af86
Adds Support to configure hyper-v disk block size
2018-02-23 20:19:26 +01:00
Ben Phegan
3c88e787df
Merge branch 'master' into hyperv_mac_address
2018-02-02 09:26:52 +11:00
SwampDragons
6d14eb6ea4
Merge pull request #5631 from vijayinvites/diffdisks
...
[Hyper-V] Use differential disks and Inline disk creation to improve build time (a lot) and to reduce disk usage(a lot)
2018-01-31 16:51:27 -08:00
Matthew Hooker
7a189a83a1
fix imports
...
`find . -type f -name '*.go' -not -path "./vendor/*" -exec goimports -w {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker
a831d522be
change run signatures
...
Run now takes a context as well as a statebag. We'll assign the context
to the blank identifier to prevent namespace collisions. We'll let the
step authors opt-in to using the context.
`find . -iname "step_*.go" -exec gsed -i'' 's/func \(.*\)Run(/func \1Run(_ context.Context, /' {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker
366dc3da0a
move multistep imports to helper.
...
gomvpkg -from "github.com/mitchellh/multistep" -to "github.com/hashicorp/packer/helper/multistep"
2018-01-24 17:09:15 -08:00
Matthew Hooker
ebe995c0ff
run goimports
2018-01-22 17:21:10 -08:00
Ben Phegan
c338cb79d0
Initial commit of feature to allow MAC address specification for HyperV builders
2017-12-15 13:24:15 +11:00
Vijaya Bhaskar Reddy Kondreddi
54f059d3d4
Add support for skip export
2017-12-11 11:24:59 +05:30
Vijaya Bhaskar Reddy Kondreddi
3d5303c60d
Fix tests
2017-11-24 13:24:44 +05:30
Vijaya Bhaskar Reddy Kondreddi
b7e3f37b44
Add support for differential disk
2017-11-24 12:44:53 +05:30
Erlend Graff
27fc72c137
fix formatting errors
2017-11-05 15:16:47 +01:00
Erlend Graff
d890051940
hyper-v: implement driver mock
2017-11-05 14:51:18 +01:00
Matthew Hooker
19e6049f17
style fixes
2017-10-31 08:48:17 -07:00
Matthew Hooker
f64fa7b5ba
Merge pull request #5491 from BenPhegan/hyperv-disk_additional_size
...
Hyper-V disk_additional_size capability
2017-10-31 08:42:07 -07:00
Matthew Hooker
794e518eb7
use hyper-v admin group, not admin
2017-10-25 13:29:03 -07:00
Matthew Hooker
812fd12a0b
move trimspace to powershell exit check
2017-10-25 13:28:59 -07:00
Matthew Hooker
0be02ab217
hyper-v: Don't error while checking for admin permissions.
2017-10-25 09:18:40 -07:00
Ben Phegan
12fc928e1d
Initial commit of Hyper-V disk_additional_size capability. Support a
...
maximum of 64 disks added to the SCSI controller. Implement #4823 .
2017-10-23 08:26:35 +11:00
Vijaya Bhaskar Reddy Kondreddi
4f6a207441
go fmt
2017-10-11 22:10:39 +05:30
Taliesin Sisson
2fbe0b4a7f
Don't try to mount vhd and vhdx files as dvd drive. Hard drives are mounted in the create vm step
2017-10-11 22:05:52 +05:30
Taliesin Sisson
8232759397
If vhd or vhdx extension is specified for ISOUrls, we want to use an existing hard drive which means that we don't need to specify hard drive size
...
Filepath.ext includes the dot
2017-10-11 22:05:51 +05:30
Taliesin Sisson
efa62e1550
Can specify an iso, vhd or vhdx for download. If it is a vhd or vhdx it is used as the hard drive for spinning up a new machine, importing an exported virtual machine or cloning a virtual machine.
...
Can import a virtual machine from a folder
Can clone an existing virtual machine
2017-10-11 22:05:45 +05:30
Taliesin Sisson
452fcbd9a1
Only attach dvd drive if there is one
...
Fix debug messages for cloning
Add hyperv-vmcx as a builder from command line
2017-10-11 21:42:32 +05:30
Taliesin Sisson
6fd7f0877d
Initial check in to add a builder that can clone existing hyper v machines
2017-10-11 21:42:32 +05:30
Matthew Hooker
eb64920e80
Merge pull request #5206 from sandersaares/hyperv-second-temp-dir
...
(Hyper-V) Enable a separate directory to be used for temporary VHDs
2017-10-09 10:08:00 -07:00
Bastian Schmidt
c1aba87b39
Fixes #4880 by always using EnableDynamicMemory
...
This was needed because the default in Hyper-V on Windows 10 changed from "false" to "true".
2017-09-20 14:53:37 +02:00
Sander Saares
2a1a9a55f8
Clean up both VHD and regular temp dir
2017-09-02 14:55:00 +03:00
Sander Saares
028c941b77
Enable use of separate temp path for Hyper-V VHD
2017-09-02 14:55:00 +03:00
Taliesin Sisson
2325c1ee58
Merge pull request #5085 from Lee303/builder-hyperv-temppath
...
Hyper-V Builder - Add support for temp_path directive to override system %temp%
2017-07-01 06:58:01 +01:00
Taliesin Sisson
d569a1b879
Merge pull request #5014 from Lee303/builder-hyperv-floppydirs
...
Add support for floppy_dirs with hyperv-iso builder
2017-07-01 06:52:36 +01:00
Lee
0680cb08e5
Add support for temp_path directive to override systemp %temp%
2017-07-01 00:19:27 +01:00
Wojciech Sciesinski
7bacc22825
Verify membership in the group Hyper-V Administrators by SID not name - fix #5022
2017-06-28 01:44:04 +02:00
Lee Spottiswood
f95093ef63
Add support for floppy_dirs with hyperv-iso builder
2017-06-15 13:12:39 +01:00
JD Friedrikson
a0052fdb68
Specify InsecureIgnoreHostKey for HostKeyCallback
...
[A recent breaking change upstream in Golang's crypto
library](e4e2799dd7
)
has broken SSH connectivity for a few builders:
```
==> qemu: Waiting for SSH to become available...
2017/05/20 16:23:58 ui: ==> qemu: Waiting for SSH to become available...
2017/05/20 16:23:58 packer: 2017/05/20 16:23:58 [INFO] Attempting SSH connection...
2017/05/20 16:23:58 packer: 2017/05/20 16:23:58 reconnecting to TCP connection for SSH
2017/05/20 16:23:58 packer: 2017/05/20 16:23:58 handshaking with SSH
2017/05/20 16:23:58 packer: 2017/05/20 16:23:58 handshake error: ssh: must specify HostKeyCallback
2017/05/20 16:23:58 packer: 2017/05/20 16:23:58 [DEBUG] SSH handshake err: ssh: must specify HostKeyCallback
2017/05/20 16:24:05 packer: 2017/05/20 16:24:05 [INFO] Attempting SSH connection...
2017/05/20 16:24:05 packer: 2017/05/20 16:24:05 reconnecting to TCP connection for SSH
2017/05/20 16:24:05 packer: 2017/05/20 16:24:05 handshaking with SSH
2017/05/20 16:24:05 packer: 2017/05/20 16:24:05 handshake error: ssh: must specify HostKeyCallback
2017/05/20 16:24:05 packer: 2017/05/20 16:24:05 [DEBUG] SSH handshake err: ssh: must specify HostKeyCallback
```
Specifying HostKeyCallback as insecure should make things work again
and would make sense for packer's use case.
2017-05-20 16:17:04 -04:00
Matthew Hooker
bc3510b473
fix spelling
...
closes #4767
2017-04-05 12:01:02 -07:00
Matthew Hooker
81522dced0
move packer to hashicorp
2017-04-04 13:39:01 -07:00
Matthew Hooker
35578d9ed1
remove unnecessary type conversions
2017-03-28 20:36:21 -07:00
Matthew Hooker
d1b20b3d9c
remove a bunch of dead code.
...
https://github.com/dominikh/go-tools/tree/master/cmd/unused
2017-03-28 20:36:20 -07:00
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