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 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
Megan Marsh
e4f6b6f720
fix chroot communicator to properly escape quotes
2018-08-28 09:16:43 -07:00
Matthew Hooker
81522dced0
move packer to hashicorp
2017-04-04 13:39:01 -07:00
Matthew Hooker
cc11ec3566
check for a couple errors
2017-03-28 20:36:21 -07:00
Vasiliy Tolstov
feee19e4ed
file provisioner improvements
...
* allow specify source/destination as dir
* allow specify many files as source
Signed-off-by: Vasiliy Tolstov <[email protected] >
2016-02-12 11:48:28 -08: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
Brandon Turner
b2258dc4e9
Fix chroot builder to work with chef-solo
...
According to be5adb92b5 , the UploadDir
method supports two ways of copying depending on whether a trailing
slash is used:
src = "dir" -> dest/dir
src = "dir/" -> dest
On BSD-based systems (such as OSX, FreeBSD, etc.) the `cp -R` command
handles these two cases automatically. However, Linux treats "src/" and
"src" the same.
To support the trailing slash syntax portably, we can use:
src = "dir" -> dest/dir
src = "dir/." -> dest
This works on BSD and Linux. It is better than using wildcards as it
grabs hidden files as well.
This fixes #1196 that prevents the chef-solo provisioner from working
with the chroot builder.
2014-05-27 19:02:29 -05:00
Ross Smith II
d92179847d
provisioner/file: set file/directory permissions
...
fixes #1064
2014-05-09 21:03:35 -07:00
Jaime Soriano Pastor
32bb745734
Force LANG=C before appending rest of environment, as only first occurence is used
2014-05-08 17:11:19 +02:00
Nathan Hartwell
be5adb92b5
Appending wildcard to src causes problems
...
It appears that the desired effect was to support
src = "dir" -> dest/dir
src = "dir/" -> dest
but cp -R already handles this, provided the trailing slash does not
get consumed by the shell.
The wildcard causes problems when multiple files match the
shell glob, e.g.
UploadDir("/tmp", "./salt*", [])
where my working dir contains
- salt
- salt-foo
will error.
2014-05-02 11:18:56 -05:00
Mitchell Hashimoto
3adbd09639
builder/amazon/chroot: fix compile error
2013-11-08 11:19:10 -08:00
Mitchell Hashimoto
3780b57a1f
builder/amazon/chroot: allow no such file errors on upload [GH-588]
2013-11-08 10:53:54 -08:00
Mitchell Hashimoto
17f1ee3e98
builder/amazon/chroot: quote commands and pass through a shell [GH-581]
2013-11-08 10:22:56 -08:00
Matthew Hooker
5c41eccfd5
Fix the way we run commands in chroot.
...
* Single quotes around chroot command cause it to fail.
* The chroot command also gets passed through the CommandWrapper template, so having sudo would clash with however the user wants to run it.
* Fix spelling mistake.
2013-10-01 09:35:55 +00:00
Mitchell Hashimoto
38d3411f80
builder/amazon/chroot: remove unused comment
2013-09-30 09:35:58 -07:00
Mitchell Hashimoto
b554a0dd86
builder/amazon/chroot: CommandWrapper
...
/cc @mwhooker - I changed the interface up a bit to return an error,
since things should return errors in Go (the ui.Error bit was kind of
ghetto because it had no way to bubble that error up except through the
UI).
Using this, I made it so that the communicator uses both a
CommandWrapper and ShellCommand with chroot so that the chroot commannd
is also wrapped (it wasn't before).
I think the functionality of all this is the same but I'd love if you
could look it over and make sure.
2013-09-30 09:33:57 -07:00
Matthew Hooker
5f19648268
comment, formatting.
2013-09-29 08:04:57 +00:00
Matthew Hooker
a15f629f4f
WIP copying files.
2013-09-28 01:10:33 +00:00
Matthew Hooker
831d5caa50
move wrapper definitions around.
2013-09-27 22:08:15 +00:00
Matthew Hooker
39c3051a95
building but there's an exec error.
2013-09-27 20:47:44 +00:00
Matthew Hooker
ac496a63dc
replace command config with wrapper command.
2013-09-27 10:54:53 +00:00
Matthew Hooker
cebbcc51a6
fix chroot Upload command.
2013-09-27 02:11:28 +00:00
Matthew Hooker
23a331fc00
bugfix.
2013-09-26 01:35:29 -07:00
Matthew Hooker
7740c8fed5
using blocking cp method.
2013-09-26 01:32:53 -07:00
Matthew Hooker
5e9ff92ff3
Revert "notes/reorg."
...
This reverts commit 73c5aec24d .
Conflicts:
builder/amazon/chroot/step_copy_files.go
2013-09-26 01:16:51 -07:00
Matthew Hooker
ce3725efec
wip
2013-09-26 01:08:06 -07:00
Matthew Hooker
7fa238503b
wip
2013-09-26 00:58:25 -07:00
Matthew Hooker
dd356d33d8
notes/reorg.
2013-09-26 00:31:07 -07:00
Matthew Hooker
5086ff1a4e
pass chroot command to /bin/sh
...
this allows us to specify an arbitrary chroot command, i.e. for sudo
2013-09-25 03:20:22 -07:00
Matthew Hooker
1befba24ed
Allow user to override chroot command.
2013-09-17 05:58:16 -07:00
Mitchell Hashimoto
d857c9ccbb
builder/amazon/chroot: implement UploadDir for chroot communicator
2013-08-25 20:30:56 -07:00
Mitchell Hashimoto
be5fa9ecdb
builder/amazon/chroot: log the exit code for the chroot communicator
2013-07-30 17:23:37 -07:00
Mitchell Hashimoto
7ae0f3bafe
builder/amazon/chroot: upload should os.Create, not os.Open
2013-07-30 16:07:50 -07:00
Mitchell Hashimoto
8d3cf7aa59
builder/amazon/chroot: provision within the chroot
2013-07-30 16:07:50 -07:00