Commit Graph

203 Commits

Author SHA1 Message Date
renat-sabitov-sirca d046e1cc5b Fixing transient AWS errors during EBS builds
Relates to #1539

AWS is eventually consistent and instance can be not visibile for
some time after creation. This fix eliminates describe-instances
call before going to the proper wait loop
2015-03-11 10:34:21 +11:00
Ash Caire 361e859556 Add EBS snapshot tags 2015-03-01 10:27:30 +11:00
Emil Hessman 05c2206684 builder/amazon/common: fix incorrect printf verb type in amiRegionCopy
Fixes the following vet reports:

builder/amazon/common/step_ami_region_copy.go:81: arg target for printf verb %s of wrong type: github.com/mitchellh/goamz/aws.Region
builder/amazon/common/step_ami_region_copy.go:93: arg target for printf verb %s of wrong type: github.com/mitchellh/goamz/aws.Region
2015-02-25 05:29:53 +01:00
Lesko, Matthew (NIH/NLM/NCBI) [C] 43f08b2664 go fmt all the things 2015-01-13 22:58:41 -05:00
Lesko, Matthew (NIH/NLM/NCBI) [C] 62e054c404 simplify output 2015-01-13 21:40:15 -05:00
Lesko, Matthew (NIH/NLM/NCBI) [C] 9d097f9d4e Permit Temp keys and named SSH keypairs
These changes permit the use of pre-created SSH keypairs with AWS. If
so, the configuration for the builder needs to include an
ssh_keypair_name option and a ssh_private_key_file.

If ssh_private_key_file is *not* defined, it'll go through the
rigamarole of creating a temporary keypair. The ssh_keypair_name option
by itself won't make that change, because it doesn't make sense to
specify a keypair but not tell packer where the private key is, but it
does happen that you could have a private key and the public-key is
"baked in", and not part of your EC2 account.
2015-01-13 16:27:33 -05:00
Lesko, Matthew (NIH/NLM/NCBI) [C] 8c87b1cc00 First attempt for re-using a named EC2 keypair
Adds a 'ssh_keypair_name' option to the configuration
for AWS, along with some munging to create the
temporarily keypair if one isn't specific.

NOT YET WORKING.

From a 'make' I get the following errors:

builder/amazon/ebs/builder.go:94: b.config.SSHKeyPairName undefined
(type config has no field or method SSHKeyPairName)

builder/amazon/instance/builder.go:199: b.config.SSHKeyPairName
undefined (type Config has no field or method SSHKeyPairName)
2015-01-13 13:12:04 -05:00
Mitchell Hashimoto 2dfc5d3e71 builder/amazon: inject special metadata for atlas artifacts 2014-12-09 16:14:04 -08:00
Armon Dadgar 20d040dcba Merge pull request #1723 from irgeek/fix-1637
Use an index loop as range loops over copies, not references
2014-12-08 11:43:30 -08:00
James Sinclair 02ebef9031 Use an index loop as range loops over copies, not references
Fixes #1637
2014-12-05 17:27:00 +11:00
Greg Cockburn dbaf865e59 change ordering of ssh connection IP for amazon. fixes #1559 2014-12-01 10:44:52 +11:00
Mitchell Hashimoto 0db6cd3533 Merge pull request #1330 from qur/qemu-vagrant
Qemu vagrant
2014-10-28 08:42:17 -07:00
Mitchell Hashimoto e422a45449 fmt 2014-10-28 08:35:21 -07:00
Mitchell Hashimoto 716d4719dc Merge pull request #1622 from delitescere/GH-1533-aws-timeout
builder/amazon: Extend timeout and allow user override [GH-1533]
2014-10-28 08:15:18 -07:00
Mitchell Hashimoto 4406c20af1 builder/amazon: prefer token in config [GH-1544] 2014-10-27 17:29:40 -07:00
Josh Graham 5a2c4fe8a0 builder/amazon: Extend timeout and allow user override [GH-1533]
- help resolve https://github.com/mitchellh/packer/issues/1533
  (although timeouts are always ultimately useless in a distributed
  system!)
- makes packer no more idempotent or janitorial than before
- derive maximum number of ticks from timeout
- default timeout to 300s (5m) to cater for global AMI copying
- allow user to override with AWS_TIMEOUT_SECONDS environment variable
2014-10-27 10:38:44 +11:00
Mitchell Hashimoto 010cdb2057 amazon/common: style 2014-10-14 15:39:13 -07:00
Matt Page 6fb2586fb2 fix: Ignore transient network errors when fetching AWS state.
Given that state fetching is an idempotent operation, a transient
network error should not cause the entire build to fail. Instead,
retry when such errors are encountered.
2014-10-13 10:02:46 -07:00
Julian Phillips 90a57c411f Expand Artifact API to expose build state
In order that something consuming an artifact can have access to extra
builder specific data add the State method which allows the caller to
ask for arbitary values by name.
2014-09-22 11:15:47 +01:00
Mitchell Hashimoto db90c16118 builder/amazon: support auto spot price discovery [GH-1465] 2014-09-06 10:44:12 -07:00
Mitchell Hashimoto 7d1db44ca4 builder/amazon: clean up UI output for spot instances a bit 2014-09-05 16:58:17 -07:00
Mitchell Hashimoto 2e5f3da5c1 builder/amazon: fix {{uuid}} default not being replaced 2014-09-05 16:38:05 -07:00
Mitchell Hashimoto 3a69b8c1b8 Merge branch 'add-spot-instance-support' of github.com:henrysher/packer into henrysher-add-spot-instance-support
Conflicts:
	builder/amazon/common/run_config.go
	builder/amazon/ebs/builder.go
	builder/amazon/instance/builder.go
2014-09-05 16:30:22 -07:00
Mitchell Hashimoto 5db91c84bf builder/amazon: string fields on device mappings can use variables 2014-09-05 12:38:19 -07:00
Mitchell Hashimoto 0776d9de34 builder/amazon: ssh_private_ip [GH-1229] 2014-09-04 21:48:14 -07:00
Mitchell Hashimoto bac54a6645 builder/amazon/common: token [GH-1236] 2014-09-04 21:19:20 -07:00
Mitchell Hashimoto 69cd01bbe2 builder/amazon/common: wait for instance ready before tagging [GH-1367] 2014-09-04 18:43:35 -07:00
Mitchell Hashimoto 77bd024079 builder/*: fix flaky tests, get tests passing 2014-09-04 18:11:05 -07:00
Mitchell Hashimoto dc74c2bbdd builder/amazon: tests 2014-09-03 21:27:43 -07:00
Mitchell Hashimoto 2a9cb50b17 builder/amazon: fix broken build 2014-09-02 10:17:52 -07:00
Mitchell Hashimoto 825864a9ea Merge branch 'additional-user-variables' of github.com:nBerg/packer into nBerg-additional-user-variables
Conflicts:
	builder/amazon/common/run_config.go
2014-09-02 09:57:52 -07:00
Mitchell Hashimoto 7439baf75e Merge pull request #1343 from fnoeding/templating
Added support to use templates for more fields in null-builder and amazon-builder
2014-07-19 09:49:49 -07:00
Mitchell Hashimoto 8250755a23 Merge pull request #1228 from jmassara/enhanced_networking
builder/amazon: support for enhanced networking
2014-07-19 09:48:24 -07:00
Florian Noeding e932ec6978 amazon builders now handle templating of user_data and user_data_file 2014-07-17 17:45:25 +02:00
Nina Berg bd1a0d07fb Added some variables to amazon-ebs builder and chef-client provisioner 2014-07-08 13:15:17 -04:00
Ian Delahorne 2d1e1cc83e Sort AMI names in Artifact.String - fixes random test failures
With go tip, the output from Artifact.String will sometimes be output in a
different order than the tests. Sort the AMI strings before outputting.
See https://travis-ci.org/mitchellh/packer/jobs/28748467 for an example of this
failure.
2014-06-30 09:07:36 -05:00
James Massara be27ecc64b Add option to enable enhanced networking (SriovNetSupport) for images. 2014-06-04 14:58:11 -07:00
Henry Huang 3980c7dcfd Save the spot request before waiting for its active state 2014-05-26 23:01:49 +08:00
Henry Huang 1e1fa3de26 Add the cleanup for existing spot request 2014-05-26 23:01:49 +08:00
Henry Huang 5d410bddc9 When unexpected state found in waiting, notify the caller func with a correct error message 2014-05-26 23:01:49 +08:00
Henry Huang 3a74c469e5 Add "spot_price" param into template processing 2014-05-26 23:01:49 +08:00
Henry Huang c33e7cc867 Add the support of launching spot instances in "amazon-ebs" AMI 2014-05-26 23:01:49 +08:00
Greg Burek 3a45712780 Adds support for encrypted EBS volumes 2014-05-22 11:36:22 -07:00
Mitchell Hashimoto 0417ae3059 builder/amazon: alphabetize some things 2014-04-30 15:43:11 -07:00
Mitchell Hashimoto e84e5e4f2c Merge branch 'update-ssh-package' of github.com:higebu/packer into higebu-update-ssh-package
Conflicts:
	builder/amazon/common/ssh.go
	builder/digitalocean/ssh.go
	builder/googlecompute/ssh.go
	builder/openstack/ssh.go
	communicator/ssh/communicator_test.go
	communicator/ssh/keychain.go
	communicator/ssh/keychain_test.go
2014-04-26 11:12:06 -07:00
Ross Smith II e38ff2f84e Merge pull request #1021 from laggyluke/master
builder/amazon: configurable virtualization type
2014-04-21 18:08:32 -07:00
Ross Smith II ef1898083a Merge pull request #971 from fnoeding/amazon-sshkey
optionally use existing ssh key for amazon builders
2014-04-21 08:10:05 -07:00
higebu f087ce16dc Fix the build problem by updating ssh package 2014-04-15 10:17:26 +09:00
Ross Smith II 27491f93f8 use old ssh code until higebu's branch is ready, see #1019 2014-04-11 08:23:12 -07:00
George Miroshnykov fc6e8c0830 builder/amazon: configurable virtualization type 2014-04-10 15:16:31 +03:00
Florian Noeding 6371b70609 optionally use existing ssh key for amazon builders 2014-03-24 12:47:00 +01:00
Nathan Sullivan e44fb1bd2a increase SSH timeouts for Amazon builders, they can take a while to spin up at times 2014-03-04 11:31:14 +10:00
Mitchell Hashimoto 5c7e7daac9 comments 2013-12-28 10:04:15 -07:00
Mitchell Hashimoto 8204944c0e builder/amazon: handle cases when amazon SG isn't available [GH-494] 2013-12-28 10:03:22 -07:00
Mitchell Hashimoto 8aabe01bad builder/amazon/common: run_tags to apply to launch [GH-722] 2013-12-27 20:54:35 -07:00
Mitchell Hashimoto 8e4ce2c591 builder/amazon: alphabetize 2013-12-21 14:22:05 -08:00
Mitchell Hashimoto b95ad0c232 builder/amazon/all: launched instances have a name [GH-642] 2013-12-16 18:11:23 -08:00
Mitchell Hashimoto 1234e61cda builder/amazon/all: get rid of unnecessary field 2013-12-12 21:38:48 -08:00
Mitchell Hashimoto 4677f38882 builder/amazon: parallelize AMI region copies [GH-495] 2013-12-12 12:24:32 -08:00
Nathan Sullivan e711255d95 fix some debugging for PublicIpAddress 2013-11-26 15:03:45 +10:00
Nathan Sullivan 4809186c12 remove excess debugging 2013-11-26 15:02:43 +10:00
Nathan Sullivan 6270d759cd revert whitespace changes - not necessary anymore 2013-11-26 15:01:57 +10:00
Nathan Sullivan 13f55bdec6 working AssociatePublicIpAddress support 2013-11-26 14:45:06 +10:00
Nathan Sullivan 5cbff00afa goamz aspects of AssociatePublicIpAddress working now 2013-11-26 14:14:43 +10:00
Nathan Sullivan 49a131951a reverting testing stuff 2013-11-26 13:46:32 +10:00
Nathan Sullivan 0cfb7564d5 lets try a string instead of a bool for AssociatePublicIpAddress 2013-11-26 13:44:39 +10:00
Nathan Sullivan 5df7bc0acf oops bugfix for work on https://github.com/mitchellh/packer/issues/578 2013-11-26 12:05:37 +10:00
Nathan Sullivan 31bf1f342c https://github.com/mitchellh/packer/issues/578 2013-11-26 11:32:08 +10:00
Mitchell Hashimoto c8e911cdc3 Merge branch 'security-groups' of https://github.com/whiteley/packer into whiteley-security-groups
Conflicts:
	builder/amazon/common/run_config.go
2013-11-05 14:34:12 -08:00
Mitchell Hashimoto b95a56899f builder/amazon: rename availzone to availability zone 2013-10-23 20:44:11 -07:00
Matthew Hooker 1aa551a49c builder/amazon/common: Add AvailZone to StepRunSourceInstance struct
[GH-536]
2013-10-21 08:08:00 -07:00
Matthew Hooker 60428cef60 builder/amazon/ebs: Add config for target AZ.
Fixes [GH-536]
2013-10-21 08:01:34 -07:00
Mitchell Hashimoto 24ad445e2b builder/amazon,builder/openstack: remove more cgl libs 2013-10-16 16:29:53 -10:00
Mitchell Hashimoto 79f7936d66 Remove dependency on identifier package, use time ordered UUID [GH-541] 2013-10-16 16:21:14 -10:00
Patrick Lucas e17984face Fix race condition after launching EC2 instance
It is possible for an instance to not immediately exist after it is
launched. Previously, InstanceStateRefreshFunc would crash if this race
condition were realized.

This change takes the exact same approach of the function above,
AMIStateRefreshFunc, treating 'InvalidInstanceID.NotFound' as if there
were an empty result.
2013-10-11 14:25:18 -07:00
Matt Whiteley 09f4011234 builder/amazon: instances can be launched with a list of security groups 2013-10-04 10:42:45 -07:00
Mitchell Hashimoto cf10fff7fa builder/amazon/common: save access/secret key from env [GH-434] 2013-09-18 13:59:23 -07:00
Mitchell Hashimoto 61320b20a9 builder/amazon/common: error if WaitForState can't find resource
repeatably
2013-09-12 20:37:14 -07:00
Mitchell Hashimoto 1bf91e2845 builder/amazon/common: rename instance.go to state.go, makes more sense 2013-09-12 20:33:58 -07:00
Mitchell Hashimoto 27608a7b0f builder/amazon/*: use WaitForState for AMIs 2013-09-12 20:33:32 -07:00
Mark Peek f941718c3e builder/amazon: add clean_ami_name template function
Add a clean_ami_name template function which will translate illegal
characters in an AMI name to '-'. Example usage would be:
    "ami_name": "Ubuntu 12.04 {{isotime | clean_ami_name}}"
2013-09-07 18:42:50 -07:00
Mitchell Hashimoto 48a53446bf builder/amazon/common: don't need squash here 2013-09-06 11:48:38 -07:00
Mitchell Hashimoto e9d6e83436 builder/amazon/common: support NoDevice [GH-396] 2013-09-06 11:44:57 -07:00
Mitchell Hashimoto 0e2511767e builder/amazon/common: if instance query returns none, ignore 2013-09-05 17:19:23 -07:00
Mitchell Hashimoto f2069c1cd6 Merge pull request #388 from jmassara/ami_region_copy
builder/amazon/all: AMI region copy fixes
2013-09-05 17:14:16 -07:00
Mitchell Hashimoto ed7e0847fd builder/amazon/all: TemporaryKeyPairName
/cc @whostolebenfrog - I actually simplified things quite a bit. I added
a "uuid" global template function so it just uses that now. I renamed it
so that it is clear it is a temporary keypair.
2013-09-05 12:23:08 -07:00
Ben Griffiths f953874448 Allow customization of SSH Key pair pattern
Defined in a template using ssh_keypair_pattern. Defaults to "packer %s"
2013-09-05 13:28:31 +01:00
James Massara 985ce790d0 Also deregister AMI if it was copied to other regions 2013-09-04 17:48:00 -07:00
James Massara 5bca569fa4 builder/amazon: Re-ordered steps for AMI region copying so tags and
launch permissions are also applied to copied AMIs
2013-09-04 16:06:06 -07:00
Mitchell Hashimoto b04cff5a9e builder/amazon/ebs: new multistep API 2013-08-31 13:00:43 -07:00
Mitchell Hashimoto 80ed7eddf4 builder/amazon/chroot: new multistep API 2013-08-31 12:58:55 -07:00
Mitchell Hashimoto 8019cd1839 builder/amazon: don't chmod on windows 2013-08-30 15:04:23 -07:00
Mitchell Hashimoto 4bb320d86f builder/amazon: chmod debug key so it is ssh-ready 2013-08-30 15:03:29 -07:00
Mitchell Hashimoto 9186a7f214 builder/amazon: output DNS name if debug mode 2013-08-30 14:55:56 -07:00
Mitchell Hashimoto 57f185451a builder/amazon: drop private key if debug mode [GH-373] 2013-08-30 14:48:50 -07:00
Mitchell Hashimoto 42beac4516 builder/amazon/common: modify output for AMI copy 2013-08-22 15:32:24 -07:00
Mitchell Hashimoto d03c852ac2 builder/amazon/common: move tags into ami_config 2013-08-22 15:09:21 -07:00
Mitchell Hashimoto ef142ce886 builder/amazon: region copy must go before modify attributes
/cc @jmassara - This has to go before the modify attributes so that
the attributes are properly modified on all resulting AMIs.
2013-08-22 15:03:30 -07:00
Mitchell Hashimoto a4f674f8ed builder/amazon/common: remove duplicates from ami_region
/cc @jmassara
2013-08-22 14:58:21 -07:00
James Massara c9de4c9644 Make sure ami_regions are valid 2013-08-21 18:44:14 -07:00