Commit graph

209 commits

Author SHA1 Message Date
Cristian Ciupitu
7f681c33a2 Micro-optimization: replace s.find(x)!=-1 with x in s
timeit shows a speedup of ~3x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
2014-03-16 13:10:28 -04:00
Richard Isaacson
35b4cf001c Merge pull request #6461 from risaacson/modules_make_run_command_safer
Modules make run command safer
2014-03-12 23:28:06 -05:00
Richard C Isaacson
122917019c mysql_db module: typo fix
Tests clean.
2014-03-12 23:25:22 -05:00
Richard C Isaacson
d9da5cf084 Shell updates. 2014-03-12 22:15:56 -05:00
James Martin
0a74cb484c Fixes various typos introduced in a9017af2bb.
Fixes odd encoding problem with wait_for_service.
2014-03-12 21:26:16 -04:00
Michael DeHaan
980653f20b More shell fixes 2014-03-12 17:43:31 -04:00
James Cammarata
72217c297d Adding validate_certs to all modules that use fetch_url 2014-03-12 10:19:54 -05:00
Richard C Isaacson
525e811d9b Bulk update of choices=BOOLEANS to type='bool' 2014-03-11 22:56:51 -05:00
James Cammarata
b77ea4ed91 Merge pull request #4630 from mmoya/mysql_variables-fix2
Add support for string values
2014-03-11 15:20:46 -05:00
James Cammarata
a1b1182662 Validate SSL certs accessed through urllib*
* Adds another module utility file which generalizes the
  access of urls via the urllib* libraries.
* Adds a new spec generator for common arguments.
* Makes the user-agent string configurable.

Fixes #6211
2014-03-10 16:06:52 -05:00
Michael DeHaan
8e9f058214 Merge pull request #6305 from amree/fix-mysql-replication-port
Fixed SQL syntax error when running mysql_replication module
2014-03-06 11:08:12 -06:00
Jimena Cabrera-Notari
86e7555554 Don't use keyword error in encode
This is not supported in Python 2.6. Just use positional arguments.
2014-03-06 13:33:53 +00:00
amree
59f954b349 MASTER_PORT variable for CHANGE MASTER TO command can only accept integer value 2014-03-06 12:19:54 +08:00
Guido Kollerie
314e621671 Emphasize target is on remote host. List supported file types.
From the documentation it is not immediately clear that the 'target'
option refers to a location on the remote host. This change emphasizes that.
In addition to .sql files, .bz2 and .gz files are supported for dumps and
restores. This is now documented.
2014-02-26 12:56:24 +01:00
Kyle Kelley
70d8be5cc2 Fix expires 2014-02-24 15:54:55 -06:00
James Martin
e312b0e5bf Properly fetching the riak version, and properly setting the python interpreter. 2014-02-19 12:12:02 -05:00
James Cammarata
c85b7d868b Merge branch 'fix-postgres_user_to_understand_pg_namespaces' of https://github.com/alanfairless/ansible into alanfairless-fix-postgres_user_to_understand_pg_namespaces 2014-02-17 10:04:12 -06:00
James Cammarata
a570280b81 Merge branch 'postgres_alter_role' of https://github.com/jinnko/ansible into jinnko-postgres_alter_role
Conflicts:
	library/database/postgresql_user
2014-02-17 09:57:31 -06:00
Maykel Moya
5da6fcae4d Add support for string values
The SET GLOBAL statement requires properly quoting of values. For example, the
following correct queries will fail if quotes are toggled:

mysql> SET GLOBAL innodb_lru_scan_depth = 2000;
mysql> SET GLOBAL master_info_repository = "TABLE";

`mysql_variable` module doesn't quote the value argument, therefore
string values will fail.

  # this task will pass, 2000 is passed without quotes
  - name: set a numeric value
    mysql_variable: variable=innodb_lru_scan_depth value=2000

  # this task will fail, TABLE is passed without quotes
  - name: set a string value
    mysql_variable: variable=master_info_repository value=TABLE

With this patch prepared statements are used. Proper quoting will be
done automatically based on the type of the variables thus an attempt
to convert to int, then to float is done in first place.

Booleans values, ie: ON, OFF, are not specially handled because they
can be quoted. For example, the following queries are correct and
equivalent, they all set _innodb_file_per_table_ to logical _True_:

mysql> SET GLOBAL innodb_file_per_table = "ON";
mysql> SET GLOBAL innodb_file_per_table = ON;
mysql> SET GLOBAL innodb_file_per_table = 1;

Tested in mysql 5.5 and 5.6.
2014-02-12 12:44:28 +01:00
Arturs Vonda
df853fa92e Added port documentation to postgresql_db and postgresql_user 2014-02-07 18:27:55 +02:00
George Miroshnykov
58e34edce3 Add idempotency to mongodb_user module 2014-02-04 13:56:35 +02:00
Matthew Jones
3ddfc8d471 Allow strings containing single and double quotes to be used as passwords for postgres_user 2014-02-03 17:07:17 -05:00
Timur Batyrshin
9ad52632c5 reword "except Error as e:" into "except Error, e:" to be compatible with Python 2.5 (#5852) 2014-02-03 13:00:40 -06:00
Matthew Leventi
1637438298 adding the ability to change redis configuration 2014-01-25 22:20:39 -08:00
jctanner
7bab8656a3 Merge pull request #5435 from jkleckner/fix-mysql-dump-import
mysql_db module: make dump and import to use port argument
2014-01-14 13:06:33 -08:00
David Busby
ab8d5c5924 Documentation update to yield example of "WITH GRANT OPTION" which is undocumented previous 2014-01-14 12:04:32 +00:00
Alan Fairless
927a30c404 Fix postgresql_user to understand PG namespaces
Previously postgresql_user quoted user supplied identifers to create
grant statements that look like this:

    GRANT SELECT on "tablename" to "user";

Which only works if the tablename is not in a namespace.  If you supply
a namespaced tabelname like "report.revenue" then it creates this
incorrect statement:

    GRANT SELECT on "report.revenue" to "user";

Which will not find the "revenue" table in the "report" namespace, but
will rather look for a table named "report.revenue" in the current
(default public) namespace.  The correct form is:

    GRANT SELECT on "report"."revenue" to "user";

This approach could have the unfortunate effect that code that
previously relied on the other behavior to grant privileges on tables
with periods in their names may now break.  PostgreSQL users
typically shouldn't name tables as such, and users can still access the
old behavior and use tablenames with periods in the if they must by
supplying their own quoting.
2014-01-04 15:37:08 -06:00
Jim Kleckner
8ba9019797 Add quotes to password argument for dump/import
The password is passed on a command line for dump and import and needs
quoting.

Ideally, this would not be passed on a command line at all - any ideas?
Or at least have a stronger form of quoting so that embedded single
quotes will be escaped.
2014-01-02 12:04:03 -08:00
Jinn Koriech
57dc4fbea2 postgresql_user module: Gracefully handle ALTER ROLE on read-only postgres servers. 2013-12-31 18:23:45 +00:00
Jim Kleckner
59396d38e2 Fix mysql_db dump and import to use port argument
The code for mysql_db did not pass the port argument when state=dump or
state=import.
2013-12-26 16:21:16 -08:00
jctanner
8b925e93e6 Merge pull request #5099 from tartansandal/postgresql_db_check_mode
postgres_db CHECKMODE changed status
2013-12-16 11:39:16 -08:00
Jinn Koriech
fbb1018abe Fix postgresql_user documentation render 2013-12-05 16:57:56 +00:00
Jinn Koriech
e1aa94896f Add documentation for usage of encrypted postgresql passwords. 2013-12-05 10:35:35 +00:00
James Tanner
4f9aadcc07 Addresses #5023 Fix import comments 2013-12-02 15:13:49 -05:00
James Tanner
38edad70ac Fixes #5023 Convert all modules to use new snippet import pattern 2013-12-02 15:11:23 -05:00
Kahlil (Kal) Hodgson
147783528c postgres_db CHECKMODE changed status
Make the changed status for postgres_db under CHECKMODE match the
status that would be returned normally.
2013-11-29 11:29:03 +11:00
Michael DeHaan
4c35b7f380 There's a cleaner way to do this, commit to module formatter pending.
Revert "No longer need to reference 'version_added' in docs for these, as this was quite a while ago."

This reverts commit ff0a41d446.
2013-11-27 21:23:03 -05:00
Michael DeHaan
9e4d71203d No longer need to reference 'version_added' in docs for these, as this was quite a while ago. 2013-11-27 21:19:32 -05:00
Michael DeHaan
08996d78d6 Add version_added to all modules missing version_added information, the docs formatter will now
raise errors when omitted, updated changelog with new modules.
2013-11-18 18:55:49 -05:00
James Tanner
eccbd21a0d Fix typo in postgresql_user module docstrings 2013-11-14 11:57:01 -05:00
jctanner
6336129f59 Merge pull request #4686 from bcoca/postgresql_user_pwds
postgresql_user now supports users w/o a password, encrypted passwords and expiration
2013-11-14 08:55:11 -08:00
James Tanner
f7db64d69b Merge pull request #4307 from damianmoore/mysql_gzip_bzip2_support
Add support for compressing mysql dumps and extracting during import.
2013-11-07 15:07:59 -05:00
Steve Tjoa
de4b105e09 Changed parameter from 'user' to 'name' in the examples to coincide with the specs. 2013-11-02 22:42:44 -07:00
James Tanner
3370aee870 Fixes #4720 Use mysql command to restore database instead of mysqldump 2013-10-29 10:33:46 -04:00
Brian Coca
9b8b79f1fd updated to make note that password is required before v1.4
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-10-26 12:47:22 -04:00
Brian Coca
0d9a6b63ea updated docs
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-10-26 11:37:45 -04:00
Brian Coca
cdec70eeff now supports users w/o a password, encrypted passwords and expiration
Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
2013-10-26 11:32:16 -04:00
Maykel Moya
6155bf2c55 Fail if requested variable is not available 2013-10-22 09:30:19 +02:00
James Tanner
251b52bef8 Fixes #4454 Make a temporary clean cnf file if unable to parse existing 2013-10-18 17:42:40 -04:00
Maykel Moya
2d33cf898c Improve change detection in mysql_variables
mysql_variables bindly executes a SET var = value query even when
the variable already has the requested value.

With this patch the query is executed only if the current value is
different to the requested one.
2013-10-17 19:13:58 +02:00
James Tanner
f233e29386 mysql_db: if connection is a socket, do not specify hostname 2013-10-16 09:59:31 -04:00
James Tanner
9128862b3b Fixes #4301 Use module_common functions for mysqldump and return better errors 2013-10-16 09:51:08 -04:00
Michael DeHaan
c586ed5168 Merge pull request #4342 from pileofrogs/devel
mysql_replication switch to DictCursor for compatibility with more mysql server versions
2013-10-11 06:21:22 -07:00
Michael DeHaan
daa005085d Add missing version_added doc to mysql login port parameter. 2013-10-11 09:14:14 -04:00
Dylan Martin
280ecaa453 toned down the error message for unconfigured master/slave 2013-10-10 09:15:47 -07:00
Jeroen Hoekx
19b52e9fb7 Add append_privs parameter to MySQL user module.
This adds the privileges given to the existing list of privileges
instead of overwriting any existing ones.
2013-10-03 14:57:01 +02:00
Dylan Martin
3c7f8d6272 switch to DictCursor 2013-10-02 13:00:07 -07:00
Damian Moore
85ed9af959 mysql_db now supports import and dump of gzip and bzip2 compressed files 2013-09-30 19:09:32 +01:00
James Cammarata
619a80c505 Merge branch 'devel' of https://github.com/tomdymond/ansible into tomdymond-devel 2013-09-23 14:53:46 -05:00
James Cammarata
e62844653c Merge branch 'devel' of https://github.com/abompard/ansible into abompard-devel 2013-09-06 13:51:45 -05:00
James Cammarata
d93edadbbb Merge branch 'fix_postgresql_db' of https://github.com/yteraoka/ansible into yteraoka-fix_postgresql_db 2013-09-06 13:26:01 -05:00
James Cammarata
51fedb64a9 Cleaning up pep8 whitepsace issues in the mysql_replication module 2013-09-06 12:50:50 -05:00
James Cammarata
07c825d8f5 Merge branch 'bugfix' of https://github.com/jsmartin/ansible into jsmartin-bugfix 2013-09-06 12:47:27 -05:00
James Martin
6539652a28 Fixes for python 2.4 support, better collection of riak version. 2013-09-06 13:42:27 -04:00
James Cammarata
d16ba9758e Added version_added to the mysql_variables module doc section 2013-09-06 12:32:08 -05:00
James Cammarata
3fe2549363 Merge branch 'mysql_variables' of https://github.com/banyek/ansible into banyek-mysql_variables 2013-09-06 12:25:52 -05:00
James Cammarata
8dd3339d3a Added version_added to the mysql_replication module doc section 2013-09-06 12:23:41 -05:00
James Cammarata
c5be708dd5 Merge branch 'mysql_replication' of https://github.com/banyek/ansible into banyek-mysql_replication 2013-09-06 12:10:31 -05:00
James Cammarata
0eaae4ac9c Cleaning up whitspace issues in the mysql_user module 2013-09-06 10:51:53 -05:00
John Hamelink
266255640e Fixed #3767 - mysql_user command fails with dots (and underscores) in
database names.
2013-09-06 10:51:53 -05:00
Aurélien Bompard
e4cfa251e2 Module postgresql_privs: fix default arguments
Defaults arguments must not be added to the connection keywords, as
the other postgresql modules already do.

Closes #4043
2013-09-06 00:17:49 +02:00
Tom Dymond
b3646176a9 Add option to specify the MySQL server port 2013-09-05 16:25:34 +01:00
TERAOKA Yoshinori
b8a26eda0b fix get_db_info
using pg_roles instead of pg_user
if database owner is a role (not user) then it can not select form pg_user table.
2013-09-05 12:40:16 +09:00
James Cammarata
777b8be15f Fixing small typo in redis module documentation 2013-08-19 14:04:58 -05:00
James Cammarata
60e7da2031 Merge branch 'redis-config' of https://github.com/slok/ansible into slok-redis-config 2013-08-19 13:35:31 -05:00
James Cammarata
1bb4c9ab25 Cleaning up some pep8 whitespace issues in mongodb_user 2013-08-13 13:00:37 -05:00
James Cammarata
97a42d58fe Fixing up a small issue with the mongodb_user docs 2013-08-13 09:05:19 -05:00
Ben Podoll
3a351d0599 adding fixes to support older versions of mongo (and pymongo) as well as new versions 2013-08-13 00:23:58 -05:00
Ben Podoll
1de933aee3 adding comment about required version of mongodb to use the roles param 2013-08-12 21:25:21 -05:00
Ben Podoll
8fc19eb4fa adding the ability to specify roles when adding/modifying a mongo user 2013-08-12 15:03:31 -05:00
Dan Robinson
80c8a0bfd6 Brings postgresql_db examples in line with documentation.
As of now, the documentation lists a parameter as "name",
whereas the examples use a parameter called "db". This brings
them in line.
2013-08-11 00:41:23 -07:00
Balazs Pocze
cb9a6a9c2c EXAMPLES section added 2013-08-08 11:28:26 +02:00
Balazs Pocze
1a108a227e Changes made in documentation (EXAMPLES section added)
Minor identation fixes
2013-08-08 00:10:06 +02:00
Michael DeHaan
fab11537b1 Merge pull request #3691 from stoned/mysql_user-doc-fix
module mysql_user: fix 'state' parameter description
2013-08-01 17:25:21 -07:00
Balazs Pocze
3b9171077c mysql_replication module added 2013-07-30 17:02:07 +02:00
Balazs Pocze
39cc08e0f0 MySQL variables module 2013-07-30 16:59:32 +02:00
Stoned Elipot
a0ce78e6e5 module mysql_user: fix 'state' parameter description 2013-07-29 23:50:17 +02:00
Stijn Tintel
7102503bb2 Only revoke GRANT OPTION when user actually has it
When revoking privileges from a user, the GRANT OPTION is always
revoked, even if the user doesn't have it. If the user exists, this
doesn't give an error, but if the user doesn't exist, it does:

mysql> GRANT ALL ON test.* TO 'test'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> REVOKE GRANT OPTION ON test.* FROM 'test'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> REVOKE GRANT OPTION ON test.* FROM 'test'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> REVOKE ALL ON test.* FROM 'test'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> REVOKE GRANT OPTION ON test.* FROM 'test'@'localhost';
ERROR 1141 (42000): There is no such grant defined for user 'test' on
host 'localhost'

Additionally, in MySQL 5.6 this breaks replication because of
http://bugs.mysql.com/bug.php?id=68892.

Rather than revoking the GRANT OPTION and catching the error, check if
the user actually has it and only revoke it when he does.
2013-07-23 13:00:29 +02:00
Xabier Larrakoetxea
564f2a99e7 Changed action keyword to command 2013-07-20 18:39:18 +02:00
Michael DeHaan
23e9e5c028 Add version_added information to module parameter. 2013-07-20 12:33:42 -04:00
Michael DeHaan
6f64c090c2 Merge pull request #3396 from adq/mysql
Check if mysql allows login as root/nopassword before trying supplied credentials.
2013-07-20 09:32:00 -07:00
Xabier Larrakoetxea
6fb37c5825 Added redis config module (slave and flush) 2013-07-15 21:47:36 +02:00
Jan-Piet Mens
683e9e27c0 mysql_db small fix to docs 2013-07-14 13:11:03 +02:00
James Martin
79a00eca47 Fixed #3433. Using get_bin_path, removed uneeded imports, "module" is inlined, misc other style improvements. 2013-07-05 13:22:44 -04:00
Andrew de Quincey
28ec499f2a Check if mysql allows login as root/nopassword before trying supplied credentials. 2013-07-01 11:56:04 +01:00
Jan-Piet Mens
98c1423269 Docs: consistently format playbook EXAMPLES 2013-06-17 08:53:46 +02:00
Michael DeHaan
3274cef6d1 Merge pull request #3172 from gw0/fix-mongodb2.2-compat
Fix `mongodb_user` compatibility with MongoDB 2.2 (used in Debian 7).
2013-06-16 20:24:31 -07:00
Michael DeHaan
653d78c23d Merge pull request #3177 from stintel/mysql56-compat
Fix MySQL 5.6 compatibility
2013-06-16 19:27:17 -07:00
Jan-Piet Mens
3404a0fc16 DOCS: standardize on EXAMPLES (a.k.a. Docs-JumboPatch JetLag Edition)
Migrated all examples: in DOCUMENTATION=''' string to standalone EXAMPLES=''' string
  Added deprecation warning to moduledev.rst and remove deprecated example from it
  Fixed up a few typos and uppercased some acronyms.
  add consistency to how EXAMPLES are formatted
2013-06-15 20:54:25 +02:00
Stijn Tintel
66ffef5967 Fix MySQL 5.6 compatibility
In MySQL 5.6, the root account created by default during MySQL
installation has the PROXY ... WITH GRANT OPTION privilege for ''@'',
that is, for all users.

The mysql_user module tries to revoke this privilege, but this fails:
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your
SQL syntax; check the manual that corresponds to your MySQL server
version for the right syntax to use near '''@'' FROM 'root'@'localhost''
at line 1")

Quick fix: don't revoke privilege if user is root and the privilege to
revoke contains PROXY.
2013-06-11 15:00:14 +02:00
gw0 [http://gw.tnode.com/]
f86baf554c Fix mongodb_user compatibility with MongoDB 2.2 (used in Debian 7). 2013-06-10 22:43:50 +02:00
Michael DeHaan
3012d269ff pep8 fixes 2013-06-01 12:29:03 -04:00
Michael DeHaan
fd62197cf1 Docs standardization 2013-06-01 12:12:11 -04:00
Michael DeHaan
a6006f3c0f Docs standardization 2013-06-01 12:11:26 -04:00
James Martin
8fa7768e91 Now can specify amount of time to wait_for_handoffs or ring ready instead of booleans. 2013-05-27 17:24:10 -04:00
James Martin
9cfcede201 Timeouts implemented for riak stats operation. Removed failback mode
for fetching riak stats.
2013-05-27 17:12:13 -04:00
James Martin
0db8879915 Fixed docs. Fixed fallback status method. Fixed "changed" message with cluster commit. 2013-05-05 14:54:23 -04:00
Bernhard Weitzhofer
d0d9ed5b9c postgresql_privs: fix wrong codec specification
Use psycopg2's mapping from PostgreSQL encoding names to Python codec names.
2013-05-03 21:31:20 +02:00
Michael DeHaan
cd97a4cb14 Allow modules to be categorized, and also sort them when generating the documentation. 2013-04-28 15:03:45 -04:00