Commit Graph

2784 Commits (41f57373345d8424845752401f8da7b52c378683)

Author SHA1 Message Date
Ryan Brown 81c663ff71 Merge pull request #4288 from rickmendes/rm-me
please remove me as maintainer
8 years ago
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.
8 years ago
Julien Vey 0bf24f2ae1 Fix Typo in docker_image_facts module 8 years ago
Monty Taylor d38c24d0ed
Merge pull request #3407 from yfried-redhat/idempotent_os_floating_ip 8 years ago
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.
8 years ago
Rick Mendes 203b332cdb please remove me as maintainer 8 years ago
Rick Mendes 9cf83ab764 Fixes #4227 8 years ago
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
8 years ago
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).
8 years ago
Shaun Brady 8fa56c16ee Remove trailing white space 8 years ago
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.
8 years ago
John Baublitz 2de9fe0e67 Doc update 8 years ago
John Baublitz 4d9b872c3e Fix exception handling to be compatible with Python 3 8 years ago
John Baublitz b8569ae38b Additional error handling for corner cases like deleting networks with active subnetworks 8 years ago
John Baublitz a7702c1f67 Documentation 8 years ago
John Baublitz 1ea678e4ac Logic to allow subnet creation 8 years ago
John Baublitz afe17834ce Add error handling for specifying 'mode' with insufficiently recent libcloud 8 years ago
John Baublitz 4b5a459fc1 Changes to allow 'auto' mode which does not allow IP address specification 8 years ago
John Baublitz d8147f6226 Support for newer networking modes in GCE 8 years ago
Ryan Brown 24db4de245 Merge pull request #4156 from supertom/ansible-2111-fix
Support updating GCE firewall rules when attributes change

Fixes #2111
8 years ago
Ryan Brown d288ef2abc Merge pull request #4163 from kaikousa/improve-ec2_lc-documentation
Improve `ec2_lc` documentation on security_groups option
8 years ago
Ryan Brown a960f01bf3 Merge pull request #4234 from chrisweaver/patch-1
Enforce `bool` type for dup_ok option on AWS `iam_cert` module
8 years ago
Ryan Brown 95c67dc72a Merge pull request #4231 from phy1729/cfn-iam-capabilities
Support CAPABILITY_NAMED_IAM in AWS CloudFormation module
8 years ago
Ryan Brown 92a17c61f4 Merge pull request #4190 from jbaublitz/gce_suspend_node
Add states for stopping and starting GCE ☁️ instances
8 years ago
Ryan Brown 1e6d93cc52 Merge pull request #4203 from MichaelBaydoun/iam_policy_fix
Stop iam_policy from always reporting `changed` status
8 years ago
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.
8 years ago
Ryan 810b40aee9 fix typo in azure_rm_storageaccount (#4236) 8 years ago
chrisweaver 8879931f0c Enforce boolean type for dup_ok
Stop "choices" from being interpreted as strings.
8 years ago
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
8 years ago
Michael Baydoun 07383c40d7
fixes issues where iam_policy incorrected reported changed 8 years ago
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)
8 years ago
John Baublitz e85c2f8253 Collapse boilerplate code into change_instance_state function 8 years ago
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.
8 years ago
John Baublitz b5da9d190d Add states for stopping and starting machines 8 years ago
Ryan Brown f61ddbc8a9 Merge pull request #3863 from ryansb/iam-pass-module
Bugfix: IAM group modules need `module` passed
8 years ago
Tom Melendez 7c8d972d8f Added helper function and logic to sort attributes before comparing. 8 years ago
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.
8 years ago
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).
8 years ago
Chris Houseknecht 77db7011f0 Merge pull request #4173 from chouseknecht/fix_entrypoint
Fix entrypoint. Should behave the same as command.
8 years ago
h-hirokawa 977a6a8b28 Fix azure_rm_virtualmachine (#4174). 8 years ago
Chris Houseknecht a75ee76aa3 Entrypoint fails with 'command not found' error. 8 years ago
Chris Houseknecht 58b551774c Add push parameter. Let API handle registry authentication check. 8 years ago
Chris Houseknecht 1058094b64 Fix module failing when no ports are exposed 8 years ago
jjshoe 90b8281a51 Fixed a typo (#4168) 8 years ago
Chris Houseknecht 73dbb744b5 Merge pull request #3887 from Jorge-Rodriguez/docker-image-no-push-on-load
Don't forcibly push loaded images to registry.
8 years ago
Kai Kousa 7632bc1ecb Improve documentation on security_groups-option 8 years ago
Chris Houseknecht 328f047fda Merge pull request #4040 from qiluo-msft/qiluo/actual_stdin_open
Fix getting actual_stdin_open
8 years ago
Chris Houseknecht 4aee56553f
Fix multi-interface port binding. 8 years ago
Chris Houseknecht 9c88c45dd2 Merge pull request #4155 from chouseknecht/fix_4091
Support publishing all ports.
8 years ago
Chris Houseknecht e51024c84d Fix 'all' option for published_ports parameter. 8 years ago
Chris Houseknecht 36ed0ad766 Add cleanup parameter. (#4144) 8 years ago
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.
8 years ago
Chris Houseknecht 391561fa5d Merge pull request #4151 from chouseknecht/fix_4139
Fix purge_networks
8 years ago
Rene Moser 45845e0bdc os_server, doc: add version added for delete_fip
Also see #3509
8 years ago
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.
8 years ago
Chris Houseknecht 78f6c7e51e
Fix purge_networks 8 years ago
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)
8 years ago
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
8 years ago
Chris Houseknecht bb582ae574
Remove object name validation. 8 years ago
Chris Houseknecht 90b3860f5b Merge pull request #4097 from chouseknecht/azure-rc5
Update and pin to azure-2.0.0rc5
8 years ago
chouseknecht de9959b129 Update and pin to azure-2.0.0rc5 8 years ago
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>
8 years ago
Matt Davis 0ee7b9896d Merge pull request #4080 from talonx/devel
Fix for #16518 - added missing regions
8 years ago
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.
8 years ago
Hrishikesh Barua 718471e302 Fix for #16518 - added missing regions 8 years ago
Qi Luo 93e502f019 Fix getting actual_stdin_open 9 years ago
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
9 years ago
Ryan Brown 47e22248c4 Merge pull request #3091 from jmunhoz/s3-ceph
Add Ceph RGW S3 compatibility
9 years ago
Chris Houseknecht 75d167e34f Merge pull request #3994 from chouseknecht/fix_ulimit
Fix ulimit comparison
9 years ago
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>
9 years ago
Javier M. Mellid a52ff221f7 Add proper version_added for rgw option in s3.py
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
9 years ago
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>
9 years ago
chouseknecht 7f97cf4d04
Fix compose_version error. Check has compose before checking version. 9 years ago
chouseknecht 34305ded28 Fix index 9 years ago
chouseknecht 5f9f1642bc
Fix ulimit comparison 9 years ago
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
9 years ago
Adam Butler 1c41b6fdb2 Fixes incorrect key name protocols -> protocol (#3963) 9 years ago
Hagen Kuehn a5fdd8c128 fixed unknown type <type 'list'> error (#3959) 9 years ago
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
9 years ago
Chris Houseknecht 0098dc322f Merge pull request #3535 from picpicpic/devel
fixes dns type in docker module
9 years ago
chouseknecht d988187860
Remove dns from container create parameters. 9 years ago
chouseknecht 0884a942bf Fix #3945 docker_container detach not waiting on container to execute. 9 years ago
Adrian Likins 97ac3f2cc8 Merge pull request #3701 from gillesgagniard/gce-subnetwork-dev
GCE : Add support for subnet networks
9 years ago
Toshio Kuratomi 1d0f408897 Finish python3 syntax compilation fixing for core repo 9 years ago
chouseknecht af8eabe06f Fix #3941 9 years ago
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>
9 years ago
chouseknecht b9b727f435 Fix #16211 - only stop/kill running containers 9 years ago
Chris Houseknecht 964d9b3a6d Fix #3906 - Enforce required minimum compose version. (#3925)
* Fix #3906 - Require minimum compose version.

* Fix typo in message text.
9 years ago
Bradley Phipps 4a8930f886 added missing colons to documentation (#3913) 9 years ago
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>
9 years ago
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.
9 years ago
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
9 years ago
Rodríguez, Jorge 7d33c6ccdf Do not forcibly push when building, either. 9 years ago
Rodríguez, Jorge a0be466f90 Don't forcibly push loaded images to registry. Fixes #3763 9 years ago
mansunkuo 91e9223a76 Add an example to delete Route53 alias record set (#3834) 9 years ago
chouseknecht 68151790c2
Fix issue #3866 9 years ago
nitzmahone 2bd8d78a8b correct gs_storage docs to match reality 9 years ago
Ryan Brown 878cdb10f9 Merge pull request #3847 from washingtoneg/postgres9.5-rds-param-group-support
Add support for PostgreSQL 9.5 in rds_param_group (fix for #3846)
9 years ago
Ryan Brown f54e39450c Merge pull request #2555 from jsternberg/paginate-iam-results
Paginate the results from `boto.iam`
9 years ago
Ryan S. Brown 1b9e28cc68 IAM group modules need `module` passed
The IAM group modules were not receiving the `module` object, but they
use `module.fail_json()` in their exception handlers. This patch passes
through the module object so the real errors from boto are exposed,
rather than errors about "NoneType has no method `fail_json`".
9 years ago