Commit Graph

3348 Commits

Author SHA1 Message Date
DanHam 534fc4a473
Ensure the export directory structure matches that of previous versions
Commit 3fc2defb6 altered the directory structure associated with an
exported VM. The changes mean that the export process now stores the
exported machine files and folders under a folder with name 'vm_name' in
the output directory.
This commit restores the previous behaviour whereby the exported machine
files and folders were stored directly in the output directory. This
allows us to keep the efficiency improvements introduced with 3fc2defb6
while maintaining backward compatibility.

By default the Export-VM command creates three folders in the specified
export directory - 'Virtual Hard Disks', 'Virtual Machines' and
'Snapshots'. When a machine with no associated snapshots is exported the
'Snapshots' directory is empty.
Prior to 3fc2defb6 the Snapshots folder was not copied/incorporated into
the output directory at all. This was a bug.
This commit preserves the legacy behaviour by not including an empty
Snapshots directory in the export. However, if there *are* Snapshots
associated with the VM, they are now moved into the output directory
along with the usual directories containing disks and VM metadata. This
prevents warnings/errors on import due to missing snapshots.
2018-07-20 02:09:57 +01:00
DanHam dc46848f89
Remove now redundant function to copy exported VM files 2018-07-20 02:09:57 +01:00
DanHam 3fc2defb6d
Refactor the export step for Hyper-V ISO and VMCX builders
* Fixes a bug that caused the build to error if users did not
  explicitly set `skip_compaction:true` when setting `skip_export:
  true`. See #6392.
* Improves the efficiency of the compaction and export process by
  reordering the compaction and export steps.
* Further improves the efficiency of the compacting step through
  compacting the vmd* file directly rather than creating and then
  operating on a copy.
* The changes mean the export process now stores the exported machine
  files and folders under a folder with name 'vm_name' in the output
  directory. Previously the exported machine files and folders were
  stored directly in the output directory.
2018-07-20 02:09:54 +01:00
Matthew Hooker 814c1cf2b2
spellfix 2018-07-18 13:00:45 -07:00
Andrew Pryde 67f039509a
Merge pull request #6498 from neumayer/ocimetadata
Allow instance metadata to be specified in config
2018-07-18 18:27:27 +01:00
xxx 7630268e1d Incorporate review comments 2018-07-17 17:41:19 +02:00
James Nugent 9fffe4056e
Merge pull request #5452 from smaato/tag-spot-requests
Enable tagging of spot requests
2018-07-16 13:00:07 -05:00
Sander van Harmelen 451cbd8aa9
Merge pull request #6487 from sermilrod/Honour-cloudstack-projectid
Honour cloudstack projectid
2018-07-16 13:53:06 +02:00
Sergio Millan Rodriguez f4020835d6 flag to setup networking without firewall rules 2018-07-16 13:06:51 +02:00
Sergio Millan Rodriguez 472a7820eb Using UI keypair meaningful message 2018-07-16 11:39:15 +02:00
Sergio Millan Rodriguez e729b21212 passing projectid to getRootVolumeID rather than the whole config struct 2018-07-16 11:38:14 +02:00
Mark Meyer 2fec76ea87 Check if spot price is empty, when spot_tags is set 2018-07-13 22:42:42 +02:00
Megan Marsh b6b907f523 read in the environment variables that government wait time and polling time for the AWS wait in step_stop_ebs_volume 2018-07-13 09:43:28 -07:00
Sergio Millan Rodriguez a41a4658ee make packer builder honour projectid setting if provided 2018-07-13 17:58:46 +02:00
Sergio Millan Rodriguez eae0556dc5 Add option to enable/disable create firewall/acl rules 2018-07-13 17:58:39 +02:00
Megan Marsh 1d15f09e36
Merge pull request #6440 from DanHam/simplify-vmx-find-disks
Further simplify enumeration of attached disks for VMware VMX builder
2018-07-12 11:05:35 -07:00
Megan Marsh 8e22803099 fix loading of environment variables for managing aws waiters 2018-07-11 13:10:38 -07:00
Megan Marsh 12f1b2421d
Merge pull request #6332 from hashicorp/do_6177
Replace home-grown waiters with aws sdk's built in waiters
2018-07-11 11:17:02 -07:00
Megan Marsh f657ca39c9 refactored env var code and tests so that I don't have to set env vars during tests to check logic 2018-07-11 10:36:21 -07:00
Megan Marsh 14166fdd99 update amazon import docs to include the env vars for setting aws waiter delays and timeouts 2018-07-11 10:36:21 -07:00
Megan Marsh bfbe318727 fix the homegrown waiters
fix image import; issue was with wait options not being evaluated
2018-07-11 10:36:21 -07:00
Megan Marsh f49a2d8aed move UI call to before the wait; add context to these steps 2018-07-11 10:36:21 -07:00
Megan Marsh cf63dd10bf replace AMIStateRefreshFunc, InstanceStateRefreshFunc, our spot instance waiter, our chroot volume waiter, and our snapshot waiters with waiters form AWS's SDK. 2018-07-11 10:34:20 -07:00
M. Marsh 62d9dcb822
Merge pull request #6477 from jabbera/fixMaxResourceGroupLength
managed_image_resource_group_name max length change
2018-07-11 10:23:30 -07:00
Mike 5ea6429cd6
managed_image_resource_group_name max length change 2018-07-11 11:31:51 -04:00
M. Marsh 8e852af1eb
Merge pull request #6448 from DanHam/fix-esxi-displayName
ESXi: Fix failure to discover IP or export VM when 'displayName' differs from 'vm_name'
2018-07-10 16:57:16 -07:00
Michael Gibson 7e4fb9adb5
vnc_bind_address not getting passed through to qemu
This was mostly addressed in commit
hashicorp/packer@fa273f3

Just missing vncIP from step_type_boot_command.go
2018-07-09 14:05:39 -06:00
M. Marsh adfee4933a
Merge pull request #6437 from hashicorp/retry_convert
make the convert retryable in case it takes a bit to release a lock
2018-07-09 11:09:57 -07:00
Mark Meyer 3dbf1cb371 Enable tagging of spot requests
This adds a new parameter to the EBS builders named `spot_tags'. This
parameter accepts a map of tags, much like `tags'. These tags will be
applied to a spot request that is created.

Improve visibility.
2018-07-07 16:06:51 +02:00
DanHam a39c5887fb
Test we halt if a bad path is set in vmx_path 2018-07-06 10:58:25 +01:00
DanHam 21117e5d38
Test we fail if displayName is not stored in the statebag as 'display_name' 2018-07-06 10:58:25 +01:00
DanHam 88c43ec98d
Test we fail if the displayName key is not found in the VMX 2018-07-06 10:58:24 +01:00
DanHam d68d26a6e5
Fix tests: We now need to set `displayName` key/val pair in the test VMX 2018-07-06 10:58:24 +01:00
DanHam 902cea0f30
ESXi: Fix failure to export VM when `displayName` differs from `vm_name`
ovftool requires we pass in `displayName` as part of the source locator
string so that it can successfully determine the VM intended for export.
2018-07-06 10:58:17 +01:00
DanHam cd7d3812ea
ESXi: Fix failure to get VM IP when `displayName` differs from `vm_name`
The value in the Name field returned by 'esxcli network vm list'
actually returns the VMs `displayName`. As such, we need to match
against `displayName` to discover the VMs 'WorldID'.
'WorldId' is ultimately used/needed as an argument in the command that
returns the VMs IP.
2018-07-06 10:58:09 +01:00
DanHam 3eab3cc99b
ESXi builds require we store the value of displayName in the statebag
The value of displayName is needed by later steps:
* When determining the IP address of the build VM
* When exporting the VM using ovftool

By default Packer will configure the VMX so `displayName` is equal to
the value defined for `vm_name` in the build template. However, it is
possible (and sometimes desirable) to set a custom value for
`displayName`.
Users can set a custom `displayName` through use of the `vmx_data`
option in their template.
2018-07-06 01:58:09 +01:00
Edouard Bonlieu 4b1f96b527
Merge pull request #6439 from jbonachera/scaleway-config-bootscript
scaleway: add 'bootscript' configuration parameter
2018-07-04 10:10:19 +02:00
M. Marsh 8658eaf1ac
Merge pull request #6424 from DanHam/fix-esxi-export-hang
Prevent hang on export when using VMware ISO builder on remote ESXi host
2018-07-02 16:42:08 -07:00
DanHam 939aa7e289
Add test: We shouldn't error when main remote options are unset 2018-07-02 18:13:19 +01:00
DanHam efcdf60d96
Add tests to ensure remote_password is set when exporting with ovftool 2018-07-02 18:13:19 +01:00
DanHam 0d9134bdbc
Fix existing tests as they were not doing what they should have been
* Fix test to check for remote_host when remote_type is set
* Fix tests by including remote_password where required
2018-07-02 18:12:41 +01:00
DanHam eee16262b6
Remove duplicate/redundant test 2018-07-02 18:10:50 +01:00
DanHam c8199458a7
Prevent hang on export for remote ESXi build due to empty remote_password 2018-07-02 18:10:50 +01:00
M. Marsh 406f4eeb93
Merge pull request #6394 from conradjones/master
Add support to vmware-vmx for linked clones
2018-07-02 09:50:24 -07:00
Robert Neumayer 22e5523faa Allow instance metadata to be specified in config 2018-07-02 10:48:08 +02:00
DanHam fff72780e1
Further simplify enumeration of attached disks for VMware VMX builder
* Collate separate regexp's into one for greater efficiency
* Inline function and remove unnecessary struct and variables
2018-07-01 16:18:33 +01:00
Conrad Jones d9b6924986 Add cloneType to fusion driver 2018-06-30 16:31:42 +01:00
Julien BONACHERA eda85a4daf
scaleway: add 'bootscript' configuration parameter 2018-06-29 19:44:56 +02:00
Megan Marsh 2b2c860df8 make the convert retryable in case it takes a bit to release a lock 2018-06-28 14:21:28 -07:00
M. Marsh c67d59515c
Merge pull request #6370 from arizvisa/patch-1
Allow StepAttachIso in the VirtualBox builder to resolve symbolic links when processing the IsoPath.
2018-06-27 10:30:30 -07:00