Commit Graph

209 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 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
Adrien Delorme 5a6dffde9a use port as ints 2019-03-19 15:01:12 +01: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 126ca2a877
Merge pull request #7158 from rickard-von-essen/fix-7155
WIP: parallels: Fix attaching prl tools
2019-01-11 15:30:37 -08:00
Rickard von Essen 21a7a0a614
parallels: Fix attaching prl tools
Closes #7155
2019-01-02 21:33:58 +01:00
Adrien Delorme 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 74b674c01560c6b547e9cab5e8afb486f0fe7d6c
Merge: fc94b5714 66001525d
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Fri Nov 2 02:02:38 2018 -0400

    Merge branch 'remove_TMPDIR_docs' of github.com:tb3088/packer into remove_TMPDIR_docs

commit fc94b571428447aaf2e5171967c95cdf9e5c73ff
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Fri Nov 2 01:42:38 2018 -0400

    update tests to honor configured temporary directory

commit 5a562359f4937af506607dd96ed1c46426093f52
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 18:52:38 2018 -0400

    sync straggler to refactor. implement tests at packer/configfile instead of buried in docker.

commit 9d5a4a0935bfd049e2f8f50ad73e4455b42c9410
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 15:39:46 2018 -0400

    insert URL to GoLang API for os.TempDir()

commit fbae4c2e051898aecd8705e9d8a20353430ede23
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 07:41:29 2018 -0400

    revise documentation to match code

commit 3590fae8bd0afa92a161a49ed794ee32e357d583
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 07:21:59 2018 -0400

    refacter config_file. replace all hard-coded os.TempDir with wrapper

commit d5c5306a97b648ded06a8eb76ce728f07c9924f0
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Wed Oct 31 20:11:36 2018 -0400

    close massive file overwrite hole with TempDir

commit 0a72297da86089fbd07e4f7d9472a92fa4d1c733
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Wed Oct 31 01:06:00 2018 -0400

    adjust var declaration scope

commit 20f68228b6c372d984ea5b055cfc8bda9b110ac5
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Wed Oct 31 00:54:35 2018 -0400

    use mktemp() equivalent to create temporary directory

commit c73ebe3d8321664a2685a0baa8e441dd895b0db4
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 20:40:58 2018 -0400

    remove extraneous variable declaration, fix FOR loop

commit 63549b8bd745a0090b15ed0b0ebf644162db27db
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 19:30:44 2018 -0400

    match styistic convension with rest of docs

commit 976101074942db36f10d3a686d6d29ddb7c01926
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 19:08:39 2018 -0400

    revert dangling config file change

commit 95159afbc05eac96ed11c3183af5fb0abe2f2d5c
Author: Matthew Patton <matthew.patton@itgfirm.com>
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 66001525d72de56a4cf9339b900c46f59bc6e91a
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Fri Nov 2 01:42:38 2018 -0400

    update tests to honor configured temporary directory

commit e9b6adefeae8c65eb8aa47fef38cbf0aa424338c
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 18:52:38 2018 -0400

    sync straggler to refactor. implement tests at packer/configfile instead of buried in docker.

commit 852113ed076e2d14e5dca6815ea680da1e2896bb
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 15:39:46 2018 -0400

    insert URL to GoLang API for os.TempDir()

commit 54add38d1d1c6e283cd444b367ed8bd49a5f3699
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 07:41:29 2018 -0400

    revise documentation to match code

commit 6b5b8f6d4edad0e187ca13d64ac4118f34eee643
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Thu Nov 1 07:21:59 2018 -0400

    refacter config_file. replace all hard-coded os.TempDir with wrapper

commit c22092c601c33484327674f322c7379fa41506d7
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Wed Oct 31 20:11:36 2018 -0400

    close massive file overwrite hole with TempDir

commit 7a730450916bf8e5dbc2a741ec233a49466ab7cc
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Wed Oct 31 01:06:00 2018 -0400

    adjust var declaration scope

commit 0f2933adb6f6922dfeab78a95371a444ec8918ab
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Wed Oct 31 00:54:35 2018 -0400

    use mktemp() equivalent to create temporary directory

commit d74839ede05dacf712b55a7bb48aec19fe6b007f
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 20:40:58 2018 -0400

    remove extraneous variable declaration, fix FOR loop

commit eb65416619437e4a3dec90277770803dd5b2281c
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 19:30:44 2018 -0400

    match styistic convension with rest of docs

commit acaa2b31ed463219c4ef099f351eec72406e2989
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 19:08:39 2018 -0400

    revert dangling config file change

commit e573fde668dcb418561e61535c1d68b2888f5b0f
Author: Matthew Patton <matthew.patton@itgfirm.com>
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 39a9874afc9dea71b36753375fb7feb61ffecf69
Merge: 8a413cfe8 3315812c2
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Oct 30 18:19:26 2018 -0400

    Merge branch 'master' of https://github.com/hashicorp/packer into prestine

commit 8a413cfe83b0a70dbd99c32d936334ca5788ca9b
Merge: e07491de5 4e14710a6
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Mon Oct 1 20:18:10 2018 -0400

    Merge remote-tracking branch 'upstream/master' into prestine

commit e07491de59cead0b337a7f57f4a6c625e1f560ab
Merge: 42610a35d a1fa35dff
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Tue Aug 21 13:26:19 2018 -0400

    Merge remote-tracking branch 'upstream/master' into prestine

commit 42610a35d5ef65af8844a58ad70e2ec75262da6a
Merge: 5298142da 0d63cf7bc
Author: Matthew Patton <matthew.patton@itgfirm.com>
Date:   Tue Jun 19 22:45:05 2018 -0400

    Merge remote-tracking branch 'upstream/master' into prestine

commit 5298142da6da95354844f201deeeef3c599e48b2
Merge: 7bb110bc7 9d9736552
Author: Matthew Patton <mpatton@enquizit.com>
Date:   Mon Jun 11 15:10:09 2018 -0400

    Merge remote-tracking branch 'upstream/master' into prestine

commit 7bb110bc744c9797fcaec25a265d9b85a22d6d6b
Merge: a61c869ca 6189d66e7
Author: Matthew Patton <matthew.patton@itgfirm.com>
Date:   Wed May 9 23:41:22 2018 -0400

    Merge remote-tracking branch 'upstream/master' into prestine

commit a61c869ca7268acf0e3b1e1fa7a8ee7feea65984
Merge: 098101dd9 4be5f072c
Author: Matthew Patton <matthew.patton@itgfirm.com>
Date:   Fri May 4 10:13:04 2018 -0400

    Merge remote-tracking branch 'upstream/master' into prestine

commit 098101dd99f08b0ca110d33eff6904537c6d21de
Merge: fefaf0fa6 554b2b4a5
Author: Matthew Patton <matthew.patton@itgfirm.com>
Date:   Tue May 1 20:52:30 2018 -0400

    Merge branch 'EOL-handling' into prestine

Co-Authored-By: Matthew Patton <pattonme@yahoo.com>
2018-12-12 16:35:57 +01:00
Ali Rizvi-Santiago 784535a4e3 Updated things related to the parallels-iso builder to correspond to @azr's suggestions. 2018-11-22 20:19:00 -06:00
Ali Rizvi-Santiago 24140131c7 Renamed both `cpu_count` and `memory_size` to `cpus` and `memory` (respective). 2018-11-17 06:32:11 -06:00
Ali Rizvi-Santiago 71d15d05c0 Added support for the cpu_count, memory_size, sound, and usb options to the parallels builder. 2018-11-17 06:13:59 -06:00
Adrien Delorme b80a0fed42 make builder/parallels/common/output_config_test.go invisible to windows 2018-10-17 09:59:13 +02:00
Megan Marsh 38cc525ec7 new option allowing user to clean up the ephemeral ssh key from the authorized_keys file 2018-09-14 11:06:38 -07:00
Adrien Delorme 51d2aac9f6 SSHPrivateKey => SSHPrivateKeyFile 2018-08-29 14:40:32 +02:00
Megan Marsh 340363a649
Merge pull request #6613 from hashicorp/merge_ssh_config_funcs
Merge ssh config funcs from builders
2018-08-23 16:03:36 -07:00
Megan Marsh 31d4f8af45 use a time.Duration instead of a hardcoded ms 2018-08-23 13:16:01 -07:00
Megan Marsh 918db58604 added new template variables to replace PACKER_KEY_INTERVAL with tunable key and keygroup intervals depending on driver used 2018-08-22 11:37:56 -07:00
Adrien Delorme e5ffa9e5b3 use SSHConfigFunc on right member in builder/parallels/pvm/builder.go 2018-08-22 18:23:23 +02:00
Adrien Delorme 41f6e0334d refactor all copy pasted sshConfig with into communicator.Config.SSHConfigFunc
* still need to append the auth methods into an array for gracefullness
2018-08-22 17:02:23 +02:00
DanHam 475b3978d2
Remove tmp directories created by builder/parallels/common tests 2018-04-30 20:38:03 +01:00
Rickard von Essen 77d0ba492d
parallels-pvm: Add missing compaction of disks 2018-04-26 14:09:17 +02:00
Matthew Hooker 0e80d98805
Merge pull request #6166 from hashicorp/parallelsfixes
forcefully stop parallels vm.
2018-04-23 10:08:35 -07:00
Matthew Hooker 11de2b9759
remove unnecessary log line. 2018-04-19 16:13:24 -07:00
Matthew Hooker c920e0a20b
forcefully stop parallels vm.
also only output parallels version once.
2018-04-19 16:11:29 -07:00
Matthew Hooker c6299972b9
s/boot_command/bootcommand/ 2018-04-19 14:26:31 -07:00
Matthew Hooker 7990966a09
fix boot command config struct name 2018-04-19 14:26:31 -07:00
Matthew Hooker e662927623
Implement boot config struct for parallels 2018-04-19 14:26:30 -07:00
Matthew Hooker 94129b7fe3
we're using PC-XT (set1) not PC-AT 2018-04-19 14:26:30 -07:00
Matthew Hooker a46a7afa20
Remove old tests. 2018-04-19 14:26:29 -07:00
Matthew Hooker 59376294ef
Maximize scancode throughput.
Let's cache the scancodes and flush them at the end. Also make sure to
send only as many as the driver can send correctly. It's important here
to chunk the scancodes correctly, so that we don't accidentally split them
over successive calls to the driver
2018-04-19 14:26:29 -07:00
Matthew Hooker 9b7704c714
Implement new parser for Parallels boot command 2018-04-19 14:26:29 -07:00
Josh Soref dc942a0d8a spelling: first 2018-03-13 07:50:00 +00:00
Josh Soref 041a115f65 spelling: existent 2018-03-13 08:15:56 +00:00
Josh Soref 935c8e9a28 spelling: configuration 2018-03-13 08:19:16 +00:00
Josh Soref 47a4bbd9f5 spelling: compaction 2018-03-13 07:22:09 +00:00
Matthew Hooker 8cd403425e
test fixes WIP 2018-01-24 17:09:17 -08:00
Matthew Hooker 7a189a83a1
fix imports
`find . -type f -name '*.go' -not -path "./vendor/*" -exec goimports -w {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker a831d522be
change run signatures
Run now takes a context as well as a statebag. We'll assign the context
to the blank identifier to prevent namespace collisions. We'll let the
step authors opt-in to using the context.

`find . -iname "step_*.go" -exec gsed -i'' 's/func \(.*\)Run(/func \1Run(_ context.Context, /' {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker 366dc3da0a
move multistep imports to helper.
gomvpkg -from "github.com/mitchellh/multistep" -to "github.com/hashicorp/packer/helper/multistep"
2018-01-24 17:09:15 -08:00
Jake Champlin 2d3ee06ecd Remove LGPL dependencies
This changeset performs the following:

- Updates `masterzen/winrm` vendor to include change from (https://github.com/masterzen/winrm/pull/73).
- Removes `masterzen/xmlpath` dependency, as it is licensed under the LGPL license.
- Updates `dylanmei/winrmtest` vendor to include change from (https://github.com/dylanmei/winrmtest/pull/4).
- Updates `packer-community/winrmcp` vendor to include the removal of the `masterzen/winrm/winrm` sub-class as a result of the `winrm` CLI tool being removed from the `masterzen/winrm` repository.
- Updates nested dependencies as a result of the above vendor changes.
- Refactors `parallels/driver_9` to use `goxpath` instead of `xmlpath`, as `xmlpath` is licensed under LGPL.
- Adds a basic unit test for the refactor work in `parallels/driver_9` to confirm functionality.

This should completely remove any LGPL licensed dependencies inside of the Packer project.

```
$ make test
/home/jake/src/go/src/github.com/hashicorp/packer/scripts/gofmtcheck.sh $(find . -not -path "./vendor/*" -name "*.go")
==> Checking that code complies with gofmt requirements...
Check passed.
ok      github.com/hashicorp/packer     0.044s
ok      github.com/hashicorp/packer/builder/alicloud/ecs        0.055s
ok      github.com/hashicorp/packer/builder/amazon/chroot       0.040s
ok      github.com/hashicorp/packer/builder/amazon/common       0.021s
ok      github.com/hashicorp/packer/builder/amazon/ebs  0.016s
ok      github.com/hashicorp/packer/builder/amazon/ebssurrogate 0.015s
ok      github.com/hashicorp/packer/builder/amazon/ebsvolume    0.014s
ok      github.com/hashicorp/packer/builder/amazon/instance     0.058s
ok      github.com/hashicorp/packer/builder/azure/arm   2.833s
ok      github.com/hashicorp/packer/builder/azure/common        0.018s
?       github.com/hashicorp/packer/builder/azure/common/constants      [no test files]
?       github.com/hashicorp/packer/builder/azure/common/lin    [no test files]
?       github.com/hashicorp/packer/builder/azure/common/logutil        [no test files]
ok      github.com/hashicorp/packer/builder/azure/common/template       0.038s
ok      github.com/hashicorp/packer/builder/azure/pkcs12        0.120s
ok      github.com/hashicorp/packer/builder/azure/pkcs12/rc2    0.020s
ok      github.com/hashicorp/packer/builder/cloudstack  0.038s
ok      github.com/hashicorp/packer/builder/digitalocean        0.015s
ok      github.com/hashicorp/packer/builder/docker      0.028s
ok      github.com/hashicorp/packer/builder/file        0.029s
ok      github.com/hashicorp/packer/builder/googlecompute       3.162s
ok      github.com/hashicorp/packer/builder/hyperv/common       0.006s
ok      github.com/hashicorp/packer/builder/hyperv/iso  0.042s
ok      github.com/hashicorp/packer/builder/null        0.018s
ok      github.com/hashicorp/packer/builder/oneandone   0.022s
ok      github.com/hashicorp/packer/builder/openstack   0.052s
ok      github.com/hashicorp/packer/builder/parallels/common    2.549s
ok      github.com/hashicorp/packer/builder/parallels/iso       0.050s
ok      github.com/hashicorp/packer/builder/parallels/pvm       0.033s
ok      github.com/hashicorp/packer/builder/profitbricks        0.023s
ok      github.com/hashicorp/packer/builder/qemu        0.039s
ok      github.com/hashicorp/packer/builder/triton      0.018s
ok      github.com/hashicorp/packer/builder/virtualbox/common   5.533s
ok      github.com/hashicorp/packer/builder/virtualbox/iso      0.044s
ok      github.com/hashicorp/packer/builder/virtualbox/ovf      0.012s
ok      github.com/hashicorp/packer/builder/vmware/common       5.325s
ok      github.com/hashicorp/packer/builder/vmware/iso  0.076s
ok      github.com/hashicorp/packer/builder/vmware/vmx  0.010s
ok      github.com/hashicorp/packer/command     0.062s
ok      github.com/hashicorp/packer/common      0.053s
ok      github.com/hashicorp/packer/common/json 0.003s [no tests to run]
ok      github.com/hashicorp/packer/common/powershell   0.015s
?       github.com/hashicorp/packer/common/powershell/hyperv    [no test files]
?       github.com/hashicorp/packer/common/ssh  [no test files]
ok      github.com/hashicorp/packer/common/uuid 0.010s
ok      github.com/hashicorp/packer/communicator/none   0.008s
ok      github.com/hashicorp/packer/communicator/ssh    0.068s
ok      github.com/hashicorp/packer/communicator/winrm  0.046s
ok      github.com/hashicorp/packer/fix 0.005s
ok      github.com/hashicorp/packer/helper/builder/testing      0.007s
ok      github.com/hashicorp/packer/helper/communicator 0.013s
ok      github.com/hashicorp/packer/helper/config       0.004s
?       github.com/hashicorp/packer/helper/enumflag     [no test files]
ok      github.com/hashicorp/packer/helper/flag-kv      0.009s
ok      github.com/hashicorp/packer/helper/flag-slice   0.006s
ok      github.com/hashicorp/packer/packer      0.219s
ok      github.com/hashicorp/packer/packer/plugin       0.233s
ok      github.com/hashicorp/packer/packer/rpc  0.141s
ok      github.com/hashicorp/packer/plugin/example      0.008s [no tests to run]
?       github.com/hashicorp/packer/post-processor/alicloud-import      [no test files]
?       github.com/hashicorp/packer/post-processor/amazon-import        [no test files]
ok      github.com/hashicorp/packer/post-processor/artifice     0.003s [no tests to run]
ok      github.com/hashicorp/packer/post-processor/atlas        0.018s
ok      github.com/hashicorp/packer/post-processor/checksum     0.015s
ok      github.com/hashicorp/packer/post-processor/compress     0.047s
ok      github.com/hashicorp/packer/post-processor/docker-import        0.012s
ok      github.com/hashicorp/packer/post-processor/docker-push  0.012s
ok      github.com/hashicorp/packer/post-processor/docker-save  0.008s
ok      github.com/hashicorp/packer/post-processor/docker-tag   0.008s
ok      github.com/hashicorp/packer/post-processor/googlecompute-export 0.015s [no tests to run]
?       github.com/hashicorp/packer/post-processor/manifest     [no test files]
ok      github.com/hashicorp/packer/post-processor/shell-local  0.028s
ok      github.com/hashicorp/packer/post-processor/vagrant      0.030s
ok      github.com/hashicorp/packer/post-processor/vagrant-cloud        0.028s
ok      github.com/hashicorp/packer/post-processor/vsphere      0.014s
ok      github.com/hashicorp/packer/provisioner 0.011s
ok      github.com/hashicorp/packer/provisioner/ansible 0.140s
ok      github.com/hashicorp/packer/provisioner/ansible-local   0.056s
ok      github.com/hashicorp/packer/provisioner/chef-client     0.050s
ok      github.com/hashicorp/packer/provisioner/chef-solo       0.061s
ok      github.com/hashicorp/packer/provisioner/converge        0.018s
ok      github.com/hashicorp/packer/provisioner/file    0.015s
ok      github.com/hashicorp/packer/provisioner/powershell      0.168s
ok      github.com/hashicorp/packer/provisioner/puppet-masterless       0.008s
ok      github.com/hashicorp/packer/provisioner/puppet-server   0.031s
ok      github.com/hashicorp/packer/provisioner/salt-masterless 0.010s
ok      github.com/hashicorp/packer/provisioner/shell   0.010s
ok      github.com/hashicorp/packer/provisioner/shell-local     0.037s
ok      github.com/hashicorp/packer/provisioner/windows-restart 0.180s
ok      github.com/hashicorp/packer/provisioner/windows-shell   0.159s
?       github.com/hashicorp/packer/scripts     [no test files]
ok      github.com/hashicorp/packer/template    0.008s
ok      github.com/hashicorp/packer/template/interpolate        0.004s
?       github.com/hashicorp/packer/version     [no test files]
```
2017-08-30 12:10:12 -07:00
Rickard von Essen 8a035ddb8a
parallels: Remove soon to be removed --vmtype flag
In the next release of Parallels Desktop for Mac Pro Ed. the prlctl createvm
command doen't support the --vmtype flag anymore.
2017-07-26 07:27:08 +02:00
Andy Goldstein c6dba6c051 Parallels: skip missing paths when looking for unnecessary files 2017-06-23 14:29:07 -04:00
Matthew Hooker ee5d13611f
update ssh client usage for new crypto/ssh version 2017-05-18 12:01:44 -07:00
Matthew Hooker 81522dced0
move packer to hashicorp 2017-04-04 13:39:01 -07:00
Matthew Hooker 4fcbf75da9
s/non existent/nonexistent/ 2017-03-29 12:38:33 -07:00
Matthew Hooker 230079f73a
spell fixes 2017-03-28 20:36:19 -07:00
huiyang b3c6ef9f6b Skip disk compaction for plain disks 2017-03-07 18:22:23 -08:00
huiyang 52d4514d6a builder/parallels-iso: Configuration of disk type, plain or expanding 2017-03-03 15:32:51 -08:00
Matthew Hooker 22d1322bd9
always check for an error first when walking a path 2017-01-26 16:32:21 -08:00
Matthew Hooker f1175c1921
parallels/vmware: don't wait for shutdown command.
Resolves #4134

replaces/ closes #4379

Leaving Hyper-V builder alone for now until we can get a case that reproduces.
2017-01-20 01:44:18 -08:00
Matthew Hooker d2e59e4e92
set PACKER_HTTP_ADDR env var when available.
If using a builder that has an http server set up for file transfer,
expose the connection info to the shell provisioner through the environment
variable PACKER_HTTP_ADDR.

Closes #2869
2017-01-16 23:19:52 -08:00
Rickard von Essen 85cf00069f Merge pull request #4294 from legal90/iso-target-extension
Add "iso_target_extension" option for all local *-iso builders
2017-01-04 13:48:28 +01:00
Mikhail Zholobov 57d07f227a
Add "iso_target_extension" option for all local *-iso builders
This option allows to set the extension of the ISO file after download.
Defaults to "iso". It makes sense for building Mac OS X guests, where the
bootable image is actually a DMG, not an ISO.
In particular, it is important for "parallels-iso" builder to set the right extension.
2016-12-17 12:50:30 +02:00
Mikhail Zholobov aa623e22a3
golint: Add comments for exported methods 2016-12-17 00:37:04 +02:00
Mikhail Zholobov 73d87b07de
golint: Fix lint offences 2016-12-17 00:37:03 +02:00
Mikhail Zholobov 00a90e622b
Remove unused constant "KeyLeftShift" 2016-12-17 00:37:03 +02:00
Mikhail Zholobov 1ca841b499
Fix shadowed declarations
Performed by "go vet" tool
2016-12-17 00:37:03 +02:00
Mikhail Zholobov dde445bd0d
Fix style: Organize imports in groups
Performed by "goimports" tool
Style conventions: https://github.com/golang/go/wiki/CodeReviewComments#imports
2016-12-17 00:37:03 +02:00
Mikhail Zholobov 319b85cb7a
Fix style: Use a consistent case for initialisms
https://github.com/golang/go/wiki/CodeReviewComments#initialisms
2016-12-17 00:36:56 +02:00
Rickard von Essen 96e9a8e6e9 Removed default value for ssh_username 2016-11-17 22:30:34 +01:00
Matthew Hooker d920b3fbf4 run gofmt 2016-11-01 14:08:04 -07:00
Rickard von Essen 3c8dabba9e Fixed formatting 2016-10-11 23:43:50 +02:00
Rickard von Essen 5e96709ee9 Merge pull request #2919 from arizvisa/floppy-recurse
Added an option for copying entire subdirectories via floppy_dirs (supplants floppy_files)
2016-10-08 16:51:16 +02:00
Ali Rizvi-Santiago 86c00490e9 Renamed any and all instances of the word "FloppyContents" to "FloppyDirectories".
Ensure that all builders include FloppyDirectories in the StepCreateFloppy options.
Changed the way the unit-tests in common/step_create_floppy_test work to use the static test-fixtures directory instead of creating the paths dynamically.
Removed a duplicate line of documentation from parallels-pvm.html.md that occurred during rebasing.
2016-09-27 23:31:42 -05:00
Rickard von Essen 06e3539ffa Merge pull request #3767 from taliesins/ExtendScanCodes
Add support for ctrl, shift and alt keys and using them as key modifier.
2016-09-20 21:36:46 +02:00
Orivej Desh 6762965696 Add -on-error command line argument to allow preserving artifacts on builder errors
Resolves #409
2016-09-16 12:15:00 +00:00
Taliesin Sisson a87ad05866 Add support for ctrl, shift and alt keys.
Add support for using ctrl, shift and alt as key modifiers. So you can now achieve ctrl+c by using "<leftCtrlOn>c<leftCtrlOff>".

Updated documentation for new key stroke tokens.
2016-07-31 19:05:10 +01:00
Ricard Clau acededfc6e tests actually test the floppies 2016-07-27 21:59:21 +01:00
Rickard von Essen fb00d07d20 Support future versions of Parallels by using the latest driver
If the Parallels Desktop for Mac version is higher than the latest
Packer driver use the latest available driver. Before this Packer needed
to be updated with every new version of PD even if there was no change
to the driver.
2016-07-02 22:18:54 +02:00
Sean Chittenden ef42021f8f Fix unit tests, broken in #3549. (#3548) 2016-05-17 15:42:15 -07:00
Sean Chittenden d0fd698fb5
Pause between boot_commands when debugging a Parallels build
When debugging a build (or maintaining an existing packer file), teach `packer build -debug` how to step through individual `boot_command`s in order to triage the packer template.
2016-05-17 17:10:10 -04:00
Rickard von Essen 46f74d8347 Parallels: Support relative paths in output_directory
Fixes #3238
2016-02-21 16:52:51 +01:00
James Bishopp bd8fb014c4 Removed ssh_key_path
- removed backwards compatibility code
- ensured key usage came from SSHPrivateKey configuration
- changed tests to use private_key
2016-02-12 17:24:42 -08:00
Rickard von Essen fd6282529c Remove deprecated parallels_tools_host_path and guest_os_distribution 2016-02-01 12:25:01 +01:00
Mark Peek 7f149e595d Refactor http server config into common 2015-11-01 14:45:47 -08:00
Mark Peek cdcffecc2d Refactor builder ISO options
The ISO builders (parallels, qemu, virtualbox, and vmware) had too
much common code which needed to be maintained separately. This change
moves that code to a common ISO configuration.
2015-10-20 16:27:47 -07:00
Mark Peek e9657e6a9f Merge pull request #2642 from oliviertremblay/master
Make TargetPath customizable
2015-10-20 12:11:13 -07:00
Rickard von Essen 4015c1789b Fixes #2836 - Use "/Applications/Parallels Desktop.app" as fallback app path. 2015-10-16 19:57:39 +02:00
Rickard von Essen 141dcd5c03 Fixes #2828: parallels prlctl_post don't interpolate values. 2015-10-15 09:28:29 +02:00
Chris Bednarski f01956405b Merge pull request #2654 from mitchellh/b-xmlpath
Update dependency to an SSL-enabled path; this was migrated from launchpad to github
2015-10-12 16:39:35 -07:00
Rickard von Essen 3f14b9d984 Merge pull request #2731 from legal90/prl-compact-disk
Parallels: Add "CompactDisk" build step
2015-09-16 14:03:31 +02:00
Mikhail Zholobov abfe706fc6 builder/parallels: Add "StepCompactDisk" 2015-09-11 11:38:20 +03:00
Mikhail Zholobov f7b26e44fe builder/parallels: Add "CompactDisk" driver function
This function compacts the specified virtual disk image.
2015-09-11 11:37:52 +03:00
Mikhail Zholobov 4ebee7bf3f builder/parallels: Add "DiskPath" driver function
This function determines path to the first virtual disk image of the specified virtual machine.
2015-09-05 13:08:24 +03:00
Rickard von Essen 83980d2326 Enable headless mode by default on Parallels Desktop 11 2015-08-24 15:09:29 +02:00
Rickard von Essen 7d3afc882a Add check for Parallels Desktop edition in PD 11.
Starting since Parallels Desktop 11, the command line functionality is
available only in Pro and Business editions.
2015-08-22 13:15:59 +02:00
Chris Bednarski 0a79546cf9 Update dependency to an SSL-enabled path; this was migrated from launchpad to github 2015-08-21 17:17:56 -07:00
Olivier Tremblay f301a6454d Added documentation, renamed config param to iso_target_path 2015-08-20 07:37:24 -04:00
Olivier Tremblay 661552dfd5 Merge branch 'master' into custom-targetpath 2015-08-20 07:26:22 -04:00
Rickard von Essen da82ff3fd6 Fix interpolation of {{.Flavor}} in parallels_tools_guest_path. (2)
Actually fix the error...

Fixes [GH-2543]
2015-08-12 10:28:06 +02:00
Rickard von Essen 5a6bcdeb78 Fix interpolation of {{.Flavor}} in parallels_tools_guest_path.
Fixes [GH-2543]
2015-08-12 01:34:08 +02:00
Olivier Tremblay 223e35fc65 Makes StepDownload's TargetPath customizable.
I exposed TargetPath as a config file option "target_path". I don't like
the name, but it follows the naming convention. The purpose of TargetPath
stands unmodified, and it enables a fair amount of customization.
2015-07-28 07:45:02 -04:00
Mitchell Hashimoto 1aa1399e85 builder/parallels: fix compilation issuse 2015-06-22 12:46:13 -07:00
Mitchell Hashimoto 13c2c4660d Merge branch 'issue_2080' of https://github.com/rickard-von-essen/packer into rickard-von-essen-issue_2080 2015-06-22 12:39:30 -07:00
Mitchell Hashimoto 84189f7a28 builder/*: properly save interpolation context 2015-06-22 09:22:42 -07:00
Mikhail Zholobov 0a53fbc29d builder/parallels: Add mock for "SetDefaultConfiguration" method
Fixes unit test failures
2015-06-18 14:36:32 +03:00
Mikhail Zholobov 2860bfdf82 builder/parallels: Apply default settings on the VM creation step. 2015-06-18 12:08:17 +03:00
Mikhail Zholobov f7af571cd9 builder/parallels: Add "SetDefaultConfiguration" function
This functions applies the default configuration to the virtual machine. Also, it disables some integration features
which should not present in the resulted VM image.

Functions are different in PD 9 and 10 structs because some additional options appeared only in Parallels Desktop 10 release.
2015-06-18 12:04:02 +03:00
Mitchell Hashimoto 115d583cff helper/communicator: make host more generic 2015-06-13 19:23:33 -04:00
Mitchell Hashimoto 820bad6939 builder/parallels: convert to new comm type 2015-06-13 18:43:27 -04:00