Megan Marsh
82367a88f8
reorganize placeholder data call to live with provisioner implementation; force users to use the generated function, therefore forcing validation, for all variables except winrmpassword, by doing a simple string check against the placeholder data.
2019-12-14 03:32:38 -08:00
Megan Marsh
ac570e0cc0
store ssh public and private keys on shared info
2019-12-13 13:15:03 -08:00
Megan Marsh
88d4ce37c9
template functioin to let Provisioners access PACKER_RUN_UUID
2019-12-13 13:03:09 -08:00
Megan Marsh
84063d2132
implement ID and Type values in the provisioner template info sharing
2019-12-13 11:57:01 -08:00
Megan Marsh
e1652696a6
Rather than using reflection to grab the whole SSH config, for now just use the config convenience functions to get the majority of needed values
2019-12-13 10:02:13 -08:00
Megan Marsh
3389d843f0
update all provisioners that used the winrmpassword tooling to use the new generateddata option
2019-12-12 16:42:53 -08:00
Megan Marsh
39fd462b56
change all provision func signatures to use map[string]interface{}
2019-12-12 15:38:32 -08:00
Megan Marsh
5d266b20d0
generated func now validates based on data provided in context, which needs to include the future values if it is to be interpolated properly.
2019-12-11 15:43:38 -08:00
Megan Marsh
528b853178
stub out generated func for validation
2019-12-11 15:43:38 -08:00
Megan Marsh
7616fbcf3f
skip shell local for now
2019-12-11 15:43:38 -08:00
Megan Marsh
6f418d0e54
get data sharing to a working state with the powershell provisioner
2019-12-11 15:43:38 -08:00
Megan Marsh
f4c3501af5
pass struct of generated data into provision() call
2019-12-11 15:43:38 -08:00
Sylvia Moss
096cab9b48
Fix floppy doc markdown typo ( #8458 )
2019-12-06 14:12:11 +01:00
Megan Marsh
76bfaf9da8
Merge pull request #8394 from hashicorp/fix_iso_target_path
...
Don't cache when TargetPath is non-nil
2019-12-02 16:24:56 -08:00
Megan Marsh
a8ffa60b46
remove the already-included packer config from top level struct
2019-11-25 11:24:00 -08:00
Megan Marsh
7d4353864f
use shell struct in shell-local provisioner and post-processor.
2019-11-21 16:47:29 -08:00
Megan Marsh
cf0130b9ed
pick up dropped error
2019-11-20 16:16:33 -08:00
Megan Marsh
9fc8ed02ae
Don't cache when TargetPath is non-nil; this messes up use of the iso_target_path iso template option.
2019-11-20 16:05:24 -08:00
Megan Marsh
ae184fe31d
ask for VM by name to reduce looping.
2019-11-08 16:20:03 -08:00
nywilken
3522e13b1e
provisioner/shell: Add `env_var_format` support to shell provisioner
...
* Move setting of default EnvVarFormat to the Prepare function
* Add generated hcl2 structure for the updated Shell provisioner config
* Move `EnvVarFormat` field to shared common shell type
* Add description for the `env_var_format` parameter
* Update `env_var_format` when used with `use_env_var_file`
2019-11-06 16:28:56 -05:00
Adrien Delorme
c0db000dc3
Merge pull request #8310 from alrs/resuscitate-common-floppy-tests
...
common: Resuscitate Floppy Tests
2019-11-04 15:50:46 +01:00
Lars Lehtonen
5926997a31
common: remove unused test function getDirectory()
2019-11-02 11:37:41 -07:00
Lars Lehtonen
9a90aa67e6
common: resuscitate TestStepCreateFloppy_missing()
2019-11-02 10:12:31 -07:00
Lars Lehtonen
8e2885e626
common: resuscitate TestStepCreateFloppy_notfound()
2019-11-02 10:10:36 -07:00
Adrien Delorme
819329228a
Change back to make sure all durations are a time.Duration
...
It is simply the best/simplest solution and trying to prevent users from passing and integer here would be like opening a can of worms. Because:
* we cannot make mapstructure validate our duration string ( with an UnmarshalJSON func etc.)
* we cannot make mapstructure spit a string instead of a duration and packer will decode-encode-decode config.
* the hcl2 generated code asks for a string, so this will be enforced by default.
2019-10-31 16:12:07 +01:00
Adrien Delorme
bf3d9841c6
Force durations to be passed a strings
...
Before this commit it was possible to set a duration using an integer or a float. Go's time.Duration is an int64 internally an mapstructure will take advantage of this and load the number as a int64 but `1` means one ns which is unexpected/confusing. To avoid confusion and enforce readability this forces users to pass a string with a unit for a duration; ex "56s".
2019-10-31 11:47:19 +01:00
Megan Marsh
a783a09ea3
Merge pull request #8269 from paulmey/paulmey/generalize-chroot
...
[amazon/chroot] Move common/generic chroot builder steps to common directory
2019-10-24 14:32:01 -07:00
Paul Meyer
3be7d81ce2
Move common steps together
2019-10-24 04:21:46 +00:00
Paul Meyer
e6dfe301ac
Move CommandWrapper & ShellCommand to common
2019-10-24 04:06:29 +00:00
Lars Lehtonen
731e0332cf
common: collect dropped error
2019-10-23 13:02:08 -07:00
Megan Marsh
d15f43e4eb
Merge pull request #8232 from hashicorp/artifact-tree
...
HCL2 configs - part one
2019-10-22 11:54:34 -07:00
Megan Marsh
e5becfc854
Merge pull request #8248 from marcinbojko/master
...
hyper-v fix for compacting only .vhd|.vhdx files
2019-10-21 11:47:15 -07:00
Marcin Bojko
1b4ffe546f
hyper-v fix for compacting vhdx/vhd only
2019-10-19 12:46:34 +02:00
Adrien Delorme
cf1555bf17
Merge remote-tracking branch 'origin/master' into artifact-tree
2019-10-16 10:22:56 +02:00
Vladimír
d6994df188
Select first adapter attached to host OS's switch
...
If more than one vNic is attached to vmSwitch, use the first one only.
2019-10-15 15:14:22 +02:00
Adrien Delorme
078ba7c8c3
commit old code generation tool
...
for history
2019-10-15 12:56:42 +02:00
Adrien Delorme
7be94f41a6
common.shell-local: unexport Ctx field
...
so that it doesn't temper with hcl2 generation
2019-10-15 12:56:42 +02:00
Davor Kapsa
49e4a2d9ef
Add error check
2019-10-09 15:55:07 +02:00
Megan Marsh
843986c2d4
missing bracket
2019-10-04 10:41:12 -07:00
Megan Marsh
59efa0faee
rename option to error-cleanup-privisoner, which I think is clearer
2019-09-25 13:43:29 -07:00
Megan Marsh
5bd8fee708
Creates a final "cleanup" provisioner to run if an error occurs during a provisioning step, allowing users to perform any custom cleanup tasks that must happen on the VM before the VM is shut down and destroyed.
2019-09-24 16:08:15 -07:00
Adrien Delorme
299544a4c7
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-09-20 14:47:02 +02:00
Lars Lehtonen
a98f2d2170
common: fix dropped errors and warnings in test
2019-09-20 05:06:25 -07:00
Adrien Delorme
3fe9d52e3f
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-09-20 11:15:44 +02:00
allinwait
34ba03d3cb
use printf for logging
2019-09-13 01:53:42 +03:00
allinwait
171c2a9a07
add the floppy label option
2019-09-12 12:25:22 +00:00
Adrien Delorme
597a3e323b
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-09-10 13:20:07 +02:00
Adrien Delorme
aa9cc919ab
Merge branch 'master' into circle_ci_windows
2019-09-10 12:54:35 +02:00
Adrien Delorme
146b88ba1e
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-09-10 12:44:46 +02:00
DanHam
2b6286c31c
Fix powershell formatting. Match style for conditionals
2019-09-09 23:05:40 +01:00
Adrien Delorme
7ba91b7d25
configure_port_test.go: don't panic when error is not what we expected
2019-09-05 17:03:54 +02:00
Marcin Bojko
d4ff29f6c5
hyper-v fix when management interface is not part of virtual switch
...
2
formatting fix
2019-08-22 07:54:50 +02:00
Adrien Delorme
4cb7c30987
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-08-21 16:44:23 +02:00
Megan Marsh
cd3b39ad17
commit generated code
2019-08-12 15:55:43 -07:00
Stephen Fox
a6830f8348
Move 'ui' variable closer to invocation.
2019-07-31 14:08:40 -04:00
Stephen Fox
e362d2f3ee
Use 'log.Printf()' for StepDownload debug instead of 'ui.Say()'.
2019-07-31 14:02:57 -04:00
Megan Marsh
90c5da40f2
implement abort logic and printing for the askstep implementation as well
2019-07-26 12:24:03 -07:00
Megan Marsh
54034689ef
On abort, return gracefully rather than exiting so that the subprocess doesn't unexpectedly disconnect from the parent and cause a confusing EOF error in the logs
2019-07-25 16:32:16 -07:00
Christian Muehlhaeuser
216afbaa8b
Fixed various typos
...
Just a bunch of nit-picky typo fixes.
2019-07-25 06:49:51 +02:00
Megan Marsh
e9549d2688
add test for local fs download
2019-07-22 09:17:48 -07:00
Megan Marsh
197a283b5e
actually check for filepath being present
2019-07-19 10:35:50 -07:00
Megan Marsh
64f16474f8
fix double slash conundrum
2019-07-19 10:16:40 -07:00
WilliamB
aef77771c0
Correct HTTPIP == FALSE on HyperV builder
2019-07-17 03:41:41 -05:00
Megan Marsh
d6d4eb2087
fix some tests and some config behavior to prevent null dereference errors and incorrect precedence between iso checksum and iso checksum url
2019-06-28 15:29:39 -07:00
Megan Marsh
998ef4053f
parse checksum file so that we can use the checksums inside in the vmware-esxi builder stepuploadiso
2019-06-28 14:35:43 -07:00
Megan Marsh
88d589cc88
enable smb share double backslash pathing too
2019-06-26 13:43:05 -07:00
Megan Marsh
12471a8b06
use file getter for smb shares
2019-06-26 13:21:49 -07:00
Adrien Delorme
735b34e01f
Document the virtualbox-iso builder using partials
2019-06-19 17:37:22 +02:00
Adrien Delorme
4c1abf828c
Merge branch 'master' into scrape_doc_to_builder_struct_config
2019-06-19 11:21:06 +02:00
Megan Marsh
8d25cc578f
Merge pull request #7746 from hashicorp/fix_7671
...
Abort hyperv build if there's a name collision
2019-06-14 10:58:22 -07:00
Adrien Delorme
daa9f9d34e
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-06-14 15:17:56 +02:00
Adrien Delorme
425ad1c67e
generate Shutdown command docs from strutc & use in hyperv
2019-06-14 12:43:31 +02:00
Adrien Delorme
c11ef90cb6
use interpolate.NewContext() instead of testConfigTemplate(t)
...
because it's what's happenning there
2019-06-14 12:17:28 +02:00
Adrien Delorme
926c8bbaa6
refactor ShutdownConfig into a single struct
2019-06-14 12:17:28 +02:00
Adrien Delorme
24fad50b00
hyperv-iso: document boot config, http & floppy from partials
2019-06-14 12:17:27 +02:00
Adrien Delorme
3bb8c92902
qemu: document boot command from struct
2019-06-14 12:17:27 +02:00
Adrien Delorme
b48d22b43b
qemu: document FloppyConfig from struct
2019-06-14 11:52:38 +02:00
Adrien Delorme
3b66cac617
document HTTPConfig from struct
2019-06-14 11:52:38 +02:00
Megan Marsh
2e821da84b
check to make sure a vm-name isn't already in use before trying to launch a vm with said name.
2019-06-13 14:09:45 -07:00
Adrien Delorme
dbfadc0eea
generate struct markdown from common/iso_config.go
2019-06-12 16:02:49 +02:00
Adrien Delorme
20a152d4aa
add comments to common/iso_config.go from docs
2019-06-12 16:02:02 +02:00
Adrien Delorme
ca33f8bc5c
Revert "Backoff.Linear: panic when InitialBackoff > MaxBackoff"
...
This reverts commit 39cfacd5fa
.
2019-06-11 12:53:06 +02:00
Adrien Delorme
39cfacd5fa
Backoff.Linear: panic when InitialBackoff > MaxBackoff
...
this probably means there's a configuration issue.
Since this struct is mainly set manually from code, I think it is okay to panic here.
2019-06-11 12:41:21 +02:00
Adrien Delorme
36e4eaff99
document retry.Backoff better
2019-06-11 12:20:00 +02:00
Radek Simko
8519da6ce9
common/net: Cleanup cache of used port after closing
2019-05-06 22:11:52 +01:00
Adrien Delorme
b329073e54
remove trying port log as retry code will show errors
...
less logs !
2019-05-01 13:04:51 +02:00
Adrien Delorme
38f789eedc
add error types to test for
2019-05-01 13:01:25 +02:00
Adrien Delorme
14f2d1c132
ListenRangeConfig:Listen: use the retry pkg to wait a bit in between opens
2019-05-01 12:27:32 +02:00
Adrien Delorme
e14d1b8b0b
add a timeout trying to open a random port
2019-05-01 12:01:34 +02:00
Adrien Delorme
2fd7adffc4
add tests for ListenRangeConfig.Listen
2019-05-01 11:46:48 +02:00
Adrien Delorme
d9e5145de9
Shadow the flock pkg & add a noop filelock so that at least the solaris binary can be built
...
Without this the following error occurs:
$ GOOS=solaris go build .
# github.com/hashicorp/packer/vendor/github.com/gofrs/flock
vendor/github.com/gofrs/flock/flock_unix.go:28:22: undefined: syscall.LOCK_EX
vendor/github.com/gofrs/flock/flock_unix.go:39:22: undefined: syscall.LOCK_SH
vendor/github.com/gofrs/flock/flock_unix.go:56:12: undefined: syscall.Flock
vendor/github.com/gofrs/flock/flock_unix.go:66:12: undefined: syscall.Flock
vendor/github.com/gofrs/flock/flock_unix.go:96:12: undefined: syscall.Flock
vendor/github.com/gofrs/flock/flock_unix.go:96:42: undefined: syscall.LOCK_UN
vendor/github.com/gofrs/flock/flock_unix.go:118:21: undefined: syscall.LOCK_EX
vendor/github.com/gofrs/flock/flock_unix.go:130:21: undefined: syscall.LOCK_SH
vendor/github.com/gofrs/flock/flock_unix.go:149:9: undefined: syscall.Flock
vendor/github.com/gofrs/flock/flock_unix.go:149:44: undefined: syscall.LOCK_NB
vendor/github.com/gofrs/flock/flock_unix.go:149:44: too many errors
2019-04-30 16:01:23 +02:00
Adrien Delorme
5d9d43c01d
add tests for ListenRangeConfig.Listen
2019-04-30 15:42:59 +02:00
Adrien Delorme
fd63ec9a6c
ListenRangeConfig.Listen: move trying port log after fslock trylock for less logs
2019-04-30 15:35:22 +02:00
Adrien Delorme
79ae62801f
ListenRangeConfig: default network ( protocol ) to tcp
2019-04-30 14:55:38 +02:00
Adrien Delorme
65be2be38b
step_download: force copy of local files only on windows
2019-04-29 09:39:21 +02:00
Adrien Delorme
200e26ea85
Step download: always copy local files
...
instead of symlinking to fix #7534 . The longer term fix for this would be to change the go-getter so that it can leave the source file where it is & tell us where it is.
We will do this when the right time comes.
2019-04-26 10:35:18 +02:00
Adrien Delorme
9f1136db77
retry: encapsulate & return the last seen error in a RetryExhaustedError
2019-04-24 14:19:23 +02:00
Megan Marsh
e69d95eb37
when retries were exhausted in the retry Run, we were returning nil instead of an error.
2019-04-23 13:48:30 -07:00
Adrien Delorme
5f0259fe89
step download: don't fail when checksum_type is not set
2019-04-16 18:09:54 +02:00
Adrien Delorme
4dc12701d3
step_download: display clearer error messages, also when the checksum is not set
...
Usually the builder validation should error when the checksum is empty, but for the virtualbox-ovf builder this is not validated. Which is something I didn't see when refactoring for go-getter incorporation/refactor.
2019-04-15 14:34:09 +02:00