Sylvia Moss
2f63c581a0
Remove unnecessary 1 sec sleep ( #8453 )
2019-12-06 11:43:28 +01:00
Sylvia Moss
5ff5623433
Add disable_shutdown option to VirtualBox builder ( #8449 )
2019-12-05 14:34:56 +01:00
Adrien Delorme
a36b94320a
virtualbox: simplify ParseSnapshotData
2019-11-06 10:24:20 +01:00
Adrien Delorme
116a038de9
Update snapshot.go
...
avoid a panic on a too short slice.
2019-11-05 15:48:32 +01:00
Adrien Delorme
14243ce56a
Merge pull request #8305 from hashicorp/fix_8301
...
allow nvme, since virtualbox 6.0 allows it
2019-11-04 17:58:18 +01:00
Adrien Delorme
a23801d4a9
builder.virtualbox.iso: document that EFI mode needs to be enabled for pcie/nvme to work too
2019-11-04 14:30:59 +01:00
Megan Marsh
974eba443a
update docs to include warning about extension pack
2019-11-01 09:48:35 -07:00
Adrien Delorme
b790776096
vbox iso: use NVMe Controller when the hard drive interface if pcie
2019-11-01 14:43:59 +01:00
Megan Marsh
6f54468dd5
fix mocks
2019-10-31 15:36:22 -07:00
Megan Marsh
65ad3105b3
udpdate generated code
2019-10-31 15:28:36 -07:00
Megan Marsh
9343a23021
add driver calls to enable nvme controller
2019-10-31 15:21:52 -07:00
Megan Marsh
d2867c47f0
allow nvme, since virtualbox 6.0 allows it
2019-10-31 14:43:46 -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
Adrien Delorme
078ba7c8c3
commit old code generation tool
...
for history
2019-10-15 12:56:42 +02:00
Lars Lehtonen
4a3a011310
builder/virtualbox/vm: fix dropped error
2019-10-01 15:54:28 -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
171c2a9a07
add the floppy label option
2019-09-12 12:25:22 +00:00
Brian Fox
5b6dcb0c94
fix(virtualbox) LoadSnapshots should succeed even if VM has no snapshots
2019-09-12 10:51:12 +02: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
350aa54274
Update step_shutdown_test.go
...
bump test duration
2019-09-10 13:07:30 +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
Thomas Meckel
01edafb49f
Cleaned up golint warnings
2019-08-19 21:36:43 +02:00
Thomas Meckel
92501cd344
target_snapshot is not optional as described in the documentation
2019-08-19 21:36:43 +02:00
Megan Marsh
06bef2844b
Merge pull request #7996 from hashicorp/fix_7925
...
dont bother with a targetpath for the vbox additions; use a hash like…
2019-08-19 09:45:38 -07:00
Brian Fox
47c027e5c8
Remove check/requirement for target_snapshot
2019-08-19 11:25:17 +02:00
Megan Marsh
02399f32f6
dont bother with a targetpath for the vbox additions; use a hash like everything else
2019-08-15 15:10:25 -07:00
Thomas Meckel
822b72bd14
Added force_delete_snapshot configuration item and the corresponding checks
2019-07-26 12:34:28 +02:00
Thomas Meckel
e7583de847
StepCreateSnapshot.Run() will stop and create an error if the virtual machine is still running
...
Removed left over code from StepCreateSnapshot.Cleanup()
2019-07-26 12:34:27 +02:00
Thomas Meckel
d9b8623f64
StepShutdown now always waits for the shutdown of the virtual machine to complete, not only if a shutdown command is specified
2019-07-26 12:34:27 +02:00
Thomas Meckel
b873876670
Added test TestSnapshot_EnsureParents
...
No using asserts NotNil and Nil
2019-07-26 12:34:27 +02:00
Thomas Meckel
6fd0b3e83e
Fixed a bug in ParseSnapshotData
...
Added fuction GetSnapshots
2019-07-26 12:34:26 +02:00
Thomas Meckel
225a140055
Applied correct source format (got fmt) to builder\virtualbox\common\driver_mock.go
2019-07-26 12:34:26 +02:00
Thomas Meckel
51e5ae69db
Corrected method signatures in builder\virtualbox\common\driver_mock.go
2019-07-26 12:34:26 +02:00
Thomas Meckel
ab6a163ff2
Added missing newline at end of builder\virtualbox\common\driver_mock.go
2019-07-26 12:34:25 +02:00
Thomas Meckel
e9b5332e99
Added missing functions to builder\virtualbox\common\driver_mock.go
2019-07-26 12:34:25 +02:00
Thomas Meckel
fd5a2db58f
Removed commented (obsolete) code from builder\virtualbox\common\driver_4_2.go
2019-07-26 12:34:25 +02:00
Thomas Meckel
7d3c84e5f9
Changed VirtualBox VM builder according to current builder interface
2019-07-26 12:29:48 +02:00
Thomas Meckel
2ef911f6f0
Fixed bugs in snapshot and builder code
2019-07-26 12:29:47 +02:00
Thomas Meckel
ebd2780e5d
implemented first unit tests for snapshot.go
2019-07-26 12:29:46 +02:00
Thomas Meckel
f1f7c4e10c
* added function ParseSnapshotData to parse a string representation of a VBox snapshot tree
...
* fixed bugs
2019-07-26 12:29:46 +02:00
Thomas Meckel
45e2095ae3
Moved parsing of tree string representation to new function in snapshot.go
2019-07-26 12:29:45 +02:00
Thomas Meckel
092e32fe9e
First version of reworked snapshot implementation
2019-07-26 12:29:45 +02:00
Thomas Meckel
a6074894f1
Defined struct and first function for enhanced snapshot handling
2019-07-26 12:29:45 +02:00
Thomas Meckel
d3202497ae
First working version of virtualbox/vm builder
2019-07-26 12:29:44 +02:00
Thomas Meckel
2a531f8ad6
Merged changes from local branch
2019-07-26 12:29:44 +02:00
Adrien Delorme
74f0d56cfc
virtualbox merge vbpx manage configs
2019-06-19 17:07:23 +02:00
Adrien Delorme
01eff9472a
virtualbox: merge ExportOpts and ExportConfig structs
2019-06-19 16:35:15 +02:00
Adrien Delorme
9b75c0af3d
WIP VB
2019-06-17 16:42:49 +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
4bf6a56d71
split communitacor.SSH & communitacor.WinRM to facilitate documentation
...
put doc for communicator into the struct
2019-06-06 16:55:24 +02:00
Adrien Delorme
4399684372
make fmt autogenerated docs
2019-06-06 16:29:25 +02:00
Adrien Delorme
e6cbb013ba
add // go:generate struct-markdown to all previously edited files
2019-06-05 16:42:18 +02:00
Adrien Delorme
f1917edd34
generate the comments for config struct of builders scraping doc website
2019-06-05 16:42:17 +02:00
Adrien Delorme
d72040f4fa
move retry code into the common/retry pkg and make retry context aware
2019-04-09 17:46:38 +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
c4f3dccc14
rename interpolation context from ctx to ictx and contexts to ctx to avoid conflicts
2019-04-03 15:56:15 +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
Megan Marsh
9f1a4e0fed
Merge pull request #7423 from hashicorp/lock_ports
...
Lock packer ports using a lock file
2019-03-26 10:35:18 -06:00
Adrien Delorme
5a6dffde9a
use port as ints
2019-03-19 15:01:12 +01:00
Adrien Delorme
c214f6735b
make everything a uint
2019-03-19 12:54:15 +01:00
Adrien Delorme
f67b5ff59d
virtualbox StepConfigureVRDP: use common/net pkg to find open port
2019-03-19 12:54:15 +01:00
Adrien Delorme
59370986fb
virtualbox StepForwardSSH: use common/net pkg to find open port
2019-03-19 12:54:15 +01:00
Vadym Haidamaka
414d0750f0
Add tests to validate 'none' communicator in the virtualbox builder
2019-03-16 18:18:29 +02:00
Vadym Haidamaka
0263503c45
Validate virtualbox_version_file and guest_additions_mode when communicator is none
2019-03-16 18:15:27 +02: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
3dc1dafe58
Merge pull request #7287 from stephen-fox/ephemeral-ssh-key-pair-issue-7225
...
virtualbox: create ephemeral SSH key pair for build process
2019-03-04 14:25:04 -08:00
Stephen Fox
7e1cbc6d89
Rename references to key pair name to comment.
...
Per the OpenSSH manual, the field is for a comment.
2019-03-01 10:00:29 -05:00
Stephen Fox
61a8968b22
Use 'os.OpenFile' to atomically create debug key file.
...
Per code review feedback.
2019-02-28 17:23:33 -05:00
Stephen Fox
094c87e395
Remove 'SSHPublicKeyUrlEncoded', use 'urlquery' instead.
...
Per code review feedback, the Go template library supports
encoding variables in URL query format. Instead of exposing
two different public key formats (unmodified string and a
URL encoded string), just have the user apply the 'urlquery'
modifier to their template.
2019-02-28 17:06:51 -05:00
Stephen Fox
2ef6b9247d
Initial take on code review feedback from @azr.
...
Do not use builder pattern or interfaces; stick to structs and
some basic functions.
2019-02-25 17:16:24 -05:00
Megan Marsh
3fd589fa72
typos
2019-02-08 09:31:30 -08:00
Megan Marsh
e2d8c0bfd7
docs
2019-02-08 09:28:10 -08:00
Megan Marsh
07c0c599e0
attach guest additions via SATA when necessasry
2019-02-08 09:15:15 -08:00
chris marget
53c0376dfd
don't print keypair to the user's screen
2019-02-06 13:54:05 -05:00
chris marget
13cc73d600
keypair parsing and testing
2019-02-06 13:46:55 -05:00
Stephen Fox
f9d24ccda0
Allow user to get public key straight up, or URL encoded.
2019-02-05 11:59:13 -05:00
Stephen Fox
f2c11b55be
Renamed authorized_keys public key function.
2019-02-04 14:27:14 -05:00
Stephen Fox
01c98f3d82
Tweaked debug SSH private key file name for vbox.
2019-02-04 12:47:18 -05:00
Stephen Fox
c6ae8654d9
Moved SSH key pair code into 'helper/ssh'.
2019-02-04 12:21:58 -05:00
Stephen Fox
25775886a8
Properly set SSH key pair name.
2019-02-04 12:12:18 -05:00
Stephen Fox
be081944b1
Moved new key pair funcs closer to builder funcs.
2019-02-04 12:09:23 -05:00
Stephen Fox
b1b67ecffa
Added support for setting a name in SSH key pair.
...
Also refactored how new SSH key pairs are created, and how the
tests are structured.
2019-02-04 12:07:32 -05:00
Stephen Fox
5893134c61
Updated comment for 'PrivateKeyPemBlock()'.
2019-02-04 10:02:07 -05:00
Stephen Fox
cd4ae03324
Create / use SSH key pairs in vbox builders.
...
This follows the business logic for creating / using SSH key pairs
in the cloud-type builders (e.g., Amazon EC2).
2019-02-03 12:20:52 -05:00
Stephen Fox
72d1501551
Made SSH public key available in vbox boot command.
...
The SSH public key (in authorized_keys format) can be retreived in
the build template by specifying '{{ .SSHPublicKey }}'. The key is
URL encoded to escape spaces.
2019-02-03 12:20:42 -05:00
Stephen Fox
459bd1ea7a
Added vbox step for SSH key pair business logic.
2019-02-03 12:07:57 -05:00
Stephen Fox
6824806e6f
Allow caller to specify new line for SSH public key.
...
The default behavior of the various builders that create SSH key
pairs appears to be to add a trailing new line. This will be the
default behavior, but at least it can be customized if desired.
2019-02-03 10:37:32 -05:00
Stephen Fox
ad075ffac3
Added 'Description()' to 'sshKeyPair'.
...
Also cleaned up tests.
2019-02-03 09:17:18 -05:00
Stephen Fox
f233e54992
Initial SSH key pair helper implementation.
2019-01-30 22:10:27 -05:00
Megan Marsh
97a791389a
deduplicate step_output_dir and move to common folder
2019-01-11 15:06:36 -08:00
Adrien Delorme
c8a39e939a
Merge pull request #7178 from edwardmlyte/simplify-version-check
...
Simplify version check for port count argument
2019-01-10 16:07:00 +01:00
Ed Maxwell-Lyte
e8e92fe6c6
rename clashing import
2019-01-09 16:30:54 +00:00
Ed Maxwell-Lyte
4437f8d8ba
Use go-version for comparison
2019-01-09 16:22:33 +00:00
Ed Maxwell-Lyte
346f5d9bba
Simplify version check for port count argument
...
Might be personal preference, but I think this reads more clearly
2019-01-09 09:46:24 +00:00
Adrien Delorme
9f7b4ffc17
Merge branch 'master' into pr/6950
2019-01-09 10:11:18 +01:00
Ed Maxwell-Lyte
4fc02ea406
Assign to existing var
2019-01-08 16:19:11 +00:00
Adrien Delorme
f91b668617
Create portCountArg in the if statement
...
You can't assign to something that doesn't exist
Co-Authored-By: edwardmlyte <edwardmlyte@gmail.com>
2019-01-08 16:15:24 +00:00
Ed Maxwell-Lyte
a9eed311a6
Run gofmt on driver_4_2.go
2019-01-08 15:58:12 +00:00
Ed Maxwell-Lyte
e5b1e0f4d9
Add version 0.x to the rule
2019-01-08 15:35:45 +00:00