Commit Graph

120 Commits (13cbe115e156ca93b919dc51330e7991d5fb81be)

Author SHA1 Message Date
jctanner b10d5f34ea Extend validate-modules to check the next to last line (#34819)
* Add validation for the next to last line of a module

* Fix last error code

* Reduce to a single conditional

* Fix conditionals

* Move the final warnings statement to main() in mysql_replication
2018-01-15 15:49:35 +00:00
Matt Clay 9735a70059 Fix invalid string escape sequences. 2017-11-21 20:59:08 -08:00
dramaley 1fe608afbf Fix for database names that contain colons
Bug fix: Permissions were not parsed correctly if the database name contains a colon (:) character. For example, a privilege string of "*.*:USAGE/`lnx-www-prod:wordpress`.*:ALL" would fail with "invalid privileges string: Invalid privileges specified: frozenset(['WORDPRESS`.*'])". This 1-line fix works around the problem.
2017-11-13 20:23:57 -05:00
alex lustenberg ff4fa6ac29 fix for empty hostnames in mysql users (#20523) 2017-08-17 12:00:26 -04:00
Toshio Kuratomi f203ca7907 Update metadata to 1.1 2017-08-15 23:12:08 -07:00
Will Thames dbf9a65c05 Improve error messages when MySQLdb is not installed (#27871)
The python package is called MySQL-python in pypi, and
reporting this rather than mysqldb makes resolving the
problem far easier.
2017-08-08 12:59:51 -04:00
Toshio Kuratomi 0b9a78f0b3 Remove wildcard, add boilerplate and get rid of get_exception
* smaller collections of database modules
* Some of the smaller collections of network modules
2017-07-31 13:51:38 -07:00
Abhijeet Kasurde 9fbbb5e10f Pep8 fixes for mysql module (#23923)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-04-26 12:56:35 +01:00
Matt Martz 3164e8b561 E501 fixes (#22879) 2017-03-22 20:50:28 -05:00
Toshio Kuratomi eb1214baad New metadata 1.0 (#22587)
Changes to the metadata format were approved here:
https://github.com/ansible/proposals/issues/54
* Update documentation to the new metadata format
* Changes to metadata-tool to account for new metadata
  * Add GPL license header
  * Add upgrade subcommand to upgrade metadata version
  * Change default metadata to the new format
  * Fix exclusion of non-modules from the metadata report
* Fix ansible-doc for new module metadata
* Exclude metadata version from ansible-doc output
* Fix website docs generation for the new metadata
* Update metadata schema in valiate-modules test
* Update the metadata in all modules to the new version
2017-03-14 09:07:22 -07:00
Pierrick Caillon a1b3664ec4 Fix: mysql_user - permission string with column privileges
MySQL returns privileges on columns as "PRIVILEGES (column)".
For permissions to be correctly matched, it must be specified exactly the
same in the module argument. A resulting string is like
"dbname.dbtable:PRIVILEGES (column)". Thus, the space before the opening
parenthesis must also be removed when creating the set of privileges for
validation.
2017-02-21 10:51:03 -08:00
Matt Martz 7c00346714 Validate EXAMPLES as YAML 2017-02-15 13:01:43 -08:00
Matt Clay 10d9318de7 PEP 8 indent cleanup. (#20800)
* PEP 8 E121 cleanup.

* PEP 8 E126 cleanup.

* PEP 8 E122 cleanup.
2017-01-29 07:28:53 +00:00
Matt Clay d0d1158c5e PEP 8 cleanup. (#20789)
* PEP 8 E703 cleanup.
* PEP 8 E701 cleanup.
* PEP 8 E711 cleanup.
* PEP 8 W191 and E101 cleanup.
2017-01-28 00:12:11 -08:00
Matt Clay d913f69ba1 PEP 8 W291 whitespace cleanup. 2017-01-27 17:08:02 -08:00
James Cammarata 011ea55a8f Relocating extras into lib/ansible/modules/ after merge 2016-12-08 11:35:18 -05:00
James Cammarata 8afa090417 Resolving differences in core modules post-merge 2016-12-08 11:25:36 -05:00
Toshio Kuratomi 7319104552 Refreshed metadata for core modules 2016-12-08 11:25:35 -05:00
Wouter Oosterveld 61060f4b5f mysql_user: fix user_mod on MySQL(-like) 5.7+ (Fixes #3003) (#5388) 2016-12-08 11:25:33 -05:00
Sam Doran 895179929c Examples syntax batch6 (#5623)
* Change example syntax on os_auth module

* Change example syntax on os_client_config module

* Change example syntax on os_image_facts module

* Change example syntax on os_networks_facts module

* Change example syntax on os_nova_flavor module

* Change example syntax on os_object module

* Change example syntax on os_server module

* Change example syntax on os_subnet_facts module

* Change example syntax on rax_files module

* Change example syntax on rax_files_objects module

* Change example syntax on mysql_db module

* Change example syntax on file module

* Change example syntax on uri module

* Change example syntax on cl_bond module

* Change example syntax on cl_bridge module

* Change example syntax on cl_img_install module

* Change example syntax on cl_interface module

* Change example syntax on cl_license module

* Change example syntax on cl_ports module

* Remove trailing colon
2016-12-08 11:25:31 -05:00
Sam Doran e0cfe14901 Change examples syntax on mysql_variables module 2016-12-08 11:25:28 -05:00
Sam Doran db723af8aa Change examples syntax on mysql_user module 2016-12-08 11:25:28 -05:00
Sam Doran 119a767cd2 Change examples syntax on mysql_db module 2016-12-08 11:25:28 -05:00
John R Barker 25b6492d37 Bulk spelling improvement to modules-core (#5225)
* Correct spelling mistakes

* Correct more spelling issues

* merge conflict

* Revert typo in parms
2016-12-08 11:25:20 -05:00
Søren Kröger 61144f4da9 Added single_transaction and quick to db_dump (#3687)
It was missing before, ...
2016-12-08 11:25:12 -05:00
Tobias Wolf cda78382b6 Fix database table quoting in privileges_unpack() (#3858)
In Ansible 2.x this module gives `changed = True` for all privileges
that are specified including a table with

    priv: "database.table:GRANT"

Mysql returns escaped names in the format

    `database`.`tables`:GRANT

However in PR #1358, which was intended to support dotted database names
(a crazy idea to begin with), the quotes for the table name were left
out, leading to `curr_priv != new_priv`.

This means that the idempotency comparison between new_priv and
curr_priv is always 'changed'.

This PR re-introduces quoting to the table part of the priv.
2016-12-08 11:24:57 -05:00
Jean Prat ed246a328f if user is empty, it is not converted to tuple when using host_all (#3038) 2016-12-08 11:24:57 -05:00
Michael Scherer 839d5b6de4 Fix mysql_user for python3 (#4576)
dict no longer have a iteritems method, it was replaced
by items. So we need to use six.

    Traceback (most recent call last):
      File \"/tmp/ansible_hjd7d65c/ansible_module_mysql_user.py\", line 587, in <module>
        main()
      File \"/tmp/ansible_hjd7d65c/ansible_module_mysql_user.py\", line 571, in main
        changed = user_add(cursor, user, host, host_all, password, encrypted, priv, module.check_mode)
      File \"/tmp/ansible_hjd7d65c/ansible_module_mysql_user.py\", line 239, in user_add
        for db_table, priv in new_priv.iteritems():
    AttributeError: 'dict' object has no attribute 'iteritems'
2016-12-08 11:24:56 -05:00
René Moser 03022875c4 mysql_db: use new exception handling, fixes build (#4373) 2016-12-08 11:24:49 -05:00
Saurabh Sharma a5695c8b24 error handling for importing non-existent db. Fixes ##2068 (#3617)
* error handling for importing non-existent db

* creating db on import state and suitable message on deleting db

* handling all possible cases when db exists/not-exists
2016-12-08 11:24:49 -05:00
Michael Scherer 09066f1518 Convert all databases modules to python3 and 2.4 syntax (#3688) 2016-12-08 11:24:29 -05:00
Rene Moser 9f1cfe07bb mysql_user: fix unresolved reference
L282, module is used but not passed into function. Replaced check_mode reference and used module instead since check_mode is also in module.
2016-12-08 11:24:26 -05:00
Rene Moser 6a7682c7ea mysql_variables: fix inconsistent params, fixes ubuntu 16.04 support
In the mysql_user module, login_host is defined as "localhost". Setting this to localhost also fixes Ubuntu 16.04 support.

To make it more consistent in the future, the params in all mysql modules should move to module utils. I'll take care.

Also fixed a few other things along.
2016-12-08 11:24:26 -05:00
Jeroen Geusebroek 54e62c2022 Allow an empty password when adding a new MySQL user. (#3445) 2016-12-08 11:24:19 -05:00
jjshoe d3623c8148 Give encoding examples (#3436) 2016-12-08 11:24:18 -05:00
hyperized 51e2813ae4 Set --quick to True by default and make it selectable (#3418)
As indicated by @jmainguy in eb1cb94380 (commitcomment-17077470), this will allow the user to set the option quick, which is True by default (as it was before).

This is in reference to: https://github.com/ansible/ansible-modules-core/pull/3402
2016-12-08 11:24:18 -05:00
hyperized 075edf7bb2 Add single_transaction and quick options to MySQL DB module (#3402) 2016-12-08 11:24:16 -05:00
Michael Scherer 8b125f8c2c Mark path as type='path', do not leak login_password by error (#3396) 2016-12-08 11:24:16 -05:00
Michael Scherer c0179330c9 Update the type of some arguments in mysql_db module (#3285)
login_password should not be logged, so mark it as 'no_log'
the others arguments are path to file, and so should be type='path',
which permit to remove the line handling '~' and shell variables.
2016-12-08 11:24:16 -05:00
Tom Paine 7422ada2c8 Update mysql_db.py
* Update mysql_db.py

Resubmission of https://github.com/ansible/ansible-modules-core/pull/2961 in single commit.

* Update mysql_db.py
2016-12-08 11:24:16 -05:00
Matt Clay b7a5e1e0c8 Add optional connect timeout to mysql* modules. 2016-12-08 11:24:12 -05:00
Kenny Gryp 69b07aaf9d added sql_log_bin setting to disable binary logging as option 2016-12-08 11:24:11 -05:00
Tobias Wolf 75e8b365b4 Add supports_check_mode=True to mysql_db module
The most important cases are state=present and state=absent.

Future work: import and dump could be simulated and hence checked.
2016-12-08 11:24:09 -05:00
Matt Martz aaf762573e Various simple linting type cleanups on modules 2016-12-08 11:24:06 -05:00
Toshio Kuratomi 50eda6c62e password needs to be type str.
In 1.9 this was the default.  In 2.0.0 and 2.0.1 this doesn't get set.
2.1.0 will fix the default but we should fix this now.
2016-12-08 11:24:05 -05:00
Lee H 8e84ba71ae - fix check_mode test to avoid errors
- correct test mode check to ensure it returns and doesnt apply changes
  (via jmainguy)
2016-12-08 11:24:00 -05:00
Mark van Driel a24cdbe15e Fixed "invalid privileges string: set expected at most 1 arguments, got 2" 2016-12-08 11:23:58 -05:00
Jonathan Mainguy e9a752f769 add ansi support 2016-12-08 11:23:58 -05:00
Mark van Driel d67f2eb104 Fixes require ssl in combination with other privileges
Fixes require ssl in combination with grant option

Refactoring: code cleanup to make it easier to understand

Code rewritten inspired by @willthames

Added WITH GRANT OPTION as exception; when only REQUIRESSL and/or GRANT are specified we have to add USAGE
2016-12-08 11:23:57 -05:00
KIKUCHI Koichiro 2974358b2b Add check_mode support to mysql_user. 2016-12-08 11:23:56 -05:00