aaronk1
4ffa1779f1
Correct typo in var name
2019-05-10 18:49:42 -04:00
Adrien Delorme
c4f3dccc14
rename interpolation context from ctx to ictx and contexts to ctx to avoid conflicts
2019-04-03 15:56:15 +02: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
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
0371e2a1b4
Merge pull request #7074 from hashicorp/fix_3329
...
vmware-iso (esxi) Add check that "format" is not being set when remote_type is empty.
2019-02-28 15:30:54 -08:00
Adrien Delorme and Matthew 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
Ali Rizvi-Santiago
1a36458e9e
Tiny fix to replace some duplicate code with usage of the halt closure in the StepCloneVMX step for the vmware-vmx builder.
2018-12-10 16:24:27 -06:00
Megan Marsh
0058422a5c
also for vmx
2018-12-05 15:58:44 -08:00
Ali Rizvi-Santiago
27b16cee0a
Added a new "temporaryDevices" key to the VMware builders' statebag in order to keep track of devices that were temporarily added during build and need to be removed later by StepCleanVMX.
2018-12-03 17:47:45 -06:00
Megan Marsh
536e0501ac
Validate username/password for ovftool during prepare.
...
Add template option skip_validate_credentials allowing users to skip this validation if they don't want it.
Refactor vmware-iso builder to separate out config so that it matches the vmware-vmx builder and simplifies the builder.go file
2018-11-12 13:21:25 -08:00
Megan Marsh
68c9e34bfe
add new display_name template option
2018-11-09 10:54:31 -08:00
Megan Marsh
5815b376b4
remove unnecessary checks; we always default format to ovf if it is unset.
...
fix exportoutputdir
2018-11-02 14:22:01 -07:00
Megan Marsh
c3144c2d0a
add some missing template validation (copied from iso builder) and revert to current use of displayName for parsing vm ssh IP; using VMName was breaking chained builds that hadn't updated the display name from the previous build.
2018-11-02 14:22:01 -07:00
Megan Marsh
f18bb19f96
remove redundant config; CommConfig was already a part of the SSSHConfig struct
2018-11-02 14:22:01 -07:00
Megan Marsh
fa12113eaf
remove unused NewLocalArtifact
...
consolidate artifacts
entirely remove local artifact object and get artifacts in the vmx builder the same way we do in the vmware iso builder
2018-11-02 14:22:01 -07:00
Megan Marsh
2ae235a28a
fix tests
2018-10-25 14:41:01 -07:00
Megan Marsh
290f4a7c4c
cleanup to make it actually build after that monstrous rebase
2018-10-25 14:17:35 -07:00
Alexander Laamanen
3193f50f17
Support export with the vmx builder.
2018-10-25 13:02:37 -07:00
Alexander Laamanen
2ed6c3ef5e
Set output dir always according to the config.
2018-10-25 12:37:47 -07:00
Alexander Laamanen
5e74bcfb88
Fix tests, move remote_ default values to driver_config.
2018-10-25 12:30:57 -07:00
Alexander Laamanen
4d9cb19012
Refactor artifacts and output_dir implementations.
2018-10-25 12:21:24 -07:00
Alexander Laamanen
2d00dc6756
Add VMName to the vmx mods.
2018-10-25 11:17:09 -07:00
Alexander Laamanen
7b5943160b
Re-enable the CommHost() call. Use common's driver factory.
2018-10-25 11:17:09 -07:00
Alexander Laamanen
ba22090bc9
Move step_register and step_uload_vmx from iso to common.
2018-10-25 11:07:02 -07:00
Alexander Laamanen
b5298464c5
Move the remote_driver from iso to common.
2018-10-25 11:01:22 -07:00
Alexander Laamanen
91c7089455
Implement the first version of the remote Clone().
2018-10-25 10:37:45 -07: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
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
Megan Marsh
1d15f09e36
Merge pull request #6440 from DanHam/simplify-vmx-find-disks
...
Further simplify enumeration of attached disks for VMware VMX builder
2018-07-12 11:05:35 -07:00
DanHam
fff72780e1
Further simplify enumeration of attached disks for VMware VMX builder
...
* Collate separate regexp's into one for greater efficiency
* Inline function and remove unnecessary struct and variables
2018-07-01 16:18:33 +01:00
Conrad Jones
d05a601d00
Add support to vmware-vmx builder for linked clones.
2018-06-17 01:38:42 +01:00
DanHam
a866232ac9
Use regex based approach to detect attached disks
2018-05-08 12:52:39 +01:00
DanHam
c828015bc3
Follow variable varName <-> statebag var_name convention
2018-04-27 20:09:19 +01:00
DanHam
a729ecda87
Fix tests for vmware/vmx builder
2018-04-27 16:40:13 +01:00
DanHam
c48a7889f9
Simplify handling of disks by collating requirements and unifying ops
2018-04-27 16:39:52 +01:00
DanHam
bd9e585cb9
Add test for enumeration of vmx network type
2018-04-21 22:49:36 +01:00
DanHam
94d5a7f2e2
Fix copy/paste error referencing Virtualbox
2018-04-21 22:49:36 +01:00
DanHam
1aee759f06
Fix tests and reconfigure for support of multi-disk vm
2018-04-21 22:49:36 +01:00
DanHam
6c9d4efd9f
Fix error on compaction step of vmx build. Support compacting multi-disk vm
2018-04-21 22:49:36 +01:00
Matthew Hooker
c6299972b9
s/boot_command/bootcommand/
2018-04-19 14:26:31 -07:00
Matthew Hooker
408eba88ad
flatten boot command config and implement for vmware
2018-04-19 14:26:30 -07:00
Matthew Hooker
673245afcf
Replace boot command parser with PEG parser.
2018-04-19 14:26:28 -07:00
Ali Rizvi-Santiago
55702a697a
Ack, forgot to :w in vim. Changed ui.Say in step_clone_vmx.go to use fmt.Sprintf as it originally was a call to log.Printf.
2018-03-25 19:03:46 -05:00
Ali Rizvi-Santiago
72da7cbfbb
Fixed a case-sensitivity issue when determing the network type during cloning in the vmware-vmx builder and added also some logs that output the different options that were determined from the .vmx. This outputs more accurate debug information and helps out with issue #5925
2018-03-25 18:51:37 -05:00
Ali Rizvi-Santiago
75d3ea7cee
Added support for sound, serial ports, parallel ports, usb, and specifying a default network to the vmware builder.
...
builder/vmware/{iso,vmx}:
Added the specific configuration options that get parsed.
Normalize paths when pulling them from the json template so that they'll work on Windows too.
Added some improved error checking when parsing these options.
Stash the vm's network connection type so that other steps can figure out addressing information
Modified the esx5 driver to support the new addressing logic.
Modified the template in step_create_vmx to include the new options.
builder/vmware/common:
Implemented a parser for vmware's configuration files to the vmware builder.
Modified the driver's interface to include support for resolving both guest/host hw and ip addresses
Implemented a base structure with some methods that implement these features.
Rewrote all ip and mac address dependent code to utilize these new methods.
Removed host_ip and guest_ip due to their logic being moved directly into a
base-structure used by each driver. The code was explicitly checking runtime.GOOS
instead of portably using net.Interfaces() anyways.
Updated driver_mock to support the new addressing methods
2018-02-02 19:11:41 -06: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
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