Commit Graph

2816 Commits (d47e38a8f99473be4099c7d2afb26de0c739fdfa)

Author SHA1 Message Date
Ryan Brown 75507e7569 Check status of finished spot instance requests (#4990)
Per #3877, the code to wait for spot instance requests to finish would
hang for the full wait time if any spot request failed for any reason.
This commit introduces status checks for spot requests, so if the
request fails, finishes, or is cancelled the task will fail/succeed
accordingly.

One edge case introduced here is tha if a user terminates the instance
associated with the request manually it won't fail the play, under the
presumption that the user *wants* the instance terminated.
8 years ago
David Shrewsbury 7994115bbc Fix os_network's create_network() call for older shade versions (#5058)
A value for the project_id parameter to shade's create_network()
call was always being sent, even if no value for 'project' was
supplied. This was breaking folks with older versions of shade
(< 1.6).

Fixes PR https://github.com/ansible/ansible-modules-core/issues/3567
8 years ago
Chris Houseknecht c03697c81e Merge pull request #4961 from shaung/iss4504
Fix #4504 Respect timeout option when starting/stopping/restarting co…
8 years ago
Chris Houseknecht 84020b39ee Put requested devices in correct format to enable config comparison. Fixes #5000. 8 years ago
Chris Houseknecht e0aede1266 Merge pull request #4825 from adityamarella/devel
Docker module: add support for OomScoreAdj
8 years ago
Denis Tiago b2c6d39bec fix health instances count when we have more than one lb in asg 8 years ago
Ryan S. Brown 0f505378c3 Accept JSON type as the content of policy_json parameter on `iam_policy` module 8 years ago
shaung 4e9e546ef0 Fix #4504 Respect timeout option when starting/stopping/restarting containers. 8 years ago
David Shrewsbury 4bd2a409e6 Correct reuse_fips param to reuse_ips (#4939)
This new parameter was incorrectly named. Fixing to match the expected
name in the shade library.
8 years ago
Chris Houseknecht 16c9597ca7 Merge pull request #4943 from chouseknecht/devel
Improve error handling in docker_service module
8 years ago
René Moser 19be0da3b0 iam_cert: remove choice list for dup_ok type bool (#4940)
See 8879931f0c
8 years ago
Chris Houseknecht 4a560d4a15
Cast scale value to int. Fixes #4592. 8 years ago
Chris Houseknecht 5ab1a6f88d
Make project start and stop error handling more resilient, and improve message text. 8 years ago
indispeq 20e08b2cdf Fix openstack security group rule vrrp choice apostrophe error (#4750)
Fixes #4444 that was erroneously closed and thought fixed
8 years ago
Matt Clay f2c2dddc01 Remove duplicate keys from module docs. (#4920) 8 years ago
Harnek Sidhu 1df235f8ca Created digital_ocean_block_storage module (#4469) 8 years ago
Tom Melendez 922aed148d Support for GCE Managed Instance Groups. (#4541)
Create, Delete, Resize and Recreate (of instances) supported.  Autoscalers are also supported.
8 years ago
Ryan S. Brown a435dbbb2d Fix version_added for ec2_asg feature 8 years ago
Shawn Siefkas a29fb59a72 Adding SNS notification support to ec2_asg module
Addresses #1844
8 years ago
Ryan Brown 2e1e3562b9 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
8 years ago
Tom Melendez e92db1dc12 Document ability to disable external IP with 'none' setting. Closes #2562. (#4878) 8 years ago
Monty Taylor 4840d30589 Expose the reuse_fips flag on os_server (#4849)
* Expose the reuse_fips flag on os_server

* Remove useless line
8 years ago
mzizzi 48d932643b cloudformation stack events itertools.imap bugfix (#4868) 8 years ago
Aditya Marella bee0aeaf86 Docker module: add support for OomScoreAdj
* docker-py param name oom_score_adj
* translates to OomScoreAdj in the docker remote API
* setting version_added to "2.2"
8 years ago
Christopher Kotfila 2632aa630f Unpack AWS reservations while waiting to terminate (#4012)
Previously calculation of the number of instances that have been
terminated assumed all instances were in the first reservation returned
by AWS.  If this is not the case the calculated number of instances
terminated never reaches the number of instances and the module always
times out. By unpacking the instances we get an accurate number and the
module correctly exits.
8 years ago
Ryan Brown ae6992bf8c Handle EC2 instances with multiple network interfaces (#4766)
Currently instances with multiple ENI's can't be started or stopped
because sourceDestCheck is a per-interface attribute, but we use the
boto global access to it (which only works when there's a single ENI).

This patch handles multiple ENI's and applies the sourcedestcheck across
all interfaces the same way.

Fixes #3234
8 years ago
Chris Houseknecht de0122fdaf
Set default log_driver to None to prevent config comparison when a log_driver is not specified. Fixes #4600. 8 years ago
Chris Houseknecht 0d43a01462 Purge networks using network name rather than ID. Fixes 4596. 8 years ago
Chris Houseknecht cac4e68090
Default restart_retries to None rather than 0. Fixes #4534. 8 years ago
Ryan Brown 819fe45864 Fix failure when powering on/off EC2 instances by tag only. (#4767)
If you apply `wait=yes` and use `instance_tags` as your filter for
stopping/starting EC2 instances, this stack trace happens:

```
An exception occurred during task execution. The full traceback is:                                                                          │~
Traceback (most recent call last):                                                                                                           │~
  File "/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py", line 1540, in <module>                                                            │~
    main()                                                                                                                                   │~
  File "/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py", line 1514, in main                                                                │~
    (changed, instance_dict_array, new_instance_ids) = startstop_instances(module, ec2, instance_ids, state, instance_tags)                  │~
  File "/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py", line 1343, in startstop_instances                                                 │~
    if len(matched_instances) < len(instance_ids):                                                                                           │~
TypeError: object of type 'NoneType' has no len()                                                                                            │~
                                                                                                                                             │~
fatal: [localhost -> localhost]: FAILED! => {"changed": false, "failed": true, "invocation": {"module_name": "ec2"}, "module_stderr": "Traceb│~
ack (most recent call last):\n  File \"/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py\", line 1540, in <module>\n    main()\n  File \"/tmp/│~
ryansb/ansible_FwE8VR/ansible_module_ec2.py\", line 1514, in main\n    (changed, instance_dict_array, new_instance_ids) = startstop_instances│~
(module, ec2, instance_ids, state, instance_tags)\n  File \"/tmp/ryansb/ansible_FwE8VR/ansible_module_ec2.py\", line 1343, in startstop_insta│~
nces\n    if len(matched_instances) < len(instance_ids):\nTypeError: object of type 'NoneType' has no len()\n", "module_stdout": "", "msg": "│~
MODULE FAILURE", "parsed": false}
```

That's because the `instance_ids` variable is None if not supplied
in the task. That means the instances that result from the instance_tags
query aren't going to be included in the wait loop. To fix this, a list
needs to be kept of instances with matching tags and that list needs to
be added to `instance_ids` before the wait loop.
8 years ago
Abhijit Menon-Sen 55d51b3946 Fix spot instance creation by ignoring instance_initiated_shutdown_behavior (#4741)
Before this, all spot instance requests would fail because the code
_always_ called module.fail_json when the parameter was set (which it
always was, because the module parameter's default was set to 'stop').

As the comment said, this parameter doesn't make sense for spot
instances at all, so the error message was also misleading.
8 years ago
Florian Dambrine aac55fcc62 Fix ec2 module source_dest_check when running on non VPC instances (EC2 Classic) (#3243) 8 years ago
Matt Ferrante 624f813f60 Properly support tag updates on CloudFormation stack-update actions (#3638) 8 years ago
David J Peacock 3bede24323 description expanded for 112, AKA VRRP protocol) (#4645)
* description expanded for 112, AKA VRRP protocol)

* corrected syntax for description for IP protocols
8 years ago
Kenny Woodson 269c06a4c9 Fix for validate rule. Ensure rule is a dict. (#4640) 8 years ago
Kenny Woodson 9b37dcb593 Getting rid of a None type error when no resource tags are defined. (#4638) 8 years ago
John R Barker 0c25e968ee digital_ocean_tag name is a required field
Spotted during final review of https://github.com/ansible/ansible-modules-core/pull/4218/files
Simple to change, so fixing post merge
8 years ago
Victor Volle c170107eef Digitalocean tags (replaces #4209) (#4218)
* Fixes #4117: Add DigitalOcean Tag support

* Add GPLv3 license header and RETURN documentation

* ansible.module_utils.urls instead of "requests"
8 years ago
Arun prasath 0d98760b49 Fixes bug #4546 - Made password optional (#4574) 8 years ago
David J Peacock 8f963a7028 Fix #4412: os_security_group_rule support numbered protocols (#4444) 8 years ago
Ryan Brown 0c37949941 Remove spurious `changed` state on iam_policy module (#4381)
Due to a mixup of the group/role/user and policy names, policies with
the same name as the group/role/user they are attached to would never be
updated after creation. To fix that, we needed two changes to the logic
of policy comparison:

- Compare the new policy name to *all* matching policies, not just the
  first in lexicographical order
- Compare the new policy name to the matching ones, not to the IAM
  object the policy is attached to
8 years ago
Rick Mendes 02c47f5b0c Fixes #3144 (#4305) 8 years ago
Matías Pizarro 521c9a2e20 Use named parameters in new_droplet method call (#4483)
This mirrors the original method signature and guards against any
change in order parameter
8 years ago
Ilja Bauer acb7d873f8 Replaced use of bare variables with full variable syntax (#4149) 8 years ago
chouseknecht 48941291c1
Fix container labels expected vs actual comparison. 8 years ago
Patrick Marques f3c0c09fb6 ssh_public_keys on Azure virtual machine is a list (#4350)
The ssh_public_keys must be a list otherwise will give the error:
"argument ssh_public_keys is of type <type 'dict'> and we were unable to convert to list"
8 years ago
Richard Adams c8ca1a6211 Add parameter to `ec2` module to control instance shutdown behavior (stop|terminate) 8 years ago
Karthik Suresh 64ded1bb5e Removing duplicate name: parameter possible typo (#4525)
Removed name:parameter in documentation. Possible typo.
8 years ago
chouseknecht 42540ae510 Fix doc strings. Use of > was breaking HTML generation on docs site module page. 8 years ago
nishiokay a24398d025 Add ipv6 paramater to digital_ocean module (#4447) 8 years ago