3485 Commits

Author SHA1 Message Date
DanHam
36bd2f5691
Fix an error with an error. Add some comments. 2018-07-20 02:12:46 +01:00
DanHam
ee0a2469eb
Add ability to specify 'temp_path' for the build directory to VMCX builder 2018-07-20 02:12:46 +01:00
DanHam
8032c8151a
Tests for step to create output directory 2018-07-20 02:12:46 +01:00
DanHam
f027585a93
Tests for step to create build directory 2018-07-20 02:12:45 +01:00
DanHam
ed5bebfa8c
Change variable/statebag key name to better convey purpose 2018-07-20 02:12:45 +01:00
DanHam
00276f2f64
Change step name to better illustrate purpose of step 2018-07-20 02:12:45 +01:00
DanHam
b386e567db
Change filename to better illustrate purpose of step 2018-07-20 02:12:45 +01:00
DanHam
d2390f464d
Actually implement the function for the driver 2018-07-20 02:12:45 +01:00
DanHam
181bb0ba23
Add calling code and skeleton driver to make tests pass 2018-07-20 02:12:45 +01:00
DanHam
0a4ec13323
Tests for func to move VHDs to output dir when skip_export: true 2018-07-20 02:12:44 +01:00
DanHam
32148168bd
Introduce a new step to collate build artifact at the end of the build
The new step collects together all the required build artifacts and
places them in the output directory.

* Reintroduce/add the code removed from step export to preserve the
  legacy export directory structure when skip_export is unset/false
* Add a place holder for a future function that will move just the VHD
  files from the build directory to the output directory when
  skip_export is true
* Add tests for current functionality and placeholder tests for future
  functions
2018-07-20 02:12:44 +01:00
DanHam
ee7fa27ada
Fix up tests. Ensure export step stores the export path in state 2018-07-20 02:12:44 +01:00
DanHam
232dd8f0a6
Remove code to preserve legacy export dir structure from the export step
Store the export path in the state bag in preparation for use in a later
step
2018-07-20 02:12:44 +01:00
DanHam
c2437ba592
Remove the option to place the VHD files in a separate directory
The export process now exports the VM directly from the build directory
into the output directory. There are no intermediate steps or copying of
files involved. This means that there is no longer any benefit in having
a separate directory to house the VHD files - see #5206 for the
reasoning behind the introduction of this feature.

If a user wishes to house the build files on a separate disk from the
output directory (perhaps for performance reasons or due to disk space
limitations) they can still do so through the use of `temp_path`.
2018-07-20 02:12:43 +01:00
DanHam
d5d82c32b2
Changes to the export process have made 'inline' build of disks redundant
PR #5631 introduced code to build/create disks directly in the output
directory if `skip_export` was set in an attempt to optimise the build
process. These are no longer required.
2018-07-20 02:12:43 +01:00
DanHam
35b4e87c42
Add tests for export VM step 2018-07-20 02:12:43 +01:00
DanHam
30a71da8e7
Add tests for disk compaction step 2018-07-20 02:12:43 +01:00
DanHam
09028c14a3
Reintroduce the disk compaction process as a unique step 2018-07-20 02:12:43 +01:00
DanHam
da2df69301
Remove disk compaction from the export step 2018-07-20 02:12:42 +01:00
DanHam
c6b9d9ce90
Add checks/error reporting to compaction process
* Report compaction results
* Failure to find any disks under the supplied path is treated as a
  'soft' error and a warning message will be printed in place of the
  compaction result. Any other failure will cause the build to fail.
2018-07-20 02:12:42 +01:00
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
Anshul Sharma
885ecb0790
Issue-6309 Amazon Chroot Provider
-  Add tags on CreateVolume
2018-07-18 13:01:15 +03: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
Christopher Boumenot
fa7f54cb55 azure: satisfy Azure password requirements 2018-07-11 15:32:45 -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