Commit Graph

981 Commits

Author SHA1 Message Date
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 6e442e616c
Merge pull request #7352 from hashicorp/research_7299
use a tty to ui.Ask
2019-03-07 09:47:01 -08:00
Adrien Delorme 55261f1bf3 Update ui_test.go
fix typo and tty usage
2019-03-06 16:09:08 +01:00
Adrien Delorme 94d6fc10f5 init tty in main 2019-03-06 15:52:59 +01:00
Adrien Delorme 22df491c67 mock tty using interfaces to test more easily 2019-02-28 14:40:55 +01:00
Adrien Delorme 239a0c633f use go-tty in ui.Ask to fix #7299 2019-02-27 16:59:59 +01:00
Adrien Delorme 0f7065f6b1 post-processor except: don't match empty names 2019-02-20 12:38:03 +01:00
xinau b449af84ee moved concurrency-safe ui code to packer/ui.go 2019-02-13 21:01:50 +00:00
Adrien Delorme dd3e2c255c respect a 'only' defined in a post-processor 2019-02-01 15:50:06 +01:00
Adrien Delorme 074a74ec38 make sure 'only' completely ignores post-processor
before this commit, if one would put a 'only' inside the post-processor definition, the post process could be skipped
2019-02-01 15:21:41 +01:00
Adrien Delorme 58245f2557 break a chain of post-processors when one is skipped & make `-only`
"blind" to post-processors

* to avoid trouble
* other arrays of post processors might still be there !
* add docs
* update tests
2019-01-11 14:08:30 +01:00
Adrien Delorme 61ade0e127 allow to use --only with post-processors 2019-01-10 15:44:34 +01:00
Adrien Delorme 4bf3cd44fc allow to skip a post processor 2019-01-10 15:44:34 +01:00
Adrien Delorme 848d4e981b clarify comments 2019-01-09 16:30:43 +01:00
Adrien Delorme 9f7b4ffc17
Merge branch 'master' into pr/6950 2019-01-09 10:11:18 +01:00
Adrien Delorme 7384b86e95 windows plugin: prioritize AppData over default user directory ( UserProfile )
It was the default behaviour before.
It is also standard for a binary to use files from the AppData directory. ex: c453e0c757/google/default.go (L104)

More on home: https://en.wikipedia.org/wiki/Home_directory
2019-01-04 14:14:38 +01:00
Megan Marsh a734aa2255 Revert "mux_broker_test.go: make non blocking errChan"
This reverts commit d9e32d437c. It turns out that it was already non-blocking with a length of one.
2018-12-17 13:49:47 -08:00
Adrien Delorme 895d49ca10
Merge pull request #7119 from hashicorp/fix_race
try to remove race condition in mux test
2018-12-17 11:42:55 +01:00
Adrien Delorme d9e32d437c
mux_broker_test.go: make non blocking errChan
* in case of Dial errors to avoid a deadlocks
2018-12-17 11:09:56 +01:00
Adrien Delorme 2944030daf
mux_broker_test.go: range over chan for simplicity 2018-12-17 11:01:46 +01:00
Adrien Delorme 9a31d0de58
mux_broker_test.go: defer close chan 2018-12-17 10:58:32 +01:00
Megan Marsh 70c6fcb824
Merge pull request #7078 from aspectcapital/issue-5478
Elevated support for puppet-* & chef-client provisioners
2018-12-14 19:06:46 -08:00
Megan Marsh f6070de070 fix test 2018-12-14 13:59:26 -08:00
Megan Marsh 52176ecf2d try to remove race condition in mux test 2018-12-14 13:53:39 -08:00
Adrien Delorme cecf352aa7 remove any reference to TMPDIR_SUFFIX. Using system tempdir is enough 2018-12-12 18:52:25 +01: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
Matt Dainty 19bd28cd72 Fix/add tests 2018-12-07 16:23:03 +00:00
Adrien Delorme d876978337
Fixed misspelling in a comment residing in packer/config_file.go as suggested by @azr.
Co-Authored-By: arizvisa <arizvisa@users.noreply.github.com>
2018-12-05 17:34:09 -06:00
Ali Rizvi-Santiago ecf45d4740 Added tests for packer.ExpandUser in packer/config_file_test.go. 2018-12-04 16:54:49 -06:00
Ali Rizvi-Santiago 040a33567e Trying again one more time to prevent import cycles.. Moved common.ExpandUser into packer.ExpandUser.. 2018-12-04 16:54:47 -06:00
Adrien Delorme 1055c119bc make code of homeDir, configFile & configDir not os specific anymore 2018-11-30 15:47:43 +01:00
Adrien Delorme 5147ac0364 use Getenv instead of LookupEnv so users can set USER="" and HOME="" + lookup different username only if it is different thant the current username 2018-11-30 14:56:53 +01:00
Ali Rizvi-Santiago eec68e319e Replaced unsafe method of determining a user's home directory with an implementation based on os/user. 2018-11-24 00:56:53 -06:00
Rémi Jouannet 118a9cb8c6 more explicit message 2018-11-09 14:44:34 +01:00
Matthew Hooker 098764d8ac
WIP 2018-10-26 16:59:20 -07:00
Adrien Delorme c393ccb7ca fix progress bar termination typo 2018-10-26 11:29:15 +02:00
Adrien Delorme 25775cd266 fix more race conditions 2018-10-15 16:31:59 +02:00
Adrien Delorme 27f4b9e4a1 pb/testing: triger more race condition by having the progress bar refresh more often 2018-10-15 15:28:46 +02:00
Adrien Delorme 4cae413a29 remove unedded atomic call ( protected by a lock ) 2018-10-15 15:28:08 +02:00
Adrien Delorme 56ccba86c7 fix some race conditions 2018-10-15 13:53:59 +02:00
Adrien Delorme cf2c309c5e add race conditions triggers for progress bar 2018-10-15 13:53:51 +02:00
Adrien Delorme 611610c89d BasicProgresssBar: protect add with a lock
to avoid weird race conditions.
2018-10-02 16:57:16 +02:00
Ashley Lowde 2884f6fab6 improve formatting and documentation for PR#6784 2018-10-02 20:00:45 +09:30
Ashley Lowde 12496e3702 add optional timestamps to build log 2018-09-29 22:39:24 +09:30
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
Adrien Delorme be27775a3c start the pool only once 2018-09-12 17:04:10 -07:00
Adrien Delorme dfeca9f0df split progressbars per object 2018-09-12 16:21:58 -07:00
Megan Marsh 77980a7b53 fix progress bar mutex 2018-09-12 10:53:15 -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 0ac7b64364 fix panic of the future using a mutex instead of some atomic calls + more docs 2018-09-06 18:12:15 +02:00
Adrien Delorme 8a851efcc8 progressbar: more godocs 2018-09-06 17:01:14 +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 f3c923c47d add tests for progress bar rpc calls 2018-09-06 16:15:09 +02:00
Adrien Delorme 6d3e36e6ea simplify remote progress bar as we are using a single instance 2018-09-06 16:14:59 +02:00
Adrien Delorme d89e1133c3 use freshly merged random.AlphaNum instead of our own random 2018-09-06 15:55:19 +02:00
Adrien Delorme 42561cf777 packer/rpc/ui_test.go: test progress bar too 2018-09-06 15:53:59 +02:00
Adrien Delorme 7efe3cac3d todos 2018-09-06 15:53:59 +02:00
Adrien Delorme 408578507f also prefix bar with number of items processing 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 9b07d7670e use no ops for ansible ui & MachineReadableUi 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
Megan Marsh 8fbce8c40c
Merge pull request #6357 from ladar/master
Added a 'split' function to parse template variables.
2018-08-24 15:18:36 -07:00
Megan Marsh b35acbd879 use statebag instead of SetSharedState for winRM password 2018-08-24 13:51:16 -07:00
Megan Marsh 8a6441a7a5 add tests for SensitiveVars 2018-08-21 10:28:22 -07:00
Megan Marsh ff6a039d5b replace scrubconfig with packer.LogSecretFilter.Set
filter winrm password from logs
Add new root-level packer template option, sensitive-variables, to tell us what user variables to mark sensitive.
2018-08-20 15:35:55 -07:00
Matthew Hooker 31fcfe4bc2 PoC for filtering logs 2018-08-20 15:20:21 -07:00
Patrick Double d796edc783 Add to vagrant post-processor support for Azure 2018-08-08 10:04:28 -05:00
Ladar Levison 8fee49ab9f Added a 'split' function to parse template variables. 2018-06-08 00:41:57 -05:00
Megan Marsh 91aa5f8bbb resolve conflicts; fix to work with hookedprovisioner which has been added since PR was made 2018-06-07 15:53:18 -07:00
Marc Carmier a5f802ec01 Add unit tests for DebuggedProvisionner 2018-06-07 14:09:26 -07:00
Marc Carmier 93f5bbbf45 Add waiting for key between provisioner 2018-06-07 14:09:26 -07:00
Josh Soref c5482b3e7e spelling: warnings 2018-03-14 03:29:50 +00:00
Josh Soref c49c40ac41 spelling: targeted 2018-03-14 03:24:39 +00:00
Josh Soref 5dd9be653a spelling: should 2018-03-14 03:22:32 +00:00
Josh Soref d3dc5ba6d3 spelling: provisioner 2018-03-14 02:15:21 +00:00
Josh Soref 785b42368d spelling: easily 2018-03-13 07:40:52 +00:00
Josh Soref 8dfafa6a5e spelling: dispatchable 2018-03-13 07:38:01 +00:00
Matthew Hooker 1418a42bf5
Remove telemetry error reporting message.
This seems to cause some confusion, and it's not needed anyway
2018-02-20 10:54:20 -08:00
SwampDragons 997f8e4a2a
Merge pull request #5318 from hashicorp/sigtermcleanup
Gracefully clean up on SIGTERM
2018-02-02 11:56:56 -08:00
Matthew Hooker ebe995c0ff
run goimports 2018-01-22 17:21:10 -08:00
Matthew Hooker c28a50af16
try to fix transient test failure 2017-11-30 16:30:37 -08:00
Matthew Hooker b07a0cd6f0
fix tests
always sort telemetry options
2017-11-14 16:39:03 -08:00
Matthew Hooker 49c20e3b1c
bump telemetry timeout to 2s 2017-11-14 16:30:44 -08:00
Matthew Hooker a5197840df
add config key reporting 2017-11-14 16:30:44 -08:00
Matthew Hooker 3e3768ec3e
fix tests 2017-11-14 16:30:43 -08:00
Matthew Hooker 46f41d1f12
WIP: add options to telemetry 2017-11-14 16:30:43 -08:00
Matthew Hooker afd394e0bd
only output telemetry logs when enabled. 2017-10-05 14:31:24 -07:00
Matthew Hooker fdaf4ed8d3
Gracefully clean up on SIGTERM 2017-09-08 11:42:32 -07:00
Matthew Hooker 68287566b8 Merge pull request #5167 from hashicorp/fix5147
preserve left-side whitespace in output
2017-08-28 14:22:34 -07:00
Sean Chittenden cd84b17923
Fix building packer on GOOS=solaris
Update to golang/x/sys/unix is coming in the subsequent commit.
2017-08-14 10:34:06 -07:00
Megan Marsh d733be711a Merge pull request #5238 from hashicorp/fix5237
do not wait for rpc upload command to return
2017-08-11 09:33:35 -07:00
Matthew Hooker 2d3b639c7b
don't need a waitgroup for uploading files 2017-08-10 17:02:23 -07:00
Matthew Hooker b05643cd47
increase telemetry report timeout 2017-08-10 16:57:20 -07:00
Luke Farnell d9a5b69403 clean up ineffectual assignments 2017-08-07 13:20:01 -04:00
Matthew Hooker 6d997d82e0
preserve left-side whitespace in output 2017-07-24 14:24:28 -07:00
Megan Marsh 07decf99ad quick patch to make ansible work again 2017-07-19 10:28:13 -07:00
Megan Marsh b2d5fcd48a move wait earlier 2017-07-05 12:27:59 -07:00
Megan Marsh 9ee97aaa2a while I'm at it, kill this race condition in uploads, too 2017-07-03 13:30:11 -07:00
Megan Marsh d8637751a3 rpc/communicator fix race condition that causes stdout from ssh provisioner to be truncated 2017-07-03 12:19:13 -07:00
Matthew Hooker 5e3a119069
increase telemetry timeout 2017-06-26 10:36:37 -07:00
Matthew Hooker 8681ea6026
report panic comment and shorter timeout 2017-06-21 15:56:29 -07:00
Matthew Hooker 5da9b3de61
Telemetry logging changes 2017-06-21 15:22:49 -07:00
Matthew Hooker beb338b78b
remove unneeded logs 2017-06-19 13:08:53 -07:00
Matthew Hooker f534b85ee9
get chris's nits. 2017-06-16 17:23:41 -07:00
Matthew Hooker 2d581dfc7b
fix tests. 2017-06-15 14:08:17 -07:00
Matthew Hooker 35332e4498
fix panic with deadlines. update panicwrap dep 2017-06-15 13:23:05 -07:00
Matthew Hooker 7382382727
Add telemetry reporting through checkpoint
Will report builders/provisioner/post-processor types used per build,
and whether or not the build passed.

Will also report any panics we see.

You may opt out of this reporting by setting the environment variable
`CHECKPOINT_DISABLE`.
2017-06-15 13:21:11 -07:00
Matthew Hooker 81522dced0
move packer to hashicorp 2017-04-04 13:39:01 -07:00
Matthew Hooker 048e316645
s/TargettedUi/TargetedUI/ 2017-03-29 12:44:42 -07:00
Matthew Hooker 79287d7e47
simplify some code 2017-03-28 20:36:20 -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 230079f73a
spell fixes 2017-03-28 20:36:19 -07:00
Ash Berlin 242ed49ecb Use bufio.Scanner in BasicUi.Ask so we can read whole lines
The previous version used fmt.Fscanln which sounds like it should scan
for a whole line, but it actually errors if there is more than a single
word/token given. You can see this here https://play.golang.org/p/1RYXdtPSbk

And looking at the only usage of this function in core it won't break
anything to change it to actually return whole lines instead.

    line, err := ui.Ask("[c] Clean up and exit, [a] abort without cleanup, or [r] retry step (build may fail even if retry succeeds)?")

Closes #4474
2017-01-29 14:10:14 +00:00
Matthew Hooker f1175c1921
parallels/vmware: don't wait for shutdown command.
Resolves #4134

replaces/ closes #4379

Leaving Hyper-V builder alone for now until we can get a case that reproduces.
2017-01-20 01:44:18 -08:00
Rickard von Essen f6c611da5b Merge pull request #3940 from bhcleek/fix-fastpath
allow ssh communicator's Upload fastpath to execute
2016-11-05 19:58:33 +01:00
Matthew Hooker d920b3fbf4 run gofmt 2016-11-01 14:08:04 -07:00
Matthew Hooker 892d5e82c9 expect_disconnect option
provisioner/shell: Adds option to fail if the remote server disconnects
us.
2016-10-21 11:39:03 -07:00
Billie H. Cleek b4f6d40001 allow ssh communicator's Upload fastpath to execute
Add os.FileInfo implementation to packer/rpc, and use it to pass
Upload's *os.FileInfo argument through the RPC boundary.
2016-09-28 23:22:04 -07:00
Orivej Desh 389603cc0f Allow upper case input to -on-error=ask 2016-09-16 12:15:00 +00:00
Orivej Desh 6762965696 Add -on-error command line argument to allow preserving artifacts on builder errors
Resolves #409
2016-09-16 12:15:00 +00:00
Vasiliy Tolstov feee19e4ed file provisioner improvements
* allow specify source/destination as dir
* allow specify many files as source

Signed-off-by: Vasiliy Tolstov <v.tolstov@selfip.ru>
2016-02-12 11:48:28 -08:00
Mark Peek bc0f438db0 Use alternate temp directories for docker
The temporary directories will be created under the packer config
directory. Setting PACKER_TMP_DIR will override this path.
2015-10-20 11:34:14 -07:00
Mark Peek 38c81cf3e3 Move ConfigFile() and ConfigDir() from package main to packer 2015-10-16 17:32:36 -07:00
Chris Bednarski a4eba1102b Switch bool chan to struct chan for less memory usage 2015-10-12 22:04:13 -07:00
Chris Bednarski 4856544027 Add a comment to indicate why we're waiting on the channel 2015-10-12 18:42:17 -07:00
Chris Bednarski b51cd5406a Add explicit wait after Communicator.Download to make sure serveSingleCopy completes 2015-10-12 18:12:22 -07:00
Chris Bednarski 74d604e5a8 Switch from hashicorp/go-msgpack to the original upstream ugorgi/go to fix a slew of race conditions 2015-10-12 13:50:24 -07:00
Mark Peek e5a713ff01 Alternative fix for #2641: make random script name actually random 2015-10-11 13:31:09 -07:00
Chris Bednarski abb67fdd79 Fix govet issues 2015-08-05 19:41:29 -07:00
Chris Bednarski b3eacc5c2b Updated test to verify expected behavior 2015-07-13 19:32:28 -07:00
Mitchell Hashimoto 2498ad02c8 packer: validate minimum version [GH-2310] 2015-06-29 11:49:45 -07:00
Mitchell Hashimoto 2d13db300c packer: HookProvision errors if no communicator 2015-06-15 10:26:46 -07:00
Mitchell Hashimoto 472b060394 packer: build_name and build_type work + tests 2015-06-13 16:51:39 -04:00
Chris Bednarski 408250ec76 Wrap output in if statement to catch zero values from select 2015-06-03 17:13:26 -07:00
Mitchell Hashimoto 1b775cca2e packer: core interpolates Push 2015-05-29 15:41:52 -07:00
Mitchell Hashimoto 579264bb5b command/push: interpolate 2015-05-29 15:35:55 -07:00
Mitchell Hashimoto 048c764e05 packer: fix failing tests 2015-05-29 14:34:45 -07:00
Mitchell Hashimoto 4620f33dd0 packer: test fixture 2015-05-29 14:29:40 -07:00
Mitchell Hashimoto 639e63fd7c packer: test for template path 2015-05-29 14:29:32 -07:00
Mitchell Hashimoto f259e7352a packer/plugin: fix crash case, nil function call [GH-2098] 2015-05-29 11:30:56 -07:00
Mitchell Hashimoto da694a6ea8 packer: try to fix flaky test 2015-05-28 15:13:10 -07:00
Mitchell Hashimoto 590997df44 packer: automatically validate when creating a core 2015-05-28 14:43:15 -07:00
Mitchell Hashimoto e0a9215e47 packer: test for environment variables interpolation 2015-05-28 14:40:45 -07:00
Mitchell Hashimoto 8367c0bdce Merge pull request #2025 from ceh/skip-color-test
packer: skip colored ui test if ui doesn't support colors
2015-05-27 20:21:17 -07:00
Mitchell Hashimoto 1ee2b014a6 packer: remove Ui/Cache from CoreConfig 2015-05-27 20:09:52 -07:00
Mitchell Hashimoto 1d3a4d6aa2 packer: remove ConfigTemplate 2015-05-27 17:56:45 -07:00
Mitchell Hashimoto 53e77eacea packer: overrides work 2015-05-26 09:46:04 -07:00
Mitchell Hashimoto 99a93009ed packer: remove Template 2015-05-26 09:38:24 -07:00
Mitchell Hashimoto 26c7ac2d90 packer: post-processors 2015-05-26 09:28:59 -07:00
Mitchell Hashimoto 85e615bbe2 packer: a lot more provisioner tests 2015-05-26 09:16:39 -07:00
Mitchell Hashimoto b25ae21e13 packer: run provisioners 2015-05-26 09:14:29 -07:00
Mitchell Hashimoto c12072ecad packer: tests around interpolated names 2015-05-25 18:15:07 -07:00
Mitchell Hashimoto 547d9e759e packer: test Build 2015-05-25 17:58:59 -07:00
Mitchell Hashimoto dc74ec5612 packer: remove Environment 2015-05-25 17:29:10 -07:00
Mitchell Hashimoto 3ebfe06ec8 packer: render build names 2015-05-23 16:12:32 -07:00
Mitchell Hashimoto d74dacc4c0 packer: Core.Build 2015-05-23 15:08:50 -07:00
Mitchell Hashimoto ded13a8b10 packer: Core, and template validate 2015-05-23 14:48:07 -07:00
Emil Hessman bd425db546 packer: skip colored ui test if ui doesn't support colors
Fixes test failure on Windows.
2015-04-07 20:33:58 +02:00
Emil Hessman d9abb5458b packer: fix formatting directives in test
Fixes the following vet reports:

packer/template_test.go:496: possible formatting directive in Fatal call
packer/template_test.go:528: possible formatting directive in Fatal call
2015-02-25 05:43:18 +01:00
Seth Vargo 5d37c58457 Store the RawContents of the template on the template object
This allows children to get the raw templates without re-reading the
file.
2015-02-04 13:30:40 -05:00
Mitchell Hashimoto 73c5192b35 command/push: add base_dir setting 2014-12-09 16:14:04 -08:00
Mitchell Hashimoto c1fbc473a2 command/push: propagate token properly 2014-12-09 16:14:04 -08:00
Mitchell Hashimoto 6bd8c6ca79 command/push: support custom endpoints 2014-12-09 16:14:03 -08:00
Mitchell Hashimoto fbc1551048 command/push: partially implemented, tests 2014-12-09 16:14:03 -08:00
Mitchell Hashimoto 835cadeee2 packer: push configuration 2014-12-09 16:14:03 -08:00
Seth Vargo 347f02a7f2 Merge pull request #1402 from jasonberanek/858-issue
fix build name ConfigTemplate processing [GH-858]
2014-11-26 16:30:36 -05:00
Mitchell Hashimoto 26bc806251 Merge branch '0-8-0' 2014-10-28 10:38:52 -07:00
Mitchell Hashimoto 4c7538dad8 v0.7.2 2014-10-28 09:45:13 -07:00
Mitchell Hashimoto 0db6cd3533 Merge pull request #1330 from qur/qemu-vagrant
Qemu vagrant
2014-10-28 08:42:17 -07:00
Mitchell Hashimoto e422a45449 fmt 2014-10-28 08:35:21 -07:00
Mitchell Hashimoto 8dbe0f065c Remove version from "packer" package 2014-10-27 20:51:34 -07:00
Mitchell Hashimoto 779b6d1719 packer/rpc, packer/plugin: remove Command interfaces 2014-10-27 20:40:24 -07:00
Mitchell Hashimoto 3e1f4ae1d2 packer: remove Command 2014-10-27 20:37:11 -07:00
Ryan Uber f7018f2407 Switch to hashicorp/go-msgpack 2014-10-17 18:38:17 -07:00
Julian Phillips 90a57c411f Expand Artifact API to expose build state
In order that something consuming an artifact can have access to extra
builder specific data add the State method which allows the caller to
ask for arbitary values by name.
2014-09-22 11:15:47 +01:00
Julian Phillips ee6a118090 Configure MessagePack to be a bit more like gob
By default codec's MessagePack encode/decode will convert a string
into a []byte.  Tweak the settings so that string -> string and []byte
-> []byte.
2014-09-21 23:57:37 +01:00
Mitchell Hashimoto a22f70f61f v0.7.1 2014-09-10 16:09:43 -07:00
Mitchell Hashimoto 0bf293f193 Up version for dev 2014-09-08 19:36:11 -07:00
Mitchell Hashimoto 3006be4376 v0.7.0 2014-09-08 15:57:24 -07:00
Mitchell Hashimoto 9c93c9e874 packer: check for latest version 2014-09-08 15:25:50 -07:00
Mitchell Hashimoto 75395af12d Merge branch '1064-fix-upload-file-permissions' of github.com:rasa/packer into rasa-1064-fix-upload-file-permissions
Conflicts:
	builder/parallels/common/step_upload_parallels_tools.go
	builder/vmware/common/step_upload_tools.go
	provisioner/chef-client/provisioner.go
	provisioner/chef-solo/provisioner.go
2014-09-08 13:20:46 -07:00
Mitchell Hashimoto 812ba35479 fmt 2014-09-08 10:28:21 -07:00
Mitchell Hashimoto 2e5f3da5c1 builder/amazon: fix {{uuid}} default not being replaced 2014-09-05 16:38:05 -07:00
Mitchell Hashimoto 9a0f92c5ad Merge branch 'template-timefmt' of github.com:njones/packer into njones-template-timefmt
Conflicts:
	packer/config_template.go
	website/source/docs/templates/configuration-templates.html.markdown
2014-09-05 16:21:30 -07:00
Mitchell Hashimoto f03d57f966 Merge pull request #1124 from njones/template-uplow
common: Fixes #1114, Adds upper and lower as filters for the template engine.
2014-09-05 16:16:55 -07:00
Mitchell Hashimoto 847cb02eb3 packer: fuzzy search broken pipe too [GH-1314] 2014-09-03 21:31:34 -07:00
Mitchell Hashimoto ad51098a3e packer/rpc: don't panic on cache errors [GH-1328] 2014-09-03 21:17:53 -07:00
Mitchell Hashimoto e9c2628a77 packer/plugin: clean up log output by only using the base 2014-09-03 21:11:43 -07:00
Mitchell Hashimoto b7c604795e packer/plugin: increase version for Yamux 2014-09-02 14:28:21 -07:00
Mitchell Hashimoto 9ffa0b8e25 packer/rpc: no more muxconn 2014-09-02 14:23:06 -07:00
Mitchell Hashimoto 062e86e218 packer/rpc: MuxBroker 2014-09-02 14:05:22 -07:00
Jason A. Beranek 56ec6bf7af common/command/template,packer/template: fix build name ConfigTemplate processing [GH-858] 2014-08-09 21:52:33 -05:00
Mitchell Hashimoto 1eac1cc0dd up version for dev 2014-07-20 13:17:58 -07:00
Mitchell Hashimoto 8b24d99094 v0.6.1 2014-07-20 11:22:58 -07:00
Tehmasp Chaudhri 9cf711cfcb Fixed typo 2014-07-17 16:41:58 -06:00
Ross Smith II d92179847d provisioner/file: set file/directory permissions
fixes #1064
2014-05-09 21:03:35 -07:00
Mitchell Hashimoto 860542bfee packer: isotime is launch time [GH-1153] 2014-05-09 20:37:37 -07:00
Nika Jones cd29c8d586 Fixes #1092, Adds a format option to the {{isotime}} variable.
Now using the golang magic date: Mon Jan 2 15:04:05 -0700 MST 2006
One can format the time like:

    {{isotime "2006-01-02"}} == "YYYY-MM-DD"
    {{isotime "060102-15"}}  == "YYMMDD-HH" (24-hour clock)
    {{isotime "060102-3"}}   == "YYMMDD-H"  (12-hour clock)

Using {{isotime}} as a standalone variable doesn't change. It still returns RFC3339 formatted time.
2014-05-06 06:18:16 -07:00
Nika Jones 13135cbf34 Fixes #1114, Adds upper and lower as filters for the template engine. 2014-05-06 04:10:44 -07:00
Mitchell Hashimoto 5437c0b4ea Update version for dev 2014-05-04 14:14:34 -07:00
Mitchell Hashimoto 12e28f257f v0.6.0 2014-05-02 10:13:29 -07:00
Mitchell Hashimoto 5c5d62733f fmt 2014-05-01 14:24:19 -07:00
Mitchell Hashimoto 3ac246d611 packer/rpc: don't reply with arbitrary error 2014-04-28 21:36:49 -07:00
Mitchell Hashimoto 32536b25af packer/rpc: fix interface returns for msgpack [GH-1076] 2014-04-28 15:18:31 -07:00
Mitchell Hashimoto 7a8372db74 packer: update version to 0.6.0 2014-04-28 15:03:09 -07:00
Mitchell Hashimoto edcb8fea30 packer: min_packer_version [GH-487] 2014-04-26 20:51:46 -07:00
Mitchell Hashimoto 9ef50487fb core: Create cache directory only when needed [GH-367] 2014-04-26 20:33:12 -07:00
Mitchell Hashimoto ce7ea006c7 packer/rpc: use the msgpack codec 2014-04-26 13:31:34 -07:00
higebu f087ce16dc Fix the build problem by updating ssh package 2014-04-15 10:17:26 +09:00
Mitchell Hashimoto 4fc1087fcd packer: up version for dev 2014-02-21 20:54:09 -08:00
Mitchell Hashimoto 6378943621 v0.5.2 2014-02-21 20:31:10 -08:00
Mitchell Hashimoto 4c09aac149 packer: send error output to stdout for now 2014-02-21 20:14:51 -08:00
Mitchell Hashimoto f3494fc77a fmt 2014-02-21 20:02:55 -08:00
Mitchell Hashimoto e2e4c9f671 packer: errors go to stderr [GH-868] 2014-02-21 18:29:15 -08:00
Mitchell Hashimoto 1c65536514 packer: closed pipe is caught [GH-875] 2014-02-21 17:43:45 -08:00
Mitchell Hashimoto b25baa626d packer/rpc: fix a blocking issue 2014-02-21 16:48:17 -08:00
Mitchell Hashimoto e3c0715eab fmt 2014-02-21 15:11:56 -08:00
Mitchell Hashimoto eacac89a24 packer/rpc: fix crashes with big file uploads [GH-897] 2014-02-21 14:24:22 -08:00
Mitchell Hashimoto 430963f400 fmt 2014-01-19 19:30:11 -08:00
Mitchell Hashimoto 7ec05423ce Update CHANGELOG 2014-01-19 15:48:56 -08:00
Mitchell Hashimoto 3f77b2c592 Merge pull request #803 from mark-rushakoff/useragent
common: set user agent in downloader
2014-01-19 15:46:45 -08:00
Mitchell Hashimoto 3857822ef2 packer: don't crash if arg is empty [GH-832] 2014-01-19 15:19:10 -08:00
Mark Rushakoff 4548495116 StepDownload uses packer version as user agent 2014-01-09 13:20:30 -08:00
Mitchell Hashimoto 04f14161f5 up version for dev 2014-01-02 13:33:50 -08:00
Mitchell Hashimoto d44bcc9bbb v0.5.1 2014-01-02 08:51:18 -08:00
Mitchell Hashimoto e6fb71d14f packer/rpc: write only the remaining data on muxconn retry 2014-01-01 22:20:03 -08:00
Mitchell Hashimoto 84541c670b packer/rpc: get rid of trace level 2014-01-01 22:19:43 -08:00
Mitchell Hashimoto e37e690e99 packer/rpc: more logging and fix a bug with read buffer start point 2014-01-01 22:13:06 -08:00
Mitchell Hashimoto bf8715b704 packer/rpc: more logs 2014-01-01 22:03:12 -08:00
Mitchell Hashimoto 1dd5a13139 packer/rpc: more logging in muxconn 2014-01-01 21:59:00 -08:00
Mitchell Hashimoto a7144d1025 packer/rpc: a little more logging 2014-01-01 21:53:57 -08:00
Mitchell Hashimoto d5bf5d7f39 packer/rpc: make sure we read all the data 2014-01-01 21:53:36 -08:00
Mitchell Hashimoto 3a1908bbb3 packer/rpc: make things loud 2014-01-01 21:34:11 -08:00
Mitchell Hashimoto 21b690851f fmt 2014-01-01 21:19:47 -08:00
Mitchell Hashimoto ae37050e8a packer/rpc: muxconn can't use stream ID 0 ever 2013-12-30 21:03:10 -08:00
Mitchell Hashimoto 7177cc149f up version for dev 2013-12-30 20:57:59 -08:00
Mitchell Hashimoto 8c6ece6923 v0.5.0 2013-12-30 12:29:36 -08:00
Mitchell Hashimoto e38c0424b9 packer: allow environmental variables within user vars [GH-633] 2013-12-28 09:34:17 -07:00
Mitchell Hashimoto 4c8b8d4fa7 packer: add `pwd` function with working directory [GH-762] 2013-12-27 20:46:10 -07:00
Mitchell Hashimoto be7861080b packer/rpc: make buffer real big for writes [GH-755] 2013-12-27 09:55:52 -07:00
Mitchell Hashimoto b5f1fd1423 packer: delete pause_before to avoid template invalids [GH-759] 2013-12-27 09:52:40 -07:00
Mitchell Hashimoto 02bb5b0a97 packer: template process build names [GH-744] 2013-12-27 09:43:59 -07:00
Mitchell Hashimoto 43962ca31f packer/rpc: build updated to use new interface 2013-12-27 09:19:11 -07:00
Mitchell Hashimoto 6a3dd16a3a packer: template now handles user var logic 2013-12-27 09:17:51 -07:00
Mitchell Hashimoto 77d0d63b1d packer/rpc: ignore non-existent streams in muxconn 2013-12-26 23:34:18 -07:00
Mitchell Hashimoto 9239b6a25e packer: {{timestamp}} is the same for an entire build [GH-744] 2013-12-26 17:29:21 -07:00
Mitchell Hashimoto f4567ee921 packer/rpc: communicator shouldn't conncet to ID 0 2013-12-21 08:07:42 -08:00
Mitchell Hashimoto 3e08ccba00 packer/rpc: if stream ID 0 is used, paic 2013-12-21 08:07:34 -08:00
Mitchell Hashimoto 901929356f packer/rpc: don't use stream ID zero [GH-738] 2013-12-20 22:01:38 -08:00