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
Megan Marsh
20390ff1ec
fix vetting for test fail print statements
2017-11-15 17:01:53 -08:00
Erlend Graff
27fc72c137
fix formatting errors
2017-11-05 15:16:47 +01:00
Erlend Graff
ae6987c74b
hyper-v: add test for hashicorp/packer#5184
2017-11-05 14:58:08 +01:00
Erlend Graff
eeeee3ec35
hyper-v/vmcx: add missing InterpolateContext
2017-11-05 14:55:56 +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
Matthew Hooker
2655cf7493
fix tests
2017-10-11 22:05:53 +05:30
Matthew Hooker
91d66fb67c
use new method of building runner
2017-10-11 22:05:52 +05:30
Matthew Hooker
d8c6e6d4a4
remove duplicate line
2017-10-11 22:05:52 +05:30
Matthew Hooker
7978fd8ec0
make fmt
2017-10-11 22:05:52 +05:30
Taliesin Sisson
5f2c71f7d7
Floppy directories are provided by default with common.floppydrives
2017-10-11 22:05:52 +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
628116f4c4
Test settings for clone from vm and import vmxc from path
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
3d0ac529e0
use common floppy_config instead of builder specific one
...
Add tests for floppy files and comm
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
429e1bc3ad
Adding an ISO is now optional for hyperv vmcx
...
Add documentation for hyperv vmcx
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
Vijaya Bhaskar Reddy Kondreddi
e45223a867
Fix -on-error issue not working.
...
When we supply -on-error flag for Packer with Hyper-v builder, it does not do anything.
2017-09-01 00:14:28 +05:30
Tobias
ada8902721
fix formatting
2017-08-08 13:21:53 +00:00
Tobias
eafaaa881f
builder/hyperv/iso: missing InterpolateContext
2017-07-27 16:57:02 +02: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
4d394033d2
add tests
2017-06-20 12:21:07 +01: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
Mikhail Zholobov
57d07f227a
Add "iso_target_extension" option for all local *-iso builders
...
This option allows to set the extension of the ISO file after download.
Defaults to "iso". It makes sense for building Mac OS X guests, where the
bootable image is actually a DMG, not an ISO.
In particular, it is important for "parallels-iso" builder to set the right extension.
2016-12-17 12:50:30 +02: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
e357c56186
Builders don't need to set this up anymore
2016-12-12 22:45:23 +00:00
Taliesin Sisson
74255c553b
Be smarter about loading guest additions iso. Windows 10 and Windows Server 2016 no longer come with iso. So default to not loading guest additions when the iso is missing
2016-12-12 22:45:22 +00:00
Taliesin Sisson
335615408a
Run go fmt on files
2016-12-12 22:45:19 +00:00
Taliesin Sisson
44f73fa75f
Changed ram_size_mb to ram_size
2016-12-12 22:45:18 +00:00
Taliesin Sisson
fb192ce6d6
Remove unused import
2016-12-12 22:45:17 +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
0515487062
Configuration settings are no longer used
2016-12-12 22:45:13 +00:00
Taliesin Sisson
20643e35a8
Do not specify a default username or password
2016-12-12 22:45:13 +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
c1538c59c9
Builds in AppVeyor are failing as they do not have enough free memory. Drop the thresh hold a little more.
2016-12-12 22:44:57 +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
4d22bd1d4a
Generate switch name using uuid v1
2016-12-12 22:44:49 +00:00
Taliesin Sisson
7c754bf791
Try to match style of other builders
2016-12-12 22:44:48 +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
4b6ce3da60
Build agents might not have guest additions
2016-12-12 22:44:29 +00:00
Taliesin Sisson
aaf9007249
Include cache in the state bag.
2016-12-12 22:44:28 +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
730c6217ad
Fix disk size test
...
Default minimum and maximum sizes were geared towards spinning up windows server instances. Linux instances are far more efficient and make do with lower requirements. Set the minimum sizes to match this.
2016-12-12 22:44:21 +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
c24c882b84
Use simple naming convention for now
2016-12-12 22:44:16 +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
837f9addd0
Check the floppy files and not the dvd files attached
2016-12-12 22:44:13 +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
ef507c7bd7
Pass in any iso images to add as dvd drives during boot
2016-12-12 22:44:11 +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
79a5f90379
Use the convention for default vmname
...
Use the convention for default hdd size
Tests added for builder
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