Ali Rizvi-Santiago
0f10032b3d
Moved the progress bar from common to the packer.UI interface and refactored it so that the terminal width is calculated based on each interface which returns a custom progressbar specific to its ui.
2018-08-20 21:55:18 -05:00
Ali Rizvi-Santiago
fd2fef8738
Added support for the progress bar to automatically determine its width using the minimum length from a packer.UI and the terminal dimensions via kernel32.GetConsoleScreenBufferInfo or an ioctl (TIOCGWINSZ) to "/dev/tty".
2018-08-20 21:55:18 -05: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
Megan Marsh
eb685b7140
remove duplicate code from chef provisioner
2018-08-07 10:01:06 -07:00
Megan Marsh
a5a6b1ab58
Merge pull request #6501 from Wenzel/expose_ansible_packer_http_addr
...
Expose ansible packer_http_addr extra var
2018-07-18 17:18:46 -07:00
Megan Marsh
e146973d08
change implementation to set winrm password in way that matches powershell and shell-local implementations; sanitize logs
2018-07-17 16:39:50 -07:00
Mathieu Tarral
3450b6fd6f
ansible: expose packer_http_addr extra var
2018-07-17 19:58:07 +03:00
Levi
6646d42490
updated function calls to include buildname and changed variable names
2018-07-14 14:39:38 -04:00
Levi
68ec630fde
added function to retreive winrm password from commonhelper
2018-07-14 11:25:04 -04:00
Levi
636cec8f2b
added commonhelper import
2018-07-14 11:25:01 -04:00
Levi
37fd50995f
added parameter for setting packer password as env variable
2018-07-14 11:25:00 -04:00
DanHam
485d565e32
Ensure comments are easily readable in a standard terminal
2018-06-15 00:49:15 +01:00
DanHam
e0bcba4913
Make the upload of env vars retryable in case of restarts
2018-06-15 00:09:50 +01:00
localghost
e1a1bb522d
Merge remote-tracking branch 'origin/master' into ansible_local_playbook_files_update
2018-05-26 22:00:50 +02:00
localghost
263a3c6910
Include some of the refactoring reverted by previous revert commit.
2018-05-26 21:59:43 +02:00
localghost
46a1c5d945
Revert "Unify handling PlaybookFile and PlaybookFiles."
...
This reverts commit 81db142c8a
.
2018-05-26 21:58:08 +02:00
M. Marsh
62e1323577
Merge pull request #5956 from hashicorp/dedupe_shell_local
...
Deduplicate the code for the shell-local post-processor and shell-local provisioner
2018-05-23 15:54:27 -07:00
localghost
6c7aa724eb
Fix tests after merging with master.
2018-05-16 22:43:30 +02:00
localghost
c33ca8ce64
Merge remote-tracking branch 'origin/master' into ansible_local_playbook_files_update
2018-05-16 22:14:12 +02:00
localghost
11f2b1ec24
Merge remote-tracking branch 'origin/master' into ansible_local_playbook_files_update
2018-05-16 21:54:39 +02:00
localghost
81db142c8a
Unify handling PlaybookFile and PlaybookFiles.
2018-05-16 21:54:19 +02: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
Megan Marsh
51bcc7aa13
add new feature for telling shell-local whether to use linux pathing on windows; update docs with some examples.
2018-05-07 15:10:10 -07:00
Megan Marsh
e983a94a88
fix default windows bash call for shell-local provisioner and move chmod command from the execute_command array into the portion of code where we actually generate inline scripts, sparing users the need to think about this modification which Packer should really handle on its own
...
make bash call work on windows
2018-05-07 15:10:10 -07:00
Megan Marsh
6dc4b1cbdc
move all of the run commands for shell-local provisioner and postprocessor into common library too
2018-05-07 15:10:09 -07:00
Megan Marsh
926327beba
deduplicate all validation and interpolation of the shell-local config, sharing options between shell-local provisioner and post-processor. Maintain backwards compatibility with shell-local provisioner.
2018-05-07 15:10:09 -07:00
Megan Marsh
616b41e58f
deduplicate the nearly identical communicators for the shell-local provisioner and post-processor, moving single communicator into a new common/shell-local module
2018-05-07 15:10:09 -07:00
M. Marsh
23e51d21c2
Merge pull request #4300 from don-code/master
...
Allow skipping Chef Client staging directory cleanup.
2018-05-07 14:25:57 -07:00
Megan Marsh
fbbcbd772b
remove file stat
2018-05-03 11:08:41 -07:00
Matthew Patton
735f5273a0
tab/space fixup via gofmt
2018-05-01 17:16:47 -04:00
Matthew Patton
b2d78339b0
add missing removeDir() to allow StagingDir clean-up post-run
2018-05-01 17:04:40 -04:00
Matthew Patton
514a597825
alphabetize datastructures
2018-05-01 16:38:01 -04:00
DanHam
69ac7b56f6
Remove tmp files created by provisioner/windows-shell tests
2018-04-30 20:38:03 +01:00
DanHam
b738f41efa
Remove tmp files created by provisioner/powershell tests
2018-04-30 20:38:03 +01:00
DanHam
70ccb8adff
Remove tmp files created by provisioner/puppet-server tests
2018-04-30 20:38:03 +01: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
Don Luchini
edb845b3f4
Allow skipping Chef Client staging directory cleanup ( fixes #3151 ).
2018-04-27 19:35:01 -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
DanHam
7cf31060eb
Remove script containing Win-Shell inline commands from local tmp when done
2018-04-26 00:32:52 +01:00
DanHam
b9ab2c8048
Remove script containing PowerShell inline commands from local tmp when done
2018-04-26 00:32:52 +01:00
DanHam
ccf687dac6
Fix tests
2018-04-24 11:10:35 +01:00
DanHam
5419375413
Change to CMD % style path is no longer required
2018-04-24 11:10:35 +01:00
DanHam
5b652316d9
Dollar's in env vars used in paths may cause problems for ssh
...
* Dollars are interpreted by *nix shells so paths using env vars such as
${env:SYSTEMROOT} will cause issues
2018-04-24 11:10:35 +01:00
DanHam
4e7feea184
Allow users to specify the location that the env vars file is uploaded to
...
Previously the location the file was uploaded to was set internally and
used ${env:SYSTEMROOT}/Temp as the destination folder.
By default, in order to inject the required environment variables, the file
is 'dot sourced' by the 'execute_command' using the {{ .Vars }} variable.
Unfortunately the inclusion of the dollar in the path caused issues for
users connecting over ssh as the (typically bash) shell running the execute
command would try and interpret the dollar sign.
The change allows users to specify the location the file is uploaded to,
thereby allowing the user to specify a custom 'execute_command' that
escapes any dollar signs that could be present in the path.
If not set the upload path now defaults to using C:/Windows/Temp as the
upload folder.
2018-04-24 11:09:55 +01:00
Megan Marsh
3afb243f11
use build name to ensure that winrm password and other shared state is not overwritten if two builders need the password in the same packer run.
2018-04-16 13:41:17 -07:00
M. Marsh
56dd8cdb63
Merge pull request #3891 from nouney/f-generated-files
...
Add "generated" file tag to allow users to upload files created on the fly.
2018-04-05 16:08:38 -07:00
Omer Katz
c0719a3590
Allow using a custom inventory file.
2018-04-05 12:56:07 +03:00
Joshua C. Randall
406bf9c4aa
override ansible executor inventory to use InventoryDirectory instead of InventoryFile when set
2018-03-26 17:24:58 +01:00
DanHam
ef4817d644
Fix vertical spacing
2018-03-23 14:01:30 +00:00
DanHam
34db6c4ab1
Remove temp debugging output
2018-03-23 12:45:49 +00:00
Megan Marsh
072cd6b745
Merge pull request #5998 from hashicorp/do_5895
...
allow users of AWS to use the dynamically-generated admin password wh…
2018-03-22 16:01:22 -07:00
Megan Marsh
4e321b2dfa
don't need to use a receiver with this function
2018-03-22 15:55:24 -07:00
Matthew Hooker
732a532d0e
pass file info during shell file upload
2018-03-20 16:32:55 -07:00
Megan Marsh
ce1ab1f021
fix winrm password
2018-03-15 09:44:22 -07:00
Megan Marsh
559719020c
use {{.WinRMPassword}} instead of some other weirdness
2018-03-14 17:19:17 -07:00
Megan Marsh
d689e6b4d3
allow users of AWS to use the dynamically-generated admin password which we use as the winRM password as an elevated password in the Powershell provisioner, as well as an environment variable in same provisoner.
2018-03-14 15:58:12 -07:00
Megan Marsh
414dd80e61
Merge pull request #6013 from jsoref/spelling
...
Spelling
2018-03-14 09:50:27 -07:00
Megan Marsh
b33d6ce82e
fix salt provisioner on linux
2018-03-13 16:13:23 -07:00
Megan Marsh
e2f55a50b5
Merge pull request #5702 from brokenbot/salt-masterless-windows
...
Windows Support for salt-masterless provisioner #5432
2018-03-13 14:26:40 -07:00
Josh Soref
24b4c36fc9
spelling: function
2018-03-13 07:52:02 +00:00
Josh Soref
b545c6f87e
spelling: flattened
2018-03-13 07:50:25 +00:00
Josh Soref
04d6bfc696
spelling: environment
2018-03-13 07:41:21 +00:00
Josh Soref
684a3f5d8a
spelling: custom
2018-03-13 07:26:33 +00:00
Megan Marsh
f3a538db46
fix tests
2018-03-09 13:36:47 -08:00
Megan Marsh
3faf73b5f3
change backslashes to forward slashes in powershell provisioner; was breaking with cygwin
2018-03-09 09:29:29 -08:00
SwampDragons
7d9a86becb
Revert "Fix #5335"
2018-02-12 11:03:19 -08:00
DanHam
2d830d5d43
Auto escape chars special to PowerShell in user supplied data
2018-02-08 12:03:19 +00:00
DanHam
aaf7102b9a
Tests for escape of chars special to PowerShell in user supplied data
2018-02-08 12:03:18 +00:00
DanHam
a7b118ed94
Fix tests post changes. Add test for upload func.
2018-02-08 12:03:18 +00:00
DanHam
478589abec
Extend upload and subsequent 'dot sourcing' of env vars to std PS command
...
* Wrap funcs to flatten and upload env vars with new func prepareEnvVars.
While the wrapped funcs could be combined, keeping them separate
simplifies testing.
* Configure/refactor std and elevated PS to use new funcs to prepare,
upload and dot source env vars.
* Dot sourcing the env vars in this way avoids the need to embed them
directly in the command string. This avoids the need to escape the env
vars to ensure the command string is correctly parsed.
* Characters within the env vars that are special to PS (such as $'s
and backticks) will still need to be escaped to allow them to be
correctly interpreted by PS.
* The std and elevated PS commands now inject env vars into the remote
env via the same mechanism. This ensures consistent behaviour across the
two command types.
Fixes #5471
2018-02-08 12:03:18 +00:00
Marc Mercer
d3c7d43f20
Small typo correction
2018-02-07 19:47:01 -08:00
Marc Mercer
5d67f77f43
Fixing 5852
2018-02-07 19:41:01 -08:00
Megan Marsh
974d9974fe
add workaround for azure bug.
2018-02-07 11:34:18 -08:00
Megan Marsh
addedbb680
Revert "Merge pull request #5515 from DanHam/dot-source-env-vars"
...
revert so we can use a branch that's had more recent work done
This reverts commit e56849c605
, reversing
changes made to 6d14eb6ea4
.
2018-02-02 09:58:39 -08:00
Megan Marsh
79fe900378
Revert "Merge pull request #5376 from DanHam/ps-escapes"
...
Revert so that we can merge a different branch that's had more recent work instead
This reverts commit ba518637d4
, reversing
changes made to e56849c605
.
2018-02-02 09:57:36 -08:00
DanHam
7443adf2fd
Simpler escape of chars special to PowerShell in user supplied data
2018-02-01 13:19:07 -08:00
DanHam
68e13c90b1
Revert "Escape chars special to PowerShell in user supplied data"
...
This reverts commit 53aefe744bcd74ee6ac866f764eafe9e7f507d80.
2018-02-01 13:19:07 -08:00
DanHam
b67c64fd66
Tests for escape of chars special to PowerShell in user supplied data
2018-02-01 13:19:07 -08:00
DanHam
f3c326bb3c
Escape chars special to PowerShell in user supplied data
2018-02-01 13:11:05 -08:00
SwampDragons
e56849c605
Merge pull request #5515 from DanHam/dot-source-env-vars
...
Extend upload and subsequent dot sourcing of env vars to non-elevated Powershell cmd
2018-02-01 13:06:01 -08:00
Matthew Hooker
9f87213ba4
tests and docs for #5831
2018-01-31 13:08:25 -08:00
Matthew Hooker
3127bfbcfb
Merge pull request #5831 from uShip/chef-client-policyfiles
...
Added Policyfile support to chef-client provisioner
2018-01-31 12:54:27 -08:00
Matthew Hooker
aa76c47019
Merge pull request #5703 from frankdannhauer/5335
...
Fix #5335
2018-01-31 12:53:49 -08:00
Evan Machnic
5cedfc4557
Fixed go format errors
2018-01-31 11:06:31 -06:00
Evan Machnic
7354247933
Added policyGroup and policyName to Packer Communicator
2018-01-31 11:01:08 -06:00
Evan Machnic
fe90f79704
Changed new code to use tabs instead of spaces
2018-01-31 10:54:40 -06:00
Evan Machnic
1f92aa2c0a
Added Policyfile support to chef-client provisioner
2018-01-31 10:49:04 -06:00
Matthew Hooker
4bccbbba1f
Merge pull request #5790 from GennadySpb/trusted_certs_dir
...
Support 'trusted_certs_dir' chef-client configuration option
2018-01-23 13:11:27 -08:00
Matthew Hooker
ebe995c0ff
run goimports
2018-01-22 17:21:10 -08:00
Gennady Lipenkov
53aaf84100
Support 'trusted_certs_dir' chef-client configuration option
2018-01-13 01:53:49 +03:00
Aidan Feldman
b894c925d1
make user retrieval for Ansible provisioner more robust
...
Previously, the Ansible provisioner would look for the username from the
`USER` environment variable. Unfortunately, this is not always set -
particularly in Docker containers. It's very confusing to understand why
the error is happening.
Switched to using Go's built-in `os/user` package for retrieving the
current username. @rickard-von-essen had done this in 7369841
, but
moved away from it in d59844f
because, at the time, it wasn't possible
to use that library with cross-compilation. This was fixed in Go in
795e712b72
2018-01-03 02:52:41 -05:00
Hunter Morgan
6410fd615c
typo
2017-12-18 20:21:26 +00:00
frankdannhauer
893d0334f1
Fix #5335
...
https://github.com/hashicorp/packer/issues/5335
2017-12-14 14:00:52 +01:00
Dave Sanderson
fc566a3cb4
Added test for new commands and guest os type
2017-12-13 11:16:21 -07:00
Dave Sanderson
bf7a4b3363
remove erroraction on win removedir
2017-12-13 10:49:38 -07:00
Dave Sanderson
284b069003
Fixed stating of files on windows
...
added directory existence check to salt provisioner before directory clean up
2017-12-13 10:20:27 -07:00
Dave Sanderson
57770de36f
revert file stat
2017-12-12 16:01:00 -07:00
Dave Sanderson
a1ba4e5362
Silently continue on removeDir for Windows
...
Fixed parameter type exclusion in movePath command
2017-12-12 15:32:40 -07:00
Dave Sanderson
887b7dc476
Fix mixed case for mv
2017-12-12 15:24:34 -07:00
Dave Sanderson
aee67d3933
Add ability to move files on remote system
...
Fix salt-masterless to use generic MovePath
2017-12-12 15:22:10 -07:00
Dave Sanderson
857e5d04d3
Fix command error for salt install
2017-12-12 15:11:29 -07:00
Dave Sanderson
666796e8eb
Add ability to stat a remote path
2017-12-12 14:39:13 -07:00
Dave Sanderson
630b7466d6
updated test to remove old DefaultTmpDir reference
...
Fixed sudo logic
Fixed error message format issue for OSType check
2017-12-12 11:49:10 -07:00
Dave Sanderson
0efda50354
Initial Windows support
2017-12-12 11:36:38 -07:00
Megan Marsh
19c997cb0e
revert to using UI becuase the remote command syntax breaks things on linux with vmware fusion.
2017-12-07 09:08:12 -08:00
SwampDragons
753d3cf216
Merge pull request #5618 from kwilczynski/ansible-local-clean-staging-directory
...
ansible-local: Add ability to clean staging directory.
2017-11-30 14:27:59 -08:00
Casey Robertson
8f02150178
Changes Linux install URL to omnitruck. Changes powershell install to use omnitruck rather than hard-coded 32-bit url
2017-11-28 14:23:12 -08:00
Krzysztof Wilczynski
10370adbab
ansible-local: Add ability to clean staging directory.
...
Signed-off-by: Krzysztof Wilczynski <kw@linux.com>
2017-11-21 21:09:01 +01:00
SwampDragons
ce1f2457fd
Merge pull request #5563 from hashicorp/fix_5483
...
make restart command work correctly even if user has their own check …
2017-11-09 16:16:47 -08:00
Megan Marsh
c3cb7fe9f9
read from stderr so it doesnt lock up
2017-11-09 15:52:49 -08:00
Megan Marsh
9b1ae530c3
have separate stdout and stderr buffers
2017-11-09 15:35:28 -08:00
Matthew Hooker
e073d63f30
remove racy reuse of single buffer for remotecmd stderr/out.
2017-11-09 15:22:47 -08:00
Megan Marsh
6019e41544
dont read stderr
2017-11-09 15:18:43 -08:00
Megan Marsh
73b6247fd2
remove unnecessary boolean operator
2017-11-09 15:04:25 -08:00
Megan Marsh
e56a6dc9a0
add some comments
2017-11-09 14:55:12 -08:00
Megan Marsh
a739623d9b
don't pipe restarted stuff through the ui
2017-11-09 14:44:26 -08:00
Megan Marsh
d71bc34dfc
don't need this in a loop
2017-11-09 11:49:12 -08:00
Megan Marsh
d81871171c
make restart command work correctly even if user has their own check command
2017-11-07 15:01:02 -08:00
DanHam
4b89fc1c00
Fix tests post changes. Add test for upload func.
2017-10-30 21:08:14 +00:00
DanHam
5949bc91c4
Extend upload and subsequent 'dot sourcing' of env vars to std PS command
...
* Wrap funcs to flatten and upload env vars with new func prepareEnvVars.
While the wrapped funcs could be combined, keeping them separate
simplifies testing.
* Configure/refactor std and elevated PS to use new funcs to prepare,
upload and dot source env vars.
* Dot sourcing the env vars in this way avoids the need to embed them
directly in the command string. This avoids the need to escape the env
vars to ensure the command string is correctly parsed.
* Characters within the env vars that are special to PS (such as $'s
and backticks) will still need to be escaped to allow them to be
correctly interpreted by PS.
* The std and elevated PS commands now inject env vars into the remote
env via the same mechanism. This ensures consistent behaviour across the
two command types.
Fixes #5471
2017-10-30 21:08:13 +00:00
Matthew Hooker
ecad3348b3
rephrase log message.
2017-10-26 10:41:49 -07:00
Ohad Basan
33b85b0130
Add suggestion for "expected_disconnect" option if disconnection occurs
2017-10-26 19:53:48 +03:00
Matthew Hooker
75111e49e9
remove convoluted pointer logic
2017-10-11 23:35:24 -07: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
DanHam
fa5fd602aa
Fix tests post changes
2017-09-26 11:07:26 +01:00
DanHam
8214a12a2a
Move append of portion of command used to send elevated PS output to file
2017-09-26 11:07:26 +01:00
DanHam
2a060adbf8
Don't use -EncodedCommand with PS as progress stream always leaks to stderr
...
* Setting $ProgressPreference to SilentlyContinue makes no difference
when -EncodedCommand is used - any output to the progress stream
still appears on stderr.
* Delete file containing encode/decode functions since we no longer
need them.
* Fixes leak of output on progress streams for both normal and elevated
commands.
* Since we no longer base64 encode, ensure any characters special to XML
are correctly escaped in the elevated command. This ensures correct
parsing once the command is wrapped within the elevatedTemplates XML
based Task Scheduler definition.
Fixes #4322
2017-09-26 11:07:11 +01:00
Matthew Hooker
2297cfaee2
Merge pull request #5357 from lochnesh/fix-windows-chef-solo-version
...
use flag -version instead of -v to install chef-solo on Windows
2017-09-25 18:18:16 -05:00
DanHam
5374c6e367
Use system context env var to set path for elevated PS env vars file
2017-09-21 12:08:29 +01:00
Skyler Nesheim
52d3137b08
use flag -version instead of -v to install chef-solo on Windows
2017-09-18 09:43:02 -05:00
Matthew Hooker
70e493a2c2
fix directory permissions when using sudo
2017-09-15 10:48:50 -07:00
Matthew Hooker
af1187d5e1
simplify a bit
2017-09-15 10:06:54 -07:00
Megan Marsh
b05c673a14
Update powershell provisioner test with new default
2017-09-15 08:17:17 -07:00
Megan Marsh
cbe1d7d854
simplify file upload for elevated powershell wrapper
2017-09-14 17:01:48 -07:00
Megan Marsh
92e70757bb
Move env vars into a file that we dot-source instead of trying to write them all to the command line
2017-09-14 17:00:57 -07:00
Megan Marsh
d458628529
exclude elevated_executed_command from config interpolation so it can be used correctly later
2017-09-14 10:50:32 -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
Megan Marsh
c6889ad009
clarify logging by changing 'shell' to 'powershell' inside of the powershell provisioner
2017-09-06 11:59:25 -07:00
Megan Marsh
959db1ac16
add echo test to winrm connection.
2017-09-01 15:26:41 -07:00
Matthew Hooker
54920422ea
Merge pull request #5252 from c22/packer_4391_rework
...
#4391 rework (see #4426 )
2017-08-31 13:46:48 -07:00