Commit Graph

466 Commits

Author SHA1 Message Date
Daniil Fedotov 3d13da5797 More command descriptions. 2019-02-08 15:57:10 -05:00
Daniil Fedotov d6789e60f2 A new way to display basic usage.
Do not show additional parameters info.
List commands as names and descriptions.
Group commands in sections.

New behaviour callbacks:
help_section/0 - atom name of a group to put command to. Default is :other
description/0 - single line description of the command. Printed in the commands list

Sections ans descriptions are WIP.
2019-02-08 15:33:17 -05:00
Michael Klishin b452733d73 Improve error message produced by `rabbitmqctl shutdown`
References #309.
2019-02-07 04:24:13 +03:00
Michael Klishin f526663e9a Cosmetics 2019-02-05 21:29:28 +03:00
Luke Bakken 962e0cf7c7 Ensure longnames option is passed to normalise_node
Fixes #311
2019-02-05 07:27:34 -08:00
Arnaud Cogoluègnes 97c048cf37 Add active consumer fields if necessary
When calling node is 3.8 and one of the nodes is < 3.8, active and
activity status fields need to be set with default values.

[#163298456]
2019-02-05 15:06:51 +01:00
Jean-Sébastien Pédron aa93258f16 wait_command.ex: Fix function clause with validate/2
The function didn't have the success path, i.e. when one of `--pid` or a
pidfile is specified.
2019-02-04 12:07:53 +01:00
Michael Klishin 041a6c2bdf Reuse existing modules more, rearrange functions 2019-02-04 02:22:21 +03:00
Michael Klishin 56ac8d1cf7 shutdown: correctly wrap badrpc responses in validate/2 2019-02-03 22:00:11 +03:00
Michael Klishin 7ad9176435 Further improvements to the shutdown command
Add --[no-]wait (enabled by default) for those who would prefer
to use it to shut down remote nodes even though it wouldn't wait for
a verified node termination.

Propagate --timeout to calls.

References #309.
2019-02-03 20:40:01 +03:00
Michael Klishin 0786b13d4a Move the node locality to a validator 2019-02-03 18:37:28 +03:00
Michael Klishin 29d01a44fb Merge branch 'master' into shutdown_require_local_host 2019-02-03 18:15:17 +03:00
Michael Klishin db72acf1a3 Squash a couple of warnings 2019-02-03 06:20:04 +03:00
Michael Klishin 2ad334c91f Refactor 2019-02-03 04:55:37 +03:00
Michael Klishin bf00712add Make all list_* commands available to rabbitmq-diagnostics 2019-02-03 04:32:37 +03:00
Jean-Sébastien Pédron e25fee769a Set `feature_flags_file` app env for {forget,rename}_cluster_node
This is required when we try to impersonate a node: that node needs to
know about the actually enabled feature flags to act properly.

[#160169569]
2019-02-02 01:30:27 +01:00
Luke Bakken 9b01b1cf3c Add `list_feature_flags` and `enable_feature_flag` commands
As their name suggests, they are used to manage the feature flags of
RabbitMQ and its plugins.

[#159298729]
2019-02-01 17:51:21 +01:00
Daniil Fedotov 7bc4bf9dfa Make shutdown command require a node to be local.
Shutdown waits for the node to stop based on OS pid,
if the node is not local, it will be the wrong pid.

[#142699795]
2019-02-01 11:47:37 -05:00
Michael Klishin db2f6bc4e6 Help message copywriting 2019-01-31 01:39:12 +03:00
Michael Klishin c79ac644b9 Mention --help in the global option section 2019-01-31 01:14:55 +03:00
Daniil Fedotov 5e5f4d461c Make it possible to get command help by typing 'rabbitmqctl mycommand --help'
Add a new default switch `help`
Add an alias `?`

Make rabbitmqctl display command help if this option is true for known commands.
2019-01-30 16:47:18 -05:00
Daniil Fedotov 91bb84bc82 Move table_headers parameter definition to formatter.
Since #301 formatters support their own parameters
2019-01-30 16:02:11 -05:00
Michael Klishin 94b55d71fa Format with `gmake format` 2019-01-30 22:20:29 +03:00
Michael Klishin 724dbca331 Merge pull request #303 from rabbitmq/await_startup_with_a_timeout
New command: `rabbitmqctl await_startup`
2019-01-28 21:06:41 +03:00
Michael Klishin 5fad316390 New command: `rabbitmqctl await_startup`
Like `rabbitmqctl wait` but doesn't use a pid file path.

Pair: @gerhard.

References rabbitmq/rabbitmq-server#1848.
2019-01-28 20:45:08 +03:00
Arnaud Cogoluègnes 606b72b5a6 Add active to default fields for list_consumers
[#163298456]

References rabbitmq/rabbitmq-server#1839
2019-01-24 18:26:39 +01:00
Arnaud Cogoluègnes 1732932f7b Merge branch 'master' into rabbitmq-server-1838-active-field-for-consumers 2019-01-24 10:46:58 +01:00
Michael Klishin ad23b37e3f Introduce 'rabbitmq-diagnostics check_port_listener <port>'
Part of #292.
2019-01-23 19:13:08 +03:00
Michael Klishin 58a66af140 Refactoring 2019-01-23 10:12:27 +03:00
Arnaud Cogoluègnes ca396e0ce5 Add active and activity status fields to list_consumers
[#163298456]

References rabbitmq/rabbitmq-management#1838
2019-01-21 14:36:53 +01:00
Michael Klishin b6f4d75afc Update (c) year 2019-01-20 06:10:59 +03:00
Arnaud Cogoluègnes c6d4fcf19d Add single active field to list_consumers command
[#163089472]

References rabbitmq/rabbitmq-management#649
2019-01-16 10:38:57 +01:00
Luke Bakken f1b6283e9f Format changed file with "mix format" 2018-12-19 16:14:43 -08:00
Luke Bakken 7629703ca4 Add chunks equal to number of nodes
Fixes #284
2018-12-19 14:44:53 -08:00
Luke Bakken 9cc61e594b Add tests for normalising name with :longnames 2018-11-30 13:58:27 -08:00
Luke Bakken 35ffd53be1 Rename parse_node to normalise_node 2018-11-30 12:14:21 -08:00
Michael Klishin df5db4ec1b Validate log level values, format unsupported level errors in a more human-friendly way 2018-11-29 00:20:41 +08:00
Luke Bakken 0e7608083b Add command to set log level
Fixes #276
2018-11-27 15:49:11 -08:00
Luke Bakken 8ab22299a8 Document --no-table-headers
Fixes #274

Switch no_table_headers to table_headers

update tests

Integrate --silent
2018-11-19 15:25:36 -08:00
Michael Klishin 6416d745ed Update tests
[#161309687]
2018-11-01 23:46:32 +03:00
Diana Corbacho b8ab5f9b01 Rename ignore-stopped flag to idempotent
[#161309687]
2018-11-01 16:18:38 +00:00
Diana Corbacho 68d901bc3a Make stop idempotent using --ignore-stopped flag
[#161309687]
2018-11-01 14:22:13 +00:00
Michael Klishin 582fa06686 More warnings 2018-10-30 00:51:35 +03:00
Daniil Fedotov 19a58551b3 Improve error reporting for quorum queues commands.
Validate that the rabbit app is runninig.
Format error when trying to access a classic queue.
Minor refactorings.
2018-10-26 15:20:34 +01:00
Diana Corbacho 6bda3873d6 Add quorum status command to report local ra state
[#157146500]
2018-10-26 14:50:36 +01:00
Michael Klishin 5e54354fdf Make it possible to suppress table headers for list_* commands
Using --no-table-headers, per discussion with @dumbbell.
2018-10-24 16:43:58 +03:00
Luke Bakken ad184bac68 Add global parameters to rabbbitmqctl report
Follow-up to #256
2018-08-27 14:38:26 -07:00
Ayanda Dube c88cfd940d Reduce code footprint on aliases 2018-07-23 06:06:18 +01:00
Ayanda Dube 4ee275cbcd Include policies and parameters in report command 2018-07-16 16:36:47 +01:00
Michael Klishin 40b40a6d42 Make the ping command available in rabbitmq-diagnostics as well
References #253.

[#158291890]
2018-06-13 00:38:02 +03:00
Michael Klishin 158dc0eb7e Wording 2018-06-13 00:37:17 +03:00
Michael Klishin b20418cb83 Pass current node as is_auth "argument"
To be closer to what net_adm:ping/1 does. The argument
is then ignored by net_kernel, though.

[#158291890]
2018-06-12 23:18:48 +03:00
Michael Klishin ee2b185db9 Introduce rabbitmqctl ping
See #253 for background.

[#158291890]
2018-06-12 16:47:54 +03:00
Michael Klishin 09e86fb73d New command: await_online_nodes <count> [--timeout <timeout>]
Closes #235.

[#156729133]
2018-05-29 16:01:03 +03:00
Luke Bakken e99bc16428 Whitespace changes
See #236
2018-03-08 14:13:32 -08:00
Daniil Fedotov aef04bef84 Show timeout in help messages only for commands supporting timeout.
Removed timeout from default parsing options. Now every command
has to specify timeout in it's own switches.
If a command has timeout in switches - there will be help displayed
for this option in usage output.
2018-03-07 18:28:21 +00:00
Daniil Fedotov 0c83c05ec1 Do not show timeout option for rabbitmq-plugins tool.
The rabbitmq-plugins tool does not respect timeout option.
2018-03-07 15:51:54 +00:00
Daniil Fedotov 8b33c646ed Command to delete a queue. 2018-03-07 15:20:18 +00:00
Michael Klishin aff9d9aa11 Merge branch 'rabbitmq-cli-command-distribution' 2018-01-16 19:35:34 +03:00
Michael Klishin f99245c5b6 Wording 2017-12-08 17:55:50 -08:00
Luke Bakken 81862adcab Fixing SetParameterCommand and tests
Fix code to fix test suite
2017-12-08 11:49:20 -08:00
Daniil Fedotov cf23e45cf9 Optimise some commands by not starting erlang distribution 2017-12-07 11:06:34 +00:00
Daniil Fedotov b5de2236ce Add a callback to control erlang distribution.
The callback cab be used to disable distribution (offline commands)
or to have command-specific node name and distribution parameters.
2017-12-06 18:10:11 +00:00
Daniil Fedotov 32bd206ff9 Remove -l alias from help_command. It iss conflicting with default alias 2017-08-18 16:13:20 +01:00
Michael Klishin 206a5fb93c Squash a warning 2017-08-15 12:53:31 +03:00
Daniil Fedotov 8bc0b68f4e Change validation for the force_boot command 2017-08-14 19:20:32 +01:00
Daniil Fedotov 141e845fab Remove duplicate global switches. 2017-08-14 17:14:41 +01:00
Daniil Fedotov 3e30b8a4f3 Enable rabbit app validation for list_parameters and clear_permissions. Disable the validation for shutdown 2017-08-14 11:59:35 +01:00
Luke Bakken 006ff6a259 Remove extra whitespace 2017-08-11 14:57:18 -07:00
Michael Klishin b00e648b9c Extend execution environment validation to more commands
This also re-formats a bunch of commands to follow the same
order for the following functions:

 * merge_defaults/2
 * validate/2
 * validate_execution_environment/2
 * run/2
2017-08-11 18:06:30 +03:00
Michael Klishin fa0515911f These commands don't really require the rabbit app to be running 2017-08-11 14:37:02 +03:00
Michael Klishin 8cee00231b Introduce RabbitMQ.CLI.Core.RequiresRabbitApp{Running,Stopped}
and apply them to a subset of commands.
2017-08-11 02:23:53 +03:00
Michael Klishin efe8725f3c Merge branch 'master' into rabbitmq-cli-214-take-two 2017-08-10 14:21:42 +03:00
Daniil Fedotov e8c73d9bea Merge branch 'master' into rabbitmq-cli-207 2017-08-09 14:36:07 +01:00
Daniil Fedotov de10e4f5a7 Different list of info items for unresponsive queues 2017-08-09 14:34:01 +01:00
Daniil Fedotov 035e7305ac Merge pull request #218 from rabbitmq/timeout_list_queues
Set a timeout on list_queues and a warning if unresponsive ones are found
2017-08-09 17:24:40 +04:00
Michael Klishin afa605b3e9 Merge branch 'master' into rabbitmq-cli-214-take-two
Conflicts:
	lib/rabbitmq/cli/plugins/commands/enable_command.ex
2017-08-08 19:14:07 +03:00
Diana Corbacho 738f667716 Override timeout 2017-08-08 10:01:32 +02:00
Diana Corbacho 9d6dfddb3e Set a timeout on list_queues and a warning if unresponsive ones are found
Related to rabbitmq-cli#207
2017-08-07 17:38:24 +02:00
Diana Corbacho 829a918c5a Use info items to list unresponsive queues
rabbitmq-cli#207
[#149059849]
2017-08-07 15:08:33 +02:00
Michael Klishin e9fa801d6f Update restart_vhost usage 2017-08-04 21:45:22 +03:00
Michael Klishin 6da66de40a forget_cluster_node: switch to validate_execution_environment/2 2017-08-04 19:15:53 +03:00
Michael Klishin 8e9b114eac Fold execution environment validation into a single optional fn
While at it, move Ctl.Validators => Core.Validators.

If the function is not defined we skip validation. Note that
individual commands need to be revisited and refactored to use
this mechanism; this is yet to come.

Per discussion with @hairyhum and @lukebakken.
2017-08-04 18:40:17 +03:00
Daniil Fedotov 10bb587d61 The command to restart a vhost.
The command will attempt to restart a vhost.
If restarted successfully, return exit code 0
If the vhost is already started, return exit code 0 and notify that it's already started.
If there is an error restarting, return exit code 70 and the error
Part of rabbitmq/rabbitmq-server#1321
[#149484305]
2017-08-04 11:32:40 +01:00
Daniil Fedotov a7bd5811d0 Change state in vhost info to cluster_state 2017-08-01 14:56:21 +01:00
Diana Corbacho 3c6a59079c Command to report unresponsive queues
rabbitmq-cli#207
[#149059849]
2017-07-27 17:50:52 +02:00
Diana Corbacho 05469e4bad Report vhost status on list_vhosts command
rabbitmq-management#446
[#149398495]
2017-07-25 11:47:07 +01:00
Michael Klishin df726906a2 Make arguments in this fn head easier to identify 2017-07-12 13:08:20 +03:00
Diana Corbacho 1be262d496 Avoid streaming if no nodes are available
rabbitmq-cli-202
[#148733373]
2017-07-12 10:35:32 +01:00
Michael Klishin a9bd603352 Squash a warning 2017-07-04 22:24:00 +03:00
Michael Klishin 09eee9fd53 Improve error messages 2017-07-03 16:39:04 +03:00
Michael Klishin 5774bc64e5 Merge branch 'master' into rabbitmq-cli-encode-commands 2017-07-03 15:52:07 +03:00
Daniil Fedotov 58304ffc95 Split encode command tests to separate commands 2017-07-03 12:11:34 +01:00
Michael Klishin b7b5223a39 list_vhost_limits: handle errors before serialising results
Also update tests and format no_such_vhost errors in a more sensible
way.
2017-06-30 14:43:09 +03:00
Daniil Fedotov c40368fe02 Split encode command to encode, decode, list_ciphers and list_hashes commands
[#147861659]
2017-06-28 17:19:42 +01:00
Daniil Fedotov a4b452545b Improve formatting for list_vhost_limits command.
Format limits as JSON.
Make sure vhost field printed before limits.
2017-06-27 17:28:37 +01:00
Daniil Fedotov ee8c2f133c Support Elixir-1.5.0-rc.0 2017-06-26 11:59:46 +01:00
Michael Klishin 6410ba0272 Fix compiler warnings that hinted at a typo in atom name
First spotted by @lbakken.
2017-06-16 19:43:09 +03:00
Diana Corbacho beacfe998a Handle error in `rabbit_mnesia:cluster_nodes/1` on cluster_status command
If the error is ignored, an Enum exception is triggered which is not
meaningful for the final user. Notifying that something is wrong accessing
to Mnesia files provides a hint. Can be eventually reproduced while
the node is restarting.

rabbitmq-cli#199
2017-06-16 16:51:57 +01:00
Daniil Fedotov 81c1f9461f Add an output formatter for report command
Report command executes other commands, so it's formatter
cannot be changed using command line argument.
Report formatter will format each command output with this command
default formatter.
2017-06-15 16:32:39 +01:00
Daniil Fedotov 3693daf693 Add functions to get info keys to list_* commands 2017-06-15 16:31:32 +01:00
Daniil Fedotov c31989de08 Change banner for list_queues and list_exchanges to show vhost 2017-06-15 16:03:38 +01:00
Michael Klishin 5409c37f3e Merge pull request #194 from rabbitmq/rabbitmq-cli-193
Check `rabbit_mnesia:status` return value
2017-06-15 16:38:22 +03:00
Michael Klishin a84c4b3405 Merge pull request #195 from rabbitmq/naming
Rename <user> to <username> to standarise all rabbitmqctl commands
2017-06-15 16:37:55 +03:00
Diana Corbacho 5bdfcc575d Display --local option in list_queues help 2017-06-15 12:42:02 +01:00
Diana Corbacho d6686e40f6 Rename <user> to <username> to standarise all rabbitmqctl commands
Most commands use <username> in the help description
2017-06-15 12:06:32 +01:00
Diana Corbacho 68698d34d2 Check `rabbit_mnesia:status` return value
Ensures the error is returned and not used later on.

rabbitmq-cli#193
2017-06-14 17:00:18 +01:00
Daniil Fedotov a3776bf9b8 Return :ok in validation. 2017-06-08 18:29:51 +01:00
Daniil Fedotov 1641ecbc11 Improve wait command.
Do not call await_startup on rabbitmq node, instead do it on
rabbitmqctl node, so even if net_ticktime is low, it won't fail
with nodedown.
2017-06-08 18:15:21 +01:00
Daniil Fedotov b8d6042046 Quiet mode for wait command will suppress log messages 2017-06-07 14:22:59 +01:00
Jean-Sébastien Pédron cd377eeb0f Merge branch 'rabbitmq-cli-wait-stages' 2017-06-07 13:42:36 +02:00
Daniil Fedotov 6b1fbb482c Change cluster node type to selected type 2017-06-06 18:43:38 +01:00
Daniil Fedotov a759eea11a Make wait take the actual function execution time to account 2017-06-06 18:11:25 +01:00
Daniil Fedotov 27fc29914c Test exec command 2017-06-06 12:07:00 +01:00
Daniil Fedotov 5c98699a29 Add new test to check argument processing typical to multiple commands.
Check that merge_defaults does not fail on badmatch with arbitrary args.
Check that info keys can be a comma-separated list
2017-06-06 12:06:17 +01:00
Jean-Sébastien Pédron 975be0ccfb join_cluster_command: Format the `already_member` return value 2017-06-06 11:50:20 +02:00
Daniil Fedotov b4a8789ed1 Wait in stages.
Make wait command work in stages with timeouts.
First wait for a pid file to appear (times out)
Then wait for erlang distribution to start on the node (times out)
Then wait for application to be running in the node (does not time out)

Default timeout is set to 10 seconds, which should be enough to
write a pid file and start distribution.
2017-06-02 16:48:34 +01:00
Daniil Fedotov 6cf003ed03 Typo in info message 2017-06-02 14:35:52 +01:00
Daniil Fedotov 8ea044dd80 Do not match arguments in merge_defaults.
merge_defaults gets called before validate, so it should allow
any argument number.
2017-06-02 10:17:28 +01:00
Daniil Fedotov 51de5e0fea Less strict help arguments
Print command help even if there are more than 1 argument.
For example:
  rabbitmqctl help <command> <other args>
2017-06-02 10:17:28 +01:00
Daniil Fedotov 7fb2a1d797 Print result in trace_on/off commands 2017-06-02 10:17:28 +01:00
Daniil Fedotov 4c06bee5fe Unfold stream subcommand output in report command. 2017-06-02 10:17:28 +01:00
Daniil Fedotov d1040ca11f Helper function to parse info_keys arguments 2017-06-02 10:17:28 +01:00
Daniil Fedotov 9b0ec73a0d Set default formatter for environment command to erlang 2017-06-02 10:17:28 +01:00
Daniil Fedotov 769fe8e712 Better error management with stream outputs from list_ commands.
Fixed incorrect tuple matching.
Added support for error codes and messages for timeout with value.
2017-05-24 13:28:51 +01:00
Daniil Fedotov 60deb8514d Improve error reporting.
badrpc errors are handled in Rabbitmqctl module.
Report errors from node discovery
Add helpers to skip errors in formatters.
2017-05-24 12:08:03 +01:00
Daniil Fedotov 719b75269c Fixing erlang and string formatters.
Erlang formatter had issues when formatting erlang strings, because
they were interpreted as streams. Now all streams are being converted
to lists and printed as is.
String formatter does not try to format with io_lib, instead it tries
to format using Elixir to_string.
2017-05-22 17:14:26 +01:00
Michael Klishin 1805012f77 Merge branch 'master' into rabbitmq-cli-shutdown 2017-04-07 22:31:54 +02:00
Michael Klishin 987526d70f (c) year 2017-04-05 15:44:16 +03:00
Daniil Fedotov 8ef4c404ab Do not import modules. Import only protocols and records.
Aliases is a convinient enough to reference elixir modules.
Imported functions can be confusing, especially mixed with aliases.
2017-04-05 11:59:54 +01:00
Daniil Fedotov 819d512038 Implement shutdown command 2017-04-04 19:23:50 +01:00
Daniil Fedotov 62a44ac641 Optimize rabbitmqctl startup.
Plugins dirs are added to ERL_LIBS by shell scripts, we try to load
enabled plugins first and scan plugins dir only if some of them
are not found.
When discovering plugins, we can load applications only for enabled ones.
EPMD can be started only after initial `net_kernel:start` call failed.
We don't need to discover all commands every time, only if a command is not
in the `rabbitmqctl` application modules.
[finishes #143025009]
2017-04-04 14:06:53 +01:00
Daniil Fedotov 05a2a18f52 Handle `eacces` errors in addition to `eperm` in `hipe_compile` command
`hipe_compile` command validation checks that directory can be created and
have permissions to write .beam files. System can return `eperm` or `eacces`
errors in different conditions, but the meaning of those errors is same.
2017-03-14 17:18:18 +00:00
Michael Klishin 2dc56b3737 hipe_compile: reject blank, non-existent paths and those with insufficient permissions
References #178.
2017-03-14 01:49:04 +03:00
Michael Klishin 95ea549472 rabbit app is loaded during validation; handle "already compiled" cases
References #178.
2017-03-13 21:21:15 +03:00
Michael Klishin f2f0c26e44 Finish hipe_compile command
This correctly handles the case where the rabbit app is
already loaded.

References #178.
2017-03-10 21:25:00 +03:00
Michael Klishin 34262f2161 ctl hipe_compile WIP
This command needs access to RabbitMQ modules and currently
propagation doesn't work as expected.
2017-03-10 15:30:50 +03:00
Michael Klishin ef98536ab4 rabbitmqctl hipe_compile WIP 2017-03-10 01:01:03 +03:00
Daniil Fedotov 95fe5c96fd Document aliases. Improve eval command to accept bound arguments 2017-02-16 12:41:26 +00:00
Michael Klishin c4dab95dce Copy 2017-02-06 00:39:16 +03:00
Michael Klishin 696adc923d Copy 2017-02-06 00:35:20 +03:00
Michael Klishin 39f17b53ee Naming, Elixir code style 2017-02-06 00:02:30 +03:00
Arnaud Cogoluègnes 62cdd4d7fc Merge branch 'master' into rabbitmq-server-1085 2017-01-31 17:20:52 +01:00
Daniil Fedotov 77860364bb Merge branch 'master' into rabbitmq-server-release-12 2017-01-27 10:42:58 +00:00
Daniil Fedotov df95a411c7 Format user_already_exists error 2017-01-26 12:33:56 +00:00
Daniil Fedotov 6288d75472 Cleanup compiler warnings 2017-01-24 09:59:00 +00:00
Arnaud Cogoluègnes 57f2eff218 Add read to topic permissions
Part of rabbitmq/rabbitmq-server#1085
2017-01-23 10:12:03 +01:00
Michael Klishin 6faff961c1 Fix a few compiler warnings 2017-01-21 23:18:58 +03:00
Michael Klishin ee34fac5bd Merge branch 'master' into rabbitmq-event-exchange-10 2017-01-17 20:28:03 +03:00
Daniil Fedotov bb57a213c0 List vhost limits command 2017-01-17 13:02:09 +00:00
Diana Corbacho fd6ba841cd Provide cli user as user who performs action for event notifications 2017-01-17 09:01:14 +00:00
Michael Klishin 5e15f5c2d2 Merge branch 'master' into rabbitmq-server-505 2017-01-12 12:58:27 +03:00
Jean-Sébastien Pédron 5905f1c40a Update copyright line to year 2017 2017-01-10 15:42:40 +01:00
Michael Klishin 6c5c35e4b1 Wording 2017-01-07 05:13:57 +08:00
Michael Klishin 088fa90faf Cosmetics 2017-01-07 04:54:31 +08:00
Diana Corbacho b2b804eda9 Limit number of connections to close 2017-01-06 15:15:31 +01:00
Diana Corbacho da8e333209 Test close all connections command 2017-01-06 13:54:48 +01:00
Diana Corbacho c4bf5ee0fa Close all connections command with vhost, global and delay options 2017-01-06 08:25:21 +01:00
Arnaud Cogoluègnes 6160bdd57e Merge branch 'master' into rabbitmq-server-505 2016-12-27 16:43:57 +01:00
Daniil Fedotov 30b41ba267 Support start from common_test tests 2016-12-23 12:12:33 +00:00
Arnaud Cogoluègnes c7a11fad38 Merge branch 'master' into rabbitmq-server-505 2016-12-22 17:09:06 +01:00
Arnaud Cogoluègnes 1dcc44d5f7 Add topic authorisation commands
References rabbitmq/rabbitmq-server#505
2016-12-22 16:50:59 +01:00
Diana Corbacho 7b689ae633 Detailed error message in memory threshold validation 2016-12-22 12:13:46 +01:00
Arnaud Cogoluègnes 93ca16c5ff Add global parameters commands
Part of rabbitmq/rabbitmq-mqtt#73
2016-12-16 16:41:29 +01:00
Gerhard Lazu 4d46936749 Be more specific about what is being stopped on `stop_app`
rabbitmq/rabbitmq-server#1043
2016-12-14 12:04:54 +00:00
Daniil Fedotov 8735851da4 Sort commands when printing help 2016-12-07 16:21:10 +00:00
Michael Klishin 95d7d055f2 Merge pull request #130 from rabbitmq/rabbitmq-cli-123
Make `rabbitmqctl stop` support an optional pid file argument
2016-11-23 21:19:15 +03:00
Michael Klishin 94c21f4a40 Make `rabbitmqctl stop` support an optional pid file argument
While at it, move test/helpers_test.exs under test/core.

This slightly changes command output (mentions what file path is used
or what its contents are when we cannot parse it). We try hard
to not introduce any breaking changes compared to the 3.6.x CLI
tools but in this case it's an improvement.
Also, no one should depend on `rabbitmqctl stop` output, only UNIX
exit code, which did not change.
2016-11-23 21:11:01 +03:00
Arnaud Cogoluègnes fcd7b66299 Add banner to encode command
Fixes #118
2016-11-23 10:18:20 +01:00
Arnaud Cogoluègnes fc08e50e88 Merge branch 'master' into rabbitmq-cli-118 2016-11-23 09:21:56 +01:00
Daniil Fedotov e3289ed454 Remove empty switches and aliases 2016-11-22 18:32:12 +00:00
Arnaud Cogoluègnes 887a09644b Merge branch 'master' into rabbitmq-cli-118 2016-11-22 16:51:27 +01:00
Michael Klishin 266a4f664e Make StopCommand#validate/2 accept a pidfile path 2016-11-22 17:23:19 +03:00
Michael Klishin c59b6c029f Make switches/0 and aliases/0 optional command callbacks
Fixes #120. Same as #124 but doesn't include any unrelated changes
and thus suffer from #126.
2016-11-22 16:11:25 +03:00
Michael Klishin e92022da11 Revert "Merge pull request #124 from rabbitmq/rabbitmq-cli-120"
This reverts commit c087a635c0, reversing
changes made to 59225a551d.

See https://github.com/rabbitmq/rabbitmq-cli/issues/126, which exposed
a serious flaw in the option parser split which was introduced
as part of #124.

Reopens #120.
2016-11-22 14:07:58 +03:00
Daniil Fedotov 5607b92e32 Remove empty switches/0 and aliases/0 callbacks 2016-11-21 11:26:40 +00:00
Daniil Fedotov 59225a551d Remove `flags/0` callback. Remove command modules helpers from helpers to command_modules 2016-11-18 14:12:53 +00:00
Arnaud Cogoluègnes 5e16943fe4 Add encode command
Catching up with rabbitmq/rabbitmq-server#979.

Fixes #118
2016-11-18 14:52:29 +01:00
Arnaud Cogoluègnes 061dc48e96 Use binaries for policy RPC call
Part of rabbitmq/rabbitmq-server#1030
2016-11-17 09:54:11 +01:00
Michael Klishin 0d61a2b0d0 Use Erlang term formatter by default for status
Fixes #106.
2016-11-16 00:15:44 +03:00
Daniil Fedotov f160f0536a New exec command to execute elixir code locally in command context. 2016-11-15 16:12:41 +00:00
Daniil Fedotov ccb6bf116c Namespace refactoring 2016-11-14 17:52:08 +00:00
Milton Mazzarri 6795aec784 Improve code consistency
* Fix some code consistency issues, mostly spaces around parenthesis, brackets and operators.
* Write large number with underscores (example: 70_000 instead of 70000)
* Write variable names in snake_case
* Remove trailing white spaces
2016-11-13 00:29:17 -06:00
Daniil Fedotov 31848069e2 Use RABBITMQ_NODENAME as default node 2016-11-11 11:12:09 +00:00
Daniil Fedotov 1dc8e90a70 Make tests happy 2016-11-10 17:40:43 +00:00
Daniil Fedotov 6c98c51a7d Call rabbit:alarms instead of rabbit:status to get alarms 2016-11-10 16:01:41 +00:00
Daniil Fedotov 3c8e6d1ef7 Use seconds in timeout parameter. Better timeout error report 2016-11-10 14:53:59 +00:00
Daniil Fedotov 63382a3b18 Force non infinity timeout for node health check. Node health check output 2016-11-10 13:51:01 +00:00
Daniil Fedotov 8f601a4bbe Erlang terms formatter name 2016-11-10 13:01:49 +00:00
Daniil Fedotov 7dd74a3232 Erlang terms formatter 2016-11-10 12:19:47 +00:00
Daniil Fedotov ca69dff530 Handle non-list format_output in table formatter 2016-11-10 12:12:17 +00:00
Daniil Fedotov 0d88314c50 It's not a map, it's a keyword list 2016-11-09 17:11:51 +00:00
Daniil Fedotov b984a423bf Support --local argument in list_queues 2016-11-09 17:02:05 +00:00
Daniil Fedotov dae427bbf9 Handle non-error outputs in wait command 2016-11-09 13:03:35 +00:00
Daniil Fedotov 4d0f9b1fb5 Load commands from plugins 2016-11-08 14:25:14 +00:00
Daniil Fedotov b0f59ead31 Fix tests 2016-11-08 14:23:09 +00:00
Daniil Fedotov ad90e60121 script name is overridable via argument 2016-11-08 14:21:31 +00:00
Daniil Fedotov b98470288d List plugins formatter 2016-11-08 14:19:11 +00:00
Michael Klishin db194fb013 Merge branch 'master' into rabbitmq-cli-105
Conflicts:
	test/forget_cluster_node_command_test.exs
	test/rename_cluster_node_command_test.exs
2016-11-07 22:37:24 +03:00
Daniil Fedotov 837226430b Coordinate environment with config module 2016-11-07 22:03:09 +03:00
Michael Klishin e423453159 Add a missing clause 2016-11-07 09:45:43 -08:00
Daniil Fedotov 08e263ab2a Vhost limits commands 2016-11-07 14:08:26 +00:00
Daniil Fedotov 85d6868763 Make table formatter look like in the old CLI 2016-11-04 12:38:35 +00:00
Daniil Fedotov aaabab1fe9 Enable table formatter for each list_ command 2016-11-04 11:17:02 +00:00
Daniil Fedotov 14d82eabdc Refactor error reporting to allow commands specify formatter 2016-11-04 11:11:03 +00:00
Daniil Fedotov 3f4abba717 Command specific formatters 2016-11-03 18:10:18 +00:00
Daniil Fedotov cb3e54d8d8 Table formatter 2016-10-31 18:07:24 +00:00
Michael Klishin 74cb3a2b53 diag, diagnostic => diagnostics 2016-10-12 01:07:40 +03:00
Daniil Fedotov 70b867e908 Naming 2016-10-07 14:57:10 +01:00
Daniil Fedotov 41f38e29f8 Make read-only commands part of the rabbitmq-diag tool 2016-10-07 14:36:54 +01:00
Daniil Fedotov 3ac39162be Operator policies commands 2016-09-08 11:02:21 +01:00
Daniil Fedotov fe3e83ec50 Fixing some tests 2016-09-07 12:46:47 +01:00
Michael Klishin b65d8649cd Cosmetics 2016-09-05 12:47:59 +03:00
Daniil Fedotov a7fe88e74c Example json formatter. Remove IO.puts from commands 2016-08-23 14:28:07 +01:00
Daniil Fedotov 57550182e1 Specific output tests 2016-08-22 15:05:17 +01:00
Daniil Fedotov 4c13a51ac8 Reworking command outputs 2016-08-22 12:58:37 +01:00
Daniil Fedotov 0da30bd1d1 Help command return list of strings instead of printing them\ 2016-08-18 17:38:49 +01:00
Daniil Fedotov 35fc3d12cd Default output formatting and exit code selection. Inspect printer 2016-08-18 15:35:49 +01:00
Michael Klishin b154b998ca Make sure rabbit_event is functional
It will be required as of server#500.
2016-08-18 12:09:27 +03:00
Daniil Fedotov 4b25f8ab18 Add rabbit plugins to path when requiring rabbit to be loaded 2016-08-17 17:06:15 +01:00
Andrew Bruce 19f0ba94d3 Inline default_opts
[#127359637]
2016-08-15 15:09:12 +01:00
Andrew Bruce 541ad4249c Fix merge_defaults implementations
...and don't default inside run methods.

Defaults must go on left-hand-side of `Map.merge`, or they'll clobber
user-defined settings.

Remove some unnecessary pattern matching.

Issue #92

[#127359637]
2016-08-15 14:21:15 +01:00
Michael Klishin 4e45a52dd4 Fix an IO.puts/1 line ported from io:format/2 too literally 2016-08-14 08:37:32 +03:00
Michael Klishin 49e9cb2909 pong and pang are atoms 2016-08-14 08:16:44 +03:00
Michael Klishin b57e8e16cc Don't rely on rabbit_control_main; coerce node names to atoms
`rabbit_control_main` is going away due to the very existence of
these new CLI tools.
2016-08-12 04:46:26 +03:00
Michael Klishin cb209d834d Merge branch 'master' into rabbitmq-cli-rename-cluster-node-command
Conflicts:
	lib/rabbitmqctl.ex
2016-08-12 04:36:51 +03:00
Michael Klishin 508a906bf9 Wording, add aliases to UpdateClusterNodesCommand 2016-08-12 02:34:43 +03:00
Michael Klishin 17773fcd1f Merge branch 'master' into rabbitmq-cli-update-cluster-nodes 2016-08-12 01:56:12 +03:00
Michael Klishin 0e8ab49937 Brush up tests, support both "disc" and "disk"
as the current `rabbitmqctl` does.
2016-08-12 01:54:23 +03:00
Michael Klishin 0449004a6b Merge branch 'master' into rabbitmq-cli-change-cluster-node-type 2016-08-12 01:04:01 +03:00
Michael Klishin 81ea222428 Fix CLI arguments parsing for policies, brush up tests
Policy commands now work on the CLI against an actual node.
2016-08-11 17:15:43 +03:00
Michael Klishin e9ef2cff34 Merge branch 'master' into rabbitmq-cli-policies-commands 2016-08-11 13:58:11 +03:00
Michael Klishin ad2b4627c7 Merge branch 'master' into rabbitmq-cli-9
Conflicts:
	lib/rabbitmq/cli/ctl/parser.ex
	lib/rabbitmqctl.ex
2016-08-11 11:52:54 +03:00
Michael Klishin ef2c06f0f4 Merge branch 'master' into rabbitmq-cli-force-boot-command 2016-08-11 11:12:59 +03:00
Michael Klishin 29c3bf3f43 Wording, cosmetics 2016-08-11 10:56:32 +03:00
Michael Klishin cb03611e2a Merge branch 'master' into rabbitmq-cli-78 2016-08-11 10:49:39 +03:00
Michael Klishin 31c3356c56 Use effective program name in help command output
Note that this solution is imperfect because
for tests the name of the tool is `mix`. But most
tests don't care.
2016-08-09 15:05:48 +03:00
Daniil Fedotov ca98b02656 Implement policy management commands 2016-07-29 14:59:19 +01:00
Daniil Fedotov 4d40649d44 Command auto completion 2016-07-28 17:46:37 +01:00
Daniil Fedotov a0c5af375b Implement forget_cluster_node command 2016-07-27 14:41:02 +01:00
Daniil Fedotov e89bf53357 Do not require rabbit as dependency 2016-07-27 12:27:27 +01:00
Daniil Fedotov 7b35c7c2cc More validation, error handling and tests 2016-07-27 11:48:24 +01:00
Daniil Fedotov f2c4986fcf Implementing rename_cluster_nodes command 2016-07-26 18:08:37 +01:00
Daniil Fedotov cd68b3ce9c Implement change_cluster_node_type command 2016-07-25 16:48:45 +01:00
Daniil Fedotov 12cbd50f10 Implement update_cluster_nodes command 2016-07-25 15:11:05 +01:00
Daniil Fedotov 0eee8e2446 Implement force_boot command 2016-07-25 14:01:41 +01:00
Daniil Fedotov 57c4a0fa69 Fix some tests 2016-07-25 14:00:55 +01:00
Daniil Fedotov a84cd93d2e Implement eval command 2016-07-22 17:17:15 +01:00
Michael Klishin 58708b6ac3 Merge branch 'master' into rabbitmq-cli-83 2016-07-15 23:54:48 +03:00
Michael Klishin 909a3b41fe Adapt to recent server rabbit_health_check changes 2016-07-15 23:47:15 +03:00