Commit Graph
106 Commits
Author SHA1 Message Date
Megan Marsh 73205f3a91 add keep_registered option to hyperv 2019-04-12 15:59:09 -07:00
Adrien Delorme a4bf94dd3c change Builder to be passed a context for cancellation
we have to to give it to our hook
2019-04-03 15:55:55 +02:00
Megan Marsh b3c6dd0baa fix tests 2019-03-29 15:52:41 -07:00
Megan Marsh bcacd331c3 change cpu to cpus and ram_size to memory in order to bring hyper v into line with other builder defaults 2019-03-29 15:12:51 -07:00
Adrien Delorme 5a6dffde9a use port as ints 2019-03-19 15:01:12 +01:00
Adrien Delorme 9f82b75e57 Use the hashicorp/go-getter to download files
* removed packer.Cache and references since packer.Cache is never used except in the download step. The download step now uses the new func packer.CachePath(targetPath) for this, the behavior is the same.
* removed download code from packer that was reimplemented into the go-getter library: progress bar, http download restart, checksuming from file, skip already downloaded files, symlinking, make a download cancellable by context.
* on windows if packer is running without symlinking rights and we are getting a local file, the file will be copied instead to avoid errors.
* added unit tests for step_download that are now CI tested on windows, mac & linux.
* files are now downloaded under cache dir `sha1(filename + "?checksum=" + checksum) + file_extension`
* since the output dir is based on the source url and the checksum, when the checksum fails, the file is auto deleted.
* a download file is protected and locked by a file lock,
* updated docs
* updated go modules and vendors
2019-03-13 12:11:58 +01:00
Megan Marsh 97a791389a deduplicate step_output_dir and move to common folder 2019-01-11 15:06:36 -08:00
Adrien Delorme 9f7b4ffc17 Merge branch 'master' into pr/6950 2019-01-09 10:11:18 +01:00
Adrien Delorme 19cbb9cb24 Merge pull request #7136 from hashicorp/fix_5984
Add "version" option to hyperv calls
2019-01-09 10:06:49 +01:00
Ladar Levison cb0011d665 Fix ssh_host bug in hyper-v builders. 2018-12-27 02:33:58 -06:00
Megan Marsh 006682a09c add version option and also refactor powershell script to use golang templates for ease of testing and variable passing. 2018-12-19 16:30:57 -08:00
Ladar Levison da8b140bca Fix Hyper-V builder formatting. 2018-12-18 05:50:16 -06:00
Ladar Levison 348c267054 Updated support for legacy network adapters on Hyper-V. 2018-12-18 04:59:00 -06:00
Adrien DelormeandMatthew Patton b7222d1f56 Add tmp package that offers Dir & File funcs
this regroups the calls of tmp func calls into one package.
the tmp pkg allows to store tmp files under a common directory for easier managment

Squashed commit of the following:
commit 74b674c015
Merge: fc94b5714 66001525d
Author: Matthew Patton <[email protected]>
Date:   Fri Nov 2 02:02:38 2018 -0400

    Merge branch 'remove_TMPDIR_docs' of github.com:tb3088/packer into remove_TMPDIR_docs

commit fc94b57142
Author: Matthew Patton <[email protected]>
Date:   Fri Nov 2 01:42:38 2018 -0400

    update tests to honor configured temporary directory

commit 5a562359f4
Author: Matthew Patton <[email protected]>
Date:   Thu Nov 1 18:52:38 2018 -0400

    sync straggler to refactor. implement tests at packer/configfile instead of buried in docker.

commit 9d5a4a0935
Author: Matthew Patton <[email protected]>
Date:   Thu Nov 1 15:39:46 2018 -0400

    insert URL to GoLang API for os.TempDir()

commit fbae4c2e05
Author: Matthew Patton <[email protected]>
Date:   Thu Nov 1 07:41:29 2018 -0400

    revise documentation to match code

commit 3590fae8bd
Author: Matthew Patton <[email protected]>
Date:   Thu Nov 1 07:21:59 2018 -0400

    refacter config_file. replace all hard-coded os.TempDir with wrapper

commit d5c5306a97
Author: Matthew Patton <[email protected]>
Date:   Wed Oct 31 20:11:36 2018 -0400

    close massive file overwrite hole with TempDir

commit 0a72297da8
Author: Matthew Patton <[email protected]>
Date:   Wed Oct 31 01:06:00 2018 -0400

    adjust var declaration scope

commit 20f68228b6
Author: Matthew Patton <[email protected]>
Date:   Wed Oct 31 00:54:35 2018 -0400

    use mktemp() equivalent to create temporary directory

commit c73ebe3d83
Author: Matthew Patton <[email protected]>
Date:   Tue Oct 30 20:40:58 2018 -0400

    remove extraneous variable declaration, fix FOR loop

commit 63549b8bd7
Author: Matthew Patton <[email protected]>
Date:   Tue Oct 30 19:30:44 2018 -0400

    match styistic convension with rest of docs

commit 9761010749
Author: Matthew Patton <[email protected]>
Date:   Tue Oct 30 19:08:39 2018 -0400

    revert dangling config file change

commit 95159afbc0
Author: Matthew Patton <[email protected]>
Date:   Fri Dec 29 23:53:43 2017 -0500

    replace invalid TMPDIR variable wth PACKER_TMP_DIR.
    update ConfigTmpDir() to try common temporary paths first and
    only write to configDir() as a last resort.

commit 66001525d7
Author: Matthew Patton <[email protected]>
Date:   Fri Nov 2 01:42:38 2018 -0400

    update tests to honor configured temporary directory

commit e9b6adefea
Author: Matthew Patton <[email protected]>
Date:   Thu Nov 1 18:52:38 2018 -0400

    sync straggler to refactor. implement tests at packer/configfile instead of buried in docker.

commit 852113ed07
Author: Matthew Patton <[email protected]>
Date:   Thu Nov 1 15:39:46 2018 -0400

    insert URL to GoLang API for os.TempDir()

commit 54add38d1d
Author: Matthew Patton <[email protected]>
Date:   Thu Nov 1 07:41:29 2018 -0400

    revise documentation to match code

commit 6b5b8f6d4e
Author: Matthew Patton <[email protected]>
Date:   Thu Nov 1 07:21:59 2018 -0400

    refacter config_file. replace all hard-coded os.TempDir with wrapper

commit c22092c601
Author: Matthew Patton <[email protected]>
Date:   Wed Oct 31 20:11:36 2018 -0400

    close massive file overwrite hole with TempDir

commit 7a73045091
Author: Matthew Patton <[email protected]>
Date:   Wed Oct 31 01:06:00 2018 -0400

    adjust var declaration scope

commit 0f2933adb6
Author: Matthew Patton <[email protected]>
Date:   Wed Oct 31 00:54:35 2018 -0400

    use mktemp() equivalent to create temporary directory

commit d74839ede0
Author: Matthew Patton <[email protected]>
Date:   Tue Oct 30 20:40:58 2018 -0400

    remove extraneous variable declaration, fix FOR loop

commit eb65416619
Author: Matthew Patton <[email protected]>
Date:   Tue Oct 30 19:30:44 2018 -0400

    match styistic convension with rest of docs

commit acaa2b31ed
Author: Matthew Patton <[email protected]>
Date:   Tue Oct 30 19:08:39 2018 -0400

    revert dangling config file change

commit e573fde668
Author: Matthew Patton <[email protected]>
Date:   Fri Dec 29 23:53:43 2017 -0500

    replace invalid TMPDIR variable wth PACKER_TMP_DIR.
    update ConfigTmpDir() to try common temporary paths first and
    only write to configDir() as a last resort.

commit 39a9874afc
Merge: 8a413cfe8 3315812c2
Author: Matthew Patton <[email protected]>
Date:   Tue Oct 30 18:19:26 2018 -0400

    Merge branch 'master' of https://github.com/hashicorp/packer into prestine

commit 8a413cfe83
Merge: e07491de5 4e14710a6
Author: Matthew Patton <[email protected]>
Date:   Mon Oct 1 20:18:10 2018 -0400

    Merge remote-tracking branch 'upstream/master' into prestine

commit e07491de59
Merge: 42610a35d a1fa35dff
Author: Matthew Patton <[email protected]>
Date:   Tue Aug 21 13:26:19 2018 -0400

    Merge remote-tracking branch 'upstream/master' into prestine

commit 42610a35d5
Merge: 5298142da 0d63cf7bc
Author: Matthew Patton <[email protected]>
Date:   Tue Jun 19 22:45:05 2018 -0400

    Merge remote-tracking branch 'upstream/master' into prestine

commit 5298142da6
Merge: 7bb110bc7 9d9736552
Author: Matthew Patton <[email protected]>
Date:   Mon Jun 11 15:10:09 2018 -0400

    Merge remote-tracking branch 'upstream/master' into prestine

commit 7bb110bc74
Merge: a61c869ca 6189d66e7
Author: Matthew Patton <[email protected]>
Date:   Wed May 9 23:41:22 2018 -0400

    Merge remote-tracking branch 'upstream/master' into prestine

commit a61c869ca7
Merge: 098101dd9 4be5f072c
Author: Matthew Patton <[email protected]>
Date:   Fri May 4 10:13:04 2018 -0400

    Merge remote-tracking branch 'upstream/master' into prestine

commit 098101dd99
Merge: fefaf0fa6 554b2b4a5
Author: Matthew Patton <[email protected]>
Date:   Tue May 1 20:52:30 2018 -0400

    Merge branch 'EOL-handling' into prestine

Co-Authored-By: Matthew Patton <[email protected]>
2018-12-12 16:35:57 +01:00
Adrien Delorme 8a6c55dd69 make builder/hyperv/iso/builder_test.go invisible to windows 2018-10-16 19:09:35 +02:00
Megan Marsh 38cc525ec7 new option allowing user to clean up the ephemeral ssh key from the authorized_keys file 2018-09-14 11:06:38 -07:00
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