Commit graph

99 commits

Author SHA1 Message Date
Will Thames
7f11c3d7cc Improved handling of already terminated instances
It is possible to create an instance, terminate the instance and then
attempt to recreate the instance with the same parameters. In this case
`ec2.run_instances` returns a reservation list containing the instance ids
but the logic gets stuck waiting for the instance to exist in the call to
`ec2.get_all_instances`, even if wait is no).
2014-08-04 11:58:57 +10:00
Lorin Hochstein
6597d005ae ec2 module: document valid states 2014-07-31 15:29:52 -06:00
Damjan Georgievski
2b5c73054d return the most up-to-date info about an instance when starting/stopping it
otherwise the module will return the info about the instance that it got prior to the action taken
So if you had a task to start an instance:

      ec2:
         instance_ids: ...
         state: running
      register: ec2_info

the registered data would have empty public_dns_name, public_ip, private_dns_name, private_ip
2014-07-30 15:15:49 +02:00
James Laska
9561cbcc8d Correct BotoServerError typo in ec2 module
Resolves a traceback due to an undefined 'BotoSeverError' exception.
2014-07-26 12:11:25 -04:00
Michael Peters
0d7a99d114 Fixing issue #7906
Catch any InvalidInstanceID.NotFound errors coming from the boto library
when trying to find the newly created instance. When this happens We should
just wait and try again.
2014-06-23 16:58:07 -04:00
James Cammarata
649cd5838c Conditionally try to get ebs_optimized parameter from instance 2014-06-20 14:26:21 -05:00
willthames
e45858ba7f Delay instance tagging to later in the instance creation process
Tagging recently created instances can result in
InvalidInstanceID.NotFound errors.

By delaying the tagging until the last part of instance creation,
we should be typically more fortunate (avoiding all such race
conditions might need more work)
2014-06-19 11:21:28 +10:00
Atlas Health
dfc21ced6a Stopped instances can also be terminated 2014-05-21 07:18:30 -07:00
James Cammarata
9b3ac5a253 Fixing a doc mistake in the ec2 module from 4269bb6 2014-05-09 00:21:35 -05:00
James Cammarata
052f6e6d1d Merge branch 'ec2-start-stop' of https://github.com/sayap/ansible into sayap-ec2-start-stop 2014-05-09 00:04:34 -05:00
Yap Sok Ann
d2329baa93 ec2: Fix bug with running/stopped state and wait=yes.
If `get_all_instances` returns multiple reservations, the old wait loop only
dealt with the first reservation. Thus, the wait loop may end before all
instances get to be running/stopped.

Also clean up the code a little.
2014-05-09 11:35:48 +08:00
evanccopengeo
ab8f9544a6 cleaning up the code a bit more 2014-04-15 18:16:34 -04:00
evanccopengeo
2ab68cba0c fixing bug where if both private_ip and assign_public_p are set ansible fails out 2014-04-15 17:55:26 -04:00
willthames
d1a7fca7f3 Moved AWS modules over to common module fragments
Created common module doc fragment, and applied to all
modules that use ec2_connect or connect_to_aws as
they definitely share the common doc fragments
2014-04-09 21:19:12 +10:00
Michael DeHaan
17bf7d7a74 Merge pull request #6850 from atlashealth/ec2_set_ebs_optimized
ec2: added ability to set EBS optimized instances
2014-04-07 15:57:34 -04:00
James Tanner
08e75935db Fixes #6780 Update version_added for source_dest_check in ec2 module 2014-04-07 12:44:34 -04:00
Atlas Health
b3f74ac03e moved ebs_optimized param out of main request hash 2014-04-06 15:35:22 -07:00
Atlas Health
3e86baf6fa ec2: added ability to set EBS optimized instances
added version
2014-04-03 12:38:43 -07:00
Ian Pointer
5a5e16776f Adding type int for count (in line with other cloud modules) 2014-03-23 13:51:54 -04:00
jjshoe
2a80987436 assign_public_ip was actually added in 1.5
Checked 1.4.5 and this option doesn't exist. Will check/update/pull docs next.
2014-03-20 09:21:10 -05:00
joehack3r
e4842b5df2 Update example to include delete on termination 2014-03-18 15:49:27 -05:00
James Cammarata
d319e8be30 Merge branch 'josephtate-devel' into devel 2014-03-11 11:00:40 -05:00
James Cammarata
0ddc094b8f Merge branch 'drcapulet/ec2-sourcedestcheck' of https://github.com/drcapulet/ansible into drcapulet-drcapulet/ec2-sourcedestcheck 2014-03-11 10:56:44 -05:00
James Cammarata
789a2915d1 Updating profile/security_token version_added labels 2014-03-11 10:48:16 -05:00
James Cammarata
d0495f5528 Merge branch 'ec2_security_token' of https://github.com/willthames/ansible into willthames-ec2_security_token 2014-03-11 10:45:38 -05:00
willthames
10019c13b6 Make it easier to determine whether instance creation or tagging fails 2014-03-06 16:30:39 +10:00
Will Thames
7d0e161662 Work to allow security tokens and profiles to work with Ansible
Allow security tokens and profiles to be used as arguments
to the 'common' ec2 modules

Mostly refactoring to provide two new methods,
`get_aws_connection_info`, which results in a dict that can be
passed through to the boto `connect_to_region` calls, and
`connect_to_aws` that can pass that dict through to the
`connect_to_region` method of the appropriate module.

Tidied up some variable names

Works around boto/boto#2100

profiles don't work with boto < 2.24, but this detects for that
and fails with an appropriate message. It is designed to work
if profile is not passed but boto < 2.24 is installed.

Modifications to allow empty aws auth variables to be passed
(this is useful if wanting to have the keys as an optional
parameter in ec2 calls - if set, use this value, if not set,
use boto config or env variables)

Reworked validate_certs improvements to work with refactoring

Added documentation for profile and security_token to affected modules
2014-03-06 16:28:30 +10:00
Michael DeHaan
1f0991c88c Since the ec2 parameter is named 'key_name' and 'keypair' is just an alias, use
the primary name of the parameter in the examples.
2014-02-28 13:52:47 -05:00
James Cammarata
94506632d8 Merge pull request #5689 from pgehres/devel
Adding the region to the output of the ec2 module's creation of a new in...
2014-02-26 14:45:12 -06:00
James Cammarata
2f31dadf33 Merge branch 'devel' of https://github.com/josephtate/ansible into josephtate-devel
Conflicts:
	library/cloud/ec2
2014-02-26 13:57:07 -06:00
James Cammarata
6e47729d5a Merge branch 'ec2-params' of https://github.com/scottanderson42/ansible into scottanderson42-ec2-params
Conflicts:
	lib/ansible/module_utils/ec2.py
	library/cloud/ec2
2014-02-26 09:37:26 -06:00
James Laska
306255d808 Resolves issue#6067 by allowing exact_count=0 2014-02-19 16:29:15 -05:00
Peter Gehres
85d40f0837 Adding the region to the output of the ec2 module's creation of a new instance. 2014-02-13 22:40:49 -08:00
James Cammarata
24759f566c Adding 'validate_certs' option to EC2 modules
When disabled, the boto connection will be instantiated without validating
the SSL certificate from the target endpoint. This allows the modules to connect
to Eucalyptus instances running with self-signed certs without errors.

Fixes #3978
2014-02-13 12:32:49 -06:00
Will Thames
cc35e80a54 ec2 module fails when state is not absent
tagged_instances is initialised in a scope not visible
when state is not absent.
2014-02-13 19:51:33 +10:00
Michael DeHaan
7cf513d4ed Merge pull request #5883 from amirhhz/improve-ec2-module-docs
Improve ec2 module docs
2014-02-09 14:07:35 -05:00
Scott Anderson
26e9c1ad61 Change standard AWS access and secret key parameter names to aws_access_key and aws_secret_key. Fixes an authentication problem with the rds module and standardizes the naming convention on something more encompassing than ec2_*_key. 2014-02-08 18:35:26 -05:00
James Tanner
7268d06bfe Make ec2 exact_count and count mutually exclusive 2014-02-07 13:42:43 -05:00
James Tanner
e45b0c7dce Return a tagged_instances list for hosts that matched the count_tag 2014-02-07 13:07:34 -05:00
James Tanner
0f1d695628 Make an example that sets the instance Names 2014-02-07 10:49:13 -05:00
James Tanner
f5539f8545 Update docstrings 2014-02-07 10:34:45 -05:00
James Tanner
c19936fba1 Add exact_count and count_tag to the ec2 module. 2014-02-06 23:25:57 -05:00
Will Thames
f92e4605ab Create a common EC2 connection argument spec for EC2 modules
Refactor the currently well-factored ec2 modules (i.e. those that already use ec2_connect) to
have a common argument spec. The idea is that new modules can use this spec without duplication
of code, and that new functionality can be added to the ec2 connection code (e.g. security
token argument)
2014-02-06 15:27:41 +10:00
Amir H. Hajizamani
100e0e2734 Neaten up example YAML with 2-space indenting 2014-02-05 15:14:44 +00:00
Amir H. Hajizamani
d31d553571 Example should put instance_ids list in quotes for avoid YAML error 2014-02-05 15:12:41 +00:00
Timur Batyrshin
9ad52632c5 reword "except Error as e:" into "except Error, e:" to be compatible with Python 2.5 (#5852) 2014-02-03 13:00:40 -06:00
James Tanner
eb71120435 Fix start/stop example in ec2 2014-01-27 17:48:42 -05:00
James Tanner
eb4c01caf6 Merge branch 'feat/ec2_start_stop' of git://github.com/Geryon/ansible into Geryon-feat/ec2_start_stop 2014-01-27 17:39:24 -05:00
willthames
205dddfd4c Added the ability to add volumes to instances at creation time
This allows a volume to be cloned from a snapshot, a brand new
volume to be created, or an ephemeral volumes to be associated
at time of instance creation.

This avoids any race conditions associated with creating extra volumes
after instance creation (e.g. writes happening before the volume is
mounted).

In addition, this allows the root volume to be edited
2014-01-25 12:38:41 +10:00
willthames
b884451cb7 keypair is not absolutely required when creating ec2 instances 2014-01-14 09:12:01 +10:00