Adrien Delorme
63f5bbbc73
use our own copy of iochan.LineReader
2019-04-11 14:25:24 +02:00
Adrien Delorme
8565a30c69
TimeoutProvisioner: also display an error log when the context times out
2019-04-09 17:46:38 +02:00
Adrien Delorme
eadb40da91
Update communicator_test.go
...
fix tess
2019-04-08 20:09:21 +02:00
Adrien Delorme
2a90ce6178
packer communicator: use iochan.LineReader instead of iochan.LineReader(in)
...
* as it's the recommended way
2019-04-08 20:09:21 +02:00
Adrien Delorme
d8d5631dc2
allow to set provisioner timeout from buildfile
2019-04-08 20:09:21 +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
f7cd2b9334
add a 5 seconds timeout to provisioner hook
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
1f7150e2ee
Merge pull request #7463 from hashicorp/default_keep_input_artifact
...
Default keep input artifact
2019-04-05 08:10:40 -07:00
Megan Marsh
96c94d2fa0
clean up code comments
2019-04-03 14:04:03 -07:00
Megan Marsh
10f47b5158
document clearly what keep_input_artifact does for each post-processor
2019-04-03 13:57:22 -07:00
Megan Marsh
056fcb7cea
fix tests and add a few new ones
2019-04-03 11:32:49 -07:00
Megan Marsh
c1960840e3
fix tests
2019-04-03 11:01:52 -07:00
Megan Marsh
a358b174a4
make sure we filter the ui as well as the logs
2019-04-03 10:43:41 -07:00
Megan Marsh
365b32eb9c
goofing
2019-04-03 09:43:39 -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
Adrien Delorme
dae02c0877
add context to Provisioner.Provision interface signature
2019-04-03 15:55:54 +02:00
Megan Marsh
12fc1fa751
default_keep_input_artifact
2019-04-02 16:51:58 -07:00
Megan Marsh
3aa0e51104
I use Dir instead of Base for mkdirall call
2019-03-28 13:17:15 -07:00
Adrien Delorme
42107c2b8b
CachePath: only create base path
2019-03-19 15:30:01 +01:00
Adrien Delorme
5a6dffde9a
use port as ints
2019-03-19 15:01:12 +01:00
Adrien Delorme
4cb58446f7
packer.CachePath: try to create dir if it doesn't exist
2019-03-19 12:54:15 +01:00
Adrien Delorme
513999b8e7
Close tty on exit ( #7411 )
2019-03-15 11:10:30 +01:00
Megan Marsh
4e76f51462
Merge pull request #7390 from hashicorp/do_4837
...
Allow user variables to be interpreted within the variables section o…
2019-03-14 11:22:23 -07:00
Megan Marsh
b52ee14776
remove unreachable code
2019-03-14 10:05:10 -07:00
Megan Marsh
86c3c44afe
switch on err type not string
2019-03-13 14:59:05 -07:00
Megan Marsh
a62db1a0c6
add tests fixtures
2019-03-13 10:49:13 -07:00
Megan Marsh
bf0d7b3620
make it work and add tests
2019-03-13 10:49:13 -07:00
Megan Marsh
7cb31714ad
Allow user variables to be interpreted within the variables section of the template.
2019-03-13 10:49:13 -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
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