Commit graph

219 commits

Author SHA1 Message Date
Andrew Shults
8396c063a3 Strip white space to support multiline permissions in YAML 2014-12-09 17:14:16 -05:00
Toshio Kuratomi
e8edee4166 Fix typo 2014-12-04 13:35:07 -08:00
Toshio Kuratomi
b766390ae2 Add USAGE as a valid privilege 2014-12-03 14:43:20 -08:00
Toshio Kuratomi
5af4463823 Gixes to doc formatting 2014-12-03 08:17:15 -08:00
Toshio Kuratomi
dda6d89060 Fix typo so docs will build 2014-12-03 07:09:10 -08:00
Toshio Kuratomi
3a80b734e6 Escape % in db+table names before adding to a format string being passed into db.execute()
Fixes #416
2014-12-01 10:40:53 -08:00
Dan
084ccf5a64 Adds a login_unix_socket option to the postgresql_privs module. 2014-12-01 12:27:12 -05:00
Dan
3a3ff1f0e4 Adds a unix_socket/login_unix_socket option to the postgresql_user module. 2014-12-01 12:23:33 -05:00
Dan
bf36697a55 Adds a login_unix_socket option to the postgresql_db module. 2014-12-01 12:23:33 -05:00
Toshio Kuratomi
1cab307649 Fix module traceback instead of returning an error 2014-12-01 07:15:27 -08:00
Toshio Kuratomi
2a794fa776 Fix for single role_attr 2014-11-26 14:43:56 -08:00
Toshio Kuratomi
7dd2859f9b Add a bare grant to the list of allowed privileges 2014-11-26 08:26:53 -08:00
Devin Christensen
06f1c1a97e Fix user_alter in postgresql_user 2014-11-25 12:04:47 -07:00
Devin Christensen
c77ab67274 Fix user_add in postgresql_user 2014-11-25 11:46:41 -07:00
Devin Christensen
4a3d7473fd Fix syntax error 2014-11-25 10:44:04 -07:00
Toshio Kuratomi
10ebcccedb Escape mysql identifiers 2014-11-25 01:46:09 -08:00
Toshio Kuratomi
06ac459fc5 Correct new function name 2014-11-25 01:42:33 -08:00
Toshio Kuratomi
c84ae54294 Normalize privs and flags to uppercase so comparisons against allowed names will work 2014-11-25 00:44:18 -08:00
Toshio Kuratomi
fbc4ed7a88 Make sure we quote or confirm good all user provided identifiers 2014-11-24 22:56:51 -08:00
Toshio Kuratomi
51910a1a33 Audit escaping of identifiers in the postgresql_user module 2014-11-24 22:30:10 -08:00
Toshio Kuratomi
1b0afb137c More robust quoting of database identifiers
Note: These aren't database values, those are already using the
appropriate Pyhton DB API method for quoting.
2014-11-24 20:51:27 -08:00
Jonathan Mainguy
16b251d743 adds error message if socket does not exist 2014-11-12 17:03:02 -05:00
kustodian
81cbdb6c8c Fixed postgresql_db failing on Python 2.4 with --check 2014-11-06 09:46:54 +01:00
Michael DeHaan
3ed1378067 Some more module categorization. 2014-11-04 17:23:22 -05:00
Michael DeHaan
385a037cd6 package files 2014-09-26 11:05:47 -04:00
Michael DeHaan
c8e1a2077e file extensions! 2014-09-26 10:37:56 -04:00
Michael DeHaan
417309a626 Restructuring. 2014-09-26 10:13:26 -04:00
Michael DeHaan
73123b69fa Move modules into subdirectory. 2014-09-26 09:23:50 -04:00
James Martin
49a5619cc0 Prevents module from failing with "_mysql_exceptions.Warning: Sending passwords in plain text without SSL/TLS is extremely insecure." When not using SSL/TLS. 2014-09-09 19:44:40 -04:00
Michael DeHaan
677709803c Merge pull request #8419 from georgeOsdDev/escape_underscore_in_database_name
mysql_db module: Escape "_" in database name for "SHOW DATABASES" statement
2014-08-08 14:38:51 -04:00
Michael DeHaan
185d5a6221 Merge branch 'spelling' of git://github.com/cgar/ansible into devel
Conflicts:
	docsite/rst/guide_rax.rst
	plugins/callbacks/mail.py
2014-08-08 13:28:45 -04:00
Takeharu Oshida
b42ff30505 Escape "_" in database name for "SHOW DATABASES" statement 2014-08-04 20:15:58 +09:00
Wayne Rosario
7cfef577a1 Adding the following Test Coverage:
Use mysql_user module to create, delete users.
Update user password and ensure new password was updated for the correct user.
Assert user has access to multiple databases
Assert user creation, deleting using different user privilege and ensure privilege work correctly.
2014-07-29 11:49:53 -04:00
Wayne Rosario
45d7e53da9 updating doc to include revoke example for mysql_user docs 2014-07-24 10:32:28 -04:00
Jonathan Mainguy
3da1e5ce62 This fixes 8173, if target was not defined it would break, now it wont 2014-07-18 09:52:37 -04:00
James Cammarata
93d862f3f5 Expand target for mysql_db
Fixes #8128
2014-07-16 13:39:47 -05:00
Jonathan Mainguy
2b84ec6b4a Errors out with stderr 1049, unknown database: when importing a database that does not exist 2014-07-11 14:57:45 -04:00
James Cammarata
a8368e4dc4 Merge pull request #8092 from ghjm/mysql-exceptions
Added exception handling to database creation and deletion. Fixes #8075.
2014-07-11 11:59:12 -05:00
Graham Mainwaring
8e6e9a12e7 Switched primary and alias names of the name/db parameter, to match documentation. Fixes #8065. 2014-07-10 22:37:46 -04:00
Graham Mainwaring
6e237bed7a Added exception handling to database creation and deletion. Fixes #8075. 2014-07-10 22:28:56 -04:00
Jonathan Mainguy
f4690464b4 Makes ansible fail if login_port is defined and login_host is either not defined, or defined as localhost. This is because if login_host is localhost then MySQLdb will use the socket instead of TCP. This leads to confusion for ansible users as, when a port is defined it gets ignored if login_host is localhost. This is to fix the bug reported by wrosario #8070. Info on MysqlDb can be read here http://mysql-python.sourceforge.net/MySQLdb.html 2014-07-09 14:38:27 -04:00
James Cammarata
ae37758257 Merge pull request #6766 from Jmainguy/mysql_db_bug
mysql_db module now correctly fails on import if bz2 or gz fails.
2014-06-23 12:42:42 -05:00
Scott Brown
34d960ef20 BUGFIX 1178: Adding better existence check in one place. db_import now fails fast if target does not exist b/c no point going further without the target. 2014-06-17 14:37:14 -07:00
Scott Brown
1853a3f565 BUGFIX 7811: Adding file existence check when performing mysql import on a .gz or .bz2 file, otherwise Ansible will not notice that the underlying *nix command silently died. 2014-06-17 13:08:53 -07:00
James Cammarata
8d0d2831e6 Fixing mysql master replication boolean
Fixes #7528
2014-06-09 08:58:55 -05:00
Josef Špak
1dbc069bcb Fix typo in CHANGE MASTER TO syntax 2014-06-02 13:42:55 +02:00
Mathieu Martin
9589ee2a41 Add example 'Specify grants composed of more than one word' to the mysql_user module. 2014-05-20 14:41:18 -04:00
Scott Sturdivant
40a6a6f911 Clarify that the encrypted param must also be set.
While the encrypted parameter's documentation clearly states that it needs to
be set, if you are focused on the password parameter's documentation, there's
nothing to draw your attention to the fact that encrypted may also need to be
set.
2014-05-14 07:49:11 -06:00
Adam Chainz
29b10ac698 Fix sync_binlog name in mysql_variables example
The previous sync_binary_log is not a real MySQL variable.
2014-05-06 12:25:11 +01:00
Carlos E. Garcia
4dcaa9d9fb multiple spelling error changes 2014-04-29 10:41:05 -04:00
Cove Schneider
ae0721d3da re-add idempotency check 2014-04-05 16:31:33 -07:00
Cove Schneider
428dead8cd add replicaset support to mongodb_user module 2014-04-05 15:33:22 -07:00
Michael DeHaan
acd89f7a1f Merge pull request #6796 from mistaka0s/mysqldump_fix
Remove extra quote from the mysqldump password argument
2014-04-02 17:24:35 -04:00
Matt Martz
a4078a4bf8 Use /usr/bin/python instead of /usr/bin/env python 2014-04-01 13:54:37 -05:00
Chao Luan
749e749c11 Remove extra quote from the mysqldump password argument
The mysqldb Ansible module will fail if the state specified is import or dump with a '1045: Access Denied' mysql error for complex passwords.

This is caused by the extra quote around the '--password' argument to mysqldump, as pipes.quotes already quotes the password string.

>>> "--password='%s'" % pipes.quote('simple')
"--password='simple'"

>>> "--password='%s'" % pipes.quote('c0mplexp@ssword!')
"--password=''c0mplexp@ssword!''"

>>> "--password='%s'" % pipes.quote('password with space')
"--password=''password with space''"
2014-04-01 23:52:08 +11:00
Jonathan Mainguy
17fa8e3c84 Added mpdehaan suggestion to use os.path.splitext. Wise suggestion, does look clearner 2014-03-31 11:09:00 -04:00
Jonathan Mainguy
f0b2616bd8 mysql_db module now correctly fails on import if bz2 or gz fails. 2014-03-30 13:39:00 -04:00
Michael DeHaan
ff5560f00c Update comments about redis config. 2014-03-19 18:15:52 -04:00
Michael DeHaan
fbb15ad52f Merge branch 'devel' of git://github.com/mleventi/ansible into devel 2014-03-19 18:15:06 -04:00
Michael DeHaan
d10b3f9257 Merge pull request #5597 from laggyluke/mongodb_user_idempotence
Fix idempotence in mongodb_user module
2014-03-16 15:50:43 -05:00
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