Megan Marsh
70c223045e
fix race condition in hooks
2019-05-10 10:25:54 -07: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
056fcb7cea
fix tests and add a few new ones
2019-04-03 11:32:49 -07: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
39a5e4e612
rpc server register funcs: return errors
2019-04-03 15:55:55 +02:00
Adrien Delorme
e65115a7a0
contextualize post-processor
2019-04-03 15:55:55 +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
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
c7ce4d598e
change Provisioner to be passed a context for cancellation
2019-04-03 15:55:54 +02:00
Megan Marsh
12fc1fa751
default_keep_input_artifact
2019-04-02 16:51:58 -07: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
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
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
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
Rémi Jouannet
118a9cb8c6
more explicit message
2018-11-09 14:44:34 +01: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
Adrien Delorme
dfeca9f0df
split progressbars per object
2018-09-12 16:21:58 -07: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
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
Matthew Hooker
ebe995c0ff
run goimports
2018-01-22 17:21:10 -08:00
Matthew Hooker
2d3b639c7b
don't need a waitgroup for uploading files
2017-08-10 17:02:23 -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
81522dced0
move packer to hashicorp
2017-04-04 13:39:01 -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
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
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
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
Chris Bednarski
abb67fdd79
Fix govet issues
2015-08-05 19:41:29 -07:00
Mitchell Hashimoto
dc74ec5612
packer: remove Environment
2015-05-25 17:29:10 -07:00
Mitchell Hashimoto
26bc806251
Merge branch '0-8-0'
2014-10-28 10:38:52 -07:00