Commit Graph

619 Commits

Author SHA1 Message Date
James Nugent 635aeb765b amazon/ebssurrogate: Add New Builder
This commit adds a new type of builder which builds an AMI based on a
snapshot of an EBS volume which is provisioned on a "surrogate"
instance. This can be used to build operating system images from
scratch, but unlike the `chroot` builder does not require running from
an AWS EC2 instance.
2017-02-21 18:38:19 -06: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
Matthew Hooker fc30f6cc0a
log tag creation.
closes #4427
2017-01-19 12:00:41 -08:00
Matthew Hooker 56b5e97bf4
verify given security group 2017-01-18 15:25:31 -08:00
Matthew Hooker b265d2614f
builder/amazon: fix when using security_group_id
If `security_group_id` was specified with a group that didn't exist, packer
would go into an infinite loop waiting for it. We shouldn't make assumptions
about the status of explicitely set security groups, so let's just error out
right away if we can't find it.
2017-01-18 15:11:52 -08:00
Matthew Hooker f5bf588393
tag all volumes 2017-01-18 11:34:46 -08:00
Matthew Hooker 800351b7ca
fix panic and don't print each tag we add. 2017-01-18 11:34:36 -08:00
Roman Zhuzha d9186dc8cf add proper error handling for tagging source instance 2017-01-18 14:02:10 +01:00
Roman Zhuzha ae016a1f25 simplify code flow: skip the step if no run_volume_tags provided 2017-01-18 13:03:05 +01:00
Roman Zhuzha a65af51a4b apply source instance default "Name" tag only if it's not provided in run_tags 2017-01-18 12:55:18 +01:00
Roman Zhuzha 36d8a1df1d use common.ConvertToEC2Tags to apply tags to source EBS volumes, change Say message 2017-01-18 12:52:59 +01:00
Roman Zhuzha aa70c82ec8 use ConvertToEC2Tags to apply tags to source instance, add Say message 2017-01-18 12:50:20 +01:00
Matthew Hooker c1f5545986
compress pr #4395 2017-01-13 11:42:20 -08:00
Richard Moore 9435fa62e3 Output error causing ebs volume deletion failure
When an ebs volume fails to delete, Packer reports that there
was an error deleting the volume and the volume id. But it doesn't
give you the details of what that error is. This commit adds the
error reported back to the standard output.
2017-01-13 15:33:47 +00:00
Rickard von Essen 26fe9cf339
builder/amazon: Fix crash in amazon-instance
Closes #4360
2017-01-06 15:17:02 +01:00
Matthew Hooker 377f451a9e
it's InvalidGroup 2017-01-05 16:56:49 -08:00
Matthew Hooker e54605c120
Properly wait for security group to exist.
Adds check for `InvalidGroupID.NotFound` in addition to
`InvalidSecurityGroupID.NotFound`.

Uses aws's `waiter` for clarity.
2017-01-05 15:20:28 -08:00
Matthew Hooker aef6e0e93f Merge pull request #4304 from dave2/gh-4277
Querying EC2 security groups should report unexpected errors
2017-01-04 10:53:28 -08:00
Travis Harrington e31d75eca8 Quick fix for issue #4340 2016-12-29 09:16:52 -07:00
Rickard von Essen 4b1e014be8
builder/amazon: Crashes when multiple EBS vols are used
If you use a new EBS vol (which hasn't any snapshot) Packer crashes when
creating the AMI.

Closes #4303
2016-12-21 15:37:08 +01:00
Zanetti, David ae5730c5a5 Querying EC2 security groups should report unexpected errors
As noted in #4277, we don't report any errors from the loop waiting for
a security group to exist. Instead, we should accept 'errors' which result
from the group not yet existing, and report errors which are actual issues
the user needs to resolve (eg, IAM permissions are incorrect).

Closes #4277
2016-12-21 11:45:12 +13:00
Matthew Hooker e4f6eaae9b Merge pull request #4231 from artburkart/force-delete-snapshot-patch
Fixes acceptance test for PR #4223
2016-12-17 11:43:26 -08:00
Rickard von Essen d3c2239b9e
builder/amazon: Change shutdown_behaviour to shutdown_behavior 2016-12-14 21:59:16 +01:00
Rickard von Essen c24b4423b2 builder/amazon: Added new region London - eu-west-2 2016-12-14 10:55:19 +01:00
Alexander Krasnukhin ac98aad1df Fix log statement 2016-12-13 12:53:03 +01:00
Matthew Hooker f1fb942219
add ca-central-1 to list of known aws regions.
resolves #4273
2016-12-09 11:21:44 -08:00
Rickard von Essen 5c4d331a34 Added missing LaunchPermission 2016-12-06 09:59:09 +01:00
Rickard von Essen 4ce3b8712a
Replace unencrypted EBS snapshots with encrypted
To ensure that groups and users attributes are added to the encrypted
snapshots.
2016-12-06 03:31:09 +01:00
Rickard von Essen c3a352955e amazon: Added snapshot_users and snapshot_groups 2016-12-04 16:03:01 +01:00
Ari Aviran 46f217f255 amazon - Snapshot permissions correctly applied
Fixes #3344
2016-12-04 16:03:01 +01:00
Rickard von Essen d7a7d8c852
It's not possible to share encrypted AMI's 2016-12-04 15:52:23 +01:00
poida 8b13b75097 Updated documentation and error messages
The docs for kms_key_id needed to be next to encrypt_boot.

Shortened some of the kms_key_id error messages.
2016-12-03 07:49:54 +11:00
poida 7ea17e1630 Allow custom encrypted AMIs to be shared
When using a custom KMS key to encrypt the boot volume of an AMI, packer should allow it to be shared with other users.
2016-12-03 07:49:54 +11:00
poida 3eed6fd508 Added KMS CMK support to EBS builder
Added the 'kms_key_id' parameter. This supports supplying a customer master key (CMK) when encrypting the EBS volume.

The parameter is optional and only takes effect when 'encrypted' is true. When 'encrypted' is true but 'kms_key_id' is missing the 'aws/ebs' key will be used.
2016-12-03 07:49:34 +11:00
Rickard von Essen 8d2ceea5f1 builder/amazon: crash on tagging snapshot when snapshot_tags is unset
Closes #4238
2016-12-01 20:43:15 +01:00
Rickard von Essen bcc7f455b3 amazon: Fix source_ami_filter ignores owners 2016-12-01 14:29:31 +01:00
Arthur Burkart 576f6f1b39 Fixes acceptance test
The original acceptance test required a manual check. This one does
not.
2016-11-30 22:58:19 -05:00
Matthew Hooker 832de2104b
Revert "Merge pull request #4230 from mitchellh/revert-4223-closes_3320"
This reverts commit bda89b0c42, reversing
changes made to f9f9d82419.
2016-11-30 13:28:34 -08:00
Matthew Hooker f5c3c25d2b Revert "Adds `force_delete_snapshot` flag" 2016-11-30 13:10:22 -08:00
Matthew Hooker f9f9d82419 Merge pull request #4223 from artburkart/closes_3320
Adds `force_delete_snapshot` flag
2016-11-30 12:53:34 -08:00
Arthur Burkart 5b59f56cdb Adds `force_delete_snapshot` flag
This PR adds the ability for Packer to clean up snapshots in addition to
deregistering AMIs at build time.

To test this, I used the following `test.json` file:

```json
{
  "builders": [
    {
      "type": "amazon-ebs",
      "region": "us-east-1",
      "source_ami": "ami-fce3c696",
      "ami_name": "packer-test",
      "instance_type": "m3.medium",
      "ssh_username": "ubuntu",
      "vpc_id": "some-vpc-id",
      "subnet_id": "some-subnet-routed-through-igw",
      "security_group_id": "some-security-group-with-port-22-access",
      "force_delete_snapshot": true
    }
  ],
  "provisioners": [
    {
      "type": "shell-local",
      "command": "echo 'hello'"
    }
  ]
}

```

I appreciate any constructive feedbakc that can be given. Cheers!
2016-11-29 23:39:36 -05:00
Rickard von Essen 99ee610afa
builder/amazon: Fix SSH Agent
Closes #4220
2016-11-29 22:33:53 +01:00
Matthew Hooker aedf4ca465 Merge pull request #4141 from mitchellh/ebsvoluemartifact
add ebsvolume artifact
2016-11-28 15:50:03 -08:00
Matthew Hooker 50267572a4
add ebsvolume artifact 2016-11-28 15:26:09 -08:00
Rickard von Essen a09f20f996 Merge pull request #4015 from artburkart:closes_3908
Closes #3908: Adds snapshot tag overrides
2016-11-26 17:54:00 +01:00
Arthur Burkart 0c7e73b1cf
Implements Snapshot tagging
While implementing my acceptance test, I stumbled upon a comment stating
that snapshot deletion should also be implemented, so I snuck that in. I
can't help but wonder if there is some generic logic that is implemented
a few times throughout the packer code base that could maybe better serve
us if it were abstracted to the common package.
2016-11-26 17:48:26 +01:00
Rickard von Essen 17eda06d61
Fixed formatting 2016-11-24 21:12:20 +01:00