Commit graph

2788 commits

Author SHA1 Message Date
Shawn Siefkas
528f9a1d0b Check mode fix for ec2_group module (#2184)
The default VPC egress rules was being left in the egress rules for
purging in check mode.  This ensures that the module returns the correct
change state during check mode.
2016-08-02 13:01:48 -07:00
Rick Mendes
8287002f14 Fixes #4227: just changing messaging 2016-08-01 15:52:12 -07:00
Rick Mendes
72655fe4c8 Fix #3549, failure to reference module in ec2_eip module 2016-08-01 15:22:44 -04:00
Ryan Brown
cb2a47753a Merge pull request #4292 from julienvey/patch-1
Fix typo in docker_image_facts module
2016-08-01 15:13:08 -04:00
Ryan Brown
81c663ff71 Merge pull request #4288 from rickmendes/rm-me
please remove me as maintainer
2016-08-01 11:41:39 -04:00
Lyle Mantooth
50abfd5e27 Remove file extension from policy names (#3805)
Fixes #3804.

Prevents `__file__` from contributing ".", which is an illegal character in ELB policy names.
2016-08-01 11:08:04 -04:00
Julien Vey
0bf24f2ae1 Fix Typo in docker_image_facts module 2016-08-01 16:38:26 +02:00
Monty Taylor
d38c24d0ed
Merge pull request #3407 from yfried-redhat/idempotent_os_floating_ip 2016-08-01 08:40:47 -05:00
Monty Taylor
0e8ce4ad52
Rename a confusing variable
I had to read the two lines in question twice. That might just make me
dumb, but if I'm dumb, someone else might be too.
2016-08-01 08:33:09 -05:00
Rick Mendes
203b332cdb please remove me as maintainer 2016-07-31 13:24:12 -07:00
Rick Mendes
9cf83ab764 Fixes #4227 2016-07-30 15:11:45 -07:00
Jasmine Hegman
a3bae3e6ce 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-07-30 10:45:01 -04:00
Shaun Brady
de29bafc1e Make ec2_elb_lb respect VPCs when resolving groups
AWS security groups are unique by name only by VPC (Restated, the VPC
and group name form a unique key).

When attaching security groups to an ELB, the ec2_elb_lb module would
erroneously find security groups of the same name in other VPCs thus
causing an error stating as such.

To eliminate the error, we check that we are attaching subnets (implying
that we are in a VPC), grab the vpc_id of the 0th subnet, and filtering
the list of security groups on this VPC.  In other cases, no such filter
is applied (filters=None).
2016-07-28 18:49:11 -04:00
Shaun Brady
8fa56c16ee Remove trailing white space 2016-07-28 13:43:40 -04:00
Shaun Brady
890bba6a0e Make group_name resolution VPC aware
EC2 Security Group names are unique given a VPC.  When a group_name
value is specified in a rule, if the group_name does not exist in the
provided vpc_id it should create the group as per the documentation.

The groups dictionary uses group_names as keys, so it is possible to
find a group in another VPC with the name that is desired.  This causes
an error as the security group being acted on, and the security group
referenced in the rule are in two different VPCs.

To prevent this issue, we check to see if vpc_id is defined and if so
check that VPCs match, else we treat the group as new.
2016-07-27 14:11:59 -04:00
John Baublitz
2de9fe0e67 Doc update 2016-07-26 18:05:37 +00:00
John Baublitz
4d9b872c3e Fix exception handling to be compatible with Python 3 2016-07-26 18:05:34 +00:00
John Baublitz
b8569ae38b Additional error handling for corner cases like deleting networks with active subnetworks 2016-07-26 18:05:32 +00:00
John Baublitz
a7702c1f67 Documentation 2016-07-26 17:59:15 +00:00
John Baublitz
1ea678e4ac Logic to allow subnet creation 2016-07-26 17:59:13 +00:00
John Baublitz
afe17834ce Add error handling for specifying 'mode' with insufficiently recent libcloud 2016-07-26 17:59:12 +00:00
John Baublitz
4b5a459fc1 Changes to allow 'auto' mode which does not allow IP address specification 2016-07-26 17:59:09 +00:00
John Baublitz
d8147f6226 Support for newer networking modes in GCE 2016-07-26 17:59:07 +00:00
Ryan Brown
24db4de245 Merge pull request #4156 from supertom/ansible-2111-fix
Support updating GCE firewall rules when attributes change

Fixes #2111
2016-07-25 14:09:06 -04:00
Ryan Brown
d288ef2abc Merge pull request #4163 from kaikousa/improve-ec2_lc-documentation
Improve `ec2_lc` documentation on security_groups option
2016-07-25 14:06:33 -04:00
Ryan Brown
a960f01bf3 Merge pull request #4234 from chrisweaver/patch-1
Enforce `bool` type for dup_ok option on AWS `iam_cert` module
2016-07-25 12:35:18 -04:00
Ryan Brown
95c67dc72a Merge pull request #4231 from phy1729/cfn-iam-capabilities
Support CAPABILITY_NAMED_IAM in AWS CloudFormation module
2016-07-25 12:34:01 -04:00
Ryan Brown
92a17c61f4 Merge pull request #4190 from jbaublitz/gce_suspend_node
Add states for stopping and starting GCE ☁️ instances
2016-07-25 11:30:36 -04:00
Ryan Brown
1e6d93cc52 Merge pull request #4203 from MichaelBaydoun/iam_policy_fix
Stop iam_policy from always reporting `changed` status
2016-07-25 11:16:00 -04:00
yfried-redhat
6b20645b40 Make os_floating_ip module idempotent
Current module fails when tries to assign floating-ips to server that
already have them and either fails or reports "changed=True" when no
ip was added

Removing floating-ip doesn't require address

Server name/id is enough to remove a floating ip.
2016-07-24 12:30:31 +03:00
Ryan
810b40aee9 fix typo in azure_rm_storageaccount (#4236) 2016-07-22 09:47:06 -07:00
chrisweaver
8879931f0c Enforce boolean type for dup_ok
Stop "choices" from being interpreted as strings.
2016-07-21 15:02:49 -04:00
Matthew Martin
34d48eb89b Add CAPABILITY_NAMED_IAM to cloudformation capabilities
While from the documentation[1] one would assume that replacing
CAPABILITY_IAM with CAPABILITY_NAMED_IAM; this as empirically been shown
to not be the case.

1: "If you have IAM resources, you can specify either capability. If you
have IAM resources with custom names, you must specify
CAPABILITY_NAMED_IAM."
http://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStack.html
2016-07-21 10:54:40 -05:00
Michael Baydoun
07383c40d7
fixes issues where iam_policy incorrected reported changed 2016-07-18 13:43:28 +00:00
Andrei Lukovenko
3945794704 Bug: repeatable invocation with state=present leads to (#3052)
[localhost]: FAILED! => {"changed": false, "failed": true, "msg":
"'Domain' object has no attribute 'id'"}

How to reproduce:

- name: create domain
  digital_ocean_domain: state=present name=DOMAIN_NAME ip=DROPLET_IP

- name: create domain
  digital_ocean_domain: state=present name=DOMAIN_NAME ip=DROPLET_IP

Problem: DigitalOcean API changed API
(https://developers.digitalocean.com/documentation/v2/#list-all-domain-records)
2016-07-17 15:24:22 +02:00
John Baublitz
e85c2f8253 Collapse boilerplate code into change_instance_state function 2016-07-15 18:40:56 +00:00
Toshio Kuratomi
55e6703209 Remove version-added on name field.
This parameter was actually added in 2.0.  It's just that the
documentation in previous versions of the module were wrong (it said the
name was  "network" rather than "name.)  I've renamed the parameter in
the documentation of prior versions so ansible-module-validate should no
longer think that this is a new parameter.
2016-07-15 06:40:50 -07:00
John Baublitz
b5da9d190d Add states for stopping and starting machines 2016-07-14 18:16:40 +00:00
Ryan Brown
f61ddbc8a9 Merge pull request #3863 from ryansb/iam-pass-module
Bugfix: IAM group modules need `module` passed
2016-07-14 13:34:46 -04:00
Tom Melendez
7c8d972d8f Added helper function and logic to sort attributes before comparing. 2016-07-13 19:56:43 +00:00
Tom Melendez
0f1c083d25 Allow GCE firewall rules to be updated when attributes changes. Fixes #2111.
Previously, when the attributes of a GCE firewall change, they were ignored.  This PR changes that behavior and now updates them.

Note that the "update" also removes attributes that are not specified.

An overview of the firewall rule behavior is as follows:

1. firewall name in GCP, state=absent in PLAYBOOK: Delete from GCP
2. firewall name in PLAYBOOK, not in GCP: Add to GCP.
3. firewall name in GCP, name not in PLAYBOOK: No change.
4. firewall names exist in both GCP and PLAYBOOK, attributes differ: Update GCP to match attributes from PLAYBOOK.
2016-07-13 19:54:15 +00:00
Chris Houseknecht
eab6bb8794 Merge pull request #4176 from h-hirokawa/fix4174
Fix azure_rm_virtualmachine to create a storage account with name contains lower-case only  (#4174).
2016-07-13 09:46:07 -04:00
Chris Houseknecht
77db7011f0 Merge pull request #4173 from chouseknecht/fix_entrypoint
Fix entrypoint. Should behave the same as command.
2016-07-13 07:54:13 -04:00
h-hirokawa
977a6a8b28 Fix azure_rm_virtualmachine (#4174). 2016-07-13 16:13:27 +09:00
Chris Houseknecht
a75ee76aa3 Entrypoint fails with 'command not found' error. 2016-07-13 02:41:25 -04:00
Chris Houseknecht
58b551774c Add push parameter. Let API handle registry authentication check. 2016-07-12 16:49:58 -04:00
Chris Houseknecht
1058094b64 Fix module failing when no ports are exposed 2016-07-12 16:29:45 -04:00
jjshoe
90b8281a51 Fixed a typo (#4168) 2016-07-12 16:02:25 -04:00
Chris Houseknecht
73dbb744b5 Merge pull request #3887 from Jorge-Rodriguez/docker-image-no-push-on-load
Don't forcibly push loaded images to registry.
2016-07-12 13:09:33 -04:00
Kai Kousa
7632bc1ecb Improve documentation on security_groups-option 2016-07-12 15:52:58 +03:00
Chris Houseknecht
328f047fda Merge pull request #4040 from qiluo-msft/qiluo/actual_stdin_open
Fix getting actual_stdin_open
2016-07-11 13:24:17 -04:00
Chris Houseknecht
4aee56553f
Fix multi-interface port binding. 2016-07-11 13:14:23 -04:00
Chris Houseknecht
9c88c45dd2 Merge pull request #4155 from chouseknecht/fix_4091
Support publishing all ports.
2016-07-11 12:47:02 -04:00
Chris Houseknecht
e51024c84d Fix 'all' option for published_ports parameter. 2016-07-11 12:41:20 -04:00
Chris Houseknecht
36ed0ad766 Add cleanup parameter. (#4144) 2016-07-11 11:49:31 -04:00
David Shrewsbury
a606e9cd37 Fix bug in os_router.py when router is not actually updated. (#4107)
The shade update_router() call will return None if the router is
not actually updated. This will cause the module to fail if we
do not protect against that.
2016-07-11 16:01:20 +02:00
Chris Houseknecht
391561fa5d Merge pull request #4151 from chouseknecht/fix_4139
Fix purge_networks
2016-07-11 10:00:31 -04:00
Rene Moser
45845e0bdc os_server, doc: add version added for delete_fip
Also see #3509
2016-07-11 08:40:32 +02:00
David Shrewsbury
3979faf3e5 Allow os_server to delete FIP (#3509)
The os_server module could automatically generate a floating IP for
the user with auto_ip=true, but we didn't allow for this FIP to be
automatically deleted when deleting the instance, which is a bug.
Add a new option called delete_fip that enables this.
2016-07-11 08:35:51 +02:00
Chris Houseknecht
78f6c7e51e
Fix purge_networks 2016-07-11 00:23:58 -04:00
Andrei Lukovenko
ff223ee14c Bug: invocation with state=absent always leads to (#3051)
[localhost]: FAILED! => {"changed": false, "failed": true, "msg":
"'Domain' object has no attribute 'id'"}

How to reproduce:

- name: create domain
  digital_ocean_domain: state=present name=DOMAIN_NAME ip=DROPLET_IP

- name: destroy domain
  digital_ocean_domain: state=absent name=DOMAIN_NAME

Problem: DigitalOcean API accepts domain name, not record ID
(https://developers.digitalocean.com/documentation/v2/#delete-a-domain)
2016-07-11 01:26:31 +02:00
Adrian Moisey
74285d6a53 Add default port for aurora (#4102)
If a port isn't specified, it's looked up. The lookup breaks without
this.

Related: https://github.com/ansible/ansible-modules-core/pull/3414
2016-07-11 01:20:12 +02:00
Chris Houseknecht
bb582ae574
Remove object name validation. 2016-07-06 17:29:42 -04:00
Chris Houseknecht
90b3860f5b Merge pull request #4097 from chouseknecht/azure-rc5
Update and pin to azure-2.0.0rc5
2016-07-02 20:58:53 -04:00
chouseknecht
de9959b129 Update and pin to azure-2.0.0rc5 2016-07-02 18:46:49 -04:00
Patrick Uiterwijk
414d3611cb nova_compute: indicate argument type (#4070)
Without this, ansible 2.1 will convert some arguments that are
meant to be dict or list type to their str representation.

Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
2016-07-02 00:06:44 +02:00
Matt Davis
0ee7b9896d Merge pull request #4080 from talonx/devel
Fix for #16518 - added missing regions
2016-06-30 13:23:10 -07:00
Ryan Brown
4845c96b00 Remove double-assignment of EC2 parameters (#4081)
The `source_dest_check` and `termination_protection` variables are being
assigned twice in ec2.py, likely due to an incorrect merge somewhere
along the line.
2016-06-30 09:47:06 -04:00
Hrishikesh Barua
718471e302 Fix for #16518 - added missing regions 2016-06-30 17:53:15 +05:30
Qi Luo
93e502f019 Fix getting actual_stdin_open 2016-06-24 18:58:21 -07:00
Graham Goldstein
4f8f0cf66b Change documented options for os_networks_facts (#3970)
* Change documented options for os_networks_facts

os_network_facts currently lists 'network' as an available option, taking the Name or ID. In Ansible 2.0.2 to 2.2.0, this is not valid. Options 'name' and 'id' should be used instead.

* Update os_networks_facts.py

* Update os_networks_facts.py

Set version_added to the only accepted value

* Update os_networks_facts.py

Removed inappropriate 'ID' parameter
2016-06-22 07:52:00 +02:00
Ryan Brown
47e22248c4 Merge pull request #3091 from jmunhoz/s3-ceph
Add Ceph RGW S3 compatibility
2016-06-21 15:34:59 -04:00
Chris Houseknecht
75d167e34f Merge pull request #3994 from chouseknecht/fix_ulimit
Fix ulimit comparison
2016-06-21 11:35:31 -04:00
Javier M. Mellid
a88d6d9a53 Add s3_url requirement in doc when rgw support is enabled in s3.py
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-06-21 10:53:47 +02:00
Javier M. Mellid
a52ff221f7 Add proper version_added for rgw option in s3.py
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-06-21 10:53:41 +02:00
Javier M. Mellid
b1724344d5 Add Ceph RGW S3 compatibility
Ceph Object Gateway (Ceph RGW) is an object storage interface built on top of
librados to provide applications with a RESTful gateway to Ceph Storage
Clusters:

http://docs.ceph.com/docs/master/radosgw/

This patch adds the required bits to use the RGW S3 RESTful API properly.

Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
2016-06-21 10:53:36 +02:00
chouseknecht
7f97cf4d04
Fix compose_version error. Check has compose before checking version. 2016-06-21 02:49:22 -04:00
chouseknecht
34305ded28 Fix index 2016-06-21 02:26:03 -04:00
chouseknecht
5f9f1642bc
Fix ulimit comparison 2016-06-21 02:20:50 -04:00
Mario David
ae5ccf29ed add project to os_router (#3869)
* add project to os_router

* version_added fix

* correct place of version_added

* remove extraneous else

* * add shade version dependency check
* option project only on router creation

* * fix shade minimal version
* remove pop of option project

* * fix square brackets
* delete router by router_id
2016-06-20 10:10:59 -04:00
Adam Butler
1c41b6fdb2 Fixes incorrect key name protocols -> protocol (#3963) 2016-06-16 10:04:05 -04:00
Hagen Kuehn
a5fdd8c128 fixed unknown type <type 'list'> error (#3959) 2016-06-15 14:26:00 -04:00
Chris Houseknecht
0802569af9 Merge pull request #3894 from stefanha/docker_image-load_image-streaming
Stream image data in load_image() to avoid out-of-memory
2016-06-14 01:10:26 -04:00
Chris Houseknecht
0098dc322f Merge pull request #3535 from picpicpic/devel
fixes dns type in docker module
2016-06-13 18:28:18 -04:00
chouseknecht
d988187860
Remove dns from container create parameters. 2016-06-13 18:06:20 -04:00
chouseknecht
0884a942bf Fix #3945 docker_container detach not waiting on container to execute. 2016-06-13 16:30:21 -04:00
Adrian Likins
97ac3f2cc8 Merge pull request #3701 from gillesgagniard/gce-subnetwork-dev
GCE : Add support for subnet networks
2016-06-13 15:33:27 -04:00
Toshio Kuratomi
1d0f408897 Finish python3 syntax compilation fixing for core repo 2016-06-13 12:00:31 -07:00
chouseknecht
af8eabe06f Fix #3941 2016-06-13 14:08:20 -04:00
Stefan Hajnoczi
8254e2b547 docker_service: make PyYAML requirement explicit
The "Developing Modules" documentation states:

  Include a minimum of dependencies if possible. If there are
  dependencies, document them at the top of the module file, and have
  the module raise JSON error messages when the import fails.

When docker_service runs on a remote host without PyYAML it crashes with
ImportError.

This patch raises a JSON error message when import fails, but only if
the PyYAML module is actually used.  It's only needed when the
"definition" parameter is given.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
2016-06-11 17:29:39 +01:00
chouseknecht
b9b727f435 Fix #16211 - only stop/kill running containers 2016-06-10 22:41:41 -04:00
Chris Houseknecht
964d9b3a6d Fix #3906 - Enforce required minimum compose version. (#3925)
* Fix #3906 - Require minimum compose version.

* Fix typo in message text.
2016-06-10 17:26:29 -04:00
Bradley Phipps
4a8930f886 added missing colons to documentation (#3913) 2016-06-10 09:44:57 -04:00
Stefan Hajnoczi
47cc422b8a Stream image data in load_image() to avoid out-of-memory
Reading the entire tar file into memory can result in out-of-memory
conditions such as this traceback:

Traceback (most recent call last):
  File "/tmp/ansible_YELTSu/ansible_module_docker_image.py", line 486, in load_image
    self.client.load_image(image_data)
  File "/usr/local/lib/python2.7/dist-packages/docker/api/image.py", line 147, in load_image
    res = self._post(self._url("/images/load"), data=data)
  ...
  File "/usr/lib/python2.7/httplib.py", line 997, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 848, in _send_output
    msg += message_body
MemoryError

Luckily docker-py's load_image(), which calls requests post(), accepts a
file-like object instead of a string.  Pass in the file object to avoid
reading the full file into memory.  This allows larger tar files to load
succesfully.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
2016-06-08 23:50:44 +01:00
Vince v. Oosten
fd418c19c2 move environment variable gathering to end of __init__() (#3890)
* This moves the lines in the code that parse the `env` and `env_file` options for docker to the end of the `__init__()` function.
This is needed because the `_check_capabilites` function needs both a working `self.client` and a proper `self.docker_py_versioninfo`.
`_check_capabilities` is used by `ensure_capabilities` which is, in turn, used by `get_environment`

This means that before this commit, the environment variables could not be loaded because both `self.client` and `self.docker_py_versioninfo` were not set at that time.

This commit fixes that by putting the environment variable parsing after those two.

* This moves the lines in the code that parse the `env` and `env_file` options for docker to the end of the `__init__()` function.
This is needed because the `_check_capabilites` function needs both a working `self.client` and a proper `self.docker_py_versioninfo`.
`_check_capabilities` is used by `ensure_capabilities` which is, in turn, used by `get_environment`

This means that before this commit, the environment variables could not be loaded because both `self.client` and `self.docker_py_versioninfo` were not set at that time.

This commit fixes that by putting the environment variable parsing after those two.
2016-06-08 09:39:34 -04:00
Matt Davis
a8e5f27b2c Iam trust policy (#3885)
* added support for trust policies

* added version_added to new params in DOC string

* update version_added on new iam args to 2.2
2016-06-08 09:23:55 -04:00
Rodríguez, Jorge
7d33c6ccdf Do not forcibly push when building, either. 2016-06-08 11:45:39 +03:00
Rodríguez, Jorge
a0be466f90 Don't forcibly push loaded images to registry. Fixes #3763 2016-06-08 11:43:27 +03:00
mansunkuo
91e9223a76 Add an example to delete Route53 alias record set (#3834) 2016-06-06 22:51:25 +02:00
chouseknecht
68151790c2
Fix issue #3866 2016-06-04 02:07:10 -04:00