Adrien Delorme
4cb7c30987
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-08-21 16:44:23 +02:00
Megan Marsh
6ad975f296
Revert "move SSHInterface/SSHIPVersion fields to communitator.Config struct"
...
This reverts commit b0c09087a2
.
2019-07-02 10:46:10 -07:00
Megan Marsh
62120c5c0b
Merge pull request #7813 from hashicorp/stop_calculating_spot_bids
...
stop calculating spot bids
2019-07-02 10:35:45 -07:00
Megan Marsh
d4b6a61445
don't store names of volumes we will be deleting when the instance terminates
2019-07-01 14:44:17 -07:00
Megan Marsh
c722afe707
stop calculating spot bids; amazon changed the way spot instances are priced to be stable rather than bid-based, so when user sets auto, we can just default to the ondemand price and know that they'll get the same price as everyone else bidding at that time.
2019-07-01 13:01:41 -07:00
Adrien Delorme
8cea5d409a
doc ebsvolume builder using partials
2019-06-19 12:02:12 +02:00
Adrien Delorme
dcc22df609
aws: move the OmitFromArtifact field in ebssurrogat where it's being used
...
also, simplified a bit the usage of block device
2019-06-18 16:04:12 +02:00
Adrien Delorme
ff2e0298ba
simplify block devices utilisation by removing intermediary types
2019-06-18 12:37:47 +02:00
Adrien Delorme
8e857d64f1
aws: rewrap struct comments for documentation generation
2019-06-06 17:34:17 +02:00
Adrien Delorme
4399684372
make fmt autogenerated docs
2019-06-06 16:29:25 +02:00
Adrien Delorme
e6cbb013ba
add // go:generate struct-markdown to all previously edited files
2019-06-05 16:42:18 +02:00
Adrien Delorme
f1917edd34
generate the comments for config struct of builders scraping doc website
2019-06-05 16:42:17 +02:00
Megan Marsh
708165eaa8
refactoring step_run_spot_instance and swapping out the calls to create a spot instance with a call to create a spot fleet of one, so that we can be more flexible with the instance type when desired
2019-05-24 09:32:54 -07:00
Adrien Delorme
c4f3dccc14
rename interpolation context from ctx to ictx and contexts to ctx to avoid conflicts
2019-04-03 15:56:15 +02:00
Adrien Delorme
a4bf94dd3c
change Builder to be passed a context for cancellation
...
we have to to give it to our hook
2019-04-03 15:55:55 +02:00
Akshat Mahajan
f07e4214cc
Addresses issues #5384 , #5494 : Rename and change `temporary_security_group_source_cidr`
...
to accept a list of strings (for Amazon builders).
Per this change, `temporary_security_group_source_cidr` in the configuration:
1. Will be renamed to `temporary_security_group_source_cidrs`.
2. Will accept a list of CIDRs.
3. Will have its documentation updated to reflect this change.
4. Will have a fixer attached for newer templates to avail of.
2019-03-30 15:47:03 -07:00
Adrien Delorme
9f82b75e57
Use the hashicorp/go-getter to download files
...
* removed packer.Cache and references since packer.Cache is never used except in the download step. The download step now uses the new func packer.CachePath(targetPath) for this, the behavior is the same.
* removed download code from packer that was reimplemented into the go-getter library: progress bar, http download restart, checksuming from file, skip already downloaded files, symlinking, make a download cancellable by context.
* on windows if packer is running without symlinking rights and we are getting a local file, the file will be copied instead to avoid errors.
* added unit tests for step_download that are now CI tested on windows, mac & linux.
* files are now downloaded under cache dir `sha1(filename + "?checksum=" + checksum) + file_extension`
* since the output dir is based on the source url and the checksum, when the checksum fails, the file is auto deleted.
* a download file is protected and locked by a file lock,
* updated docs
* updated go modules and vendors
2019-03-13 12:11:58 +01:00
Megan Marsh
3ed9fe6dee
remove unused imports
...
remove HttpClientWithEnvironmentProxy from amazon builders; let access config handle it
2019-03-04 16:42:33 -08:00
Megan Marsh
3704a053d0
move region validation and credential wait into step pre validate
2019-02-05 14:07:04 -08:00
Megan Marsh
035c3506ba
manually set proxyfromenvironment in default http client for ec2 sessions
2019-01-25 12:33:25 -08:00
Megan Marsh
c03894c05d
fix bad interpolation exemption for volume_size
2018-11-29 16:39:43 -08:00
Megan Marsh
9573013d3a
Merge pull request #6872 from aspectcapital/disable-ena-support
...
Add support to explicitly disable ENA support
2018-10-19 10:54:38 -07:00
Matt Dainty
feb8067c7d
Convert `ena_support` to a pointer
...
This means it now has three states, `true`, `false`, & `nil`. The
default state is now `nil` which does nothing instead of `false` which
now will explicitly disable ENA support instead of just not enabling it.
2018-10-19 12:40:43 +01:00
Megan Marsh
57f87f58b9
Merge pull request #6374 from rickard-von-essen/aws-filters
...
builder/amazon: Add suppport for vpc_filter, subnet_filter, and security_group_filter
2018-10-18 14:34:02 -07:00
Adrien Delorme
22d3e9b5c4
builder/amazon/ebs: pass config as a pointer so values could be populated by a run
2018-09-27 16:27:34 +02:00
Matthew Hooker
9181570bc3
remove stray struct dumps in logs
2018-09-27 00:14:05 -07:00
Megan Marsh
79093da6ad
skip region validation in tests that don't care; refactor Prepare func so we can test region validation logic with a mock
2018-09-19 10:30:08 -07:00
Megan Marsh
38cc525ec7
new option allowing user to clean up the ephemeral ssh key from the authorized_keys file
2018-09-14 11:06:38 -07:00
Adrien Delorme
2e73ed8d46
pass Comm instance to fix Spot instance creation
2018-09-11 18:20:14 -07:00
Adrien Delorme
e02d0dacc4
Merge branch 'master' into aws-filters
2018-09-07 16:14:00 +02:00
RenaudS
26aab49aaf
aws spot instances: add block_duration_minutes option ( #6638 )
...
* Add block_duration_minutes option
* int64 cannot be nil
* Update doc
* Fix formating
2018-09-03 08:33:58 +02:00
Adrien Delorme
df9e756865
pass the Comm instance to the amazon ebs builders steps
2018-08-30 12:50:29 +02:00
Adrien Delorme
b0c09087a2
move SSHInterface/SSHIPVersion fields to communitator.Config struct
2018-08-29 14:51:28 +02:00
Adrien Delorme
ef4ca9c48e
builder.amazon: use c.Comm for ssh
2018-08-29 14:40:33 +02:00
Adrien Delorme
293c485372
builder.aws: use SSHAgentAuth from Comm
2018-08-29 14:40:33 +02:00
Adrien Delorme
ef08c441c9
builder.aws: use Comm field for StepKeyPair & StepGetPassword
2018-08-29 14:40:33 +02:00
Adrien Delorme
51d2aac9f6
SSHPrivateKey => SSHPrivateKeyFile
2018-08-29 14:40:32 +02:00
Matthew Hooker
e41e99954d
go 1.11 format rules
2018-08-24 15:56:44 -07:00
Rickard von Essen
533967cb66
builder/amazon: Add suppport for security_group_filter
...
Allow selecting SG's using a filter. Also some cleanup of vpc_filter and
subnet_filter.
2018-08-24 12:42:38 +02:00
Megan Marsh
340363a649
Merge pull request #6613 from hashicorp/merge_ssh_config_funcs
...
Merge ssh config funcs from builders
2018-08-23 16:03:36 -07:00
Adrien Delorme
41f6e0334d
refactor all copy pasted sshConfig with into communicator.Config.SSHConfigFunc
...
* still need to append the auth methods into an array for gracefullness
2018-08-22 17:02:23 +02:00
Megan Marsh
ff6a039d5b
replace scrubconfig with packer.LogSecretFilter.Set
...
filter winrm password from logs
Add new root-level packer template option, sensitive-variables, to tell us what user variables to mark sensitive.
2018-08-20 15:35:55 -07:00
Mark Meyer
3dbf1cb371
Enable tagging of spot requests
...
This adds a new parameter to the EBS builders named `spot_tags'. This
parameter accepts a map of tags, much like `tags'. These tags will be
applied to a spot request that is created.
Improve visibility.
2018-07-07 16:06:51 +02:00
DanHam
d5304a25e9
Pass T2 Unlimited settings to run instance step for appropriate EC2 builders
2018-05-15 12:25:06 +01:00
Megan Marsh
3afb243f11
use build name to ensure that winrm password and other shared state is not overwritten if two builders need the password in the same packer run.
2018-04-16 13:41:17 -07:00
ADO
507b3619e7
Expose more source ami data in the template
2018-03-30 10:47:11 +02: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
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
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
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
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
Matthew Hooker
f216330ba3
spot instance ena/sriov checking for all other builders
2017-12-08 14:56:19 -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
John Davies-Colley
707ec675b2
ssh interface for amazon builders 🔨
2017-11-22 15:49:38 +13:00
Matthew Hooker
95e4ae251e
WIP
2017-11-02 09:03:44 -07: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
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
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
Mark Meyer
2661fd7869
Move building of spot instances into its own step
2017-10-04 12:38:21 +02:00
Zanetti, David
8a8b51be97
Allow temporary security group to have source CIDR block explicitly provided
2017-09-26 00:57:56 +00:00
Megan Marsh
2d4bc70d7b
use ami prefix to make it clear that these variables are amazon specific
...
add fixer, fixer tests
2017-08-28 11:21:27 -07:00
Megan Marsh
9e2e467b31
Allow granular modification of sriov and ena enhanced networking options in amazon amis. Maintain old functionality.
2017-08-25 14:49:53 -07:00
Matthew Hooker
56c513088b
I think this was the intention
2017-06-09 10:34:49 -07:00
Paul Thrasher
0be5a28080
Fix issue 4693 - Derive vpc_id from subnet_id
...
In AWS we can derive the `VpcId` and AZ from the `SubnetId`, so now we do. In the config you can now only specify the `SubnetId`.
This fixes issue #4693 .
2017-05-15 13:46:05 -07:00
Matthew Hooker
81522dced0
move packer to hashicorp
2017-04-04 13:39:01 -07:00
Matthew Hooker
74c8c585f5
builder/amazon: report tag creation
2017-03-23 16:12:59 -07:00
Rickard von Essen
c9259d116f
builder/amazon-ebsvolume: Fix interpolation of block_device
2017-01-26 21:27:36 +01:00
Rickard von Essen
de7388fa0a
builder/amazon-ebsvolume: Fixed interpolation of tags
2017-01-25 19:40:43 +01:00
Rickard von Essen
6e891cf682
Fixed botched merge and review comments
2017-01-22 21:57:23 +01:00
Rickard von Essen
ba9cae5078
builder/amazon: Add SourceAMI and BuildRegion template
...
Added {{ .SourceAMI }} and {{ .BuildRegion }} template values availible
in `ami_description`, `run_tags`, `run_volume_tags`, `tags`, and
`snapshot_tags`.
2017-01-21 20:39:58 +01:00
Rickard von Essen
d3c2239b9e
builder/amazon: Change shutdown_behaviour to shutdown_behavior
2016-12-14 21:59:16 +01:00
Rickard von Essen
99ee610afa
builder/amazon: Fix SSH Agent
...
Closes #4220
2016-11-29 22:33:53 +01:00
Matthew Hooker
50267572a4
add ebsvolume artifact
2016-11-28 15:26:09 -08:00
James Nugent
36c09af992
builder/amazon: Add tests for the `ebs-volume` builder
...
These smoke tests are effectively a mirror of the EBS builder tests.
2016-11-02 12:56:39 -04:00
James Nugent
b1ff8c3bfc
builder/amazon: Add `ebs-volume` builder
...
This commit adds a builder that works like EBS builders, except does not
create an AMI, and instead is intended to create EBS volumes in an
initialized state. For example, the following template can be used to
create and export a set of 3 EBS Volumes in a ZFS zpool named `data` for
importing by instances running production systems:
```
{
"variables": {
"aws_access_key_id": "{{ env `AWS_ACCESS_KEY_ID` }}",
"aws_secret_access_key": "{{ env `AWS_SECRET_ACCESS_KEY` }}",
"region": "{{ env `AWS_REGION` }}",
"source_ami": "{{ env `PACKER_SOURCE_AMI` }}",
"vpc_id": "{{ env `PACKER_VPC_ID` }}",
"subnet_id": "{{ env `PACKER_SUBNET_ID` }}"
},
"builders": [{
"type": "amazon-ebs-volume",
"access_key": "{{ user `aws_access_key_id` }}",
"secret_key": "{{ user `aws_secret_access_key` }}",
"region": "{{user `region`}}",
"spot_price_auto_product": "Linux/UNIX (Amazon VPC)",
"ssh_pty": true,
"instance_type": "t2.medium",
"vpc_id": "{{user `vpc_id` }}",
"subnet_id": "{{user `subnet_id` }}",
"associate_public_ip_address": true,
"source_ami": "{{user `source_ami` }}",
"ssh_username": "ubuntu",
"ssh_timeout": "5m",
"ebs_volumes": [
{
"device_name": "/dev/xvdf",
"delete_on_termination": false,
"volume_size": 10,
"volume_type": "gp2",
"tags": {
"Name": "TeamCity-Data1",
"zpool": "data",
"Component": "TeamCity"
}
},
{
"device_name": "/dev/xvdg",
"delete_on_termination": false,
"volume_size": 10,
"volume_type": "gp2",
"tags": {
"Name": "TeamCity-Data2",
"zpool": "data",
"Component": "TeamCity"
}
},
{
"device_name": "/dev/xvdh",
"delete_on_termination": false,
"volume_size": 10,
"volume_type": "gp2",
"tags": {
"Name": "TeamCity-Data3",
"zpool": "data",
"Component": "TeamCity"
}
}
]
}],
"provisioners": [
{
"type": "shell",
"start_retry_timeout": "10m",
"inline": [
"DEBIAN_FRONTEND=noninteractive sudo apt-get update",
"DEBIAN_FRONTEND=noninteractive sudo apt-get install -y zfs",
"lsblk",
"sudo parted /dev/xvdf --script mklabel GPT",
"sudo parted /dev/xvdg --script mklabel GPT",
"sudo parted /dev/xvdh --script mklabel GPT",
"sudo zpool create -m none data raidz xvdf xvdg xvdh",
"sudo zpool status",
"sudo zpool export data",
"sudo zpool status"
]
}
]
}
```
StepModifyInstance and StepStopInstance are now shared between EBS and
EBS-Volume builders - move them into the AWS common directory and rename
them to indicate that they only apply to EBS-backed builders.
2016-11-02 12:56:39 -04:00