Commit graph

47 commits

Author SHA1 Message Date
Jon Bergli Heier
12c37802e8 rabbitmq_binding: Fix using empty routing key (#48597)
* rabbitmq_binding: Fix using empty routing key

If the routing key is an empty string we need to use the special props
value ~ in the URL. Otherwise the last part of the URL will be empty,
which will instead be equivalent to the "list all bindings" API call
which always returns 200 OK (as long as the exchange and queue exists).

* rabbitmq_binding: Move routing_key test outside format

Test the routing_key value and set the props value outside the format
call. We leave the original routing_key untouched since its original
value is later needed in create().
2018-12-19 08:30:41 -05:00
Dag Wieers
05c6ff79f9 Convert to reduced list of known types (#50010) 2018-12-19 07:25:30 +10:00
jgkirschbaum
87cbce3d90 rabbitmq_vhost_limits: Move to rabbitmq subdirectory (#49650) 2018-12-08 23:41:59 +01:00
Pavlos Tzianos
a4eb4b2551 Rabbitmq user permission fixes (#49404)
* Simplify permission changing code for rabbitmq_user module

* Add check for multiple permission dicts for same host to rabbitmq_user module

* Add docstring for _get_permission method of rabbitmq_user

* Fix method that compares vhost permissions in rabbitmq_user

* Add tests for rabbitmq_user module

* Add helper function for simulating collections.Counter functionality
2018-12-07 13:19:08 +00:00
Jon Bergli Heier
9c02ade536 rabbitmq_binding: Add support for state=absent (#48599)
* rabbitmq_binding: Add support for state=absent

* Add integration tests for rabbitmq_binding

* Update testcases

* Add changelog fragment
2018-12-04 12:42:18 +00:00
Gregor Wegberg
4096d74245 Specify key to use while sorting permissions (#49126)
Without specifying the dictionary key to use while sorting it will fail
in Python 3 environments due to simplifying Python's rules for ordering
comparisons: https://docs.python.org/3.0/whatsnew/3.0.html#ordering-comparisons
2018-11-30 20:18:57 +00:00
fdeschamps
faed1bbd96 ignore empty lines in rabbitmqctl output (#43722)
* ignore empty lines in rabbitmqctl output

this fixes a bug with rabbitmq 3.7.5
rabbitmqctl can return empty lines, breaking the rabbitmq_parameter module
especially in a new vhost, the command rabbitmqctl list_parameters -q -p <vhost> will return an empty line

* Strip empty line in rabbitmqctl output
2018-11-29 13:55:05 +00:00
John R Barker
3fcc564bbb
Bulk fix DOCUMENTATION.author (Part 1) (#48934)
* Bulk fix DOCUMENTATION.author
2018-11-20 19:31:35 +00:00
Hiroyuki Matsuo
60dcfc3a09 Add rabbitmq_vhost_limits module (#37821)
* Improve code structure
* Add author for module
* Now returns some values
* Update module's metadata
* Copy test case of rabbitmq_lookup
* Add test cases for rabbitmq_vhost_limits
* Minor fixes in documentation
* Fix module's return values
* Refactor module
* Improve test case
* Revise English in documentation
* Disable returning values because it's useless & unnecessary
* Work on failures: E261: match PEP8 styles
* Work on failures: E312: add RETURN section in documentation
2018-11-15 10:10:41 +05:30
jgkirschbaum
ef33159434 Added short description and moved to rabbitmq subfolder (#48566) 2018-11-12 15:34:34 +00:00
Dag Wieers
b7e77c4274 BOTMETA: Move rabbitmq modules to own directory (#46064)
Moving rabbitmq modules to own directory makes it possible to automatically include $team_rabbitmq for new modules.
2018-10-30 14:54:38 -05:00
Marc Jay
a24700d120 RabbitMQ documentation suggests that deleting queues/exchanges is not implemented, but it is (#46504)
* Remove message suggesting that state: absent is not implemented for queues

* Remove message suggesting that state: absent is not implemented for exchanges
2018-10-30 14:40:45 +00:00
Abhijeet Kasurde
64171f5524 Ignore empty result of rabbitmqctl list_parameters (#47021)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-27 02:58:10 -04:00
Abhijeet Kasurde
cf2af97b78 rabbitmq_plugin: refactor logic (#46597)
* Docs update
* Example update
* Refactor logic

Fixes: #29196

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-10-21 16:14:25 -04:00
Jorge Rodriguez (A.K.A. Tiriel)
150e9db568 rabbitmq_binding: Fix misnamed reference (#47049)
Fix for bug introduced in #18437
2018-10-15 23:54:27 +05:30
Jorge Rodriguez (A.K.A. Tiriel)
e7ddff1928 Rabbitmq: Enable communication to management API over HTTPS (#18437)
* Enable communication to management API over HTTPS.
* Specify version added tags to new parameters
* Set proper parameter type.
* Corrected version_added numbers.
* Extracted commons to ansible utils.
* Fix PEP8 error
* Fix documentation extension syntax.

Fixes #22953
2018-10-10 09:55:08 +05:30
Pilou
955579cd72 rabbitmq_user: 'node' parameter: add default value (#38156)
* Remove unnecessary workaround

* add test: set RABBITMQ_NODENAME environment variable

The following error occurs:

  TASK [rabbitmq_user : Add user] ***
  fatal: [testhost]: FAILED! => {
    "changed": false,
    "cmd": "/usr/sbin/rabbitmqctl -q list_users",
    "rc": 69,
    "msg": "Error:********@c65c2bc59398'. Please see diagnostics information and suggestions below.\n\nMost common reasons for this are:\n\n * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)\n * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)\n * Target node is not running\n\nIn addition to the diagnostics info below:\n\n * See the CLI, clustering and networking guides on http://rabbitmq.com/documentation.html to learn more\n * Consult server logs on node test@c65c2bc59398\n\nDIAGNOSTICS\n===========\n\nattempted to contact:********@c65c2bc59398\n * effective user's home directory: /var/lib/rabbitmq\n * Erlang cookie hash: 3MxcYFrJzfhEL+FlUfLlQw==",
    "stderr":  [...],
    "stderr_lines": [
      "Error: unable to perform an operation on node 'test@c65c2bc59398'. Please see diagnostics information and suggestions below.", "",
      "Most common reasons for this are:", "",
      " * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)",
      " * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)",
      " * Target node is not running", "",
      "In addition to the diagnostics info below:", "",
      " * See the CLI, clustering and networking guides on http://rabbitmq.com/documentation.html to learn more",
      " * Consult server logs on node test@c65c2bc59398", "",
          "DIAGNOSTICS", "===========", "",
          "attempted to contact: [test@c65c2bc59398]", "",
          "test@c65c2bc59398:",
      "  * connected to epmd (port 4369) on c65c2bc59398",
      "  * epmd reports: node 'test' not running at all",
      "                  other nodes on c65c2bc59398: [rabbit]",
      "  * suggestion: start the node", "",
      "Current node details:",
      " * node name: rabbitmqcli2@c65c2bc59398",
      " * effective user's home directory: /var/lib/rabbitmq",
      " * Erlang cookie hash: 3MxcYFrJzfhEL+FlUfLlQw==", ""
    ],
    "stdout": "",
    "stdout_lines": []
  }

* node parameter: fix default value

'rabbit' is the default value mentioned in the module documentation.
2018-10-08 18:34:08 -04:00
cadl42
a7221dd289 Ignore empty result of rabbitmqctl list_user_permissions (#35598)
Fix #34863
2018-10-02 15:08:50 +05:30
Tobias Wolf
d5f8738bf2 [rabbitmq_binding] Fix the quoting of vhost and other names (#45109)
* [rabbitmq_binding] Fix the quoting of vhost and other names, which was broken in PR #35651
* Merge missing urllib_parse.quote from PR #42422
* Missed one line, where  also needs to be escaped, i.e., the destination
2018-09-25 11:04:41 +05:30
jgkirschbaum
0fd1a71027 New module: Manage RabbitMQ global parameters [messaging/rabbitmq_global_parameter] (#26080)
* Created rabbitmq_global_parameter.py for managing RabbitMQ global parameters

* Contributed rabbitmq_global_parameter.py for managing RabbitMQ global parameters

* Contributed rabbitmq_global_parameter.py for managing RabbitMQ global parameters

* Contributed rabbitmq_global_parameter.py for managing RabbitMQ global parameters

* Contributing rabbitmq_global_parameter.py for managing RabbitMQ global parameters

* Update rabbitmq_global_parameter.py

* Update rabbitmq_global_parameter.py

* Updated Copyright Statement

* __future__ and __metaclass__ added

* Typo corrected

* Example changed

* Import Statement changed

* Returning of values changed

* Fixed Typo

* type for parameters added

* JSON fix

* Reverted

* missing conditional when calling main added

* version_added and PEP issues corrected

* Trigger build

* version_added bumped

version_added bumped to 2.6

* Bumped version_added

* version_added bumped to 2.8

* pep8 issue corrected
2018-09-24 10:24:58 -04:00
Joren Vrancken
b954917761 Surround top-level function and class definitions with two blank lines. 2018-07-31 12:06:56 -07:00
Lachlan Cooper
d145dfbcf1 rabbitmq_user: Add update_password parameter (#36280)
* Add update_password parameter to rabbitmq_user

Inspiration for this feature is taken from the `user` module.

While `always` is the default in that module, it is not here. We default
to `on_create` to avoid changing existing behaviour.

Resolves #29260

* Update instructions for changing passwords

* Bump version_added as requested

* Check password before changing it

This allows accurate reporting of changed status even though
`rabbitmqctl change_password` doesn't.

* Remove instruction to use 'force' to update password
2018-05-23 14:34:46 -05:00
Abhijeet Kasurde
553cf4cdfc rabbitmq_binding: Update documentation (#40062)
This fix updates rabbitmq_binding documentation

* change 'exchange' to 'binding'
* Some minor doc fixes

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-05-15 03:52:55 -04:00
hyperized
f210bbec50 rabbitmq_bindings rewrite (#35651)
* Attempt to get rid of globals

* Relocate imports and make formatting non-automatic

* spacing!
2018-05-05 10:26:47 -04:00
John R Barker
7c4b91844d
More validate module fixes (#39097)
* Fix type bool DOCUMENTATION issues
2018-04-24 18:05:50 +01:00
Lachlan Cooper
fcbee7e40b Check that output from list_vhosts can be split (#37630)
As with list_users, list_vhosts can sometimes return a value that
doesn't contain a '\t' character. This appears to be the case if the
server has no vhosts, for example.

The same fix was applied to the rabbitmq_users module here:
fafb89cde5
2018-03-22 13:03:20 -04:00
Dag Wieers
cdd21e2170
Clean up module documentation (#36909)
* Clean up module documentation

This PR includes:
- Removal of `default: None` (and variations)
- Removal of `required: false`
- Fixing booleans and `type: bool` where required

* Fix remaining (new) validation issues
2018-03-15 22:15:24 +01:00
Lachlan Cooper
4267d12e61 Fix description for rabbitmq_policy (#36149)
This was copied from rabbitmq_vhost.
2018-02-14 09:41:05 +01:00
Michael Tharp
6dcb41b40f rabbitmq_policy: fix IndexError when no policies exist yet (#33556)
If the list of existing policies is empty, an IndexError would be raised
since stdout was blank.
2018-01-26 22:00:53 +01:00
Gerben Geijteman
094856b709 Add max_priority to give priority ability to a queue 2017-09-08 16:09:50 -07:00
Toshio Kuratomi
f203ca7907 Update metadata to 1.1 2017-08-15 23:12:08 -07:00
Artem Zinenko
6058cb736d rabbitmq_plugin for Windows (#28017)
* Fixes #28016: rabbitmq_plugin for Windows

* Disable documentation check for rabbitmq_plugin.ps1

* Renamed rabbitmq_plugin -> win_rabbitmq_plugin

* Fixed the documentation after review

* Fixed 'RETURN' section

* Fixed docs for original module

* Added dots to original module docs.
2017-08-12 10:35:16 +02:00
Abhijeet Kasurde
f7321a87ca Pep8 fixes for rabbitmq modules (#24590)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-08-10 11:57:11 +02:00
Toshio Kuratomi
8894c57753 Fix rabbitmq modules for python3 import
Also get rid of unnecessary capture of exception into a variable for
python-2.4 compat.
2017-08-07 19:42:39 -07:00
Abhijeet Kasurde
748fa5db35 Add check for requests module
Fix adds check for requests Python module and suggests user to install,
if no requests module installation found.

Fixes: #27643

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-08-03 07:38:41 -07:00
Toshio Kuratomi
1ee08c0f06 Get rid of more wildcard imports and add boilerplate to more modules
This commit cleans up the following module categories:
* messaging
* inventory
* crypto
* commands
* clustering
* cloud/webfaction
* cloud/docker
* cloud/digital_ocean
2017-07-29 07:02:12 -07:00
Krzysztof Magosa
4522a53acf fix false positive changed flag in rabbitmq_user module (#22507) 2017-06-19 05:10:23 -04:00
marlier
6bd1681203 RabbitMQ 3.6.7 changed a couple of response codes (#22715) 2017-06-08 12:33:30 +01:00
Manuel Sousa
8b4f5ba064 Fix #23338 - rabbitmq_queue message ttl can't be 0 (#23448) 2017-04-15 00:51:40 +02: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
Brian Coca
516d61f1ae simplified if 2017-03-06 12:13:05 -05:00
Brian Coca
74e8aa22af no log passwords (#21229)
* no log passwords

* removed unneeded no_log
2017-02-10 15:13:59 -05: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
Toshio Kuratomi
08d6990e67 Fix code-blocks to use correct syntax highlighting 2017-01-08 09:18:45 -08:00
THEBAULT Julien
d1b38cb718 Fix tags documentation into rabbitmq_policy module 2017-01-06 12:51:44 -05:00
James Cammarata
011ea55a8f Relocating extras into lib/ansible/modules/ after merge 2016-12-08 11:35:18 -05:00