Commit Graph

130 Commits

Author SHA1 Message Date
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 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 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
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
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
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 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 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
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 9b7704c714
Implement new parser for Parallels boot command 2018-04-19 14:26:29 -07:00
Josh Soref 041a115f65 spelling: existent 2018-03-13 08:15:56 +00: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
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
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
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 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 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
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
Ricard Clau acededfc6e tests actually test the floppies 2016-07-27 21:59:21 +01: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 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 141dcd5c03 Fixes #2828: parallels prlctl_post don't interpolate values. 2015-10-15 09:28:29 +02: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
Rickard von Essen 83980d2326 Enable headless mode by default on Parallels Desktop 11 2015-08-24 15:09:29 +02: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
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 2860bfdf82 builder/parallels: Apply default settings on the VM creation step. 2015-06-18 12:08:17 +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
Mitchell Hashimoto 76c2d2cb0e builder/parallels/iso: new interpolation 2015-05-27 13:49:31 -07:00
Rickard von Essen 1365627e31 Fixes #2080 Add prlctl_post in builder Parallels
This adds config option prlctl_post for builder parallels-iso/pvm. It
allows additional prlctl commands to run after the VM has been shutdown
just before being exported.
2015-05-03 11:18:48 +02:00
Emil Hessman b19f9b9777 builder/parallels/iso: fix incorrect printf verb type
Fixes the following vet report:

builder/parallels/iso/builder_test.go:78: arg b.config.DiskSize for printf verb %s of wrong type: uint
2015-02-25 05:43:17 +01:00
Mikhail Zholobov a5b21c59ba builder/parallels: Move setting the boot order to the separated step 2014-11-27 17:13:50 +03:00
Mikhail Zholobov 05affceaef builder/parallels: Attach bootable ISO exactly to cdrom0 [GH-1667] 2014-11-27 17:11:16 +03:00
Mikhail Zholobov 6e778e7244 builder/parallels: Default cdrom0 should be disconnected
Otherwise, the error message will be displayed in GUI:
"Unable to connect CD/DVD 0"
2014-10-21 16:44:43 +04:00
Rickard von Essen d75d44ad9e Merge pull request #1548 from legal90/create_disk
builder/parallels: Create VM without hdd and then add it later
2014-10-04 23:06:15 +02:00
Mikhail Zholobov eb37742ab0 builder/parallels: Disable default cdrom0 device and then enable it on cleanup
This is needed to make 'cdrom0' device unavailable during the ISO installation process.
It is required for some guest OS types, such as FreeBSD and OmniOS.
2014-10-04 22:39:54 +02:00
Mikhail Zholobov 13251ced49 builder/parallels: Added setting the boot order
CD/DVD drive with installation ISO should be exactly the 2nd device in the VM boot order.
This ensures that VM will boot from this ISO at the first boot time only.
2014-10-04 22:39:54 +02:00
Mikhail Zholobov 280c3c52de builder/parallels: Attach ISO images to the separate cdrom device
For each ISO image the individual cdrom device will be added to the VM. During the cleanup these devices will be deleted.
It makes attach steps more clear - there is no doubt what is the name of the device.

Related to: [mitchellh/packer#1502]
2014-10-04 22:39:54 +02:00
JessThrysoee 5394ce61fd builder/parallels: Rely on Cleanup functions to detach devices
Remove the redundant StepRemoveDevices and rely on the cleanup to be handled by:
* StepAttachParallelsTools.Cleanup
* StepAttachFloppy.Cleanup
* stepAttachISO.Cleanup
2014-10-04 22:39:54 +02:00
Mikhail Zholobov 48c64b05cb builder/parallels: Init VM without hdd and attach it later
Avoid the disk resize because it is unsupported for some guests (OS X)
http://kb.parallels.com/en/113653
2014-10-01 16:13:46 +04:00
Rickard von Essen 365b44c5af parallels-iso: allow absolute output directory.
Fixes [GH-1466]
2014-09-08 11:00:59 +02:00
Mikhail Zholobov 16cb6f60c8 builder/parallels: "guest_os_distribution" renamed to "guest_os_type".
"guest_os_distribution" become deprecated and is not required anymore.
But if it is defined (in outdated templates),then the value will be copied to "guest_os_type" and warning will be displayed.
2014-09-02 18:14:50 +04:00
Mikhail Zholobov bed6270288 builder/parallels: Detect path to Parallels Tools ISO automatically.
'parallels_tools_host_path' param is deprecated
'parallels_tools_flavor' is added (mandatory).
2014-09-02 18:14:26 +04:00
Mikhail Zholobov 40c169f757 builder/parallels: Added 'StepPrepareParallelsTools' 2014-09-02 18:14:26 +04:00
Mikhail Zholobov 13b355eaf0 builder/parallels: Added 'ToolsConfig' struct 2014-09-02 18:13:40 +04:00
Mikhail Zholobov 9ad2b98673 builder/parallels: Removed config parameter 'ostype'
We have to set either 'ostype' or 'distribution', but not both.
2014-08-24 07:30:29 +04:00
Rickard von Essen fe37d9b6e1 parallels-iso: ISO not removed from VM after install [GH-1338]
Also remove floppy and prl-tools ISO if applicable.
2014-08-08 10:07:32 +02:00
Rickard von Essen 4d994deb3a [feature] Support boot command for pvm builder
Similar to [GH-1082] but for parallels-pvm builder.
2014-05-19 20:04:13 +02:00
Rickard von Essen 4cdce51df5 builder/parallels: Don't delete sound, since it doesn't allways exist. 2014-05-11 11:20:56 +02:00
Rickard von Essen bd25866e90 builder/parallels: Select which interface to connect to.
The IP address that the guest OS connect to download files from the
http_dir is determined by searching for a host interface with an IP
assigned. Now it is possible to use host_interfaces to select which
interfaces are searched.
2014-05-11 11:12:50 +02:00
Rickard von Essen bd5d5e049d builder/parallels: Added pppX interface to be able to run packer when using mobile wlan 2014-05-11 00:14:35 +02:00
Jaime Soriano Pastor 32bb745734 Force LANG=C before appending rest of environment, as only first occurence is used 2014-05-08 17:11:19 +02:00
Jakob A. Dam 40150c376d Fix http_files typo in comments 2014-05-06 17:13:15 +02:00
Mitchell Hashimoto 5c5d62733f fmt 2014-05-01 14:24:19 -07:00
Mikhail Zholobov c1510d2b50 Parallels provider: fix typos 2014-05-02 01:07:00 +04:00
Rickard von Essen cdaa9d5a8e Added support for Parallels Desktop for Mac [GH-223]
Added builder plugins: builder-parallels-iso and builder-parallels-pvm.
2014-05-01 20:29:22 +02:00