80 Commits

Author SHA1 Message Date
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
c7ce4d598e change Provisioner to be passed a context for cancellation 2019-04-03 15:55:54 +02:00
Matt Dainty
a42f8fac4d Elevated support for puppet-masterless provisioner
This should fix #5478.
2018-12-07 11:08:11 +00:00
M. Marsh
abb70bfa80
Merge pull request #6215 from tb3088/delay-extraArgs-4462_clean
Delay evaluation of ExtraArguments and standardize puppet-server and puppet-masterless
2018-05-08 15:03:55 -07:00
Matthew Patton
d22fb6d60b reformat via gofmt 2018-05-08 12:44:15 -04:00
Matthew Patton
5c7d5fac75 expose OS-specific ModulePathJoiner 2018-05-08 12:21:04 -04:00
Matthew Patton
399edbe5e7 revert false economy WRT .ExtraArguments 2018-05-08 10:12:22 -04:00
Matthew Patton
b505cecd98 sync docs to code 2018-05-08 09:53:18 -04:00
Matthew Patton
735f5273a0 tab/space fixup via gofmt 2018-05-01 17:16:47 -04:00
Matthew Patton
514a597825 alphabetize datastructures 2018-05-01 16:38:01 -04:00
DanHam
fd07cfd2b1
Remove tmp files created by provisioner/puppet-masterless tests 2018-04-30 20:38:03 +01:00
Matthew Patton
b4bec692ed remove accidental duplicate, initialize WorkingDir for puppet-server 2018-04-28 01:13:23 -04:00
Matthew Patton
47d46b0c64 use filpath() to make tests portable across Windows and non-Windows 2018-04-28 00:17:27 -04:00
Matthew Patton
8bb7798ea7 standardize across both puppet-{masterless,server}
move comments outside of datastructure

remove duplicated section

fix line-endings

Golang doesn't use C-style comments

run gofmt for alignment and whitespace management

remove danling "options" and fix class reference

syncronize tests to new command structure
2018-04-27 23:47:05 -04:00
Matthew Patton
5eb497a2c5 reorder terms and define an intermediate variable
(cherry picked from commit d0251f9741cf4d7659ecb4496d103f99a0e4184a)
(cherry picked from commit dab1b903ad88af0e3e40168634c1eb227078b4eb)
2018-04-27 18:04:36 -04:00
Matthew Hooker
bafcf7dfb1
test, document, cleanup puppet guest codde 2017-10-03 11:39:33 -07:00
Matthew Hooker
7523cc76de Merge pull request #5340 from c22/issue_5339
Fix regression bug reported in #5339
2017-10-03 10:44:41 -07:00
Matthew Hooker
d26e28a028 Merge pull request #5341 from c22/issue_5338
Fix facterVar separator bug reported in #5338
2017-09-29 09:49:22 -07:00
Matthew Hooker
70e493a2c2
fix directory permissions when using sudo 2017-09-15 10:48:50 -07:00
c22
948f955758 Fix regression bug reported in #5339 2017-09-14 11:44:14 +10:00
c22
cb12cd6668 Fix facterVar separator bug reported in #5338 2017-09-14 11:35:54 +10:00
c22
42f1aa7a95 Refactor puppet-masterless based on puppet-server 2017-08-22 14:10:37 +10:00
c22
bc2e3de06d Resolve merge conflicts and update documentation. 2017-08-22 14:10:37 +10:00
c22
80ba99c04f Update documentation + small fixes
Updated the puppet-masterless documentation
Removed extraneous ConfigTemplate code
2017-08-22 14:10:37 +10:00
c22
fbac46af91 Linting + formatting 2017-08-22 14:10:37 +10:00
Sam Kerr
bcd30ad2f2 Update puppet-masterless commands to be OS specific
Previous implementation hardcoded "mkdir -p" which is fine for Unix, but
fails on Windows. This change draws on the example in the chef-solo
provisioner on how to detect the OS in use and use an appropriate mkdir
command.

In addition to updating the mkdir command, the actual executeCommand
needs to be OS specific, since Windows doesn't have sudo and Unix
doesn't require 'SET' when trying to change the value of a variable.

Modify the actual Windows command used to run Puppet.

Since the Facter vars on Windows are set with 'SET <varname>=<value>', a
'&&' is needed between the SET commands and the actual Puppet
invocation.
2017-08-22 14:10:37 +10:00
Luke Farnell
d9a5b69403 clean up ineffectual assignments 2017-08-07 13:20:01 -04:00
Matthew Hooker
81522dced0
move packer to hashicorp 2017-04-04 13:39:01 -07:00
Sean Malloy
a617884a16 Add more tests for puppet-masterless provisioner
* Add tests for staging_directory config option
* Add tests for working_directory config option
2016-12-28 21:14:17 -06:00
Sean Malloy
ce43ade973 Add additional unit tests for puppet provisioners
* Add puppet-masterless test for packer_build_name default fact
* Add puppet-masterless test for packer_builder_type default fact
* Add puppet-server test for puppet bin directory
2016-12-26 23:11:27 -06:00
Rickard von Essen
3361da82d4
Added trailing slash after puppet_bin_dir. 2016-10-22 14:34:34 +02:00
mexisme
6f9294095f Add Puppet Bin Dir to puppet-masterless provisioner 2016-10-15 22:39:50 +13:00
Keyan Pishdadian
f3811cb99d Add ignore_exit_codes param for puppet-masterless provisioner 2016-03-13 23:39:18 -04:00
Chris Bednarski
d8aaf6175f Merge pull request #2470 from jsoriano/puppet-masterless-clean-staging
Puppet masterless provisioner optionally cleans staging directory
2016-02-11 17:39:35 -08:00
Trevor Suarez
f006a83c95 Fixing the bug found in the tests 2015-11-03 18:19:03 -05:00
Trevor Suarez
6ca02286d4 Test for when the config parameter isn't passed 2015-11-03 18:18:24 -05:00
Trevor Suarez
627a8fe819 Renaming the config parameter from "options"
to "extra_arguments"
2015-11-03 17:55:03 -05:00
Trevor Suarez
4ea7e3473d Testing the new options argument during the actual
call to `Provision()`
2015-11-03 15:01:16 -05:00
Trevor Suarez
84e1b387c4 New test for preparing the new config parameter 2015-11-03 14:36:04 -05:00
Trevor Suarez
ebed9e53fb Adding new "Options" configuration parameter for
the puppet-masterless provisioner, to allow for specifying additional
options to pass to the execute command
2015-11-03 12:30:55 -05:00
Jaime Soriano Pastor
be8c9dddf2 Puppet masterless provisioner optionally cleans staging directory
When puppet is executed in masterless mode it didn't remove
staging directory, this can be a problem because it leaves all
the modules and manifests in the built image.
This is specially problematic when building docker images as they
can be left in the layers unless an specific cleanup is done after
running puppet.

This change adds a flag `clean_staging_directory` to puppet
masterless provisioner so it takes care of this cleanup.
2015-07-17 22:24:23 +02:00
Chris Bednarski
56745e14f5 manifest_file can now be a folder or file.pp and we will upload it correctly in either case 2015-07-16 19:15:16 -07:00
Mitchell Hashimoto
7c8e86c9c5 provisioner/*: fix interpolation context 2015-06-22 12:26:54 -07:00
Mitchell Hashimoto
5ee02b09b2 Merge pull request #2258 from mitchellh/b-puppet-manifest-base
provisioner/puppet-masterless: only base if manifest is a file [GH-1933]
2015-06-17 17:51:07 +02:00
Mitchell Hashimoto
8990c38d5e provisioner/puppet-masterless: deprecation warning 2015-06-16 09:38:24 -07:00
Mitchell Hashimoto
6cda4fa548 Merge branch 'default_facts' of https://github.com/danzilio/packer into danzilio-default_facts 2015-06-15 15:29:23 -07:00
Mitchell Hashimoto
65916514c0 Merge branch 'puppet_working_dir' of https://github.com/ColinHebert/packer into ColinHebert-puppet_working_dir 2015-06-15 15:17:45 -07:00
Mitchell Hashimoto
742e556836 provisioner/puppet-masterless: only base if manifest is a file [GH-1933] 2015-06-15 14:44:54 -07:00
Mitchell Hashimoto
2b4df93f2f provisioner/*: interpolation 2015-05-27 14:50:20 -07:00
Emil Hessman
92704b693a provisioner/puppet-masterless: fix missing format argument
Fixes the following vet report:

provisioner/puppet-masterless/provisioner.go:196: missing argument for Errorf(%d): format reads arg 1, have only 0 args
2015-02-25 05:43:18 +01:00