Commit Graph

5606 Commits

Author SHA1 Message Date
Joshua Foster 50b6c86b1c look at all the IPs of the VM when waiting for an IP 2020-06-17 17:40:21 -04:00
Joshua Foster dd40c68ff8 fix default IP address in test to all ipv4 addresses 2020-06-17 16:00:38 -04:00
Joshua Foster fb159e7060 add test cases for Network 2020-06-17 11:40:39 -04:00
Gennady Lipenkov 5cb2ef6e9d Fix test 2020-06-17 17:23:52 +03:00
Gennady Lipenkov 1157f0dcfe Add acceptance test 2020-06-17 17:06:05 +03:00
Gennady Lipenkov 77ff387e25 Terraform code to quick provision instance with assigned SA.
Will be used for (local) acceptance test runs.
2020-06-17 16:23:54 +03:00
Gennady Lipenkov a6ec1fa135 Support Instance SA authentication 2020-06-17 12:41:11 +03:00
Gennady Lipenkov 744fffab5d Rename test data dir 2020-06-17 12:28:01 +03:00
Megan Marsh 88c94cc987
Fix 8904 (#9435) 2020-06-17 11:04:45 +02:00
Joshua Foster 7fc2ea8422 add a fallback to an ipv4 address if the the range can't find one 2020-06-17 01:46:30 -04:00
Joshua Foster aaf9103330 use the ip_wait_address range to determine the default for the http server IP 2020-06-17 01:36:55 -04:00
Megan Marsh 4178625afb re-add winrm_no_proxy option. Winrm code needs to be modified in order to read no_proxy env var when client is created rather than when net/http library is instantiated. 2020-06-16 10:27:30 -07:00
Megan Marsh 004ace4340
Merge pull request #9406 from hashicorp/fix_9084
Add usb_driver to common boot_command and use it on vsphere
2020-06-15 15:55:54 -07:00
Calle Pettersson 0bcfefd0bc
Update Proxmox storagePoolTypes (#9418) 2020-06-15 14:00:32 +02:00
Moss c1c350a657 remove comments 2020-06-12 14:51:52 +02:00
Moss 45058847c0 return BootConfig prepare err 2020-06-12 14:51:52 +02:00
Moss 653eb95bdb adds tests to usb_driver and step_http_ip_discover 2020-06-12 14:51:52 +02:00
Moss 65cfb880fd Fix boot_command and update docs 2020-06-12 14:51:52 +02:00
Moss ba767d1663 remove duplicated press 2020-06-12 14:51:52 +02:00
Moss 585a86fe03 Add usb_driver to common boot_command and use it on vsphere 2020-06-12 14:51:52 +02:00
Charlie Kenney 70a2c7d364
upgrade linodego to v0.14.0 (#9395)
* upgrade linodego to v0.14.0

* fix builder/linode linter errors

* Update go.mod

Co-authored-by: Adrien Delorme <adrien.delorme@icloud.com>
2020-06-12 11:36:54 +02:00
Conlan 4afcc794be
Fix typo in VSphere Docs (#9405)
* Fix typo in VSphere Docs

* Update ConfigParamsConfig-not-required.mdx

Co-authored-by: Adrien Delorme <adrien.delorme@icloud.com>
2020-06-12 11:18:51 +02:00
Joshua Foster e59fab952d create the folders if they don't exist 2020-06-11 10:37:24 -04:00
Megan Marsh 8aeaf28bf3
Merge pull request #9380 from hashicorp/azr-docs-remove-duplicate-guest-additions-mode-docfield
docs: virtualbox/iso: remove duplicate guest_additions_mode field ( it's already defined in `GuestAdditionsConfig` )
2020-06-10 11:08:17 -07:00
Megan Marsh dc14e6a1e2
Merge pull request #9390 from jhawk28/bug_8766
use datacenter inventory path for find folder
2020-06-10 10:52:17 -07:00
Megan Marsh 3a13eafa61
Merge pull request #9387 from arizvisa/GH-9382
Fixed a race in the ReadNetworkingConfig implementation from the vmware builders
2020-06-10 09:53:16 -07:00
Svetlin 49bf9c9d37
[gcp] Fixup for the deprecated Secure Boot guest OS feature (#9371)
GCP informed us that the GuestOsFeature SECURE_BOOT is deprecated and
that they are using UEFI_COMPATIBLE instead. This means, using an image
with 'UEFI_COMPATIBLE' guest OS feature confirms the 'secureBoot'
feature compatibility.
2020-06-10 16:21:11 +02:00
Joshua Foster f5a795a22e use path.Join to make a cleaner path 2020-06-10 09:12:21 -04:00
Joshua Foster c7a6315ca4 use datacenter inventory path for find folder 2020-06-10 08:24:23 -04:00
Ali Rizvi-Santiago 3da5a64a8d Fixed a race in the ReadNetworkingConfig implementation from the parsers belonging to the vmware builders that existed between reading the version and consuming tokens from the rest of the file. 2020-06-09 19:37:38 -05:00
Adrien Delorme 63896b98ec docs: virtualbox/iso: remove duplicate guest_additions_mode field ( it's already defined in `GuestAdditionsConfig` ) 2020-06-09 15:12:13 +02:00
Megan Marsh 5d67183c4c fix test 2020-06-05 14:05:59 -07:00
Megan Marsh 48b448dfd5
Merge pull request #9366 from hashicorp/fix_9248
Add ToolSyncTime and ToolUpgradePolicy to vSphere
2020-06-05 13:03:58 -07:00
Megan Marsh 7fcd702b45
Merge pull request #9358 from jhawk28/bug_9349
(vsphere-iso) add the ability to check if the IP is within the an IP range
2020-06-05 12:18:51 -07:00
Megan Marsh 093cfcfd9f
Merge pull request #9322 from arizvisa/GH-8528
Fix the VMware builders when the guest platform's dhcpcd switches the ip address in-between a build
2020-06-05 10:58:00 -07:00
Ali Rizvi-Santiago 8985ba077c Re-added the (mistakenly removed) host override to the CommHost for the vmware builders. 2020-06-05 12:39:20 -05:00
Megan Marsh 4cd3429914 add ssh override test 2020-06-05 10:15:11 -07:00
Moss 112638da01 Add ToolSyncTime and ToolUpgradePolicy to vSphere 2020-06-05 17:20:44 +02:00
Sylvia Moss 1422085ede
Validate host and network when looking for network (#9361) 2020-06-05 11:01:58 +02:00
Joshua Foster d87e53b841 return false instead of continue to match logic from govmomi 2020-06-05 00:09:57 -04:00
Joshua Foster 3a6d42e0df ip check should continue if the ip is NOT in the range 2020-06-04 23:17:02 -04:00
Joshua Foster 90463e5394 make default for wait address to be any ipv4 address. add some better documentation 2020-06-04 23:13:46 -04:00
Ali Rizvi-Santiago 9c5a65263f Added @SwampDragons' suggestion to the `CommHost()` implementation for the vmware builders which uses the communicator config's `Config.Port()` function to determine the communication port-number independent of the configured protocol. 2020-06-04 19:04:12 -05:00
Megan Marsh baed65156c
Merge pull request #9319 from arizvisa/GH-8528.refactor
This refactors the dhcpd lease parser in the vmware builders and adds unit tests for everything.
2020-06-04 12:18:49 -07:00
Joshua Foster 27a1ceef6d add example for any ipv4 address 2020-06-04 12:15:53 -04:00
Sylvia Moss aa52e690ee
Update go-getter and add samba shared files tests to step_download (#8954) 2020-06-04 15:00:18 +02:00
Ali Rizvi-Santiago 898321bcfe Added suggestions from @SwampDragons to the parsers from the vmware builders, included unit-tests and sample file for fusion's networking file, and fixed a few situations where the channel wasn't being closed. 2020-06-04 05:07:18 -05:00
Joshua Foster 1fb22a7b7b add the ability to check if the IP is within the an IP range 2020-06-04 01:55:25 -04:00
Joshua Foster d35f342319 add the ability to configure the http bind address. defaults to 0.0.0.0. 2020-06-03 16:40:18 -07:00
Megan Marsh 02590f6c44
Merge pull request #9329 from hashicorp/je.website-maintenance-5-29-20
🌷 Website Spring Maintenance
2020-06-03 16:25:23 -07:00
Megan Marsh f520ced2a8
Merge pull request #9356 from GennadySpb/remove-platform-validation-for-instances-with-gpu
Do not require 'gpu-standard-v1' platform_id for any GPU-based config.
2020-06-03 14:52:36 -07:00
Paul Meyer e260212be3
Merge pull request #9323 [azure-chroot] copy data disks between shared image galleries
[azure-chroot] copy data disks between shared image galleries
2020-06-03 12:32:19 -07:00
Gennady Lipenkov 542819c464 Remove test 2020-06-03 21:17:12 +03:00
Gennady Lipenkov df371b7e25 Do not require 'gpu-standard-v1' platform_id for any GPU-based config.
Support use another kind of GPU platforms.
2020-06-03 20:58:39 +03:00
Sylvia Moss 434c9bcae0
Check if task result is nil and return error (#9354) 2020-06-03 17:37:30 +02:00
Megan Marsh df37918467
Merge pull request #9303 from arizvisa/GH-8528.unit-tests
Unit tests for the driver_parser.go functionality of the vmware builder
2020-06-02 15:28:13 -07:00
Jeff Escalante f4d7b5f493
fix some stuff 2020-06-02 17:22:40 -04:00
Wei Cheng e0cfb404fb
builder/googlecompute: add support to specify storage location for GCP images (#9326)
* feat: add support to specify storage location for GCP images

Signed-off-by: Wei Cheng <calvinpohwc@gmail.com>
2020-06-02 13:42:33 -04:00
Megan Marsh e851757e5f
Merge pull request #9342 from jhawk28/bug_9328
(vsphere-iso) use the Datacenter's VmFolder
2020-06-02 10:24:48 -07:00
Sylvia Moss ce45a1990a
Refactor communicator config for Qemu and add SkipNatMapping option (#9307) 2020-06-02 11:56:36 +02:00
Joshua Foster 30bff17799 use the Datacenter's VmFolder instead of hand generating it 2020-06-01 19:53:54 -04:00
RedTail72 374f82b978
buidler/vsphere-iso: ISOUrl Fix (#9321)
* ISOUrl Fix

Added the check for ISOUrls back in addition to a check for RawSingleISOUrl.  This should allow both ISOUrls[] or ISOUrl to work while not requiring them all the time.

* Update config.go

Fixed formatting.
2020-06-01 15:27:26 -04:00
Ali Rizvi-Santiago e5b6d8c37c Didn't know that WinRM uses a different variable for the port number when trying to determine the communication host in `CommHost`...now it's fixed. 2020-05-30 02:17:21 -05:00
Megan Marsh 5efb1a195e update docs for configuration_paramaters to explain what it actually is. 2020-05-29 15:07:34 -07:00
Jeff Escalante 9a38fbe2c7
patch source for a couple code block changes 2020-05-29 17:22:16 -04:00
Megan Marsh 184dc6cc44
Merge pull request #9260 from hashicorp/fix_9256
make package_include match output_vagrantfile parsing and abspath cal…
2020-05-29 10:41:26 -07:00
Megan Marsh 8a9833f5b1
Merge pull request #9287 from rgl/feature-qemu-add-timeout-wait-for-ip-address
builder/qemu: timeout waiting for the guest to become available in the network bridge
2020-05-29 09:47:06 -07:00
Paul Meyer 2288ab3b53 fix typo 2020-05-29 04:15:53 +00:00
Feiyu Shi 1c1991c073 fix a bug 2020-05-28 19:17:22 -07:00
Feiyu Shi f86f5b958a Merge remote-tracking branch 'origin/master' into identity 2020-05-28 19:03:44 -07:00
Megan Marsh 03b2c4355e include Wilken's suggestion 2020-05-28 16:46:33 -07:00
Paul Meyer 53e5137411 [bug] Fix test error message 2020-05-28 23:38:17 +00:00
Paul Meyer 83851bc9aa [bug] fix diskset type in Artifact creation 2020-05-28 23:38:17 +00:00
Paul Meyer aa8250bcc8 give temp data disks lun suffix 2020-05-28 23:38:17 +00:00
Paul Meyer 4c96847683 log data disks in images 2020-05-28 23:38:17 +00:00
Paul Meyer f0cd60b5fa [bug] provide data disk prefix to disk creation 2020-05-28 23:38:17 +00:00
Paul Meyer af96cf7881 Generated files 2020-05-28 23:38:14 +00:00
Paul Meyer ac3d19ee23 Use separate caching/sku for data disks 2020-05-28 23:37:44 +00:00
Paul Meyer f601f54d0b Use all disks in managed image 2020-05-28 23:37:43 +00:00
Paul Meyer de4839b66e Use all snapshots when creating a shared image 2020-05-28 23:37:43 +00:00
Paul Meyer c6b995a34d create snapshots for all disks in a diskset 2020-05-28 23:37:43 +00:00
Paul Meyer 0ee77f8b0e Add datadisks to disk set when using SIG as source 2020-05-28 23:37:43 +00:00
Paul Meyer 12f746b2b5 Move to using a diskset
Need to store lun numbers for data disks as well
2020-05-28 23:37:43 +00:00
Paul Meyer 3a3e6e525b Shift names to diskset
Instead of one disk, we'll be working with a set of disks.
2020-05-28 23:37:43 +00:00
Paul Meyer c9284d03aa Add config for data disk/snapshot naming 2020-05-28 23:37:38 +00:00
Ali Rizvi-Santiago 229b5d17ff Re-worked the vmware builder drivers so that they're able to check multiple ip addresses when trying to connect via the CommHost. 2020-05-28 15:36:45 -05:00
Ali Rizvi-Santiago 0609909f1a Fixed some lint issues. 2020-05-28 13:53:49 -05:00
Ali Rizvi-Santiago ad7194c920 Rewrote the GuestIP implementation in the vmware builder to use the new dhcpd lease parsers instead of the old regexp-based logic. 2020-05-28 13:22:58 -05:00
Ali Rizvi-Santiago 020b005522 Finished implementing the final dhcpd lease entries parser for the vmware builders and also included its own unit tests. 2020-05-28 13:22:58 -05:00
Ali Rizvi-Santiago cf5332fa20 Updated the dhcpd lease entry parser in the vmware builder to return errors if any are encountered. 2020-05-28 13:22:58 -05:00
Ali Rizvi-Santiago afa4696985 Tightened the regular expressions used by the vmware builder to parse the dhcpd leases, and added support for parsing the weekdays. 2020-05-28 13:22:58 -05:00
Ali Rizvi-Santiago e2a7c317eb Implemented the dhcpd lease entry decoder and the address decoder for the vmware builder. 2020-05-28 13:22:57 -05:00
Ali Rizvi-Santiago efb775accb Added a number of parsing combinators to the vmware builder and some minor tests for them to help with parsing dhcpd leases. 2020-05-28 13:22:57 -05:00
Ali Rizvi-Santiago f17007d546 Removed the sentinelSignaller chan from the vmware builder parsers and its unit-tests, and also commented all of the goroutines that are used. 2020-05-28 13:22:56 -05:00
Ali Rizvi-Santiago 159ea595df More lint issues fixed... 2020-05-28 13:12:42 -05:00
Ali Rizvi-Santiago 32b64e0576 Fixed some lint issues in the unit tests for the vmware builder driver parsers. 2020-05-28 13:07:54 -05:00
Adrien Delorme 40947c2bf6
HCL2: generate hcl tags with go-cty tags too (#9306)
This will allow to generate the config files:

```go
package main

import (
	"fmt"

	"github.com/hashicorp/hcl/v2/gohcl"
	"github.com/hashicorp/hcl/v2/hclwrite"
	"github.com/hashicorp/packer/builder/alicloud/ecs"
)

func main() {
	name := "name"
	app := ecs.FlatConfig{
		AlicloudImageName: &name,
		ECSSystemDiskMapping: &ecs.FlatAlicloudDiskDevice{
			DiskName: &name,
		},
	}

	f := hclwrite.NewEmptyFile()
	block := gohcl.EncodeAsBlock(&app, `source "something" "something"`)
	f.Body().AppendBlock(block)
	fmt.Printf("%s", f.Bytes())
}

```

Will output:

```
source "something" "something" {
  packer_user_variables      = null
  packer_sensitive_variables = null
  image_name                 = "name"
  image_share_account        = null
  image_unshare_account      = null
  image_copy_regions         = null
  image_copy_names           = null
  tags                       = null
  tag                        = null
  system_disk_mapping        = { disk_category = null, disk_delete_with_instance = null, disk_descri
ption = null, disk_device = null, disk_encrypted = null, disk_name = "name", disk_size = null, disk_
snapshot_id = null }
  image_disk_mappings        = null
  ssh_remote_tunnels         = null
  ssh_local_tunnels          = null
  ssh_public_key             = null
  ssh_private_key            = null
}
```

This is a good first step for #9015 and #9282 

fix #9304
2020-05-28 11:19:00 +02:00
Adrien Delorme 0fa60c68fb
Drop the iso_checksum_type & iso_checksum_url fields (#8437)
* Drop the iso_checksum_type & iso_checksum_url fields

In favor of simply using iso_checksum that will know what to do.

* fix after master merge

* Update builder_test.go

* Update builder_test.go

* Update builder_test.go

* Update builder_test.go

* Update builder_test.go

* remove checksum lowercasing tests

* Update builder_test.go

* Update builder_test.go

* better docs

* Update builder_test.go

* even better docs

* Update config.go

* Update builder_test.go

* Update step_create_vmx_test.go

* make generate

* better docs

* fix imports

* up tests

* Update _ISOConfig-required.html.md

* Update builder_test.go

* don't use sha1.Sum("none") as a caching path

* Update builder_test.go

* better docs

* Update iso_config_test.go

remove ISOChecksumType/ISOChecksumURL references

* Update step_download_test.go

* add iso_checksum_url and iso_checksum_type fixers + tests

* add concrete examples of checksum values

* add examples of checksumming from local file

* update go-getter dep

* up deps

* use new go-getter version

* up ESX5Driver.VerifyChecksum: use go-getter's checksumming

* ISOConfig.Prepare: get checksum there in case we need it as a string in ESX5Driver.VerifyChecksum

* Update iso_config.go

* get go-getter from v2 branch

* Update driver_esx5.go

add more comments

* Update driver_esx5.go

* show better error message when the checksum is invalid

* Update builder_test.go

put in a valid checksum to fix tests, checksum is md5("packer")

* Update builder_test.go

test invalid and valid checksum

* more test updating

* fix default md5 string to be a valid md5

* TestChecksumFileNameMixedCaseBug: use 'file:' prefix for file checksumming

* Update iso_config_test.go

* Update iso_config_test.go

* Update builder_test.go

* Update builder_test.go

* Update builder_test.go

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update go.mod

* Update go.mod

* Update CHANGELOG.md
2020-05-28 11:02:09 +02:00
Joshua Foster 828440d852 rebase and run generate 2020-05-27 15:05:23 -07:00
Joshua Foster 43714049e8 add set_host_for_datastore_uploads flag 2020-05-27 15:00:08 -07:00
Joshua Foster 9895f90451 dont set the host for the datastore upload 2020-05-27 15:00:08 -07:00
Ali Rizvi-Santiago 2a8bc45bc4 Added unit-tests for the netmap parsing components in the vmware builder. 2020-05-26 23:03:30 -05:00
Ali Rizvi-Santiago 7c1ad4adcf Added unit-tests for the dhcpd configuration components in the vmware builder, and fixed a few discovered race conditions. 2020-05-26 22:59:35 -05:00
Feiyu Shi fdb0b2ab03 Revert "validate if user assigned identity exists"
This reverts commit 9bd19df040.
2020-05-26 17:17:48 -07:00
Feiyu Shi c016f3752a upgrade SIG source api-version to match identity api-version to avoid potential setback for identity 2020-05-26 16:08:00 -07:00
Megan Marsh 01839e272e
Merge pull request #9277 from nitrocode/add-source-ami-creation-date
Added SourceAMICreationDate
2020-05-26 12:24:47 -07:00
nitrocode 6d29ec956b Added SourceAMICreationDate 2020-05-26 15:04:03 -04:00
Rui Lopes 4839b9189d builder/qemu: timeout waiting for the guest to become available in the network bridge 2020-05-26 07:46:06 +01:00
Feiyu Shi 3fdab998f8 check error 2020-05-25 12:33:33 -07:00
Megan Marsh 5dfd2a763e
send logs about floppy failure directly to UI not just logs (#9272) 2020-05-25 12:02:29 +02:00
Feiyu Shi 9bd19df040 validate if user assigned identity exists 2020-05-24 19:05:46 -07:00
Feiyu Shi b334458b91 use empty struct for UserAssignedIdentities map value; omitempty 2020-05-24 19:05:45 -07:00
Feiyu Shi c5e2eff847 change to []*Resource 2020-05-24 19:05:45 -07:00
Feiyu Shi 3e3fdaa24e make generate 2020-05-24 19:05:45 -07:00
Feiyu Shi 76a7ab25e2 add SetIdentity test 2020-05-24 19:05:45 -07:00
Feiyu Shi 764f99ec7b add correct api-version 2020-05-24 19:05:45 -07:00
Feiyu Shi f7f033a7fd add config validation test 2020-05-24 19:05:45 -07:00
Feiyu Shi 10b0a4548f add identity resource id validation 2020-05-24 19:05:45 -07:00
Feiyu Shi 7c1a62dfed set identity field in the template 2020-05-24 19:05:45 -07:00
Feiyu Shi d9c9bfbae8 add identity field to the template 2020-05-24 19:05:45 -07:00
Feiyu Shi b5b2982772 add user_assigned_managed_identities to the config 2020-05-24 19:05:45 -07:00
Megan Marsh 082d806b1f fix httpip acquisition 2020-05-21 09:39:54 -07:00
Rui Lopes 06fad6cc4f qemu: add support for using a network bridge 2020-05-20 16:46:32 -07:00
Megan Marsh 266bba279b linting 2020-05-19 16:45:14 -07:00
Megan Marsh aadd95497a fix tests 2020-05-19 16:39:17 -07:00
Megan Marsh a892d13d56 make package_include match output_vagrantfile parsing and abspath calculation 2020-05-19 16:32:54 -07:00
Megan Marsh 58b32ebefa
Merge pull request #9251 from hashicorp/fix_9249
builder/azure-arm: Update runtime constants with a valid DataDiskName
2020-05-19 11:00:44 -07:00
jhawk28 820f353573
(vsphere-iso) remove deprecated network and disk fields (#9149)
* remove deprecated network and disk fields
2020-05-19 10:06:12 -04:00
Sylvia Moss 1c30a71d09
Replace file shared state by statebag (#9238) 2020-05-19 11:49:48 +02:00
Wilken Rivera c954831bb2 builder/azure-arm: Update runtime constants with a valid DataDiskName
This change fixes an issue where using the `disk_additional_size` configuration option would cause builds to fail.

Build results before the change
```
==> Builds finished but no artifacts were created.
Build 'azure-arm' errored: Code="DeploymentFailed" Message="At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details." Details=[{"code":"BadRequest","message":"{\r\n  \"error\": {\r\n    \"code
\": \"InvalidParameter\",\r\n    \"message\": \"The entity name 'dataDisk.name' is invalid according to its validation rule: ^[^_\\\\W][\\\\w-._]{0,79}(?\u003c![-.])$.\",\r\n    \"target\": \"dataDisk.name\"\r\n  }\r\n}"}]

```

Build results after change
```
Build 'azure-arm' finished.

==> Builds finished. The artifacts of successful builds are:
--> azure-arm: Azure.ResourceManagement.VMImage:

OSType: Linux
ManagedImageResourceGroupName: test-pkr
ManagedImageName: wilkenPacker9249
```

Closes #9249
2020-05-18 14:57:20 -04:00
Wilken Rivera f31f5bc61b docs/builder/azure-arm: Fix a small typo for the custom_managed_image_* config options
Closes #9199
2020-05-14 13:31:40 -04:00
Evan Digby e4eaff6bba
s/Directoty/Directory (#9221) 2020-05-14 15:00:27 +02:00
Megan Marsh 0d900fd007
Merge pull request #9198 from hashicorp/fix_9190
don't error if metadata can't be set. Old versions of openstack don't…
2020-05-13 14:45:18 -07:00
Megan Marsh a17ef01ea9
Merge pull request #9212 from andrewsomething/asb/do-image-id
builder/digitalocean: Use correct image type for Droplet creates.
2020-05-13 14:43:13 -07:00
Megan Marsh 37d953881f
Merge pull request #9219 from hashicorp/azr_autodoc_alicloud_pp
alicloud: better docs + autogenerated post processor docs
2020-05-13 14:41:44 -07:00
Andrew Starr-Bochicchio 84f0079c3a Move to a new func to make testable. 2020-05-13 13:29:22 -04:00
Andrew Starr-Bochicchio a1f334daff Use constant and move check to template generator. 2020-05-13 13:28:44 -04:00
Andrew Starr-Bochicchio bf0ab6b722 Force test to be skipped unless PACKER_ACC set. 2020-05-13 11:48:49 -04:00
Wilken Rivera b5639d4697
tests/builder/amazon: Enhance the test coverage for SSM Tunnel related steps (#9213)
* test/builder/amazon: Update mocks to properly test SSM tunnel and driver code base

* Update mod files
2020-05-13 10:10:55 -04:00
Adrien Delorme a50c27c05d single ` 2020-05-13 15:51:18 +02:00
Adrien Delorme c2d3e494b6 alicloud: better docs + autogenerated post processor docs 2020-05-13 15:49:34 +02:00
Megan Marsh fe472f45ae don't put error in state, or we'll fail. 2020-05-12 16:51:40 -07:00
Megan Marsh 807a09a770 don't error if metadata can't be set. Old versions of openstack don't seem to play nicely with this API call 2020-05-12 16:51:40 -07:00
Wilken Rivera 6f5f6bf999 builder/amazon Fix invalid pointer issue for non SSMAgengtEnabled builds
Tests before change
```
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1392ca2]

goroutine 299 [running]:
github.com/hashicorp/packer/builder/amazon/common.(*StepCreateSSMTunnel).Cleanup(0xc0003dc460, 0x4d1a4c0, 0xc0006e9800)
        /home/wilken/Development/packer/builder/amazon/common/step_create_ssm_tunnel.go:95 +0xf2
github.com/hashicorp/packer/helper/multistep.(*BasicRunner).Run(0xc0006e98f0, 0x4d408c0, 0xc00065fcc0, 0x4d1a4c0, 0xc0006e9800)
        /home/wilken/Development/packer/helper/multistep/basic_runner.go:79 +0x2c6
github.com/hashicorp/packer/builder/amazon/ebs.(*Builder).Run(0xc000726800, 0x4d408c0, 0xc00065fcc0, 0x4d5e300, 0xc0006e8d80, 0x4cc7220, 0xc000434120, 0x0, 0x0, 0x0, ...)
        /home/wilken/Development/packer/builder/amazon/ebs/builder.go:330 +0x17e2
github.com/hashicorp/packer/packer.(*CoreBuild).Run(0xc000720500, 0x4d408c0, 0xc00065fcc0, 0x4d5e180, 0xc0006fe510, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/wilken/Development/packer/packer/build.go:287 +0x7ef
github.com/hashicorp/packer/command.(*BuildCommand).RunContext.func1(0xc0004d14d0, 0xc0003dc3c0, 0xc000441500, 0xa, 0x4d5e1e0, 0xc000720500, 0x4d408c0, 0xc00065fcc0, 0x4d5e180, 0xc0006fe510, ...)
        /home/wilken/Development/packer/command/build.go:290 +0x189
created by github.com/hashicorp/packer/command.(*BuildCommand).RunContext
        /home/wilken/Development/packer/command/build.go:284 +0xd5a
FAIL    github.com/hashicorp/packer/provisioner/shell   188.335s
FAIL
```

Test After change
```
--- PASS: TestShellProvisioner (212.39s)
    --- PASS: TestShellProvisioner/testing_amazon-ebs_builder_against_shell_provisioner (212.39s)
PASS

```
2020-05-12 14:49:57 -04:00
Andrew Starr-Bochicchio 05d56034dd builder/digitalocean: Add acceptance test for creating Droplet using image ID. 2020-05-12 14:15:35 -04:00
Andrew Starr-Bochicchio 374a29d75c builder/digitalocean: Add logging of Droplet create attributes. 2020-05-12 12:38:51 -04:00
Andrew Starr-Bochicchio 80b4e0425e builder/digitalocean: Use correct type for image for Droplet creates. 2020-05-12 11:46:58 -04:00
Andrew Starr-Bochicchio e8783873d0 builder/digitalocean: Fix failing acceptance test. 2020-05-12 11:37:07 -04:00
Adrien Delorme 4ebcbad332
update consul and vault dependencies (#9205)
* update consul and vault dependencies

* update triton sign call accorting to https://github.com/joyent/triton-go/pull/135

* Delete readme.md

* put back github.com/mitchellh/reflectwalk to v1.0.0 and explain why

* fix/fixer_pp_docker_tag_tags.go: simplify deduplication loop and keep seen/stable order
2020-05-11 15:26:01 -04:00
Megan Marsh 480c938162 generate virtualbox-vm docs instead of letting them be copy pasted 2020-05-08 15:58:36 -07:00
Megan Marsh 4ef34f7fba fix iso config prepare 2020-05-08 14:11:51 -07:00
Megan Marsh 9476aa03de
Merge pull request #9105 from hashicorp/google_iap
Implement iap proxy for googlecompute
2020-05-08 12:40:42 -07:00
Megan Marsh fcef10fd2f
Merge pull request #9082 from hashicorp/f-amazon_builder-ssm-session-tunnel-poc
builder/amazon: Add SSM Session Manager as a SSH interface connection
2020-05-08 12:40:03 -07:00
Megan Marsh a55b73473a fix logic 2020-05-08 10:24:28 -07:00
Megan Marsh dde162622d use local port in listener config, when set 2020-05-08 10:20:47 -07:00
Megan Marsh 81e043f2b0 fix windows tests 2020-05-08 10:13:43 -07:00
Megan Marsh 60600e6cf6 make windows work with account files containing spaces 2020-05-08 10:13:43 -07:00
Megan Marsh dae60799bc fix tests 2020-05-08 10:13:43 -07:00
Megan Marsh fda55fe928 deduplicate excess code 2020-05-08 10:13:43 -07:00
Megan Marsh 54b33ad8d1 fix tests 2020-05-08 10:13:43 -07:00
Megan Marsh 850303b8b8 get gcloud integration working on Windows 2020-05-08 10:13:43 -07:00
Megan Marsh c578afc62c working on windows 2020-05-08 10:13:43 -07:00
Megan Marsh 32752d4577 fix linting and tests 2020-05-08 10:13:43 -07:00
Megan Marsh b5744efb42 add config prepare tests 2020-05-08 10:13:43 -07:00
Megan Marsh f583674cd6 linding 2020-05-08 10:13:43 -07:00
Megan Marsh 4fc92d7858 add tests 2020-05-08 10:13:42 -07:00
Megan Marsh 937a4859d4 Make retries a bit smarter, clean up language to be gentler, and give up on parsing stdout for tunnel launch 2020-05-08 10:13:42 -07:00
Megan Marsh 3e1ddad0c7 fix behavior when not using IAP, try to use more sophisticated streaming than buffer.String() 2020-05-08 10:13:42 -07:00
Megan Marsh 9353635b43 send sigint instead of sigkill; we can at least ask the tunnel nicely to shut down. 2020-05-08 10:13:42 -07:00
Megan Marsh f67a8ab431 revert unneeded changes to driver roles 2020-05-08 10:13:42 -07:00
Megan Marsh 80ecd2013d basic untested implementation for Windows. May leave zombie processes lying around 2020-05-08 10:13:42 -07:00
Megan Marsh 3cd28e98a7 linting 2020-05-08 10:13:42 -07:00
Megan Marsh 365eb09842 import context 2020-05-08 10:13:42 -07:00
Megan Marsh eb05f6ff88 fix windows 2020-05-08 10:13:42 -07:00
Megan Marsh d713f7ec64 add conditional building becasue windows support is still forthcoming 2020-05-08 10:13:42 -07:00
Megan Marsh e6073bcec7 implement iap proxy for googlecompute. ssh-only so far 2020-05-08 10:13:42 -07:00
Ryo Tagami fdc73376ba
floppy_label Parameter for vsphere-iso Builder (#9187)
Add ability to specify `floppy_label` parameter for `vsphere-iso`
builder, which would be especially beneficial when someone wants to pass
information to cloud-init via floppy disk images.

Signed-off-by: Ryo Tagami <rtagami@airstrip.jp>
2020-05-08 16:13:54 +02:00
Markus Liljedahl d807e81adb
Changed default disk size for when using googlecompute to match minimum disk sice to the google api. Closes https://github.com/hashicorp/packer/issues/9023 (#9071) 2020-05-08 15:55:38 +02:00
Wilken Rivera 89fb7bb080 Apply suggestions from code review
Co-authored-by: Megan Marsh <megan@hashicorp.com>
2020-05-08 09:36:43 -04:00
Wilken Rivera 056f1f6e76 docs/amazon/builder: Add not about using a temporary_iam_instance_profile_policy_document 2020-05-08 09:32:54 -04:00
Wilken Rivera bf1da57a05 Update address to localhost to be consistent with other proxies 2020-05-08 09:32:54 -04:00
Wilken Rivera 7cea7466ba buider/amazon: Add `session_manager_port` option for setting a custom local port 2020-05-08 09:32:54 -04:00
Wilken Rivera 0d13c634b7 Update logging constructs for Session Manger driver 2020-05-08 09:32:49 -04:00
Wilken Rivera 81c40b8d08 Add section to docs about the session-manager-plugin tunnel 2020-05-08 09:32:49 -04:00
Wilken Rivera 5f68303504 Remove no longer needed port check
The communicator code base will default to the correct port settings for
valid communicators and fail the build for non valid communicators.
2020-05-08 09:32:49 -04:00
Wilken Rivera 3ae7ab994b step_create_ssm_tunnel: Add port availability check for LocalPortNumber 2020-05-08 09:32:49 -04:00
Wilken Rivera 08dc2cb847 Remove call to unstubbed session start 2020-05-08 09:32:49 -04:00
Wilken Rivera f498866c3a Update validation for session_manager connectivity
Validation will now check that either a IamInstanceProfile or a TemporaryIamInstanceProfilePolicyDocument is set
2020-05-08 09:32:49 -04:00
Wilken Rivera 2f09b74587 amazon/builder: Move port validation for security group into RunConfig.Prepare 2020-05-08 09:32:48 -04:00
Wilken Rivera 3f6b28b70c Add SSMTunnel step to other amazon builders, minus chroot 2020-05-08 09:32:48 -04:00
Wilken Rivera 743df19af2 Add tests for driver and ssm tunnel step 2020-05-08 09:32:48 -04:00
Wilken Rivera e53d6aea66 amazon/ssm_driver: Update to support command context
* Defer the release of the found port to prevent possible Packer build collisions.
2020-05-08 09:32:48 -04:00
Wilken Rivera 5e14089851 tests/builder/amazon: Add basic testing for session_manager
* Add a test to ensure the proper host is returned when using session_manager
* Add a basic driver test for the validating that the SSMDriver will fail if the plugin is not in the path.
2020-05-08 09:32:48 -04:00
Wilken Rivera 60e0ba7e68 Update iam instance profile name 2020-05-08 09:32:48 -04:00
Wilken Rivera d5a0262d6c builder/amazon/instance: Add session manager support 2020-05-08 09:32:48 -04:00
Wilken Rivera e515aefee3 Add validation checks for session_manager
* Session manager connectivity only supported via SSH
* Session manager requires the use of an iam instance profile with system manager permissions
2020-05-08 09:32:48 -04:00
Wilken Rivera c1d2477d18 builder/amzon: Update port configuration for WinRM
Connectivity for WinRM works for the initial connection, but fails to upload any provisioning scripts - need to dive in deeper.
For now connectivity over SSH works as expected.
2020-05-08 09:32:48 -04:00
Wilken Rivera fbffbd1899 docs/builder/amazon: Add short blurb for connecting via the AWS session_manager interface 2020-05-08 09:32:48 -04:00
Wilken Rivera 520061dee6 builder/amazon: Update Session Manger connectivity
* Update security group creation step skip ingress rules if using session manager
* Update create ssm tunnel step to dynamically set a session port
* Add SSHPort function to common to return session-manager tunnel port
* Update SSHHost to return proper host for session-manager
2020-05-08 09:32:48 -04:00
Wilken Rivera 3dd46eb5f4 Add PoC of connectivity using session-manager-plugin
* Add a bunch of hard coded values for testing on port 8081; ssh configs
are set to localhost and 8081
* Add a base drive for communicating with the session manager plugin
* Update step for creating tunnel to actually create SSM session tunnel via driver
2020-05-08 09:32:48 -04:00
Wilken Rivera 16604373ac initial ssm tunnel changes - not working 2020-05-08 09:32:48 -04:00
Ryan Hartje b86efe7604
Vbox Checksum Bugfix (#9101)
* attempting to repro github issue 9049

* update vbox ovf configtest to table test for mixedcase bug
2020-05-07 19:08:52 -04:00
Megan Marsh 26d05abd4f
Merge pull request #9182 from hashicorp/fix_9131
support pushing multiple tags
2020-05-07 12:09:19 -07:00
Adrien Delorme 62556c464c
Update builder/docker/artifact_import.go 2020-05-07 11:39:09 +02:00
Megan Marsh 02c1cf5b28 support pushing multiple tags 2020-05-06 16:39:41 -07:00
Megan Marsh 49af617be3
Merge pull request #9179 from hashicorp/fix_9177
fix docs for video_ram to use correct units
2020-05-06 09:53:40 -07:00
Megan Marsh 279fbb45ab
Merge pull request #9174 from hashicorp/do_9145
output_filename virtualbox option.
2020-05-06 09:40:33 -07:00
Megan Marsh 9baf2edd94 fix docs for video_ram to use correct units 2020-05-06 09:39:41 -07:00
Megan Marsh 5b4de6b16f fix tests 2020-05-06 09:27:20 -07:00
Megan Marsh aa09c52059 generated docs 2020-05-06 09:23:15 -07:00
Megan Marsh 2e2374b6be add tests 2020-05-05 18:52:31 -07:00
Megan Marsh f0d2680426
remove spot_price_auto_product from docs (#9173) 2020-05-05 20:48:27 -04:00
Megan Marsh 73eda08540 allow user defined output filename 2020-05-05 16:09:05 -07:00
Megan Marsh 6a682aca2e
Merge pull request #9124 from GennadySpb/yandex-export-post-processor
[WIP] Yandex export post processor
2020-05-05 11:01:13 -07:00
Megan Marsh 7e0cfd8b77 add undocumented tag to struct-markdown generator so that we can leave internal-use-only fields out of docs 2020-05-01 10:31:38 -07:00
Megan Marsh 3f8ee2b426
add exported files to VSphere artifact (#9020)
* add exported files to VSphere artifact

* clean up grammar for vsphere template docs

* add to vsphere clone
2020-04-30 15:22:57 -04:00
Rui Lopes 86ac132056
hyperv: add support for setting the boot order (#9046) 2020-04-30 13:31:41 +02:00
Wilken Rivera 86ab71f56e
test/azure/arm: Add regression test case for ssh_username overrides (#9136)
This test is for the regression fixed in #9103

Before fix
```
⇶  go test ./builder/azure/arm/... -run=TestConfigUserNameOverride
--- FAIL: TestConfigUserNameOverride (0.42s)
    config_test.go:75: Expected 'c.Comm.SSHPassword' to be set to generated password, but found ""!
    config_test.go💯 Expected 'UserName' to be set to 'override_winrm_username', but found "packer"!
FAIL
FAIL    github.com/hashicorp/packer/builder/azure/arm   0.425s
FAIL

```

After fix
```
⇶  go test ./builder/azure/arm/... -run=TestConfigUserNameOverride
ok      github.com/hashicorp/packer/builder/azure/arm   0.379s
```

* Fix variable names in error messages
2020-04-30 10:49:58 +02:00
Megan Marsh 30061b3def
Merge pull request #9095 from VladRassokhin/vsphere-disable-shutdown
Add disable_shutdown option to VSphere builders
2020-04-29 15:18:24 -07:00
Megan Marsh 2a560a517e
Merge pull request #8946 from thor/feature/vgpu-profiles
Add support for specifying vGPU profiles
2020-04-29 13:27:19 -07:00
Vladislav Rassokhin 03c4bebf00 Add disable_shutdown option to VSphere builders
Also don't try to shut down VM if it's already off, otherwise VSphere would raise an error: "The attempted operation cannot be performed in the current state (Powered off)."
2020-04-29 14:19:43 +03:00
Gennady Lipenkov aa595fa1aa Rename arg 2020-04-27 02:37:10 +03:00
Gennady Lipenkov 9489a46f32 Make some steps exportable, add 'GetInstanceMetadata' method 2020-04-27 02:19:08 +03:00
jhawk28 c43a52aafe
fix issue where -force is not working with vsphere builders (#9039)
* add better error support to check if vm exists use path.Join so that it looks up the VM correctly turn off VM if it is still running

* fix the vsphere-clone also

* add a common precleanvm to the driver to dedupe iso and clone logic, reduce the if nesting
2020-04-23 08:07:07 -04:00
Wilken Rivera e0d2f4fd69
builder/azure-arm: Fix SSH connection for temporary admin users specified in `ssh_username` (#9103) 2020-04-23 11:04:49 +02:00
Paul Meyer 26d768f429
[builder/azure-chroot] Shared image source (#9070) 2020-04-23 11:03:17 +02:00
Lars Lehtonen ab119d3270
builder/azure/chroot: fix dropped error (#9106) 2020-04-23 10:53:13 +02:00
Adrien Delorme da4a5224be
HCL2 singular blocks: use key/value or name/value depending on how the service names things (#9078)
* make sure keyvalue and namevalue filters are using the same naming as the service being used

* make docs a bit more readable for KeyValues too

* Update website/pages/docs/from-1.5/expressions.mdx

Co-Authored-By: Megan Marsh <megan@hashicorp.com>

Co-authored-by: Megan Marsh <megan@hashicorp.com>
2020-04-23 10:46:49 +02:00
Megan Marsh 50823e2573
Merge pull request #9093 from Hakujou/osc-bsu-fix
Compliance with oAPI spec for Outscale osc-bsu builder
2020-04-21 10:49:46 -07:00
Matthew Sanabria 761abdda4e
Updating documentation for azure-arm builder (#9097) 2020-04-21 10:47:48 +02:00
GennadySpb 1155ab8e3c
Add 'target_image_folder_id' for builder/yandex (#9080)
Add 'target_image_folder_id' for builder/yandex

Closes #9079
2020-04-20 15:20:05 +02:00
Romain Lecat 1f4e8785f3 Compliance with oAPI spec for Outscale OSC-BSU 2020-04-20 15:00:51 +02:00
vijayrajah 5d2fee04b2
builder/azure: enable boot Diagnostics (#9053)
* enable boot Diagnostics
2020-04-20 07:29:13 -04:00
Wilken Rivera cc367bd0b7
Merge pull request #9045 from lausser/cloud-init
feat(proxmox): add ability to add a cloud-init drive
2020-04-17 14:09:02 -04:00
Paul Meyer 89f3aa0bd6
[builder/azure-arm] Use VM/build location for image location (#9068)
* [builder/azure-arm] Use VM/build location for image locationThe builder was using the location of the containing resource group asthe image location, but the API call can only create images in the samelocation as the source VM that is being captured.
2020-04-17 05:43:03 -04:00
Megan Marsh 855808ec6f
Merge pull request #8970 from szamfirov/shielded_vm_support
Adding custom shielded images support (GCP)
2020-04-16 16:32:04 -07:00
Svetlin Zamfirov b706f02408 Fixing auto-generated code errors 2020-04-16 16:22:42 -07:00
Svetlin Zamfirov d827f4f757 Adding custom shielded images support (GCP)
Adds `enable_secure_boot`, `enable_vtpm` and `enable_integrity_monitoring`
config options to enable building of custom Shielded GCP Compute images.

Feedback on this is more than welcome as this is my first attempt in
contributing to anything Packer related.

Packer is great for us to build custom images on top of GCP but we would
like to enhance that to support Shielded VM images. This will allow us
to have more secure and trusted images which our team(s) will be using.
2020-04-16 16:22:41 -07:00
Megan Marsh 08787ba31f
Merge pull request #9028 from vijayrajah/set_azure_custom_res_names
Set Custom Resource Names for Azure-Arm builds
2020-04-16 15:58:41 -07:00
Vijay Rajah da7382980a Fix failing test & format code 2020-04-17 00:17:39 +05:30
vijayrajah fff06353b7
Update builder/azure/arm/tempname.go
refactor the code.. thanks for the suggestion @sylviamoss

Co-Authored-By: Sylvia Moss <sylviamoss.m@gmail.com>
2020-04-17 00:04:39 +05:30
Adrien Delorme 73242e8de4 make sure keyvalue and namevalue filters are using the same naming as the service being used 2020-04-16 17:22:13 +02:00
Gerhard Lausser dc2813c8e2 feat(proxmox): add ability to add a cloud-init drive 2020-04-15 22:00:42 +02:00
Wilken Rivera d580ea7950
Merge pull request #9069 from tencentyun/master
builder/tencent: fixed InstanceOperationInProgress error #9054
2020-04-15 07:21:33 -04:00
Thor K. Høgås ebfc5bcdcb
Merge branch 'master' into feature/vgpu-profiles 2020-04-15 12:02:37 +02:00
Wilken Rivera e8f8ebf132
builder/vmware: Add some additional debug logging to the driver version check (#9064) 2020-04-15 10:34:48 +02:00
Li Kexian 632610d9c0
fixed InstanceOperationInProgress error #9054 2020-04-15 12:38:50 +08:00
Megan Marsh 440f540e28 fix merge issues with generated code 2020-04-14 10:31:57 -07:00
Vladislav Rassokhin 5f2849b5b4 builder/vsphere-clone: support firmware changing 2020-04-14 10:28:43 -07:00
Vladislav Rassokhin 91a1ad63fa builder/vsphere-iso: support EFI Secure Boot using another value in `firmware` (#8873) 2020-04-14 10:28:22 -07:00