Commit Graph

52 Commits (c29d1e316210f16effeec51300fa78e9bfd209a8)

Author SHA1 Message Date
Matt Clay 95789f3949 PEP 8 whitespace cleanup. (#20783)
* PEP 8 E271 whitespace cleanup.
* PEP 8 W293 whitespace cleanup.
* Fix whitespace issue from recent PR.
2017-01-27 15:45:23 -08:00
Andrea Tartaglia ef391a11ec Removed dict.iteritems() in modules. (#18859)
This is for py3 compatibility, addressed in #18506
2016-12-12 15:16:23 -08:00
Matt Clay c709b22e5c Fix differences with devel. 2016-12-08 11:35:21 -05:00
James Cammarata 8afa090417 Resolving differences in core modules post-merge 2016-12-08 11:25:36 -05:00
Toshio Kuratomi 7319104552 Refreshed metadata for core modules 2016-12-08 11:25:35 -05:00
Ben Tomasik 0de338824a Set suspend_processes version_added to 2.3 2016-12-08 11:25:29 -05:00
Ben Tomasik f2af5b8664 Add support for suspending scaling processes Ref: http://docs.aws.amazon.com/autoscaling/latest/userguide/as-suspend-resume-processes.html 2016-12-08 11:25:29 -05:00
einarc 22df46d168 Avoid `TypeError` when desired_capacity is not provided to `ec2_asg` module (#5501)
Moving the "check if min_size/max_size/desired_capacity..." code to execute BEFORE the desired_capacity code is used in the following operation:
num_new_inst_needed = desired_capacity - len(new_instances)

Otherwise the following exception occurs when desired_capacity is not specified and you're replacing instances:
    num_new_inst_needed = desired_capacity - len(new_instances)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'

Stack Trace:

An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
  File "/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg", line 3044, in <module>
    main()
  File "/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg", line 3038, in main
    replace_changed, asg_properties=replace(connection, module)
  File "/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg", line 2778, in replace
    num_new_inst_needed = desired_capacity - len(new_instances)
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'

fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_name": "ec2_asg"}, "module_stderr": "Traceback (most recent call last):\n  File \"/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg\", line 3044, in <module>\n    main()\n  File \"/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg\", line 3038, in main\n    replace_changed, asg_properties=replace(connection, module)\n  File \"/var/lib/awx/.ansible/tmp/ansible-tmp-1478229985.74-62334493713074/ec2_asg\", line 2778, in replace\n    num_new_inst_needed = desired_capacity - len(new_instances)\nTypeError: unsupported operand type(s) for -: 'NoneType' and 'int'\n", "module_stdout": "", "msg": "MODULE FAILURE", "parsed": false}
	to retry, use: --limit @
2016-12-08 11:25:28 -05:00
Ryan S. Brown 5dd9372ff8 Fail gracefully in `ec2_asg` module when there are no matching launch configurations 2016-12-08 11:25:27 -05:00
Eduard Iskandarov 8ec5757789 Fixes: #4516 add placement_group argument for ec2_asg module 2016-12-08 11:25:26 -05:00
John R Barker 25b6492d37 Bulk spelling improvement to modules-core (#5225)
* Correct spelling mistakes

* Correct more spelling issues

* merge conflict

* Revert typo in parms
2016-12-08 11:25:20 -05:00
Pradeep b405931e8b Typo Fix 2016-12-08 11:25:18 -05:00
Denis Tiago c0c5b9a50a fix health instances count when we have more than one lb in asg 2016-12-08 11:25:13 -05:00
Ryan S. Brown 10e0ec84fb Fix version_added for ec2_asg feature 2016-12-08 11:25:09 -05:00
Shawn Siefkas cff256b057 Adding SNS notification support to ec2_asg module
Addresses #1844
2016-12-08 11:25:07 -05:00
Ryan Brown 6dff21bd42 Stop sorting of termination_policies in `ec2_asg` (#4883)
The AWS API requires that any termination policy list that includes
`Default` must end with Default. The attribute sorting caused any list
of attributes to be lexically sorted, so a list like
`["OldestLaunchConfiguration", "Default"]` would be changed to
`["Default", "OldestLaunchConfiguration"]` because default is earlier
alphabetically. This caused calls to fail with BotoServerError per #4069

This commit also adds proper tracebacks to all botoservererror fail_json
calls.

Closes #4069
2016-12-08 11:25:06 -05:00
Shawn Siefkas 0b95051039 Fix #2526 (#2527)
Fail on unhandled exception in ec2_asg rather than raise
2016-12-08 11:24:47 -05:00
Jasmine Hegman f5c3f4dd6b Update docs to indicate ec2_asg state defaults to present (#4046)
* Update docs to indicate ec2_asg state defaults to present

Hopefully fixes Issue #4016

* Forgot to flip required to false
2016-12-08 11:24:46 -05:00
@ 3fa745eef9 Fixing error exception handling for python3. Does not need to be compa… (#3840)
* Fixing error exception handling for python. Does not need to be compatible with Python2.4 b/c boto is Python 2.6 and above.

* Fixing error exception handling for python. Does not need to be compatible with Python2.4 b/c boto is Python 2.6 and above.

* Fixing compile time errors IRT error exception handling for Python 3.5.
This does not need to be compatible with Python2.4 b/c Boto is Python 2.6 and above.
2016-12-08 11:24:34 -05:00
Toshio Kuratomi 6cb1606005 Don't raise or catch StandardError in amazon modules 2016-12-08 11:23:50 -05:00
Frank van Tol 5872e0a493 Update ec2_asg.py 2016-12-08 11:23:40 -05:00
evanccnyc@users.noreply.github.com ff81aa11c0 Fixing ec2_asg termination_policy
If this isnt set, it wont launch the instances because it needs to default to "Default" despite what boto docs say.
2016-12-08 11:23:36 -05:00
Evan Carter 5cd3217fc8 fixing termination policies for ec2_asg 2016-12-08 11:23:35 -05:00
Brian Coca 281a92bbdd corrected whitepace 2016-12-08 11:23:34 -05:00
Toshio Kuratomi b952dff2c1 correct documentation formatting 2016-12-08 11:23:34 -05:00
Bruno Galindro da Costa 6f36629d13 Added termination_policies option 2016-12-08 11:23:33 -05:00
Rowan Wookey 7d85477acb Fixes #542 error when ec2_asg arguments aren't specified
If max_size/min_size/desired_capacity are omitted
when updating an autoscaling group use the existing values
2016-12-08 11:23:28 -05:00
Brian Coca 16a4ff3462 fixed minor doc issues 2016-12-08 11:23:21 -05:00
Evan Carter d3ef622627 Adding default cooldown to AWS ASG 2016-12-08 11:23:20 -05:00
Mike Putnam 0e6e3e097e Upstream docs show launch_config_name as required.
http://docs.aws.amazon.com/AutoScaling/latest/APIReference/API_AutoScalingGroup.html

Fixes #11209

Ansible behavior is correct, this commit just updates the docs to
reflect that correctness.
2016-12-08 11:23:16 -05:00
Greg DeKoenigsberg 18ca7aee07 Updating cloud modules with proper github author information 2016-12-08 11:23:07 -05:00
James Martin 38d0f31cac Streamlined rolling udpate algorithm. Still need to account for partials, and not waiting for instances if we're mass terminating them. 2016-12-08 11:23:04 -05:00
steenzout 67f769d9a6 issue #994: use HAS_BOTO to determine if import was successful: - removed import of sys module. - HAS_BOTO constant to check if import was successful. - trigger a failure when import fails. - removed unnecessary imports. 2016-12-08 11:22:53 -05:00
James Martin 57cf6e8bb4 Re-wording of feature. 2016-12-08 11:22:50 -05:00
Toshio Kuratomi e5149f3b30 Fix review comments from @bcoca in #745 2016-12-08 11:22:50 -05:00
Toshio Kuratomi 5378b5db98 Minor code formatting 2016-12-08 11:22:50 -05:00
Rowan Wookey 04fcfdad2c Fixed group name not being passed to wait_for_new_instances when replacing instances
Fixed group_name not being passed to wait_for_elb
Minor code clean up
2016-12-08 11:22:49 -05:00
moe bd09ebe5b4 Woops, make collect/delete loop more efficient. 2016-12-08 11:22:49 -05:00
moe 5e1e1a4dff Fixes #744.
The following cases work for me now:
- Create new ASG with tags
- Update tags on ASG (create/change/delete)

In short, the module should now work as expected
wrt tagging. The previous code did not work at all
with latest boto for me (serialization errors) and
the logic was buggy anyway; e.g. removed tags
would never get deleted from ec2.
2016-12-08 11:22:49 -05:00
James Martin cadfd56304 check lb for instance healthy and some refactoring of rolling replace functions.
Optionally waiting for new instances to be in viable state on ASG creation/update.

Properly updating properties and terminating group.
2016-12-08 11:22:49 -05:00
Julien Syx c676adde0b Fix the issue #931
Checking that the parameter doesn't exist. The old code had a bug when the parameter was 0.
2016-12-08 11:22:49 -05:00
James Martin 07dbc333b2 vpc_zone_identifier must be a csv string when an asg is updated. 2016-12-08 11:22:37 -05:00
Will Thames 834c8d2f59 Added better region handling and enabled eu-central-1
Make use of improved connect_to_aws that throws an exception
if a region can't be connected to (e.g. eu-central-1 requires
boto 2.34 onwards)

Add eu-central-1 to the two modules that hardcode their regions
Add us-gov-west-1 to ec2_ami_search to match documentation!
This pull request makes use of the changes in ansible/ansible#9419
2016-12-08 11:22:33 -05:00
Marcus Ahle a71b1b7385 Preventing Nonetype is not iterable error when no tags are passed in for a newly created ASG 2016-12-08 11:22:31 -05:00
Ben Whaley 6609ebde27 vpc_zone_identifier should be a list as per the docs 2016-12-08 11:22:31 -05:00
Michael DeHaan 76efaa6cfb More EC2 doc tweaks 2016-12-08 11:22:29 -05:00
Robert Estelle 4e2d05b1f3 Remove incorrect executable permissions. 2016-12-08 11:22:26 -05:00
James Martin dd46f7275f asg will now be terminated if state=absent.
adds mutually exclusive options
2016-12-08 11:22:26 -05:00
James Cammarata e9fbb5f1b6 Serialize tag attributes to ASG properties in ec2_asg
Fixes #108
2016-12-08 11:22:26 -05:00
James Martin f59a1348ad Removes orphaned code. 2016-12-08 11:22:26 -05:00