Commit Graph

539 Commits

Author SHA1 Message Date
Ali Rizvi-Santiago 594ed950c7 Fixed a race condition in builder/vmware/common/driver_parser.go due to a misunderstanding how channels work when you close them. 2018-02-02 19:18:49 -06:00
Ali Rizvi-Santiago 737e951685 Added missing root path to path-finders for the VMware Fusion implementation in the vmware builder as mentioned by @SwampDragons. 2018-02-02 19:18:49 -06:00
Ali Rizvi-Santiago b2fec18b1e Added parser for VMware Fusion's networking file. Replaced VmwareDriver's NetmapConfPath with a NetworkMapperInterface in order to handle the differences between VMware Fusion and the rest of the VMware suite. 2018-02-02 19:18:49 -06:00
Ali Rizvi-Santiago 069d00f70b Added the paths suggested by @phekmat and @SwampDragons for VMware Fusion... Although parser for the new mapper format is likely to be needed still. 2018-02-02 19:18:49 -06:00
Ali Rizvi-Santiago 8cc0776f3a Fixed oversight in VMware builder's mock-driver that neglected to initialize 'HostAddressResult'. 2018-02-02 19:18:49 -06:00
Ali Rizvi-Santiago 029c357d8c Modified some tests to require the PACKER_ACC environment variable to be set before executing them. This turns them into acceptance tests as per CONTRIBUTING.md. 2018-02-02 19:18:49 -06:00
Ali Rizvi-Santiago 58ebc5c9a5 When specifying NONE for serial or parallel in the VMware builder, disable the serial and parallel port devices entirely. 2018-02-02 19:18:48 -06:00
Ali Rizvi-Santiago 258804106b Added missing GetVmwareDriver() method to VMware Builder's DriverMock. 2018-02-02 19:18:48 -06:00
Ali Rizvi-Santiago 6423525a33 Updated imports of github.com/mitchellh/packer to new naming scheme github.com/hashicorp/packer 2018-02-02 19:18:48 -06:00
Ali Rizvi-Santiago 75fbfa0763 Replaced a hacky type assertion in the VMware builder with a call to Driver.GetVmwareDriver() that returns the driver-specific structure for ip and addressing information. Also implemented the addressing functions for the ESXi driver interface.
This fixes an issue where a driver might not have defined a VmwareDriver by forcing a developer to implement it via the standard Driver interface.
2018-02-02 19:18:48 -06:00
Ali Rizvi-Santiago 898b27c16d Added support for the NONE option to be specified for parallel and serial ports in the vmware iso builder. 2018-02-02 19:18:48 -06:00
Ali Rizvi-Santiago 884af69da1 go fmt on builder/vmware/* 2018-02-02 19:18:48 -06:00
Ali Rizvi-Santiago 0d6cf7fac4 Added support for auto-detection to the serial and parallel port types.
Included the yield option to all the serial port types.
Added the ability for the network type to fallback to a custom network if the
    specified network name is not found in netmap.conf.
Promoted the scope for both Read{Dhcp,Netmap}Config inside vmwcommon.driver.
Updated the documentation for the VMware builder.
2018-02-02 19:14:29 -06:00
Ali Rizvi-Santiago b52e2d3f45 Added the ability for the vmware-builder to fallback and determine the network device-name using the .vmx configuration in case of a guest using the "custom" connection type. 2018-02-02 19:13:02 -06:00
Ali Rizvi-Santiago e389d30a1b Implemented the unit-tests for builder/vmware/iso/step_create_vmx.go 2018-02-02 19:13:02 -06:00
Ali Rizvi-Santiago 15cb6a833a Ugh..missing argument in VMware builder's driver_esx5 unit-test due to api change for .HostIP(). Fixed. 2018-02-02 19:11:41 -06:00
Ali Rizvi-Santiago 9b95ce0bc6 Completely forgot to support the unix paths in each of the drivers for the VMware builder. Fixed. 2018-02-02 19:11:41 -06:00
Ali Rizvi-Santiago 4225b3568e Fixed bad ORs and a bad fmtstring. 2018-02-02 19:11:41 -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
SwampDragons 8ae8f31a52
Merge pull request #5681 from mcandre/super-key
add super key (vmware builder)
2018-02-02 13:33:11 -08:00
Matthew Hooker 8bdd3b45c7
use helper functions for reading vmx files 2018-01-31 13:19:31 -08:00
Matthew Hooker 76b2ce8604
log which vmware driver we decide on 2018-01-26 16:12:43 -08:00
Matthew Hooker 07421b4433
test vmware workstation version checking 2018-01-26 15:58:17 -08: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
Matthew Hooker ebe995c0ff
run goimports 2018-01-22 17:21:10 -08:00
Andrew Pennebaker d069dc5b7c handle holding a-z keys, such as for boot options (vmware builder) 2017-12-09 20:51:49 -06:00
Andrew Pennebaker 4acc98a729 add super key (vmware builder) 2017-12-07 23:15:56 -06:00
SwampDragons 8a30b3db80
Merge pull request #5456 from GoSecure/vmware-iso-improved-network-logging
vmware-iso builder: Logging on network errors on connection refused
2017-11-30 16:31:30 -08:00
bugbuilder 23f4d187e2 validating keep_registered and fixing skip_export issues 2017-11-08 15:57:34 -03:00
Matthew Hooker 4d117bf117
Make vm log output less confusing 2017-11-02 10:45:54 -07:00
Olivier Bilodeau 820811675d vmware-iso builder: Logging on network errors on connection refused 2017-10-13 19:00:48 -04: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
Matthew Hooker 2a326b5172
fix nil ptr exception 2017-10-05 16:34:13 -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
Matthew Hooker cd11e4ff33 Merge pull request #5187 from mkuzmin/vmware-artifactid
vmware: Publish artifact ID
2017-08-30 13:56:49 -07:00
Matthew Hooker 28894fb418 Merge pull request #5274 from mmerdes/master
Fix timestamp interpolation in created file name
2017-08-23 14:08:27 -07:00
Victor Ronin cb75796389 Show a message why VM export was skipped while building on VMWare Fusion/Workstation 2017-08-23 12:44:46 -07:00
Matthias Merdes c8d09b5152 Fix timestamp interpolation in created file name
This commit attempts to fix the timestamp-related part of #4885 by using the logic found in the analogous virtualbox implementation. In essence, it applies the solution from commit 93bb0d8 to the vmx case.
2017-08-23 13:04:42 +02:00
Michael Kuzmin 9876a28ea7 vmware: publish vm_name as artifact ID 2017-07-28 11:16:46 +03:00
Matthew Hooker d35eeecf46
vnc port discovery timeout is 15 seconds 2017-06-22 17:58:18 -07:00
Megan Marsh 2a6f5f1b13 specify HostKeyCallback for vmware esx5 driver 2017-06-21 10:09:11 -07:00
Matthew Hooker bf830e393d Merge pull request #4810 from bryonr/fix_vmware_shutdown_cleanup_osx
Help ensure VMX builder properly removes mounted CDs on OS X
2017-06-05 15:17:08 -07:00
Matthew Hooker 730cc0889e Merge pull request #4919 from hashicorp/fix4798
builder/vmware: make vnc probe timeout configurable
2017-05-30 12:59:22 -07:00
Matthew Hooker f801c507fc
builder/vmware: make vnc probe timeout configurable 2017-05-30 12:51:45 -07: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