Daniil Fedotov
9b0ec73a0d
Set default formatter for environment command to erlang
2017-06-02 10:17:28 +01:00
Michael Klishin
6c2cb2336f
Explain
2017-05-31 23:24:58 +03:00
Daniil Fedotov
ad3d016e4d
Avoid formatting message of no peers discovered.
...
{:error, exit_ok(), message} is a trick to print a string
without formatting it first.
2017-05-31 17:17:07 +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
a10ecbdb7a
This command belongs to diagnostics, not ctl
2017-04-30 01:27:44 +02:00
Michael Klishin
48f79daa09
Don't output backend information; declare a formatter instead of delegating to it
2017-04-30 01:25:27 +02:00
Gabriele Santomaggio
5b8cdf37a1
Rename list_discover_peers with discover_peers
2017-04-28 18:47:35 +02:00
Gabriele Santomaggio
4fa68912a4
Format result
...
Add Backend type
Add simple unit test
2017-04-28 18:12:04 +02:00
Gabriele Santomaggio
34e791851c
Add case
2017-04-27 22:59:20 +02:00
Gabriele Santomaggio
a875fe52ef
Add list_discovery_peers command.
...
Command to report: :rabbit_peer_discovery, :discover_cluster_nodes
2017-04-27 12:16:10 +02: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
Michael Klishin
ac8b32f61a
Merge branch 'master' into rabbitmq-cli-180
...
Conflicts:
lib/rabbitmq/cli/core/distribution.ex
2017-04-05 15:03:52 +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
Michael Klishin
61c3d0e9d0
Naming; make sure ensure_cookie/1 always returns :ok
...
erlang:set_cookie/2 returns true, not ok.
2017-04-04 15:11:41 +03:00
Daniil Fedotov
1e1cb92a44
Make it possible to specify erlang cookie from command line
...
Add new flag `--erlang-cookie` and environment variable `RABBITMQ_ERLANG_COOKIE`
to configure a cookie for CLI to connect to RabbitMQ node.
2017-04-03 14:46:26 +01:00
Daniil Fedotov
00a298961a
Print diagnostics on nodedown error
...
[finishes #142492945 ]
2017-03-31 11:28:41 +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
Jean-Sébastien Pédron
89e12a1ac7
lib/rabbitmq/cli/plugins/plugins_helpers.ex: Remove dead code
...
The same function call is made the line after.
2017-02-28 16:16:27 +01:00
Jean-Sébastien Pédron
12c34a78c4
lib/rabbitmq/cli/plugins/plugins_helpers.ex: Use `deps` to filter plugins
...
... in validate_plugins(). This variable was computed but not used. The
initial `plugins` variable was used but it lacked dependencies.
2017-02-28 16:15:08 +01:00
Jean-Sébastien Pédron
1f68c5a89d
Mark unused variables with '_'
...
Obviously, this fixes sevearl "unused variable" warnings.
2017-02-28 16:12:34 +01:00
Jean-Sébastien Pédron
3dd4ff27c6
lib/rabbitmq/cli/core/parser.ex: Remove dead code
...
OptionParser is already called inside parse_global_head() and the return
values are overwritten anyway. This fixes warnings about unused
variables.
2017-02-28 16:11:32 +01:00
Diana Corbacho
74ffe46fb3
Rename function
2017-02-27 16:23:57 +00:00
Diana Corbacho
87331bb95e
Exclude applications that are not RabbitMQ plugins from the list of plugins
2017-02-27 14:52:40 +00:00
Michael Klishin
1aeedbe98e
RABBITMQCTL_ALIASES => RABBITMQ_CLI_ALIASES_FILE
...
Per discussion with @hairyhum.
2017-02-21 17:51:17 +03:00
Daniil Fedotov
95fe5c96fd
Document aliases. Improve eval command to accept bound arguments
2017-02-16 12:41:26 +00:00
Daniil Fedotov
2b4012127e
Support aliases
...
Fixes #10
Loads aliases in "name = command_name [arguments and options]" format from --aliases-file
2017-02-15 18:03:45 +00:00
Daniil Fedotov
8efb8a32ab
Do not use Mix in production code.
...
Fixes #174
Mix is not bundled into the escript file, so sould not
be used in the code.
2017-02-15 10:46:08 +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
Michael Klishin
2a9c24af2c
Merge branch 'master' into rabbitmq-server-release-12
2017-01-27 18:33:19 +03:00
Jean-Sébastien Pédron
61d8bb836e
Merge pull request #171 from rabbitmq/rabbitmq-cli-170
...
Validate enabled plugins version requirements
2017-01-27 16:29:04 +01:00
Daniil Fedotov
0e13568ec3
Move plugin validation from `validate` to `run`
2017-01-27 14:55:09 +00:00
Daniil Fedotov
77860364bb
Merge branch 'master' into rabbitmq-server-release-12
2017-01-27 10:42:58 +00:00
Daniil Fedotov
8038f583e0
Validate all plugins if `all` flag is present
2017-01-26 16:21:44 +00:00
Daniil Fedotov
df95a411c7
Format user_already_exists error
2017-01-26 12:33:56 +00:00
Daniil Fedotov
52ad0d2a39
Validate enabled plugins version requirements
2017-01-26 12:21:20 +00:00
Daniil Fedotov
a5857e13d8
Handle auto-completion line as argv, not a single argument
...
It's easier to detect a script name if passed as argv list.
Arguments can be parsed with quoted spaces (e.g. in directory path)
2017-01-24 14:40:31 +00:00
Daniil Fedotov
3871c4ccde
Support autocompletion with different script names
2017-01-24 12:30:12 +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
ed68f0e957
Merge pull request #166 from rabbitmq/rabbitmq-event-exchange-10
...
Provide cli user as user who performs action for event notifications
2017-01-21 02:05:19 +03:00
Daniil Fedotov
b7fb43fb48
Fix auto complete module to support new parser API
2017-01-18 15:38:33 +00: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
Jean-Sébastien Pédron
530a9c7d83
{disable,enable}_command.ex: Support --all to enable/disable all plugins
...
[#136769947 ]
2016-12-29 11:47:48 +01:00
Jean-Sébastien Pédron
77a23a9a72
Move plugin_names() from list_command.ex to plugins_helpers.ex
...
[#136769947 ]
2016-12-29 11:46:17 +01:00
Arnaud Cogoluègnes
6160bdd57e
Merge branch 'master' into rabbitmq-server-505
2016-12-27 16:43:57 +01:00
Michael Klishin
41a67e6c4f
Actually, don't log anything
...
Those CT log entries would look really weird to the user
and we already log CLI failures in rabbitmq_ct_helpers.
2016-12-27 13:57:23 +03:00
Michael Klishin
ce909f8d3a
Explain; log something more meaningful with CT
2016-12-27 13:55:13 +03:00
Daniil Fedotov
30b41ba267
Support start from common_test tests
2016-12-23 12:12:33 +00:00
Arnaud Cogoluègnes
93e9d9301e
Merge branch 'master' into rabbitmq-server-505
2016-12-22 17:50:18 +01:00
Daniil Fedotov
7d41df5d8d
Fix sorting and plugin name access for plugin management commands
2016-12-22 16:19:17 +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
240c7c0862
Merge pull request #156 from rabbitmq/rabbitmq-cli-153
...
Load .ez plugins without version
2016-12-14 17:00:40 +00: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
Michael Klishin
eaaea172ae
Squash a couple of compiler warnings
2016-12-14 14:55:03 +03:00
Michael Klishin
c647314d79
Merge branch 'master' into rabbitmq-cli-153
2016-12-14 14:50:06 +03:00
Diana Corbacho
067f0cee14
Load .ez plugins without version
2016-12-13 13:06:16 +01:00
Michael Klishin
ad094d74a9
Correct delegation here
2016-12-12 16:27:34 +03:00
Michael Klishin
1f7404ce4c
Don't include double quotes in cookie hash output
...
It is easier to parse, in particular when -q is passed.
2016-12-12 15:51:29 +03:00
Diana Corbacho
6e29559910
Add tests for Erlang cookie hash command
2016-12-12 12:59:41 +01:00
Diana Corbacho
065c06dfab
Erlang cookie hash command
2016-12-12 11:38:45 +01:00
Daniil Fedotov
8735851da4
Sort commands when printing help
2016-12-07 16:21:10 +00:00
Arnaud Cogoluègnes
adef01fcbc
Merge pull request #150 from rabbitmq/rabbitmq-cli-144
...
Introduce `rabbitmq-diagnostics maybe_stuck`
2016-12-07 16:10:22 +01:00
Michael Klishin
6f5d3c6bb0
Introduce `rabbitmq-diagnostics maybe_stuck`
...
Fixes #144 .
[Finished ##135678977]
2016-12-07 17:10:17 +03:00
Daniil Fedotov
f7a741ece8
Merge branch 'master' into rabbitmq-cli-134
2016-12-07 14:05:59 +00:00
Michael Klishin
216810d205
Drive by change: simplify
2016-12-07 15:47:28 +03:00
Michael Klishin
5a5e00a48e
Use Erlang terms formatter to be compatible with eval 'ssl:cipher_suites().' output
2016-12-07 15:43:41 +03:00
Michael Klishin
d6202f761c
Make the Erlang term formatter concatenate stream elements with commas
...
Fixes #149 , references #141 .
2016-12-07 15:42:48 +03:00
Michael Klishin
7d730e739d
Introduce `rabbitmq-diagnostics cipher_suites [--openssl-format]`
...
Fixes #141 .
[##135616437]
2016-12-07 01:43:41 +03:00
Daniil Fedotov
967cc07c16
Do not streamify plain maps
2016-12-06 17:14:59 +00:00
Daniil Fedotov
6846cfa258
Remove useless output
2016-12-06 16:18:54 +00:00
Diana Corbacho
28d8259450
Real time output in enable/disable/set commands
2016-12-06 15:12:47 +00:00
Michael Klishin
7b809bd7a5
Wording
2016-12-06 17:00:50 +03:00
Daniil Fedotov
fc0ca12a91
Test commands suggestions
2016-12-06 12:19:25 +00:00
Daniil Fedotov
80dc953ee5
Suggest commands by Levenshtein distance
2016-12-05 18:59:58 +00:00
Michael Klishin
cb41fe932d
Unbreak with_distribution/1
2016-12-05 19:23:20 +03:00
Michael Klishin
3deb0df90f
Merge branch 'handle-distribution-errors' of https://github.com/binarin/rabbitmq-cli into binarin-handle-distribution-errors
2016-12-05 18:42:27 +03:00
Alexey Lebedeff
2d11e45625
Handle errors from distribution start attempts
...
Otherwise broken or misconfigured distribution is reported as an
unavailable broker node.
2016-12-05 17:51:22 +03:00
Michael Klishin
511a898a8f
Wording
2016-12-05 17:39:38 +03:00
Michael Klishin
e17c809530
Switch to a documented inet* function
...
References #137 .
2016-12-05 17:38:16 +03:00
Alexey Lebedeff
fcd23a6ca3
Fix longname-mode on hosts without detectable FQDN
...
Re-implement https://github.com/rabbitmq/rabbitmq-server/issues/890
CLI tools fail in longnames-mode if erlang is not able to determine host
FQDN (with at least one dot in it). E.g. this happens on docker.
And it was not possible to alleviate this situation using any options
from http://erlang.org/doc/apps/erts/inet_cfg.html
2016-12-05 16:06:52 +03:00
Michael Klishin
ba0efb56b0
Merge pull request #133 from rabbitmq/rabbitmq-cli-129
...
Load command specific options from a single command
2016-12-03 11:32:44 +03:00
Michael Klishin
f788060718
Extract function
2016-12-03 11:20:02 +03:00
Daniil Fedotov
c62d48380a
Load command specific options from a single command
2016-11-30 16:51:59 +00:00
Arnaud Cogoluègnes
409f8e3b00
Use 1 RPC call to get running plugins
2016-11-30 17:19:13 +01:00
Arnaud Cogoluègnes
fd07c8b70b
Support several versions of plugins in directories
...
References #131
2016-11-29 17:33:41 +01:00
Arnaud Cogoluègnes
304ab703f4
Support multiple plugins directories
...
References #131
2016-11-29 15:26:57 +01: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
cc87a49f93
Make switches as aliases callbacks optional
2016-11-18 17:21:27 +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
Michael Klishin
0aa7bf6f9b
Merge branch 'master' into rabbitmq-server-1030
2016-11-17 21:36:23 +03:00
Daniil Fedotov
a664f83b9f
Fix stream output for csv formatter
2016-11-17 16:09:18 +00:00
Daniil Fedotov
e4ebdaabde
Make rabbit node resolve from environment variable by default
2016-11-17 14:16:00 +00: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
Daniil Fedotov
77e17ddf13
Printer behaviour
2016-11-16 13:46:36 +00:00
Michael Klishin
0d61a2b0d0
Use Erlang term formatter by default for status
...
Fixes #106 .
2016-11-16 00:15:44 +03:00
Michael Klishin
1cf7b70bc1
Merge pull request #116 from rabbitmq/rabbitmq-cli-115
...
CSV formatter
2016-11-15 22:05:48 +03:00
Daniil Fedotov
82026a0ec8
More global switches to control environment
2016-11-15 16:14:10 +00: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
4c05e343d7
Format CSV info items with helpers
2016-11-15 11:31:59 +00:00
Daniil Fedotov
cb52a66d70
CSV formatter
2016-11-15 11:14:44 +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
58af1261b1
Flatten list_consumers output in table formatter
2016-11-09 18:18:32 +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
b436f52797
Proper error handling
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
9ebf876c9a
Do not require ENABLED_PLUGINS_FILE to run ctl, still print an error
2016-11-08 14:45:59 +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
60fdcecdb4
Format disabled plugins
2016-11-08 14:19:11 +00:00
Daniil Fedotov
3e3d8f3f0b
Fix tests for plugins commands
2016-11-08 14:19:11 +00:00
Daniil Fedotov
b8c7360b14
Plugins enable/disable command formatter
2016-11-08 14:19:11 +00:00
Daniil Fedotov
b98470288d
List plugins formatter
2016-11-08 14:19:11 +00:00
Daniil Fedotov
4733765759
Better generic formatting. No tests for format_error
2016-11-08 10:11:07 +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
603dfd4cf0
Add optional callbacks to the command behaviour
2016-11-04 11:29:14 +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
Michael Klishin
e1de90218c
Merge pull request #104 from rabbitmq/rabbitmq-cli-101
...
Operator policies commands
2016-09-08 15:35:56 +04:00
Daniil Fedotov
599cede1df
Convert error_string char list to string
2016-09-08 11:03:08 +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
4a277f1fdd
A bit of docs
2016-09-05 13:29:11 +03:00
Michael Klishin
64ee6dfaf2
Wording
2016-09-05 13:06:45 +03:00
Michael Klishin
b65d8649cd
Cosmetics
2016-09-05 12:47:59 +03:00
Michael Klishin
59a57a8d37
Merge branch 'master' into rabbitmq-cli-90
2016-09-05 12:44:18 +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
6d2208063f
Write to file using file printer
2016-08-22 14:19:15 +01:00
Daniil Fedotov
c88eb090f3
File printer
2016-08-22 14:13:38 +01:00
Daniil Fedotov
4c13a51ac8
Reworking command outputs
2016-08-22 12:58:37 +01:00
Daniil Fedotov
616476cc66
Remove duplicate require_rabbit function
2016-08-18 17:55:29 +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
7525ee3373
Cosmetics
2016-08-11 09:52:37 +03:00
Michael Klishin
76fb17d8f2
Use MapSet.difference/2 here, too
2016-08-11 09:37:48 +03:00
Michael Klishin
30e0c66127
Use sets in more places; rabbit_plugins:ensure/1 expects an Erlang list
...
Both CLI and tests now generally work as expected.
2016-08-11 01:44:27 +03:00
Michael Klishin
05db449187
Handle duplicates on plugin lists, be more defensive with defaults
...
Makes CLI invocations of `rabbitmq-plugins {enable, disable, list}`
mostly work.
2016-08-11 01:27:13 +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
Michael Klishin
bec4e6f4f9
Drop rabbitmq-plugins active_plugins
...
`rabbitmq-plugins list` with flags can do the same thing.
Per discussion with @hairyhum.
2016-08-09 13:46:20 +03:00
Michael Klishin
eef1c36024
Drop _plugins from plugin management module names
2016-08-09 00:03:58 +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
Michael Klishin
786ec7672d
Rename
2016-07-10 21:36:12 +03:00
Michael Klishin
09fc873a34
Improve a couple of error atoms
2016-07-10 19:47:27 +03:00
Michael Klishin
70f486c27d
Squash a few compilation warnings
2016-07-10 12:08:33 +03:00
Michael Klishin
941263e83c
Eliminate several warnings
2016-06-26 22:47:37 +03:00
Daniil Fedotov
5b828c7e64
Tests for command modules
2016-06-23 12:33:39 +01:00
Daniil Fedotov
5c5f4d4414
Plugins command tests
2016-06-23 10:50:01 +01:00
Daniil Fedotov
eda1e7cac2
Tests for list plugins command
2016-06-23 10:50:01 +01:00
Daniil Fedotov
963f6a2ff9
tests for list plugins command
2016-06-23 10:50:01 +01:00
Daniil Fedotov
2415ee58aa
Plugin management commands
2016-06-23 10:50:01 +01:00
Daniil Fedotov
75d8632d87
Aliases in behaviour. List plugins command
2016-06-23 10:50:01 +01:00
Daniil Fedotov
33caaecb9b
Select command scope by namespace
2016-06-23 10:50:01 +01:00
Daniil Fedotov
0d026a5f4a
Example plugins command
2016-06-23 10:50:01 +01:00
Daniil Fedotov
deb6e99b49
Removed scopes from command behaviour
2016-06-23 10:50:01 +01:00
Daniil Fedotov
9baa5c1ebe
Load commands from load path. Specify scope in application config by file name
2016-06-23 10:50:01 +01:00
Daniil Fedotov
1f3bc3e6d7
Use scopes and separate Mix projects to generate escripts
2016-06-23 10:50:01 +01:00
Michael Klishin
78ae2585a3
Inline
2016-06-15 00:22:42 +03:00
Michael Klishin
bc5ff3bf26
Merge pull request #79 from rabbitmq/rabbitmq-cli-69
...
Purge queue command
2016-06-14 23:07:55 +03:00
Michael Klishin
2d68d42241
Assert that messages were purged; don't assume 0 messages were deleted
2016-06-14 23:04:27 +03:00
Michael Klishin
d77eb83c5f
A few Helpers.parse_node calls are no longer necessary
...
[Finish ##121221959]
2016-06-14 14:21:16 +03:00
Andrew Bruce
ec3a191515
Purge queue command
...
This initial version makes two RPC calls:
1. Gets the amqqueue resource
2. Makes the purge request using that resource
Issue #69
2016-06-14 10:31:47 +01:00
Michael Klishin
39b3de4d1e
Namespace commands, fixes #74
...
Note that the top level module is not namespaced. It's
not clear to me if it should be or will be end up using
and (Elixir/Mix) umbrella project anyway.
2016-06-10 02:54:22 +03:00
Andrew Bruce
0c94b3d87a
Fix typo in node name
2016-06-09 15:49:57 +01:00
Michael Klishin
d27469c665
RabbitMQ.CLI.RabbitMQCtl => RabbitMQ.CLI.Ctl, references #74
2016-06-09 04:08:21 +03:00
Michael Klishin
4e31f4c627
More renaming, references #74
2016-06-09 04:00:43 +03:00
Michael Klishin
509179402a
Missing file for the previous commit
2016-06-09 03:35:11 +03:00
Michael Klishin
0c35f5a8cd
Move start_distribution into RabbitMQ.CLI.Distribution
2016-06-09 02:23:10 +03:00