Commit Graph

163 Commits

Author SHA1 Message Date
Matthew Hooker 451e3d0554
builder/vmware-esxi: remove floppy files when done 2018-04-26 10:47:33 -07:00
Matthew Hooker fdeadfe3f6
builder/vmware: correctly default export format to ovf 2018-04-23 10:17:53 -07:00
Matthew Hooker c6299972b9
s/boot_command/bootcommand/ 2018-04-19 14:26:31 -07:00
Matthew Hooker 408eba88ad
flatten boot command config and implement for vmware 2018-04-19 14:26:30 -07:00
Matthew Hooker 673245afcf
Replace boot command parser with PEG parser. 2018-04-19 14:26:28 -07:00
M. Marsh 83162717ed
Merge pull request #4563 from marema31/vmware-iso-warn-esx
builder/vmware-iso: Fail on wrong remote_type value
2018-04-06 16:52:26 -07:00
Ali Rizvi-Santiago eb0445ca96 Added support for specifying both the network adapter type and cdrom adapter type as requested by @night199uk. Also included the respective documentation for these new options. 2018-02-02 19:18:50 -06:00
Ali Rizvi-Santiago 74946071d2 Added support for specifying the disk adapter type to the vmware builders. This was squashed from the vmware-diskAdapterType branch (#2968) as submitted by Rami Abughazaleh <icnocop@users.noreply.github.com>. This closes #5671 and possibly #4885.
arizvisa: Updated icnocop's documentation to include the possible disk adapter types that one can specify.
arizvisa: Tweaked icnocop's support for the `disk_adapter_type` option to the VMWare builder that caused conflicts due to version skew.
icnocop: Updated links to the Virtual Disk Manager User's Guide PDF to open in a new window and also added the Adobe PDF icon
icnocop: Added support for vmware to specify the disk adapter type, ide or scsi (lsilogic or buslogic)
2018-02-02 19:18:49 -06:00
Ali Rizvi-Santiago 884af69da1 go fmt on builder/vmware/* 2018-02-02 19:18:48 -06:00
Ali Rizvi-Santiago 75d3ea7cee Added support for sound, serial ports, parallel ports, usb, and specifying a default network to the vmware builder.
builder/vmware/{iso,vmx}:
    Added the specific configuration options that get parsed.
    Normalize paths when pulling them from the json template so that they'll work on Windows too.
    Added some improved error checking when parsing these options.
    Stash the vm's network connection type so that other steps can figure out addressing information
    Modified the esx5 driver to support the new addressing logic.
    Modified the template in step_create_vmx to include the new options.

builder/vmware/common:
    Implemented a parser for vmware's configuration files to the vmware builder.
    Modified the driver's interface to include support for resolving both guest/host hw and ip addresses
    Implemented a base structure with some methods that implement these features.
    Rewrote all ip and mac address dependent code to utilize these new methods.
    Removed host_ip and guest_ip due to their logic being moved directly into a
        base-structure used by each driver. The code was explicitly checking runtime.GOOS
        instead of portably using net.Interfaces() anyways.
    Updated driver_mock to support the new addressing methods
2018-02-02 19:11:41 -06: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
bugbuilder 23f4d187e2 validating keep_registered and fixing skip_export issues 2017-11-08 15:57:34 -03:00
Matthew Hooker 07b013945f
more consistent flag name 2017-10-12 16:38:18 -07:00
Matthew Hooker 106408f6be
add new disable_vnc option 2017-10-12 16:34:40 -07:00
nictrix 6a238a3ef3
add option to skip vnc phase and update docs 2017-10-12 16:28:27 -07:00
Megan Marsh e93d64e80f Merge pull request #4592 from jimmythedog/ovfexportpath-localoutputdir
Ovfexportpath localoutputdir -- Merging for release with 1.1.0
2017-08-31 09:55:58 -07:00
Michael Kuzmin 9876a28ea7 vmware: publish vm_name as artifact ID 2017-07-28 11:16:46 +03:00
James Nugent c4439aba82 builder/vmware: Add vmx_remove_ethernet_interfaces
This commit adds a new option, `vmx_remove_ethernet_interfaces`, to both
of the VMWare builders. This is useful when building Vagrant boxes,
since Vagrant now produces output such as:

```
WARNING: The VMX file for this box contains a setting that is
automatically overwritten by Vagrant when started. Vagrant will stop
overwriting this setting in an upcoming release which may pre vent
proper networking setup. Below is the detected VMX setting:

   ethernet0.pcislotnumber = "33"

If networking fails to properly configure, it may require this VMX
setting. It can be manually applied via the Vagrantfile:

   Vagrant.configure(2) do |config|
     config.vm.provider :vmware_fusion do |vmware|
       vmware.vmx["ethernet0.pcislotnumber"] = "33"
     end
   end
```

This can be avoided entirely by removing the ethernet adapters from the
VMX file prior to packaging as a Vagrant box, in which case adapters are
created as expected according to the Vagrantfile specification.
2017-05-24 18:53:25 -05:00
Matthew Hooker 9f992b8f80
go files are 0644 2017-04-25 12:50:58 -07:00
Matthew Hooker 81522dced0
move packer to hashicorp 2017-04-04 13:39:01 -07:00
Jimmy The Dog 1e9b0f7b8f Replace export output dir in state bag with params
step_export now has the OutputDir as a param instead of getting it from
the state bag, on the advice of @mwhooker in PR comment
2017-03-10 10:43:45 +00:00
Jimmy The Dog e851efb1b6 Set export_dir to the output_dir property 2017-03-10 08:20:48 +00:00
Jimmy The Dog 9eb9abdce9 Merge branch 'master' into ovfexportpath-localoutputdir 2017-03-10 08:12:26 +00:00
Jimmy The Dog 14810523b8 builder/vmware-iso: get artifact files from local dir 2017-02-24 14:48:38 +00:00
Jimmy The Dog 7a2b30dcc4 builder/vmware-iso: need to always set local output dir, or non-remote build exports will fail 2017-02-24 13:18:28 +00:00
Jimmy The Dog f8df5f81db builder/vmware-iso: set local output dir 2017-02-24 12:46:00 +00:00
Marc Carmier 86c0c859c5 Validate the remote_type value for builder/vmware-iso 2017-02-15 22:04:28 +01:00
Matthew Hooker 0ed84f843e
builder/vmware: allow extra options for ovftool 2017-02-10 00:22:20 -08:00
DanHam c7e8d671a9
Add option to skip export of installed VM for VMware iso builder 2017-01-10 11:44:11 +00: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
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
Ali Rizvi-Santiago a3f0308e92 Re-implemented the support for the floppy_files keyword in order to remain backwards-compatible with templates using the old syntax.
Moved the support for recursive paths from the floppy_files keyword to the new floppy_contents keyword.
Shifted some of the code around to add better logging of what's actually being copied.
Added a couple of unit-tests for the new floppy_contents implementation.
Ensured that all files that were being added were also being included in state.FilesAdded so that the older unit-tests will work.
2016-09-12 11:56:25 -05:00
Rickard von Essen 5cbc36103e Merge pull request #3756 from ricardclau/floppy_check
Test floppy disks actually exist
2016-09-12 08:05:16 +02:00
Rickard von Essen 3e1aed9a6f Enable to disable vnc password for VMware builder 2016-08-19 13:26:23 +02:00
Charlie Vieth d14d62074e Add winrm functionality to vmware-iso builder (#3738)
* Use winrm_host, if provided, this allows packer to work in ESXi
environments without DHCP.

Signed-off-by: Charlie Vieth <cviethjr@pivotal.io>
2016-08-19 13:02:55 +02:00
Ricard Clau acededfc6e tests actually test the floppies 2016-07-27 21:59:21 +01:00
Ian Duffy 0327f6c935 Allow configurable VNC bind IP for VMware builders
Signed-off-by: Ian Duffy <ian@ianduffy.ie>
2016-05-23 14:07:03 +01:00
Chris Bednarski 45e6a238ff Merge pull request #3050 from andqui/master
vmware-iso-builder: Fix for non consequential if statement (failing ESXi iso builds).
2016-05-19 17:43:49 -07:00
Sean Chittenden 9b3f8a4be9
Pause between boot_commands when debugging a VMware 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 file.

```
==> vmware-iso: Typing the boot command over VNC...
==> vmware-iso: Pausing after run of step 'boot_command[0]: <enter><wait>'. Press enter to continue.
==> vmware-iso: Pausing after run of step 'boot_command[1]: <enter><wait>'. Press enter to continue.
==> vmware-iso: Pausing after run of step 'boot_command[2]: freebsd-vagrant<enter><wait>'. Press enter to continue.
==> vmware-iso: Pausing after run of step 'boot_command[3]: <down><spacebar>'. Press enter to continue. ^C
```
2016-05-17 03:50:00 -04:00
kopernikus 84bd2ff754 option to keep the VM registered with esxi 2016-03-16 23:17:35 +01:00
Chris Bednarski 24dc798cfb Revert "Prevalidate Hardware Specs on Linux"
This reverts commit eda84cb2d3.
2016-02-02 12:41:43 -08:00
Chris Bednarski 6504f4f777 Revert "Only validate vmware resources on local hosts"
This reverts commit f01578c91e.
2016-02-02 12:41:42 -08:00
Chris Bednarski ffb85f6ea5 Merge pull request #3096 from grubernaut/f-resource-limits
Prevalidate Hardware Specs on Linux
2016-01-25 21:06:14 -08:00
Jake Champlin f01578c91e Only validate vmware resources on local hosts
Disable resource validation when `remote_type` is specified
2016-01-25 12:01:56 -05:00
Jake Champlin eda84cb2d3 Prevalidate Hardware Specs on Linux
Prevalidates hardware resources on Linux platforms for Virtualbox and
VMware builders. This is currently only available on Linux, as enabling
for both Darwin and Windows platforms, relies on cgo bindings that would
prevent effective cross-compilation.

Packer will now fail to build and validate templates if the template is
requesting that the VM to be created would allocate more system
resources than the host system has available.

This _however_ doesn't catch parallel builds that overflow the hosts
resources, will probably still need a better error message for VM's
failing to boot in that case.

Example Outputs:

```
$ $GOPATH/bin/packer build -debug ./vmware-iso.json
Debug mode enabled. Builds will not be parallelized.
vmware-iso output will be in this color.

2 error(s) occurred:

* Unavailable Resources: RAM - Requested - 204800000MB - Available 21721MB
* Unavailable Resources: Disk - Requested - 4000000000MB - Available 76701MB
```

```
$ $GOPATH/bin/packer build -debug ./vbox-iso.json
Debug mode enabled. Builds will not be parallelized.
virtualbox-iso output will be in this color.

2 error(s) occurred:

* Unavailable Resources: RAM - Requested - 10240000MB - Available 21721MB
* Unavailable Resources: Disk - Requested - 1000000000MB - Available 76701MB
```
2016-01-21 18:19:11 -05:00
Chris Bednarski 9358e8c355 Merge branch 'hotfix/rearrange_vmx_cleanup' of https://github.com/israelshirk/packer into b-2709 2016-01-21 13:36:02 -08:00
Anders Quist 077f9621f2 Merge branch 'master' of https://github.com/mitchellh/packer 2016-01-15 08:11:35 +01:00
Chris Bednarski ab721b7cb1 Merge pull request #2898 from markpeek/http-refactor
Refactor http server config into common
2016-01-14 17:10:17 -08:00
Anders Quist 23246c01cf Fix for non consequent if statement (failing ESXi iso builds). 2016-01-10 18:34:21 +01:00
michael 499bd5a362 Add support for SSH Key Authentication with ESX builder 2015-11-03 19:08:35 -08:00
Mark Peek 7f149e595d Refactor http server config into common 2015-11-01 14:45:47 -08:00
Yuya Kusakabe 07079a5905 Fix #2892 2015-10-31 19:32:40 +09:00
Mark Peek 581ab9f4f5 Merge pull request #2849 from markpeek/iso-cleanup
Refactor builder ISO options
2015-10-26 21:43:59 -07:00
Mark Peek 9d0c443ca2 builder/vmware-esxi: Add format validation and step_export tests 2015-10-23 16:50:14 -07:00
Yuya Kusakabe 699c673536 builder/vmware-esxi: Add step_export
If `format` option is configured, packer exports the VM with ovftool.

website: Document about OVF Tool and `format` option.

post-processor/vsphere: Enable to use `mitchellh.vmware-esx` artifact type and OVF and OVA formats, fixes #1457.
2015-10-23 09:00:53 +09: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
Brian Dwyer a563944b58 Fix #2695: Prevent duplicate ISO download for multi-builder builds
Add extension to VMware ISO builder to bring in sync with
Virtualbox ISO builder
2015-10-20 12:54:04 -07:00
Mark Peek e9657e6a9f Merge pull request #2642 from oliviertremblay/master
Make TargetPath customizable
2015-10-20 12:11:13 -07:00
Mark Peek e5a713ff01 Alternative fix for #2641: make random script name actually random 2015-10-11 13:31:09 -07:00
Israel Shirk c81a486f34 Rearranges vmware builders to put compaction before VMX finalization to avoid stomping VMX changes 2015-09-18 07:51:46 -06:00
Olivier Tremblay f301a6454d Added documentation, renamed config param to iso_target_path 2015-08-20 07:37:24 -04: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 84189f7a28 builder/*: properly save interpolation context 2015-06-22 09:22:42 -07:00
Marc Siegfriedt 667c53942b use template for additional disks 2015-06-15 12:40:34 -07:00
Mitchell Hashimoto 115d583cff helper/communicator: make host more generic 2015-06-13 19:23:33 -04:00
Mitchell Hashimoto b61ed3adfc builder/vmware: convert to helper/comm 2015-06-13 18:52:44 -04:00
Mitchell Hashimoto 71d8c6610a Merge pull request #1968 from bhcleek/master
do not request a pty
2015-06-13 16:23:31 -04:00
Mitchell Hashimoto 9da9ce6046 vmware/iso: disk_additional_size 2015-06-10 12:41:17 -07:00
Eric Richardson fab9ca9cdb Initial work to implement additional disk support in the vmware-iso builder
* Matches the syntax from mitchellh/packer#703
* Creates disk(s), adds them to the vmx template, and runs compact at the end
2015-06-04 08:22:50 -07:00
Mitchell Hashimoto f5945eeb1b vmware/iso: new interpolation 2015-05-27 14:16:28 -07:00
Billie H. Cleek 2184892f8a do not request a pty
Change the default behavior from requesting a PTY when executing a
command with the ssh communicator to requesting a PTY only when
configured to do so.

Update the vmware builders to be fully backward compatible with the new
behavior.
2015-02-12 20:18:54 -08:00
Christian Groschupp e9246ec490 builder/vmware/iso: Upload VMX to ESX5 after editing [GH-1422,GH-1083] 2014-11-16 19:48:02 +01:00
Mitchell Hashimoto 00543fe582 Merge pull request #1479 from jasonberanek/esxi-remote-cache
buidler/vmware-esxi: Add configuration options for the remote location to cache ISO and floppy files
2014-10-28 08:28:15 -07:00
Nick Cronin 1aa102dd06 addresses #1191 - Add VMWare virtualhw.version configuration option under 'version' 2014-10-28 11:49:04 +11:00
Jason A. Beranek b6eb3eba1d builder/vmware-esxi: Add configuration options for remote cache path
Add configuration option to explicitly control where Packer uploads
  ISO and floppy files to on ESXi hosts. The `remote_cache_datastore`
  defaults to the `remote_datastore` value. The 'remote_cache_directory'
  defaults to 'packer_cache', similar to the local caching capabilities.

  Addresses issues with [GH-1218] and [GH-1221] where paths for uploaded
  ISO and floppy files are not written to a valid location in the
  datastore.
2014-09-10 00:10:06 -05:00
Mitchell Hashimoto 1a45b96674 builder/vmware: add VNC to vmx 2014-09-05 12:10:40 -07:00
Mitchell Hashimoto 759c46487c builder/vmware-vmx: support http files 2014-09-05 11:59:46 -07:00
Mitchell Hashimoto c74f0c7cfe Merge branch '1082-add-boot-commands-to-vmx-and-ovf-builders' of github.com:rasa/packer into rasa-1082-add-boot-commands-to-vmx-and-ovf-builders
Conflicts:
	builder/virtualbox/ovf/config.go
	builder/vmware/vmx/config.go
2014-09-05 11:42:01 -07:00
Mitchell Hashimoto 67afff5ede fmt 2014-09-03 21:27:54 -07:00
Mitchell Hashimoto ba3bae8a65 Merge pull request #1239 from StefanScherer/fix_skip_floppy_in_vmx_data_post_step
builde/vmware: skip adding floppy again in vmx_data_post step
2014-09-02 10:02:17 -07:00
Shawn Neal 05ebc8f316 Do not re-add floppy disk files to VMX
This commit fixes errors like this in the vsphere post-processor when using floppy files in the builder step:
Error: File (/var/folders/zl/57c1vmr532z_ryf1scw53_b9ycmxh7/T/packer964492999) could not be found

The configure VMX step re-adds the floppy files, so we need to configure the VMX and _then_ clean the VMX in that order.
2014-07-21 17:06:43 -07:00
StefanScherer de5c38e6c5 skip adding floppy again in vmx_data_post step 2014-06-09 01:02:21 +02:00
Ross Smith II e93697ab4e builder/virtualbox-ovf,vmware-vmx: add `boot_command` support
Fixes #1082
2014-05-12 21:19:24 -07:00
Mitchell Hashimoto 7e991af48e builder/vmware/common: tests for StepPrepareTools
/cc @rasa - an example
2014-05-10 10:16:53 -07:00
Mitchell Hashimoto 1b1d87128c Merge pull request #1154 from rasa/765-add-tools-upload-flavor-support-in-vmware-vmx
builder/vmware-vmx: Added tools_upload_flavor support
2014-05-10 10:07:34 -07:00
Ross Smith II 779c7184a2 go fmt 2014-05-09 21:12:14 -07:00
Ross Smith II ba13239672 builder/vmware-vmx: Added tools_upload_flavor support 2014-05-09 17:24:19 -07:00
Ross Smith II bdfac49410 builder/vmware: added vmx_data_post option 2014-05-09 09:25:15 -07:00
Yuya Kusakabe 5cac40b47c Fixes #1106, Remote ESXi builder doesn't upload floppy 2014-05-03 18:41:00 +09:00
Mitchell Hashimoto 12938fe36b builder/virtualbox,vmware: checksum not required if checksum type is
none
2014-01-04 11:10:13 -08:00
Mitchell Hashimoto 2b801a7b12 builder/vmware,virtualbox: checksum_type can be "none" [GH-471] 2013-12-28 09:59:47 -07:00
Mitchell Hashimoto eeadafc452 builder/vmware/*: can specify path to fusion [GH-677] 2013-12-27 08:37:39 -07:00
Mitchell Hashimoto 7f38cea9f3 builder/vmware/vmx: shutdown 2013-12-26 15:31:23 -07:00
Mitchell Hashimoto e11f655d22 builder/vmware/vmx: run the VMs 2013-12-26 15:26:09 -07:00
Mitchell Hashimoto 286edcb2b4 builder/vmware/vmx: configure VMX 2013-12-26 15:14:19 -07:00
Mitchell Hashimoto 141cfeb4bb builder/vmware/vmx: outputdir 2013-12-25 16:01:57 -07:00
Mitchell Hashimoto bee879409a builder/vmware: new artifact type that is common 2013-12-25 11:27:53 -07:00