Commit graph

140 commits

Author SHA1 Message Date
Megan Marsh
c5b346b07b
Merge pull request #6393 from DanHam/fix-hyperv-export
Various improvements to Hyper-V ISO and VMCX builders
2018-08-24 15:52:49 -07:00
Megan Marsh
340363a649
Merge pull request #6613 from hashicorp/merge_ssh_config_funcs
Merge ssh config funcs from builders
2018-08-23 16:03:36 -07:00
Megan Marsh
918db58604 added new template variables to replace PACKER_KEY_INTERVAL with tunable key and keygroup intervals depending on driver used 2018-08-22 11:37:56 -07:00
Adrien Delorme
41f6e0334d refactor all copy pasted sshConfig with into communicator.Config.SSHConfigFunc
* still need to append the auth methods into an array for gracefullness
2018-08-22 17:02:23 +02:00
DanHam
674bad0ab4
Break very long lines for readability 2018-07-20 02:12:47 +01:00
DanHam
00276f2f64
Change step name to better illustrate purpose of step 2018-07-20 02:12:45 +01:00
DanHam
32148168bd
Introduce a new step to collate build artifact at the end of the build
The new step collects together all the required build artifacts and
places them in the output directory.

* Reintroduce/add the code removed from step export to preserve the
  legacy export directory structure when skip_export is unset/false
* Add a place holder for a future function that will move just the VHD
  files from the build directory to the output directory when
  skip_export is true
* Add tests for current functionality and placeholder tests for future
  functions
2018-07-20 02:12:44 +01:00
DanHam
c2437ba592
Remove the option to place the VHD files in a separate directory
The export process now exports the VM directly from the build directory
into the output directory. There are no intermediate steps or copying of
files involved. This means that there is no longer any benefit in having
a separate directory to house the VHD files - see #5206 for the
reasoning behind the introduction of this feature.

If a user wishes to house the build files on a separate disk from the
output directory (perhaps for performance reasons or due to disk space
limitations) they can still do so through the use of `temp_path`.
2018-07-20 02:12:43 +01:00
DanHam
d5d82c32b2
Changes to the export process have made 'inline' build of disks redundant
PR #5631 introduced code to build/create disks directly in the output
directory if `skip_export` was set in an attempt to optimise the build
process. These are no longer required.
2018-07-20 02:12:43 +01:00
DanHam
09028c14a3
Reintroduce the disk compaction process as a unique step 2018-07-20 02:12:43 +01:00
DanHam
da2df69301
Remove disk compaction from the export step 2018-07-20 02:12:42 +01: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 Donoughe
ef03e97dc3 pass MacAddress to StepCreateVM 2018-04-24 20:39:42 -04:00
Matthew Hooker
1d36ef038c
implement boot config struct for hyperv 2018-04-19 14:26:31 -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
cab8b6ed68 spelling: maximum 2018-03-13 08:10:20 +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
8cd403425e
test fixes WIP 2018-01-24 17:09:17 -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
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
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
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
Matthew Hooker
2655cf7493 fix tests 2017-10-11 22:05:53 +05:30
Matthew Hooker
d8c6e6d4a4 remove duplicate line 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
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
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
Lee
0680cb08e5 Add support for temp_path directive to override systemp %temp% 2017-07-01 00:19:27 +01: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
Matthew Hooker
81522dced0
move packer to hashicorp 2017-04-04 13:39:01 -07: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
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-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
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
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
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
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
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
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
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
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
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
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
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