Commit Graph

622 Commits

Author SHA1 Message Date
Megan Marsh 59efa0faee rename option to error-cleanup-privisoner, which I think is clearer 2019-09-25 13:43:29 -07:00
Megan Marsh 5bd8fee708 Creates a final "cleanup" provisioner to run if an error occurs during a provisioning step, allowing users to perform any custom cleanup tasks that must happen on the VM before the VM is shut down and destroyed. 2019-09-24 16:08:15 -07:00
Adrien Delorme 299544a4c7 Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config 2019-09-20 14:47:02 +02:00
Lars Lehtonen a98f2d2170
common: fix dropped errors and warnings in test 2019-09-20 05:06:25 -07:00
Adrien Delorme 3fe9d52e3f Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config 2019-09-20 11:15:44 +02:00
allinwait 34ba03d3cb use printf for logging 2019-09-13 01:53:42 +03:00
allinwait 171c2a9a07 add the floppy label option 2019-09-12 12:25:22 +00:00
Adrien Delorme 597a3e323b Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config 2019-09-10 13:20:07 +02:00
Adrien Delorme aa9cc919ab Merge branch 'master' into circle_ci_windows 2019-09-10 12:54:35 +02:00
Adrien Delorme 146b88ba1e Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config 2019-09-10 12:44:46 +02:00
DanHam 2b6286c31c
Fix powershell formatting. Match style for conditionals 2019-09-09 23:05:40 +01:00
Adrien Delorme 7ba91b7d25 configure_port_test.go: don't panic when error is not what we expected 2019-09-05 17:03:54 +02:00
Marcin Bojko d4ff29f6c5 hyper-v fix when management interface is not part of virtual switch
2


formatting fix
2019-08-22 07:54:50 +02:00
Adrien Delorme 4cb7c30987 Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config 2019-08-21 16:44:23 +02:00
Megan Marsh cd3b39ad17 commit generated code 2019-08-12 15:55:43 -07:00
Stephen Fox a6830f8348 Move 'ui' variable closer to invocation. 2019-07-31 14:08:40 -04:00
Stephen Fox e362d2f3ee Use 'log.Printf()' for StepDownload debug instead of 'ui.Say()'. 2019-07-31 14:02:57 -04:00
Megan Marsh 90c5da40f2 implement abort logic and printing for the askstep implementation as well 2019-07-26 12:24:03 -07:00
Megan Marsh 54034689ef On abort, return gracefully rather than exiting so that the subprocess doesn't unexpectedly disconnect from the parent and cause a confusing EOF error in the logs 2019-07-25 16:32:16 -07:00
Christian Muehlhaeuser 216afbaa8b
Fixed various typos
Just a bunch of nit-picky typo fixes.
2019-07-25 06:49:51 +02:00
Megan Marsh e9549d2688 add test for local fs download 2019-07-22 09:17:48 -07:00
Megan Marsh 197a283b5e actually check for filepath being present 2019-07-19 10:35:50 -07:00
Megan Marsh 64f16474f8 fix double slash conundrum 2019-07-19 10:16:40 -07:00
WilliamB aef77771c0 Correct HTTPIP == FALSE on HyperV builder 2019-07-17 03:41:41 -05:00
Megan Marsh d6d4eb2087 fix some tests and some config behavior to prevent null dereference errors and incorrect precedence between iso checksum and iso checksum url 2019-06-28 15:29:39 -07:00
Megan Marsh 998ef4053f parse checksum file so that we can use the checksums inside in the vmware-esxi builder stepuploadiso 2019-06-28 14:35:43 -07:00
Megan Marsh 88d589cc88 enable smb share double backslash pathing too 2019-06-26 13:43:05 -07:00
Megan Marsh 12471a8b06 use file getter for smb shares 2019-06-26 13:21:49 -07:00
Adrien Delorme 735b34e01f Document the virtualbox-iso builder using partials 2019-06-19 17:37:22 +02:00
Adrien Delorme 4c1abf828c
Merge branch 'master' into scrape_doc_to_builder_struct_config 2019-06-19 11:21:06 +02:00
Megan Marsh 8d25cc578f
Merge pull request #7746 from hashicorp/fix_7671
Abort hyperv build if there's a name collision
2019-06-14 10:58:22 -07:00
Adrien Delorme daa9f9d34e Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config 2019-06-14 15:17:56 +02:00
Adrien Delorme 425ad1c67e generate Shutdown command docs from strutc & use in hyperv 2019-06-14 12:43:31 +02:00
Adrien Delorme c11ef90cb6 use interpolate.NewContext() instead of testConfigTemplate(t)
because it's what's happenning there
2019-06-14 12:17:28 +02:00
Adrien Delorme 926c8bbaa6 refactor ShutdownConfig into a single struct 2019-06-14 12:17:28 +02:00
Adrien Delorme 24fad50b00 hyperv-iso: document boot config, http & floppy from partials 2019-06-14 12:17:27 +02:00
Adrien Delorme 3bb8c92902 qemu: document boot command from struct 2019-06-14 12:17:27 +02:00
Adrien Delorme b48d22b43b qemu: document FloppyConfig from struct 2019-06-14 11:52:38 +02:00
Adrien Delorme 3b66cac617 document HTTPConfig from struct 2019-06-14 11:52:38 +02:00
Megan Marsh 2e821da84b check to make sure a vm-name isn't already in use before trying to launch a vm with said name. 2019-06-13 14:09:45 -07:00
Adrien Delorme dbfadc0eea generate struct markdown from common/iso_config.go 2019-06-12 16:02:49 +02:00
Adrien Delorme 20a152d4aa add comments to common/iso_config.go from docs 2019-06-12 16:02:02 +02:00
Adrien Delorme ca33f8bc5c Revert "Backoff.Linear: panic when InitialBackoff > MaxBackoff"
This reverts commit 39cfacd5fa.
2019-06-11 12:53:06 +02:00
Adrien Delorme 39cfacd5fa Backoff.Linear: panic when InitialBackoff > MaxBackoff
this probably means there's a configuration issue.

Since this struct is mainly set manually from code, I think it is okay to panic here.
2019-06-11 12:41:21 +02:00
Adrien Delorme 36e4eaff99 document retry.Backoff better 2019-06-11 12:20:00 +02:00
Radek Simko 8519da6ce9
common/net: Cleanup cache of used port after closing 2019-05-06 22:11:52 +01:00
Adrien Delorme b329073e54 remove trying port log as retry code will show errors
less logs !
2019-05-01 13:04:51 +02:00
Adrien Delorme 38f789eedc add error types to test for 2019-05-01 13:01:25 +02:00
Adrien Delorme 14f2d1c132 ListenRangeConfig:Listen: use the retry pkg to wait a bit in between opens 2019-05-01 12:27:32 +02:00
Adrien Delorme e14d1b8b0b add a timeout trying to open a random port 2019-05-01 12:01:34 +02:00
Adrien Delorme 2fd7adffc4 add tests for ListenRangeConfig.Listen 2019-05-01 11:46:48 +02:00
Adrien Delorme d9e5145de9 Shadow the flock pkg & add a noop filelock so that at least the solaris binary can be built
Without this the following error occurs:

$ GOOS=solaris go build .
# github.com/hashicorp/packer/vendor/github.com/gofrs/flock
vendor/github.com/gofrs/flock/flock_unix.go:28:22: undefined: syscall.LOCK_EX
vendor/github.com/gofrs/flock/flock_unix.go:39:22: undefined: syscall.LOCK_SH
vendor/github.com/gofrs/flock/flock_unix.go:56:12: undefined: syscall.Flock
vendor/github.com/gofrs/flock/flock_unix.go:66:12: undefined: syscall.Flock
vendor/github.com/gofrs/flock/flock_unix.go:96:12: undefined: syscall.Flock
vendor/github.com/gofrs/flock/flock_unix.go:96:42: undefined: syscall.LOCK_UN
vendor/github.com/gofrs/flock/flock_unix.go:118:21: undefined: syscall.LOCK_EX
vendor/github.com/gofrs/flock/flock_unix.go:130:21: undefined: syscall.LOCK_SH
vendor/github.com/gofrs/flock/flock_unix.go:149:9: undefined: syscall.Flock
vendor/github.com/gofrs/flock/flock_unix.go:149:44: undefined: syscall.LOCK_NB
vendor/github.com/gofrs/flock/flock_unix.go:149:44: too many errors
2019-04-30 16:01:23 +02:00
Adrien Delorme 5d9d43c01d add tests for ListenRangeConfig.Listen 2019-04-30 15:42:59 +02:00
Adrien Delorme fd63ec9a6c ListenRangeConfig.Listen: move trying port log after fslock trylock for less logs 2019-04-30 15:35:22 +02:00
Adrien Delorme 79ae62801f ListenRangeConfig: default network ( protocol ) to tcp 2019-04-30 14:55:38 +02:00
Adrien Delorme 65be2be38b step_download: force copy of local files only on windows 2019-04-29 09:39:21 +02:00
Adrien Delorme 200e26ea85 Step download: always copy local files
instead of symlinking to fix #7534. The longer term fix for this would be to change the go-getter so that it can leave the source file where it is & tell us where it is.

We will do this when the right time comes.
2019-04-26 10:35:18 +02:00
Adrien Delorme 9f1136db77 retry: encapsulate & return the last seen error in a RetryExhaustedError 2019-04-24 14:19:23 +02:00
Megan Marsh e69d95eb37 when retries were exhausted in the retry Run, we were returning nil instead of an error. 2019-04-23 13:48:30 -07:00
Adrien Delorme 5f0259fe89 step download: don't fail when checksum_type is not set 2019-04-16 18:09:54 +02:00
Adrien Delorme 4dc12701d3 step_download: display clearer error messages, also when the checksum is not set
Usually the builder validation should error when the checksum is empty, but for the virtualbox-ovf builder this is not validated. Which is something I didn't see when refactoring for go-getter incorporation/refactor.
2019-04-15 14:34:09 +02:00
Megan Marsh 78cf1405ab
Merge pull request #7480 from BobSilent/fix-hyperv-multiple-hostadapter-same-switch
Fixes "Host IP for the HyperV machine: False" if more than one VMNetworkAdapter is found
2019-04-12 14:06:46 -07:00
Adrien Delorme 9ac8d8aed8 step download: ovf files usually point to a file in the same directory, using them in place is the only way 2019-04-12 16:51:57 +02:00
Adrien Delorme 63f5bbbc73 use our own copy of iochan.LineReader 2019-04-11 14:25:24 +02:00
Adrien Delorme d72040f4fa move retry code into the common/retry pkg and make retry context aware 2019-04-09 17:46:38 +02:00
BobSilent 5b289f67fe Update hyperv.go
maybe also a fix for issue #5023
at least I got same error like there, incl. VM response
==> hyperv-iso: Host IP for the HyperV machine: False

although #4947 is marked as duplicate but shows different error output
==> hyperv-iso: Error getting host adapter ip address: PowerShell error: Get-VMNetworkAdapter : No network adapter is found with the given input.
2019-04-09 07:36:52 +02:00
Adrien Delorme f555e7a9f2 allow a provisioner to timeout
* I had to contextualise Communicator.Start and RemoteCmd.StartWithUi
NOTE: Communicator.Start starts a RemoteCmd but RemoteCmd.StartWithUi will run the cmd and wait for a return, so I renamed StartWithUi to RunWithUi so that the intent is clearer.
Ideally in the future RunWithUi will be named back to StartWithUi and the exit status or wait funcs of the command will allow to wait for a return. If you do so please read carrefully https://golang.org/pkg/os/exec/#Cmd.Stdout to avoid a deadlock
* cmd.ExitStatus to cmd.ExitStatus() is now blocking to avoid race conditions
* also had to simplify StartWithUi
2019-04-08 20:09:21 +02:00
Adrien Delorme a81abd297b Merge remote-tracking branch 'origin/master' into context_provisioner 2019-04-08 20:09:01 +02:00
Megan Marsh 3e72e65a6c
Merge pull request #7456 from hashicorp/do_5770
introduce the clean_resource_name to clean image/var names
2019-04-05 09:12:20 -07:00
Megan Marsh 217a93fc30 fix build_test.go on windows. This code needs to not be run in parallel, or else there can be race conditions with the post-processors all trying to access the same file at once. Additionally, I changed the test template itself so that it is valid code on either bash or cmd. Finally, I found and fixed a small bug in naming the file extensions in shell local inline scripts. 2019-04-04 14:57:56 -07: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 82c4b76639 [Builder|Build|PostProcessor|Provisioner|Hook]Server: context cancel using a RPC cancel method 2019-04-03 15:55:55 +02:00
Adrien Delorme 14048b1e11 Revert "WIP: go towards context cancelled rpc pkg"
This reverts commit e4609b4a6a4ba2ec76a45ad67d50d180f1a914f9.
2019-04-03 15:55:55 +02:00
Adrien Delorme 9e3a179c0d WIP: go towards context cancelled rpc pkg 2019-04-03 15:55:55 +02:00
Adrien Delorme 829851fc8a change hooks to be passed a context for cancellation
we have to as it is what calls our provisioners
2019-04-03 15:55:54 +02:00
Adrien Delorme 9836dad0c9 introduce the clean_resource_name to clean image names and deprecate the old ones 2019-04-03 11:25:51 +02:00
Adrien Delorme 91cc7e1091 net.ListenRangeConfig.Listen: don't swap ports if max < min 2019-03-26 10:53:52 +01:00
Adrien Delorme a4a83be2b9 net.ListenRangeConfig.Listen: allow to have a port rage of zero 2019-03-26 10:52:07 +01:00
Adrien Delorme cd39aa9988 net.ListenRangeConfig.Listen: log tried ports a bit earlier in the process
so we know tried ports every time
2019-03-26 10:45:32 +01:00
Adrien Delorme 5a6dffde9a use port as ints 2019-03-19 15:01:12 +01:00
Adrien Delorme c214f6735b make everything a uint 2019-03-19 12:54:15 +01:00
Adrien Delorme 51294287fa StepHTTPServer: display error if we could not connect 2019-03-19 12:54:15 +01:00
Adrien Delorme 6df4128517 StepHTTPServer: use the common/net pkg 2019-03-19 12:54:12 +01:00
Adrien Delorme 1685a1c4c0 add common/net package that can listen on a random port in a range 2019-03-19 12:53:56 +01:00
Adrien Delorme 6ab28ba89c
Update common/shell/shell.go
be more descriptive
2019-03-15 12:21:27 +01:00
Adrien Delorme b4ec6e2ed2 Create exit_code_test.go 2019-03-14 13:32:46 +01:00
Adrien Delorme eedf5e4387 Update shell.go
remove typo
2019-03-14 12:50:19 +01:00
Adrien Delorme f0a23bb81d common shell provisioner: define a ValidExitCode func 2019-03-14 12:46:32 +01:00
Adrien Delorme 30a65c858a regroup shell provisioner params into a common struct 2019-03-14 11:57:54 +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
Vadym Haidamaka f736e2aba5 Print VerifyChecksum log for the download as ui.Message output 2019-03-11 22:33:46 +02:00
Megan Marsh 3dc1dafe58
Merge pull request #7287 from stephen-fox/ephemeral-ssh-key-pair-issue-7225
virtualbox: create ephemeral SSH key pair for build process
2019-03-04 14:25:04 -08:00
Stephen Fox 56c17941fe Added comment to authorized_keys 'sed' calls per review. 2019-02-28 10:54:14 -05:00
Megan Marsh 2a9f49a5c6 make sure we don't try to load an iso into memory because of a user mistake 2019-02-13 16:21:55 -08:00
xinau 36c1e8d838 moved adapter to common package 2019-02-12 07:10:57 +00:00
Stephen Fox 354fcc5cc6 Merge branch 'master' into 'ephemeral-ssh-key-pair-issue-7225'. 2019-02-05 16:16:51 -05:00
Stephen Fox e40aa515f2 Added TODO about public key removal logic. 2019-02-05 12:00:01 -05:00
Megan Marsh 2d3f84abf0
Merge pull request #7271 from hashicorp/make_generate
make generate
2019-02-04 13:11:24 -08:00
Stephen Fox 4c2851013e Fixed 'sed' regex to remove public key by magic string. 2019-02-04 12:10:17 -05:00
Adrien Delorme 8621949e01 make generate 2019-02-04 15:16:38 +01:00
Megan Marsh 482ba644a8 quote variables in powershell script to account for spaces 2019-02-01 13:23:17 -08:00
Megan Marsh 3602180b45 re-add missing import 2019-01-25 12:33:25 -08:00
Megan Marsh c63b54a1e7 move http with proxy call into a helper function 2019-01-25 12:32:52 -08:00
Tom Parker-Shemilt d72fb9bcb3 If checksums for a download don't match, display the checksum that was found 2019-01-17 20:26:16 +00:00
Megan Marsh 97a791389a deduplicate step_output_dir and move to common folder 2019-01-11 15:06:36 -08:00
Adrien Delorme 9f2a3bdfbc
Merge pull request #7181 from hashicorp/python_shell_docs
add python example to shell-local docs
2019-01-10 10:43:55 +01:00
Megan Marsh a2c3de9396 remove outdated logline 2019-01-09 11:16:48 -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
Megan Marsh 93053e0488 update comments 2019-01-08 15:15:00 -08:00
Megan Marsh 9557f3eea7 use script options struct rather than passing all the variables around an extra time 2019-01-08 11:29:38 -08:00
Megan Marsh a1b3b63cb9 use golang templating logic 2019-01-08 11:17:19 -08:00
Ladar Levison e6de727c25
Fix the Hyper-V gen 1 guest boot order. 2018-12-25 16:54:26 -06:00
Megan Marsh f26051a7da code comments yo 2018-12-20 13:09:32 -08:00
Megan Marsh 24d2cc34e5 tests 2018-12-20 12:03:14 -08:00
Megan Marsh 427a35fc7e tests 2018-12-20 12:03:00 -08:00
Megan Marsh d4de89e057 move powershell templating into separate script so we can test it 2018-12-19 16:35:02 -08: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 348c267054 Updated support for legacy network adapters on Hyper-V. 2018-12-18 04:59:00 -06:00
Megan Marsh b95123f457 add new copy_in_compare flag so users can set the copy var to whatever they need in order to get the compatibility report to work. 2018-12-13 09:12:23 -08:00
Adrien Delorme 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 74b674c01560c6b547e9cab5e8afb486f0fe7d6c
Merge: fc94b5714 66001525d
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Fri Nov 2 02:02:38 2018 -0400

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

commit fc94b571428447aaf2e5171967c95cdf9e5c73ff
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Fri Nov 2 01:42:38 2018 -0400

    update tests to honor configured temporary directory

commit 5a562359f4937af506607dd96ed1c46426093f52
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 18:52:38 2018 -0400

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

commit 9d5a4a0935bfd049e2f8f50ad73e4455b42c9410
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 15:39:46 2018 -0400

    insert URL to GoLang API for os.TempDir()

commit fbae4c2e051898aecd8705e9d8a20353430ede23
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 07:41:29 2018 -0400

    revise documentation to match code

commit 3590fae8bd0afa92a161a49ed794ee32e357d583
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 07:21:59 2018 -0400

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

commit d5c5306a97b648ded06a8eb76ce728f07c9924f0
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Wed Oct 31 20:11:36 2018 -0400

    close massive file overwrite hole with TempDir

commit 0a72297da86089fbd07e4f7d9472a92fa4d1c733
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Wed Oct 31 01:06:00 2018 -0400

    adjust var declaration scope

commit 20f68228b6c372d984ea5b055cfc8bda9b110ac5
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Wed Oct 31 00:54:35 2018 -0400

    use mktemp() equivalent to create temporary directory

commit c73ebe3d8321664a2685a0baa8e441dd895b0db4
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 20:40:58 2018 -0400

    remove extraneous variable declaration, fix FOR loop

commit 63549b8bd745a0090b15ed0b0ebf644162db27db
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 19:30:44 2018 -0400

    match styistic convension with rest of docs

commit 976101074942db36f10d3a686d6d29ddb7c01926
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 19:08:39 2018 -0400

    revert dangling config file change

commit 95159afbc05eac96ed11c3183af5fb0abe2f2d5c
Author: Matthew Patton <matthew.patton@itgfirm.com>
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 66001525d72de56a4cf9339b900c46f59bc6e91a
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Fri Nov 2 01:42:38 2018 -0400

    update tests to honor configured temporary directory

commit e9b6adefeae8c65eb8aa47fef38cbf0aa424338c
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 18:52:38 2018 -0400

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

commit 852113ed076e2d14e5dca6815ea680da1e2896bb
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 15:39:46 2018 -0400

    insert URL to GoLang API for os.TempDir()

commit 54add38d1d1c6e283cd444b367ed8bd49a5f3699
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 07:41:29 2018 -0400

    revise documentation to match code

commit 6b5b8f6d4edad0e187ca13d64ac4118f34eee643
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 07:21:59 2018 -0400

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

commit c22092c601c33484327674f322c7379fa41506d7
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Wed Oct 31 20:11:36 2018 -0400

    close massive file overwrite hole with TempDir

commit 7a730450916bf8e5dbc2a741ec233a49466ab7cc
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Wed Oct 31 01:06:00 2018 -0400

    adjust var declaration scope

commit 0f2933adb6f6922dfeab78a95371a444ec8918ab
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Wed Oct 31 00:54:35 2018 -0400

    use mktemp() equivalent to create temporary directory

commit d74839ede05dacf712b55a7bb48aec19fe6b007f
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 20:40:58 2018 -0400

    remove extraneous variable declaration, fix FOR loop

commit eb65416619437e4a3dec90277770803dd5b2281c
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 19:30:44 2018 -0400

    match styistic convension with rest of docs

commit acaa2b31ed463219c4ef099f351eec72406e2989
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 19:08:39 2018 -0400

    revert dangling config file change

commit e573fde668dcb418561e61535c1d68b2888f5b0f
Author: Matthew Patton <matthew.patton@itgfirm.com>
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 39a9874afc9dea71b36753375fb7feb61ffecf69
Merge: 8a413cfe8 3315812c2
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 18:19:26 2018 -0400

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

commit 8a413cfe83b0a70dbd99c32d936334ca5788ca9b
Merge: e07491de5 4e14710a6
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Mon Oct 1 20:18:10 2018 -0400

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

commit e07491de59cead0b337a7f57f4a6c625e1f560ab
Merge: 42610a35d a1fa35dff
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Aug 21 13:26:19 2018 -0400

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

commit 42610a35d5ef65af8844a58ad70e2ec75262da6a
Merge: 5298142da 0d63cf7bc
Author: Matthew Patton <matthew.patton@itgfirm.com>
Date:   Tue Jun 19 22:45:05 2018 -0400

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

commit 5298142da6da95354844f201deeeef3c599e48b2
Merge: 7bb110bc7 9d9736552
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Mon Jun 11 15:10:09 2018 -0400

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

commit 7bb110bc744c9797fcaec25a265d9b85a22d6d6b
Merge: a61c869ca 6189d66e7
Author: Matthew Patton <matthew.patton@itgfirm.com>
Date:   Wed May 9 23:41:22 2018 -0400

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

commit a61c869ca7268acf0e3b1e1fa7a8ee7feea65984
Merge: 098101dd9 4be5f072c
Author: Matthew Patton <matthew.patton@itgfirm.com>
Date:   Fri May 4 10:13:04 2018 -0400

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

commit 098101dd99f08b0ca110d33eff6904537c6d21de
Merge: fefaf0fa6 554b2b4a5
Author: Matthew Patton <matthew.patton@itgfirm.com>
Date:   Tue May 1 20:52:30 2018 -0400

    Merge branch 'EOL-handling' into prestine

Co-Authored-By: Matthew Patton <pattonme@yahoo.com>
2018-12-12 16:35:57 +01:00
Anish Bhatt d5f88b154f
Better fix for #7095 2018-12-11 10:34:07 -08:00
Anish Bhatt 916375183b
Don't run StepCleanupTempKeys when communicator is set to none 2018-12-10 15:33:19 -08:00
Megan Marsh e69391f28b save users some bash scripting by exposing IP and port separately as well as together 2018-12-06 09:29:07 -08:00
pgrmega 2d1e3efadb
Fix a problem when calling Hyper-V\Compare-VM PowerShell cmdlet (#6726) 2018-11-20 22:10:03 +01:00
Megan Marsh f9ceaee4f1 fix variable casing convention 2018-10-22 14:34:50 -07:00
Joel Vasallo 5d17b3de84 fix: config validator output 2018-10-19 19:52:11 -05:00
Joel Vasallo 23ad90f2c4 fix: condensed and simplified os check logic and added validate output 2018-10-19 13:48:30 -05:00
Joel Vasallo d408c9e69c fix: moved os check to entry of func 2018-10-19 01:38:51 -05:00
Joel Vasallo 0912adea34 fix: converted onlyon param to only_on and added validation step 2018-10-19 00:51:25 -05:00
Joel Vasallo 25c0b98363 feat: ability to specify runtime OSs where shell-local should run 2018-10-18 15:10:04 -05:00
Adrien Delorme 02ba6ccfab make common/iso_config_test.go invisible to windows 2018-10-16 18:41:27 +02:00
Megan Marsh 847a3b0061 provide useful powershell error 2018-10-09 12:13:07 -07:00
Megan Marsh 3f8407d95f Revert "Merge pull request #6700 from hashicorp/multi_progressbar"
This reverts commit 5470c08345, reversing
changes made to c427486bca.
2018-09-20 13:14:17 -07:00
Megan Marsh 5470c08345
Merge pull request #6700 from hashicorp/multi_progressbar
Split progressbars per object
2018-09-19 15:22:14 -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
Adrien Delorme dfeca9f0df split progressbars per object 2018-09-12 16:21:58 -07:00
Megan Marsh a0edaf6c46 Going to revert this change for now, becuase of potential issues that arise from calling Prepare() twice
Revert "use statebag instead of SetSharedState for winRM password"

This reverts commit b35acbd879.
2018-09-10 16:48:42 -07:00
Adrien Delorme 32cacad273 remove comment that is not true anymore 2018-09-06 16:50:47 +02:00
Adrien Delorme bb59a70e8f progressbar: use int64 instead of uint64
* it's what's used for file sizes and used lib
2018-09-06 16:49:15 +02:00
Adrien Delorme f9c58e2b1f download: defer progress bar Finish 2018-09-06 16:38:28 +02:00
Adrien Delorme 3842f85eb4 download: remove close calls that are already defered 2018-09-06 16:30:35 +02:00
Adrien Delorme 23762a1810 fix tests for common/download_test.go 2018-09-06 15:53:59 +02:00
Adrien Delorme 7f50228080 remove old/unused progress code 2018-09-06 15:53:59 +02:00
Adrien Delorme 059e14fe42 put back usefull debug 2018-09-06 15:53:59 +02:00
Adrien Delorme a11f985e3c revert unecessary check 2018-09-06 15:53:59 +02:00
Adrien Delorme a9d302def8 removed debug logs 2018-09-06 15:53:59 +02:00
Adrien Delorme 541c68aed5 add StackableProgressBar struct that will refresh/show dl status for multiple files
* simplified the downloader interface, and removed the total/current values from them
* downloaders use a proxy reader that will add all read bytes to progress
* removed unused const mtu
* DownloadClient doesn't need a downloader, so I removed it too
2018-09-06 15:53:59 +02:00
Adrien Delorme fd7cb47adc use proxy reader for download progress & stop storing total/current in downloaders 2018-09-06 15:53:59 +02:00
Adrien Delorme ddd96c513b first draft at self refreshing loading bar centralized/controlled by Ui 2018-09-06 15:53:59 +02:00