Commit graph

8873 commits

Author SHA1 Message Date
Raghu Udiyar
e6e8f65e92 Creating ami should be idempotent
If the ami already exists, return details of the duplicate
ami instead of failing with an error.
2016-12-08 11:23:04 -05:00
tedder
dd6d5f0cb5 feature pull request: catch and retry recoverable errors
boto can throw SSLError when timeouts occur (among other SSL errors). Catch these so proper JSON can be returned, and also add the ability to retry the operation.

There's an open issue in boto for this: https://github.com/boto/boto/issues/2409

Here's a sample stacktrace that inspired me to work on this. I'm on 1.7, but there's no meaningful differences in the 1.8 release that would affect this. I've added line breaks to the trace for readability.

    failed to parse: Traceback (most recent call last):
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 2031, in <module> main()
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 353, in main download_s3file(module, s3, bucket, obj, dest)
      File "/home/ubuntu/.ansible/tmp/ansible-tmp-1419895753.17-160808281985012/s3", line 234, in download_s3file key.get_contents_to_filename(dest)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1665, in get_contents_to_filename response_headers=response_headers)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1603, in get_contents_to_file response_headers=response_headers)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1435, in get_file query_args=None)
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 1488, in _get_file_internal for bytes in self:
      File "/usr/local/lib/python2.7/dist-packages/boto/s3/key.py", line 368, in next data = self.resp.read(self.BufferSize)
      File "/usr/local/lib/python2.7/dist-packages/boto/connection.py", line 416, in read return httplib.HTTPResponse.read(self, amt)
      File "/usr/lib/python2.7/httplib.py", line 567, in read s = self.fp.read(amt)
      File "/usr/lib/python2.7/socket.py", line 380, in read data = self._sock.recv(left)
      File "/usr/lib/python2.7/ssl.py", line 341, in recv return self.read(buflen)
      File "/usr/lib/python2.7/ssl.py", line 260, in read return self._sslobj.read(len) ssl.SSLError: The read operation timed out
2016-12-08 11:23:04 -05:00
Toshio Kuratomi
fa60891f68 Fix a problem introduced with #1101 and optimize privilege handling
* If a db user belonged to a role which had a privilege, the user would
  not have the privilege added as the role gave the appearance that the
  user already had it.  Fixed to always check the privileges specific to
  the user.
* Make fewer db queries to determine if privileges need to be changed
  and change them (was four for each privilege.  Now two for each object
  that has a set of privileges changed).
2016-12-08 11:23:03 -05:00
Tristan Fisher
75ef963922 removes bool type from validate. 2016-12-08 11:23:03 -05:00
Tristan Fisher
0180be25c4 standardizes bools in argument_spec 2016-12-08 11:23:03 -05:00
jaypei
fbc8d4ca4a use the right way to unescape line string Reference https://github.com/ansible/ansible/issues/10864 2016-12-08 11:23:03 -05:00
Feanil Patel
36dfb78831 Output the Internet Gatewoy id directly instead of in a dict. 2016-12-08 11:23:03 -05:00
Benno Joy
70188fe02a Fixes issue 1197 for s3 module, where the file gets downloaded even if checksums match 2016-12-08 11:23:03 -05:00
Feanil Patel
bfb36f0f1f Tell me what the igw id is if we created an igw. 2016-12-08 11:23:03 -05:00
Toshio Kuratomi
5027fc0642 Expand tildes and vars in the config file path 2016-12-08 11:23:03 -05:00
Brian Coca
d7bd36a215 Revert "Add deprecated documentation for _quantum_subnet" cause it was already added
This reverts commit 3fa32c4984.
2016-12-08 11:23:03 -05:00
Toshio Kuratomi
8576d1f9d1 Add deprecated documentation for _quantum_subnet 2016-12-08 11:23:03 -05:00
Will Thames
34e0e17090 Perform privilege grants/revokes only when required
Use `has_table_privileges` and `has_database_privileges`
to test whether a user already has a privilege before
granting it, or whether a user doesn't have  a privilege
before revoking it.
2016-12-08 11:23:03 -05:00
David Shrewsbury
67d8ff197e Rename os_subnet to os_subnet.py 2016-12-08 11:23:03 -05:00
Monty Taylor
acdc90f31d Add OpenStack Subnet module
Also deprecated old quantum_subnet module
2016-12-08 11:23:03 -05:00
xiaclo
8715ce07ae Fix issue #1156
Fix as suggested in the issue.

https://github.com/ansible/ansible-modules-core/issues/1156
2016-12-08 11:23:03 -05:00
Toshio Kuratomi
4f42e752e6 Allow playbook specified login_user and login_password to override config file settings 2016-12-08 11:23:03 -05:00
James Cammarata
46b60a5b70 Fix missing expanduser on chdir value 2016-12-08 11:23:03 -05:00
James Cammarata
d07378ceac Command module changes for v2 compatibility 2016-12-08 11:23:03 -05:00
Toshio Kuratomi
0af631499a Use a list comprehension instead of map and lambda 2016-12-08 11:23:02 -05:00
Toshio Kuratomi
8976b46888 Import ansible module_utils at bottom of file to not mess with line numbers in tracebacks 2016-12-08 11:23:02 -05:00
Toshio Kuratomi
b6257f73b4 Properly flip default for verifying server cert. Add nice error messages when the cert is invalid 2016-12-08 11:23:02 -05:00
Toshio Kuratomi
a4497a7ddf Change uri module to validate ssl certs by default 2016-12-08 11:23:02 -05:00
whiter
8ee2102993 Doc update to highlight use of body_type parameter 2016-12-08 11:23:02 -05:00
Toshio Kuratomi
c291c2dfea Fix for the new import code when password is empty 2016-12-08 11:23:02 -05:00
Jonathan Mainguy
a3f30540ca add :// url support for EL 5 2016-12-08 11:23:02 -05:00
Dennis Rowe
5109628693 Strip spaces around perms 2016-12-08 11:23:02 -05:00
billwanjohi
a6fd78af37 s3 put: add support for server-side encryption
- added 'encrypt' boolean option
- reordered module options alphanumerically
2016-12-08 11:23:02 -05:00
Toshio Kuratomi
b6a312e489 Minor fixups found during review of #582 2016-12-08 11:23:02 -05:00
Patrik Lundin
899788f1a7 service: Fix comments in OpenBsdService class.
No functional change.
2016-12-08 11:23:02 -05:00
Johann Schmitz
8f8109f1e0 Improved output of mysql_db plugin
Show error number and error description on connect error to ease debugging.
2016-12-08 11:23:02 -05:00
Andrew Pashkin
a960caae96 Add 'docker_api_version' to docker_image
By default docker-py uses latest version of Docker API. This is not
always desireable, and this patch adds option to specify version, that
should be used.
2016-12-08 11:23:02 -05:00
Jonathan Mainguy
7ab2ddbe2a escapeds changes
fixed merge conflict

remove uneeded regexs

arrays
2016-12-08 11:23:02 -05:00
Brian Coca
322518d06c stat doc fix fixes #1371 2016-12-08 11:23:02 -05:00
Robin Miller
a2f685a134 Replaced lambda functions with list comprehensions. 2016-12-08 11:23:02 -05:00
whiter
d252e7c08f Fix for issue #1332 - when instance is has finished deleting and get_db_instance returns None, exit gracefully 2016-12-08 11:23:01 -05:00
Robin Miller
8859a7cf8e Only revoke actually granted permissions, not 'ALL'.
This prevents errors when the login_user does not have 'ALL'
permissions, and the 'priv' value contains fewer permissions than are
held by an existing user. This is particularly an issue when using an
Amazon Web Services RDS instance, as there is no (accessible) user with
'ALL' permissions on *.*.
2016-12-08 11:23:01 -05:00
Brian Coca
7ccc2143fd sleep when only doing a time delay to avoid cpu churn 2016-12-08 11:23:01 -05:00
fdupoux
e34c7f31dc Refactoring to avoid duplication of code which manages the decompression of database dumps in various formats 2016-12-08 11:23:01 -05:00
fdupoux
9b83311471 Simplify code which prepares the decompression command 2016-12-08 11:23:01 -05:00
Toshio Kuratomi
dd4838e4aa Refactor dump compression and use get_bin_path for finding the compressors 2016-12-08 11:23:01 -05:00
fdupoux
aa79810cc8 Decompress mysql dumps on the fly using python subprocess during an import to simplify operation 2016-12-08 11:23:01 -05:00
Wang Qiang
86b6f39cf0 Do instance update after add tags to instance. 2016-12-08 11:23:01 -05:00
Jonathan Mainguy
20301427f8 fixes check mode for Ubuntu 14.04 2016-12-08 11:23:01 -05:00
James Cammarata
3e72a0657d Re-reverting windows modules PR #384 2016-12-08 11:23:01 -05:00
Vladislav Lewin
36ce019beb add SLE12 support to hostname.py 2016-12-08 11:23:01 -05:00
marko
de813195c5 Added support for foreign security groups (Fixes: #373) 2016-12-08 11:23:01 -05:00
Jesse Keating
96b03ce138 Add an openstack servers actions module
This module supports a few of the server actions that are easy to
initially impiment. Other actions require input and provide return
values in the API calls that will be more difficult to impliment, and
thus are not part of this initial commit.
2016-12-08 11:23:01 -05:00
Vasyl Kaigorodov
70235a930b Fix "_is_package_installed() takes exactly 4 arguments, 3 provided" error 2016-12-08 11:23:01 -05:00
Schlueter
b3be960d24 Add 'version_added' to state documentation for easy_install resource 2016-12-08 11:23:01 -05:00
Schlueter
9e8ce34031 Correct reference to gem in easy_install resource 2016-12-08 11:23:01 -05:00
Schlueter
58863d3b48 Add Documentation 2016-12-08 11:23:01 -05:00
Schlueter
1fc687b19d Use standard if statement to check state in easy_install resource 2016-12-08 11:23:00 -05:00
Schlueter
1ddf4c2368 Correct pass by object reference issue 2016-12-08 11:23:00 -05:00
Jonathan Mainguy
b25bc20d3d changes hostname to lowercase 2016-12-08 11:23:00 -05:00
Jonathan Mainguy
ce4c9cccf5 fixes example documenation 2016-12-08 11:23:00 -05:00
Zoltan Kozma
1a6b273a4f - Fixed annoying bug that disablerepo was essentially broken if a package needed updating by state latest. - Replaced some unsafe practice with default parameters. However looking at the code this does not seem to matter much as the calling functions always seem to supply these parameters anyway. 2016-12-08 11:23:00 -05:00
Schlueter
e198884280 Add state to easy_install 2016-12-08 11:23:00 -05:00
Jonathan Mainguy
06cd532cc5 added nice error for systemd hosts where name > 64 chars 2016-12-08 11:23:00 -05:00
Semyon Deviatkin
732b26ab23 Fix issue #1230
When virtual package providing only one package, look up status of target package
2016-12-08 11:23:00 -05:00
Toshio Kuratomi
9eac68b417 Fix problem writing binary content to a temporary file in the uri module.
Fixes https://github.com/ansible/ansible/issues/10938
Fixes https://github.com/ansible/ansible/issues/7606
2016-12-08 11:23:00 -05:00
Monty Taylor
eeacb7486d Add OpenStack Network module
Also, deprecate the old quantum network module
2016-12-08 11:23:00 -05:00
Toshio Kuratomi
84110be91d Update the cron docs to specify that it takes a boolean value 2016-12-08 11:23:00 -05:00
Toshio Kuratomi
623f70ecd6 Fix documentation of the variable that backup file name is returned in 2016-12-08 11:23:00 -05:00
Greg Taylor
79dd0466b5 Adding directory creation example to file module. 2016-12-08 11:23:00 -05:00
Brian Coca
b4775234c9 minor docfix 2016-12-08 11:23:00 -05:00
Brian Coca
831af880f0 minor doc fix and made sure check_implicit_admin is true boolean 2016-12-08 11:23:00 -05:00
Toshio Kuratomi
5c96c5c9c2 Fix splitting of role_attrs 2016-12-08 11:23:00 -05:00
Toshio Kuratomi
7e5a4afb6b Update module "imports" to new style
Fixes #1351
2016-12-08 11:23:00 -05:00
Brian Coca
b13fd5ac9a value should be string as that is what it compares against 2016-12-08 11:22:59 -05:00
Pierre Baillet
eba0f12769 Support optional dockerfile name 2016-12-08 11:22:59 -05:00
Jonathan Mainguy
f4b07b105b added openbsd to hostname module 2016-12-08 11:22:59 -05:00
Toshio Kuratomi
20d7f929be Fix use of codecs.escape_decode() 2016-12-08 11:22:59 -05:00
Toshio Kuratomi
5204e94bda Slightly more future-proof version of the lineinfile fix 2016-12-08 11:22:59 -05:00
Toshio Kuratomi
1002fafedf Correct lineinfile documentation about double quoting... Hasn't been the case for years. 2016-12-08 11:22:59 -05:00
Semyon Deviatkin
e94140e52b Fix unused variable systemd_enabled
Removed declared but unused variable systemd_enabled
2016-12-08 11:22:59 -05:00
Benno Joy
d24fbf5c3e fixe issue #600, where ec2 module returns instance state as runing even after instance is terminated 2016-12-08 11:22:59 -05:00
fdupoux
6f2f07ef51 Add support for xz compression (for dump and import) in mysql_db module 2016-12-08 11:22:59 -05:00
Brian Coca
18e16a16b7 fixed try/except/finally to be 2.4 compatible 2016-12-08 11:22:59 -05:00
whiter
0eb17142b5 Added postgresql-license type 2016-12-08 11:22:59 -05:00
Jason Paige
329266975b update flat description
default behavior is to append the `hostname/path/to/file`, not prepend as currently stated by the flat arg docs
2016-12-08 11:22:59 -05:00
zimbatm
933256fc63 ec2_group: prioritise current VPC group names over others 2016-12-08 11:22:59 -05:00
zimbatm
c3e720a393 ec2_group: select own group if the name matches
This fixes an issue where multiple VPC have the same group name and
the one from the other VPC is selected.
2016-12-08 11:22:58 -05:00
Martin Froehlich
8bff781a0a Use get_aws_connection_info to get AWS creds.
Previously used get_ec2_creds did not consider security_token,
making MFA requests fail.
2016-12-08 11:22:58 -05:00
Brian Coca
831e1d8739 added updated cache time to apt, also started documenting return values 2016-12-08 11:22:58 -05:00
Jesse Keating
17aabee6df Add service option to avoid failure on missing service
This adds a must_exist option to the service module, which gives callers the
ability to be tolerant to services that do not exist. This allows for
opportunistic manipulation of a list of services if they happen to exist on the
host. While failed_when could be used, it's difficult to track all the
different error strings that might come from various service tools regarding a
missing service.
2016-12-08 11:22:58 -05:00
Jan Brauer
af689dece3 Handle the case where a stack rollback fails. 2016-12-08 11:22:58 -05:00
Matt Schurenko
ef140a084a adding stickiness support to ec2_elb_lb.py
removing policy if enabled is no

adding sanity checks

removing debuging

check if policy exists before deleting

updating version_added to 2.0

adding stickiness support to ec2_elb_lb.py (squashed commit)
2016-12-08 11:22:58 -05:00
Jell
2e007167b9 Find or Create volume by name 2016-12-08 11:22:58 -05:00
Toshio Kuratomi
5336217649 Several cleanups to many modules:
* Fix docs to specify when python2.6+ is required (due to a library
  dep).  This helps us know when it is okay to use python2.6+ syntax in
  the file.
* remove BabyJson returns.  See #1211  This commit fixes all but the
  openstack modules.
* Use if __name__ == '__main__' to only run the main part of the module
  if the module is run as a program.  This allows for the potential to
  unittest the code later.
2016-12-08 11:22:58 -05:00
Brian Coca
0567404c03 generic fix for Exceptions that heppen when trying to set permissions on extracted files fixes ansible/ansible#10934 which is really a corner case 2016-12-08 11:22:58 -05:00
Nathaniel
935550d20d Update set_fact.py
Context: I recently discovered that when setting a fact, key=value pairs and complex arguments differ in how the fact is stored. For example, when attempting to use complex arguments using key=values, the result can be stored as a unicode string as opposed to an object/list/etc.

I'm hoping the above example update will better demonstrate to and instruct people to use complex arguments instead of key=value pairs in certain situations.
2016-12-08 11:22:58 -05:00
Matt Martz
65508bb21a Python2.4 fixes
* Ignore accelerate.py
* Don't use a lambda or a ternary
2016-12-08 11:22:58 -05:00
macbeth76
fce97365a4 Update user.py
M in date format is minutes. m is for months.
2016-12-08 11:22:58 -05:00
Chris Lundquist
7b4107a169 fix ami_search doc copy pasta 2016-12-08 11:22:58 -05:00
Toshio Kuratomi
dd02483b26 Explain why the apt module does not do implicit regex matches on package name since this is different than the apt-get command line tool.
Fixes #1258
2016-12-08 11:22:58 -05:00
Dominic Hargreaves
535f0e9b11 apt_key documentation: add a note explaining the benefit of including 'id' 2016-12-08 11:22:58 -05:00
Benno Joy
fc1ad5e1f1 fixes issue 122, where the module recreates the route table in each run 2016-12-08 11:22:58 -05:00
Ratnadeep Debnath
a99d7da0c1 Fixed typo in cloud docker module. 2016-12-08 11:22:57 -05:00
Toshio Kuratomi
5844a04061 Fix documentation formatting 2016-12-08 11:22:57 -05:00