Commit Graph

3143 Commits

Author SHA1 Message Date
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
Matthew Hooker f64fa7b5ba
Merge pull request #5491 from BenPhegan/hyperv-disk_additional_size
Hyper-V disk_additional_size capability
2017-10-31 08:42:07 -07:00
Matt Schreiber 1f2135f65e
Add options to LXC builder for influencing for how containers are built and started
via

- create_options: a list of options passed to lxc-create
- start_options: a list of options passed to lxc-start
- attach_options: a list of options passed to lxc-attach

Also extended existing LXC builder BATS tests to exercise the new builder
options, and added website docs.
2017-10-30 21:48:43 -04:00
Matthew Hooker d322fc6c19
Shorten metadata timeout
When running in travis, metadata requests will timeout after 5 seconds.
After 24 such timeouts, we'll hit travis' build timeout of two minutes,
and the build will fail. Lowering it to 100 gets us in a safe time
limit. We _may_ need to expose a timeout env var with this logic,
however.
2017-10-30 15:22:15 -07:00
Matthew Hooker 314fc94bd8
clean up 2017-10-30 15:02:39 -07:00
Matthew Hooker 0e4ea7420b
fix tests 2017-10-30 14:34:16 -07:00
Matthew Hooker c65fa8490d
fix various bugs deregistering AMIs
always deregister ami in session region
validate that session region does not appear in ami_regions
2017-10-30 14:17:19 -07:00
Matthew Hooker 6c4fbe8d87
use correct default region when deregistering AMIs. 2017-10-30 13:07:58 -07:00
Matthew Hooker faf96b369f Merge pull request #5510 from hashicorp/fix5216
fix hyper-v admin check
2017-10-27 08:49:16 -07:00
Joe Ferguson 5c2f758053 🎨 Fix typo in "copyed" -> "copied" usages. 2017-10-26 07:42:49 -05:00
Matthew Hooker 794e518eb7
use hyper-v admin group, not admin 2017-10-25 13:29:03 -07:00
Matthew Hooker 812fd12a0b
move trimspace to powershell exit check 2017-10-25 13:28:59 -07:00
Matthew Hooker 1901c0385f
remove login_email from docker
adds fixer
removes documentation
removes from docker builder and docker-push pp
2017-10-25 10:53:06 -07:00
Matthew Hooker fb098d045d
builder/virtualbox-ovf retry removing VM.
moves behavior from builder/virtualbox-iso into the driver
so it is automatically available to callers.
2017-10-25 10:27:33 -07:00
Matthew Hooker 0be02ab217
hyper-v: Don't error while checking for admin permissions. 2017-10-25 09:18:40 -07:00
Mark Meyer 4c5df79222 Fix regressions introduced in the instance builder
Related to #5504
2017-10-24 23:23:18 +02:00
Mark Meyer 309bf61257 Add missing blockdevices to ebsvolume builder 2017-10-23 22:33:16 +02:00
Mark Meyer 1cc9b3f1e3 Bring back volume tagging to ebsvolume
Related to #5486
2017-10-23 22:09:04 +02:00
Mark Meyer 7e1646826d Check if VolumeTags is empty before tagging volumes
Related to #5486
2017-10-23 21:10:40 +02:00
Andrew Pryde f31c2c59c1 Merge pull request #5407 from prydie/fix-5401
Fix Oracle OCI builder ignores region value provided in OCI config file
2017-10-23 09:56:49 +01:00
Ben Phegan 12fc928e1d Initial commit of Hyper-V disk_additional_size capability. Support a
maximum of 64 disks added to the SCSI controller.  Implement #4823.
2017-10-23 08:26:35 +11:00
SwampDragons 1563fb97c7 Merge pull request #5463 from atsushi-ishibashi/issue5323
Add clean_image_name for gcp
2017-10-20 14:16:11 -07:00
Megan Marsh 4721b48c70 add a couple of extra tests and reword documentation 2017-10-20 14:06:02 -07:00
Atsushi Ishibashi c3a00993d0 Don't truncate and replace with 'a', update docs 2017-10-19 10:45:48 +09:00
Andrew Pryde bb497c2453 Fixed incorrect test failure message in oci client 2017-10-18 11:11:14 +01:00
Chris Lundquist c1a7b3845a [lxd] allow passing of publish properties 2017-10-18 04:57:13 +00:00
Atsushi Ishibashi 3e68f1c505 Change first and last character when it doesn't match 2017-10-18 11:10:19 +09:00
Aaron Browne ffc63a8724 Use amazon common AccessConfig for ecr_login
Signed-off-by: Aaron Browne <aaron0browne@gmail.com>
2017-10-17 15:00:19 -04:00
Atsushi Ishibashi 210dd08326 Change args of NewConfig 2017-10-17 13:48:15 +09:00
Atsushi Ishibashi 5310d5629b Modify clean_image_name not defined error 2017-10-17 12:31:50 +09:00
Aaron Browne 8df643c343 Add aws_profile option to docker-push ecr_login
An aws_profile option is added to the AWS ECR login credentials
configuration to allow using shared AWS credentials stored in
a non-default profile.

Signed-off-by: Aaron Browne <aaron0browne@gmail.com>
2017-10-16 16:55:34 -04:00
Atsushi Ishibashi 3600924e59 Rename files 2017-10-17 04:55:50 +09:00
Atsushi Ishibashi 2da4e4c31d Change func name 2017-10-16 11:45:18 +09:00
Atsushi Ishibashi caa6c9bf22 Add clean_ami_name for gcp 2017-10-16 00:53:18 +09:00
Matthew Hooker 454cb08896 Merge pull request #5336 from SLAZ666/keepregistered-ovf
Add option keep_registered to virtualbox-ovf builder
2017-10-13 17:45:07 -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 f617a678b1 Merge pull request #5422 from localghost/upload_owner_fix
Fix owner of files uploaded to docker container run as non-root.
2017-10-13 14:56:16 -07:00
SwampDragons f3c33240fa Merge pull request #5444 from vijayinvites/packer-vhdx
Hyperv vmcx builder and allow vhd/vhdx instead of ISO
2017-10-13 11:53:27 -07:00
Matthew Hooker f7e269945e
add cidr validation and rename option 2017-10-12 17:05:56 -07:00
Matthew Hooker c74be87187 Merge pull request #5384 from dave2/sg-source-cidr
[WIP] Allow temporary security group to have source CIDR block explicit
2017-10-12 17:05:45 -07: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
SwampDragons 512ac214b4 Merge pull request #5417 from smaato/master
Add ability to tag volumes on creation
2017-10-12 12:56:25 -07:00
Mark Meyer dbb3c76032 Remove redundant step and its usage
StepTagEBSVolumes is no longer needed, since this functionality is now
taken over by StepRunSourceInstance and StepRunSpotInstance. So remove
this functionality from the codebase.
2017-10-12 21:40:21 +02:00