Commit Graph

3187 Commits

Author SHA1 Message Date
Megan Marsh ff717c5784 wrong place for differentiation between ssh and winrm 2018-02-08 13:21:21 -08:00
Megan Marsh ad2e5f1f08 fail in oracle classic builder if user tries winrm since it doesn't work yet, and add attributes and attributes_file fields to oracle builder 2018-02-08 12:52:44 -08:00
Matthew Hooker e752e3a018
use new internal multistep helper 2018-02-08 12:10:11 -08:00
Loïc Carr 22b12432db
builder/scaleway: support ssh agent authentication 2018-02-08 12:10:11 -08:00
Loïc Carr 1f7c32db98
builder/scaleway: report to ui scw api startup error 2018-02-08 12:10:11 -08:00
Loïc Carr 7f8ed28bc6
builder/scaleway: Make use of NewRunnerWithPauseFn 2018-02-08 12:10:11 -08:00
Loïc Carr fc7d89eb79
builder/scaleway: support password auth 2018-02-08 12:10:11 -08:00
Edouard BONLIEU eb56b1b70e
Fix terminate error 2018-02-08 12:10:10 -08:00
Edouard BONLIEU b44798b38d
Raise error in case of create server failure 2018-02-08 12:10:10 -08:00
Edouard BONLIEU 09805911b4
Fix builder unique id
Add new ARM64 commercial types
DOC - Add default value for optional settings
DOC - Fix typo
2018-02-08 12:09:25 -08:00
Edouard BONLIEU 2de93c5ae6
Add existing SSH key support
Update documentation
2018-02-08 12:09:25 -08:00
Edouard BONLIEU 1fb13cc23e
Add image creation from snapshot
Rename organization_id / access_key
Update test / doc
2018-02-08 12:09:25 -08:00
Edouard BONLIEU 9b611af7e6
Allow token and organization id to be passed via env vars 2018-02-08 12:09:25 -08:00
Edouard BONLIEU 7e36cfcff1
Add Scaleway builder 2018-02-08 12:09:24 -08:00
Matthew Hooker 6205c71f98
Merge pull request #5791 from YuSungDuk/master
Naver Cloud Platform builder
2018-02-08 11:10:18 -08:00
Edward c29e5de381
Remove the deprecated extensions
The Nova extension API was deprecated from OpenStack N release.
this parts of code cannot work well with the newest OpenStack version.

This patch is to remove the relative parts:
1. Remove the step_load_extensions.go
2. Remove the step of extension from builder.go
3. Remove the parameter parsing from step_stop_server.go

Resolves: #5581
2018-02-06 17:36:47 -08:00
유성덕 0ebdad2934 fix communicator type : Windows -> winrm 2018-02-07 10:29:56 +09:00
Matthew Hooker 8510f072a9
Merge pull request #5841 from hashicorp/fix5447
Add volume and run tags if in us-gov/china
2018-02-05 17:29:12 -08:00
Matthew Hooker 21812fa17f
Add volume and run tags if in us-gov/china
We can't tag on instance creation when we're in "restricted" regions,
so let's add the tags after the resources have been created.

Adds methods to AccessConfig to detect if we're in China or US Gov
regions (i.e. "restricted").

Also turns tag:tag maps into a type, and moves methods around validating
and converting them to ec2Tags to methods of the type.
2018-02-05 16:39:20 -08:00
Matthew Hooker ff64ccda55
Merge pull request #5426 from hashicorp/fix_4915
Fix 4915
2018-02-05 14:54:27 -08:00
SwampDragons 7d5d62d748
Merge pull request #2906 from arizvisa/GH-2377
Improved support for downloading and validating a uri containing a Windows UNC path or a relative file:// scheme
2018-02-05 09:53:47 -08:00
Petr Hosek eaef2961cb Support specifying licenses for Google Compute images
This is needed to enable features such as the nested virtualization:
https://cloud.google.com/compute/docs/instances/enable-nested-virtualization-vm-instances
2018-02-03 14:15:16 -06:00
Ali Rizvi-Santiago fa2dddd26d Fixed some things mucked up during rebase. 2018-02-02 19:45:18 -06:00
Ali Rizvi-Santiago aefe41a44a Fixed an issue with the previous commit so that when the user does not specify the cdrom_adapter_type to fallback to the original decision made by the disk adapter type selection. 2018-02-02 19:18:50 -06: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 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
SwampDragons caea770af1
Merge pull request #5819 from hashicorp/oracle-oci-builder
Oracle oci builder
2018-02-02 11:56:18 -08:00
Ben Phegan 3c88e787df
Merge branch 'master' into hyperv_mac_address 2018-02-02 09:26:52 +11:00
SwampDragons 6d14eb6ea4
Merge pull request #5631 from vijayinvites/diffdisks
[Hyper-V] Use differential disks and Inline disk creation to improve build time (a lot) and to reduce disk usage(a lot)
2018-01-31 16:51:27 -08:00
Megan Marsh 383ac13e2a update default of image list after adding new entry. 2018-01-31 16:37:55 -08:00
Megan Marsh 8f7937f492 fix machine image name to include prepended / 2018-01-31 15:22:09 -08:00
Megan Marsh 3180dc327c remove copypasta comment 2018-01-31 15:02:19 -08:00
Matthew Hooker 8bdd3b45c7
use helper functions for reading vmx files 2018-01-31 13:19:31 -08:00
Megan Marsh 66cd85828e rename dest_image_list_description to image_description 2018-01-31 12:48:40 -08:00
Matthew Hooker baf8d30ad2
Merge pull request #5738 from testworksau/intel-haxm-support
Add Intel HAXM support to QEMU builder
2018-01-31 12:41:15 -08:00
Megan Marsh af26b312cd fix logline 2018-01-31 11:35:34 -08:00
Megan Marsh 871ead371a Clean up based on Oracle comments 2018-01-31 10:47:19 -08:00
유성덕 f39c3458f7 fix Run method arguments for testing 2018-01-30 10:20:02 +09:00
Megan Marsh 705459c260 add snapshotted machine image to image lists, then delete the snapshot. 2018-01-29 16:50:53 -08:00
유성덕 e68a742bca make fmt 2018-01-29 22:44:24 +09:00
유성덕 175dd2730f Use 'github.com/hashicorp/packer/helper/multistep' 2018-01-29 22:41:22 +09:00
유성덕 5714108ef9 Merge branch 'master' into support_ncloud 2018-01-29 22:10:18 +09:00
유성덕 6b40c726e0 Use `PublicIp` for communicator 2018-01-29 22:07:32 +09:00
유성덕 e57a8161e0 remove delete step of `login key` and `public ip instance`. 2018-01-29 21:47:58 +09:00
유성덕 2a3a35334a Logging root password 2018-01-29 20:42:22 +09:00
유성덕 30f8fee402 use comment with english 2018-01-29 19:08:53 +09:00
유성덕 3820f97a0b use state storage to save `feeSystemTypeCode` 2018-01-29 18:35:43 +09:00
유성덕 2152ad7609 Add UserDataFile 2018-01-29 18:09:14 +09:00
유성덕 da78ebbf83 - Remove plugin version
- remove `os_type`. use `communicator` instead of this.
2018-01-29 17:29:26 +09: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
Megan Marsh 56c6fed42a ui.say vs ui.message 2018-01-26 15:20:12 -08:00
Megan Marsh 3ee1aa3ed6 clean up ip reservations 2018-01-26 15:18:33 -08:00
Megan Marsh 565b660b19 comments 2018-01-26 14:28:27 -08:00
Megan Marsh 98857c42cf add tests; fix a couple issues caught by said tests 2018-01-26 14:27:31 -08:00
Matthew Hooker 9edd98f7b0
Use more uuids and make messaging consistent. 2018-01-26 13:43:19 -08:00
Matthew Hooker c6b43ce6e9
remove errouneous double prep 2018-01-26 13:13:13 -08:00
Matthew Hooker 71acccc1ed
add UI output with resource names 2018-01-26 13:12:35 -08:00
Matthew Hooker 18ffde4ecf
remove unused file 2018-01-26 12:59:46 -08:00
Matthew Hooker fad4d5c272
update tests for mapstructure behavior changes 2018-01-26 12:40:34 -08:00
Megan Marsh 0e5be59947 wrap error message for clarity 2018-01-26 09:55:31 -08:00
Megan Marsh ff9fef5ed2 switch to using a UUID for packer-generated keys, and clean them up at end of build 2018-01-26 09:51:16 -08:00
Megan Marsh b6d21ecd63 validate that required fields are present 2018-01-26 08:53:24 -08:00
Megan Marsh 25bc1da8fe remove unsused access config 2018-01-26 08:48:23 -08:00
Megan Marsh de2e5edf2e remove errant change in amazon builder 2018-01-26 08:43:51 -08:00
Matthew Hooker 4622bb4585
return no artifact if no snapshot was created 2018-01-25 16:32:37 -08:00
Matthew Hooker 77277ebc98
add logging behind "PACKER_OCI_CLASSIC_LOGGING" env var 2018-01-25 16:32:34 -08:00
Matthew Hooker 0fad49e897
simplify 2018-01-25 15:05:36 -08:00
Matthew Hooker 4dc42942f5
fix multistep path 2018-01-25 14:46:02 -08:00
Matthew Hooker 6dc0bd759a
import context 2018-01-25 14:43:55 -08:00
Matthew Hooker dd2384483b
add context to steps 2018-01-25 14:42:39 -08:00
Megan Marsh 00db189c9c
add docs page 2018-01-25 14:34:03 -08:00
Megan Marsh 1fffbacdd3
fix ordering of deleting security rules and lists 2018-01-25 14:34:03 -08:00
Matthew Hooker 76ea73c5b2
I don't think we need to delete this artifact right now 2018-01-25 14:34:03 -08:00
Matthew Hooker 603881d990
add oci/classic artifact 2018-01-25 14:34:03 -08:00
Matthew Hooker 44befb0857
rename 2018-01-25 14:34:02 -08:00
Matthew Hooker b9a90b9261
Check for error when creating ip reso 2018-01-25 14:34:02 -08:00
Megan Marsh 7d23cfae0a
allow user to add a security list for SSH access; add cleanup for packer-generated rules and lists 2018-01-25 14:34:02 -08:00
Megan Marsh 531cb2244d
add separated out steps 2018-01-25 14:34:02 -08:00
Megan Marsh 53ff257cf0
it LLIIIIIIIIIVES 2018-01-25 14:34:02 -08:00
Megan Marsh 89159f3a87
fix bugs in cleanup 2018-01-25 14:34:02 -08:00
Megan Marsh f6c60aac78
clean up instance 2018-01-25 14:34:01 -08:00
Megan Marsh 256382547b
snapshot step works 2018-01-25 14:34:01 -08:00
Megan Marsh 69ba710c2a
PROGRESS! Now it only fails on the snapshot step 2018-01-25 14:34:01 -08:00
Megan Marsh f208a071a4
fix communicator 2018-01-25 14:34:01 -08:00
Megan Marsh 6556a851dc
fix ssh key handling 2018-01-25 14:34:01 -08:00
Megan Marsh a8a0072049
oops need to add this moved file to git 2018-01-25 14:34:01 -08:00
Megan Marsh 8b420944c5
debugs 2018-01-25 14:34:00 -08:00
Megan Marsh 46c3113613
it compiles :) 2018-01-25 14:34:00 -08:00
Megan Marsh 8aa716cd4c
stub out step_snapshot 2018-01-25 14:33:43 -08:00
Megan Marsh 007e8f7c14
finish stubbing out step_create_IP_reservation 2018-01-25 14:33:43 -08:00
Megan Marsh 7d72870179
add buffer to read template into 2018-01-25 14:33:42 -08:00
Megan Marsh 0117f53721
add error message 2018-01-25 14:33:42 -08:00
Megan Marsh a66dfe1972
fleshing out step_create_instance 2018-01-25 14:33:42 -08:00
Megan Marsh 4fe89be32a
fleshing out steps 2018-01-25 14:33:42 -08:00
Megan Marsh 75ee66f934
add stubbed out steps 2018-01-25 14:33:42 -08:00
Matthew Hooker 3bf431a423
construct OCI client 2018-01-25 14:33:41 -08:00
Matthew Hooker 9e8d845c03
create instance reservation 2018-01-25 14:33:41 -08:00
Matthew Hooker 543caf3ec5
WIP OCI Classic builder 2018-01-25 14:33:41 -08:00
Matthew Hooker eafda52411
use amazon steps from master 2018-01-24 17:09:18 -08:00
Matthew Hooker 8cd403425e
test fixes WIP 2018-01-24 17:09:17 -08:00
Matthew Hooker 5d48d658b4
Wire context through misc steps
Some steps actually need to pass the context around, so let's create
a ctx variable and pass it.
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 a0c625ea44
Revert "working with opt-in"
This reverts commit 4068ffdaf541354e75507add7ca0b193993fcd52.
2018-01-24 17:09:16 -08:00
Matthew Hooker e98f201602
working with opt-in 2018-01-24 17:09:16 -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 807e88245b
trying to add context to state bag 2018-01-24 17:09:15 -08:00
James Nugent 5967732442
Merge pull request #5795 from stack72/bump-triton-go-deps
builder/triton: bump triton-go dependencies
2018-01-23 14:40:03 +00:00
Matthew Hooker ebe995c0ff
run goimports 2018-01-22 17:21:10 -08:00
stack72 20f9ef3445 builder/triton: bump triton-go dependencies
This introduces a new triton-go errors package so we can error handle our code in a better way
2018-01-17 16:55:00 +02:00
Ali Rizvi-Santiago c17f827e1d Split up DownloadableURL() into it's individual components: SupportedURL(), DownloadableURL(), and ValidatedURL(). Updated all instances of DownloadableURL() to point to ValidatedURL(). Reverted the tests that are based on un-supported protocols. 2018-01-16 13:37:32 -06:00
Ali Rizvi-Santiago 3cf448f6ec Reverted previously removed additions of tests that check for ftp:// or nonexistent-protocol:// using DownloadableURL. DownloadableURL's responsibility is not to have inherent knowledge of protocols that are available, but to format an invalid url/path to a valid url/path. 2018-01-16 13:37:32 -06:00
Ali Rizvi-Santiago 46a5ca30e5 Removed call to filepath.Rel(...) in builder/vmware/iso/step_create_vmx.go 2018-01-16 13:37:32 -06:00
Ali Rizvi-Santiago 5d97b105a8 Removed implementation of the ftp protocol and the usage of cheggaaa's progress-bar as suggested by @SwampDragons. Replaced some of the old smoke-tests that were based on the ftp-protocol non-existing with a "non-existent://" protocol that's guaranteed to not exist. 2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago d275bacb0f go fmt builder/vmware/iso/step_create_vmx.go to calm down Travis CI. 2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago e940dc7e42 Fixed a config_test that should've failed but didn't because ftp:// uris work now. HeH! 2018-01-16 13:37:31 -06:00
Ali Rizvi-Santiago 281dd1258a Added proper support for downloading via a Windows UNC path or a relative uri.
Added proper support for validating a downloadableURL containing a UNC or relative uri.
Removed the workaround for an earlier Go issue that had remained dormant in common/download.go (issue #5927).
When building a .vmx file via the vmware-iso builder, transform the path to the correct os-formatted one (using filepath.FromSlash).
2018-01-16 13:36:17 -06:00
Matthew Hooker cea2ab8c6d
move kms/encrypted validation to block devices 2018-01-12 15:10:51 -08:00
Matthew Hooker e968f9d6cc
spelling/style fixes 2018-01-12 14:26:56 -08:00
Jason Wieringa f6772f06be builder/amazon: Raise error when ebsvolume kms_key_id is without encrypted = true 2018-01-11 20:27:38 -08:00
Jason Wieringa 2ac59b3c27 builder/amazon: Added KmsKeyID to BlockDevice
+ Adds kms_key_id to list of options
+ Tests that configuraiton is set along with encrypted
+ Updates documentation on ebsvolume builder
2018-01-11 20:27:38 -08:00
유성덕 b909e9d4e6 remove not used variables 2018-01-12 10:15:40 +09:00
유성덕 26030d750c update err format 2018-01-12 10:12:47 +09:00
Matthew Hooker 2ce3ca1538
Merge pull request #5773 from hashicorp/fix5705
Use SDK's InstanceReady waiter
2018-01-11 12:12:03 -08:00
SwampDragons fb730cf521
Merge pull request #5761 from hashicorp/fix_5713
fix nasty edge case where we can't find guest additions on windows if they are on a different drive
2018-01-11 11:48:26 -08:00
유성덕 5189d65467 Support Naver Cloud Platform 2018-01-11 18:57:53 +09:00
Megan Marsh 3ace5bb91b simplify FileExistsLocally 2018-01-10 16:11:17 -08:00
Matthew Hooker f5ea1e8312
Use WaitUntilInstanceReady waiter 2018-01-10 15:57:31 -08:00
Megan Marsh 216c44b153 fix FileExistsLocally 2018-01-09 15:47:07 -08:00
Matthew Hooker dfd5f07145
fix ebs acc test 2018-01-08 12:27:10 -08:00
Megan Marsh e164621bfe log line to help prevent confusion when guest_additions_url is set from env variable that is empty 2018-01-05 09:19:38 -08:00
SwampDragons ff3cbbf28c
Merge pull request #5757 from arizvisa/virtualbox-guest_additions_url-interpolation
Fixed an issue where the VirtualBox builder was checking for whether guest_additions_url was empty or not before it actually interpolated any variables.
2018-01-04 15:39:29 -08:00
Matthew Hooker c5bcb97d06
"borrow" access config code from terraform.
This gives us a few benefits:

* timeout early if metadata service can't be reached
* report which auth provider we're using
* give much better errors if something goes wrong
2018-01-04 15:04:07 -08:00
Matthew Hooker 98c2a2d1f7
builder/aws: catch static credential errors early.
If we're using static credentials, either both the access key and secret key must be set, or neither of them should be.
2018-01-04 11:50:27 -08:00
Megan Marsh 4f3b470804 add helper function to manage validation of filepaths created using DownloadableURL 2018-01-03 16:53:47 -08:00
Ali Rizvi-Santiago 4fcd542d0c Fixed an issue where the VirtualBox builder was checking for whether guest_additions_url was empty or not before it actually interpolated any variables. 2018-01-02 21:09:41 -06:00
stack72 c3467b686c builder/triton: Add support for Triton RBAC
Fixes: #5737

Triton allows for subusers to be granted access to your account. This PR allows a user to be specified
2017-12-29 21:20:40 +02:00
QuantumGhost a90376f12a Attach keypair before starting instance in alicloud builder
[Documentation of `AttachKeyPair`](https://goo.gl/gC3srG) states that
attaching keypair to running instance takes effect after reboot.
So we need to attach keypair before starting instance to avoid an
additional restart.
2017-12-29 10:13:26 +08:00
Glenn McDonald 7250c4f7f0 Add Intel HAXM support to QEMU builder 2017-12-29 11:51:57 +11:00
Rickard von Essen 05fcecb1e7
Merge pull request #5666 from kwilczynski/remove-ecr-credentials-from-logging
docker: Remove credentials from being shown in the log.
2017-12-26 08:07:37 +01:00
Matthew Hooker f3dea272d9
Set session in state bag
We can construct connections to arbitrary regions from it
2017-12-19 11:32:33 -08:00
Matthew Hooker f6c401a143
don't pass in accessconfig 2017-12-19 11:32:32 -08:00
Matthew Hooker 1c352726d7
Merge pull request #5719 from rchenv/issue5606
Ensure all AWS connections are configured alike
2017-12-19 11:32:24 -08:00
Rong Chen 3e92b1374e issue5606: follow the convention to use AccessConfig to create new aws session for step_create_tags etc. 2017-12-19 10:34:12 -08:00
Olivier Bazoud 8bcb469b8b builder/amazon: Added new region Paris - eu-west-3 2017-12-19 10:00:03 +01:00
Ben Phegan c338cb79d0 Initial commit of feature to allow MAC address specification for HyperV builders 2017-12-15 13:24:15 +11:00
Arjen Schwarz c2ecdd98c6
5691: Invalid image URLs make Azure builder crash 2017-12-12 20:12:53 +11:00
Vijaya Bhaskar Reddy Kondreddi 54f059d3d4 Add support for skip export 2017-12-11 11:24:59 +05:30
Krzysztof Wilczynski 567b566c23
docker: Remove AWS credentials and Session Token from being shown in the log.
Signed-off-by: Krzysztof Wilczynski <kw@linux.com>
2017-12-10 20:55:03 +01:00
Rickard von Essen 63f791570a
Merge pull request #5665 from kwilczynski/remove-sts-token-from-logging
amazon: Remove Session Token (STS) from being shown in the log.
2017-12-10 06:50:42 +01:00
Andrew Pennebaker d069dc5b7c handle holding a-z keys, such as for boot options (vmware builder) 2017-12-09 20:51:49 -06:00
Matthew Hooker f216330ba3
spot instance ena/sriov checking for all other builders 2017-12-08 14:56:19 -08:00
Matthew Hooker 4b1d8e3fe8
don't allow enhanced networking flags for spot instances. 2017-12-08 13:38:49 -08:00
Matthew Hooker 73b98b2a04
use waiter to wait for ebs instances to stop 2017-12-08 13:38:48 -08:00
Matthew Hooker dada63801b
also use waiter code for spot instances 2017-12-08 13:38:48 -08:00
Matthew Hooker 9e61005f7c
Merge pull request #5660 from hashicorp/fix_5625
modify validation to allow user to have the original region in the am…
2017-12-08 13:36:10 -08:00
Ben Gnoinski 5df2e040d0 Update amazon run_config.go absent ssh_private_key_file error 2017-12-08 08:51:27 -08:00
Andrew Pennebaker 4acc98a729 add super key (vmware builder) 2017-12-07 23:15:56 -06:00
Matthew Hooker 2c1c7b9659
Merge pull request #5630 from johndaviesco/winrm_no_proxy
Winrm no proxy
2017-12-07 15:41:16 -08:00
Matthew Hooker a90c45d9bb
Wait until source instance OK before continuing 2017-12-07 12:31:50 -08:00
Matthew Hooker 7b5c0900ef
Correctly set aws region if given in template along with a profile. 2017-12-07 11:12:57 -08:00
Christopher Boumenot 1202bdd080
Merge pull request #5661 from jamielennox/no-location-for-existing-rg
Azure: Don't provide location for build_resource_group_name
2017-12-05 09:52:45 -08:00
Krzysztof Wilczynski 05327b7524
amazon: Remove Session Token (STS) from being shown in the log.
This commit adds a change which ensures that the Session Token
config struct item is removed from log output.

Signed-off-by: Krzysztof Wilczynski <kw@linux.com>
2017-12-04 22:14:38 +01:00
Jamie Lennox d043c37ad4 Azure: Don't provide location for build_resource_group_name
Location is required by default because you must specify where to create
the resource group containing the packer resources.

When using build_resource_group_name you are specifying that packer
should use an existing resource group and so the location that resources
are in can be determined by fetching the information from the existing
group.

It is forbidden to pass both variables as it is easier and more
intuitive that the location comes from the group rather than ignore a
parameter.

Closes: #5655
2017-12-04 11:22:54 +11: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
Megan Marsh 1c681fc096 tests 2017-11-30 14:08:48 -08:00
Megan Marsh 556da47d35 modify validation to allow user to have the original region in the ami_regions list 2017-11-30 13:51:33 -08:00
Christopher Boumenot da0c13f622 azure: delete keyvault deployment 2017-11-30 01:19:08 -08:00
zhuzhih2017 bdc1fa0527
Merge pull request #5641 from zhuzhih2017/master
Add security token supported and TLS handshake timeout support
2017-11-28 11:15:56 +08:00
zhuzhih2017 de0017c37a Add security token supported and TLS handshake timeout support 2017-11-28 10:32:17 +08:00
John Davies-Colley 10aaa49beb fixing tests and funky logic 💦 2017-11-28 14:42:14 +13:00
John Davies-Colley 0c787ec9df Valadating early 2017-11-28 11:46:32 +13:00
Vijaya Bhaskar Reddy Kondreddi 3d5303c60d Fix tests 2017-11-24 13:24:44 +05:30
Vijaya Bhaskar Reddy Kondreddi b7e3f37b44 Add support for differential disk 2017-11-24 12:44:53 +05:30
John Davies-Colley 75320440ec adding missing quote 🙏 2017-11-22 15:59:15 +13:00
John Davies-Colley 707ec675b2 ssh interface for amazon builders 🔨 2017-11-22 15:49:38 +13:00
Christopher Boumenot a3c9485062 azure: sanity check resource group names 2017-11-20 15:19:12 -08:00
Christopher Boumenot 247da61ad1
Merge pull request #5593 from boumenot/pr-azure-keep-resource-group
Azure: Keep temporary resource group.
2017-11-16 17:39:33 -08:00
Christopher Boumenot 8985bd45ba azure: go fmt 2017-11-16 17:32:35 -08:00
Christopher Boumenot ee767e55d1 azure: change literal to constant 2017-11-16 16:36:42 -08:00
Christopher Boumenot 2684153cb2 azure: reject bad configuration faster 2017-11-16 16:34:18 -08:00
Christopher Boumenot 787f08f39b azure: add user message to indicate what is being deleted 2017-11-16 16:31:05 -08:00
Megan Marsh 20390ff1ec fix vetting for test fail print statements 2017-11-15 17:01:53 -08:00
SwampDragons ab542c07ff
Merge pull request #5547 from egraff/hyperv-patch
builder/hyperv/vmcx: missing InterpolateContext
2017-11-15 17:00:55 -08:00
Ammar Ansari b8bd66d10d Align virtual disk size for qemu builder
When booting from a disk image, the Qemu builder resizes the disk to 40000
which is not a multiple of 1kB. This causes problems while booting from the image.
Updating the default disk size to 40960 fixes this issue
2017-11-15 15:00:13 -05:00
Matthew Hooker b07a0cd6f0
fix tests
always sort telemetry options
2017-11-14 16:39:03 -08:00
Megan Marsh 6756df9510 use url library instead of parsing string naiively 2017-11-13 12:57:53 -08:00
Megan Marsh 771349e58c fix error message 2017-11-13 12:52:47 -08:00
Megan Marsh 764be03876 didn't mean for this error message to get changed 2017-11-13 12:42:57 -08:00
Megan Marsh 0d18de2942 do validation in vmx config stage 2017-11-13 12:42:57 -08:00
Daniel Hess f0299ba713 Adding GCE container optimized os image project 2017-11-12 00:45:22 -08:00
Arjen Schwarz f43f3155d4
Remove breaking debug statement 2017-11-10 11:04:31 +11:00
Matthew Hooker f146e5903f
Merge pull request #5567 from bennu/vm-template-with-export-vm
enable vsphere-template post processor to work with export behavior
2017-11-09 15:24:41 -08:00
SwampDragons e5c59468df
Merge pull request #5343 from evandbrown/pr-googlecompute-subnetworks
Interpolate network and subnetwork values
2017-11-09 12:10:41 -08:00
SwampDragons aae324e4e7
Merge pull request #5562 from hashicorp/fix5558
don't set region from metadata if profile is set.
2017-11-09 10:22:15 -08:00
Arjen Schwarz 0e706320ad
Issue #5045 - Add build_resource_group_name
* Created a new parameter for using existing resource groups
* Implemented logic to ensure temp_ and build_ can't both be used
* Implemented logic to ensure they can only be used in correct context
* Implemented tests for this logic
* Updated where required to ensure the process works
2017-11-09 22:20:09 +11:00
bugbuilder 23f4d187e2 validating keep_registered and fixing skip_export issues 2017-11-08 15:57:34 -03:00
stack72 450a233303 builder/triton: Wait for ImageCreation State
A bug was reported to Joyent, that sometimes packer UI reports that an image was created but it wasn't actually available in Triton for use. We believe that there was a bug uploading that image to Manta but that the metadata of the image was already populated and thus packer was reporting success as it was just checking for the metadata presence

This PR changes Packer to wait for the state of the image to be `active` to make sure that it has fully uploaded and is ready for use

```
==> triton: Stopping source machine (61647c3c-f2bf-4e30-b4bc-f076d3b01522)...
==> triton: Waiting for source machine to stop (61647c3c-f2bf-4e30-b4bc-f076d3b01522)...
==> triton: Creating image from source machine...
==> triton: Waiting for image to become available...
==> triton: Deleting source machine...
==> triton: Waiting for source machine to be deleted...
Build 'triton' finished.

==> Builds finished. The artifacts of successful builds are:
--> triton: Image was created: c2537582-34c7-42ea-bd11-b6ed499d5831
```
2017-11-08 16:38:04 +02:00
Chris Lundquist d00f884e71
Merge pull request #5530 from BaxterStockman/lxc-builder-cli-options
Add options to LXC builder for influencing for how containers are built and started
2017-11-07 22:32:17 -08:00
Matthew Hooker 0a24f4eb2e
don't shadow package name 2017-11-07 16:05:43 -08:00
Matthew Hooker f681faa296
fix tests 2017-11-07 14:57:10 -08:00
Matthew Hooker 545ee45567
debug region we found 2017-11-07 14:51:20 -08:00
Matthew Hooker c106e7c26c
Don't set region from metadata if profile is set. 2017-11-07 14:33:26 -08:00
Matthew Hooker 52fc0100eb
this is a critical error 2017-11-07 12:52:03 -08:00
Evan Brown 13e0c232d4 builder/googlecompute: Test networking interpolation
This change pulls the logic that interpolates network and subnetwork
into its own func and adds tests.
2017-11-06 21:22:53 -08:00
Evan Brown f2fed94a71 builder/googlecompute: Derive network and subnetwork IDs locally
This change constructs partial URLs for networks and subnetworks if they
are not already partial or full URLs (i.e., they do not contain a '/' in
their name). Network and subnetwork self-links are no longer retrieved
from the API.

Previously, if a user did not provide the network or subnetwork as a
fully-qualified URL (i.e., self-link), the builder would make
compute.(sub)networks.get API calls with the provided identifier to
discover the self-link. This requires the user or service account Packer
is using to have permission to describe those network resources, which
is becoming less common as IAM is used more. Specifically, a user may
have permission to launch a VM into a network/subnetwork, but will not
have permission to call APIs to describe network resources.
2017-11-06 16:41:42 -08:00
Evan Brown bada7b73c1 builder/googlecompute: Selectively set default network
If a network is not specified, it should only be set to "default" if a
subnetwork is also not specified.
2017-11-06 16:41:42 -08:00
Evan Brown 1b3eb1c34d builder/googlecompute: Set default network_project_id
If network_project_id is not specified in the GCE builder config, it
should default to the project_id.
2017-11-06 16:41:42 -08:00
Matthew Hooker 68fa09c308
Merge pull request #5512 from hashicorp/fix5501
builder/virtualbox-ovf retry removing VM.
2017-11-06 15:56:08 -08:00
Matthew Hooker bdb2509735
Merge pull request #5475 from ChrisLundquist/lxd-publish-properties
[Lxd] publish properties
2017-11-06 15:45:56 -08:00
Matthew Hooker 0172a5c82b
Merge pull request #5511 from hashicorp/fix5507
remove login_email from docker
2017-11-06 15:34:04 -08:00
Arjen Schwarz f4600a208f
Azure: Keep temporary resource group. Fixes #5045
This changeset will detect if the defined temporary resource group
already exists. If it does, it will not destroy it, but clean up
every resource required for building that is created by Packer
individually, both on success and failure.

Unit tests have been fixed, but more tests should be added for the new
functionalities.
2017-11-06 16:16:58 +11:00
Erlend Graff 27fc72c137 fix formatting errors 2017-11-05 15:16:47 +01:00
Erlend Graff ae6987c74b hyper-v: add test for hashicorp/packer#5184 2017-11-05 14:58:08 +01:00
Erlend Graff eeeee3ec35 hyper-v/vmcx: add missing InterpolateContext 2017-11-05 14:55:56 +01:00
Erlend Graff d890051940 hyper-v: implement driver mock 2017-11-05 14:51:18 +01:00
James Nugent fdd9b952d1
Merge pull request #5538 from stack72/triton-image-data-source
builder/triton: Add a data source for source_machine_image
2017-11-02 15:33:22 -05:00
Matthew Hooker 4d117bf117
Make vm log output less confusing 2017-11-02 10:45:54 -07:00
Matthew Hooker ac8bc522e0
Merge pull request #5534 from lisimia/digital_ocean_ipv6_option
Added option for ipv6 within the digitalocean builder
2017-11-02 09:55:45 -07:00
Matthew Hooker 95e4ae251e
WIP 2017-11-02 09:03:44 -07:00
Matthew Hooker e87b468c6e
Merge pull request #5536 from hashicorp/fix5535
add delay option to security group waiter
2017-11-02 08:54:34 -07:00
Matthew Hooker 8ab390a048
Merge pull request #5495 from smaato/master
Fix regressions relating to spot instances and EBS volumes
2017-11-02 08:53:27 -07:00
stack72 7776bf596b builder/triton: Add a data source for source_machine_image
fixes: #5476

Based on this new template addition:

```
{
    "variables": {
        "image_version": "",
        "triton_account": "",
        "triton_key_id": "",
        "triton_key_material": ""
    },
    "builders": [{
        "type": "triton",
        "triton_account": "{{user `triton_account`}}",
        "triton_key_id": "{{user `triton_key_id`}}",
        "triton_key_material": "{{user `triton_key_material`}}",
        "source_machine_package": "g4-highcpu-128M",
        "source_machine_image_filter": {
          "name": "ubuntu-16.04",
          "most_recent": "true"
        },
        "ssh_username": "root",
        "image_version": "{{user `image_version`}}",
        "image_name": "teamcity-server"
    }],
    "provisioners": [
        {
            "type": "shell",
            "start_retry_timeout": "10m",
            "inline": [
                "sudo apt-get update -y",
                "sudo apt-get install -y nginx"
            ]
        }
    ]
}

```

I got the following output from packer:

```
packer-testing % make image
packer build \
		-var "triton_account=stack72_joyent" \
		-var "triton_key_id=40:9d:d3:f9:0b:86:62:48:f4:2e:a5:8e:43:00:2a:9b" \
		-var "triton_key_material=""" \
		-var "image_version=1.0.0" \
		new-template.json
triton output will be in this color.

==> triton: Selecting an image based on search criteria
==> triton: Based, on given search criteria, Machine ID is: "7b5981c4-1889-11e7-b4c5-3f3bdfc9b88b"
==> triton: Waiting for source machine to become available...
==> triton: Waiting for SSH to become available...
==> triton: Connected to SSH!
==> triton: Provisioning with shell script: /var/folders/_p/2_zj9lqn4n11fx20qy787p7c0000gn/T/packer-shell797317310
    triton: Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
    triton: Hit:2 http://archive.ubuntu.com/ubuntu xenial InRelease
```

I can verify from the triton cli tools that the id `7b5981c4` (from the packer output) is indeed the correct ID

```
terraform [master●] % triton images name=~ubuntu-16.04
SHORTID   NAME          VERSION   FLAGS  OS     TYPE        PUBDATE
49b22aec  ubuntu-16.04  20160427  P      linux  lx-dataset  2016-04-27
675834a0  ubuntu-16.04  20160505  P      linux  lx-dataset  2016-05-05
4edaa46a  ubuntu-16.04  20160516  P      linux  lx-dataset  2016-05-16
05140a7e  ubuntu-16.04  20160601  P      linux  lx-dataset  2016-06-01
e331b22a  ubuntu-16.04  20161004  P      linux  lx-dataset  2016-10-04
8879c758  ubuntu-16.04  20161213  P      linux  lx-dataset  2016-12-13
7b5981c4  ubuntu-16.04  20170403  P      linux  lx-dataset  2017-04-03 <------- THIS IS THE LATEST UBUNTU IMAGE
```
2017-11-02 16:10:16 +02:00
Matthew Hooker f2413ff138
add delay option to security group waiter 2017-11-02 00:25:54 -07:00
Matthew Hooker a14e9f4d48
Merge pull request #5525 from hashicorp/fix5524
use correct default region when deregistering AMIs.
2017-11-01 16:17:59 -07:00
Lawrence 5509d0734b Added ipv6 option for digitalocean builder
the ipv6 option is already part of the godo package

Updated documentation to reflect new feature

Closes: https://github.com/hashicorp/packer/issues/5533
2017-11-01 15:41:25 -04:00
James Nugent a495948dc5
Merge pull request #5531 from stack72/bump-triton-dependencies
Bump Joyent/triton-go to modern version of the SDK
2017-10-31 11:21:08 -05:00
stack72 b04796c2cc Bump Joyent/triton-go to modern version of the SDK
This brings packer into the same version of triton-go as that in Terraform, where we rewrote the package from a library with everything in 1 place to individual packages

I was able to successfully provision a machine on triton using this new change, you can find the output in the attached gist

https://gist.github.com/stack72/a64d745459107c5a16bcb156965597ce
2017-10-31 18:08:53 +02:00
Matthew Hooker 19e6049f17
style fixes 2017-10-31 08:48:17 -07:00