Commit Graph

596 Commits

Author SHA1 Message Date
Luke Bakken 4fb9bab458 Handle case where import file does not exist or is zero-sized.
Fixup printing the real stacktrace when --print-stacktrace is used
2019-11-18 14:39:50 -08:00
Luke Bakken 75fa655c02 Add newline 2019-11-18 13:49:59 -08:00
Michael Klishin b49b639add ctl export_definitions: fail validation w/o positional args 2019-11-19 00:41:30 +03:00
Michael Klishin 7c5933052e Finish ctl import_definitions 2019-11-16 06:46:26 +03:00
Michael Klishin fa0db7ad22 Initial version of rabbitmqctl import_definitions 2019-11-16 05:18:52 +03:00
Michael Klishin 27212997c2 A typo 2019-11-15 03:54:01 +03:00
Michael Klishin 0927cdf24d Cosmetics 2019-11-15 03:53:13 +03:00
Michael Klishin c73d04c216 This invariant is impossible here 2019-11-15 03:05:46 +03:00
Michael Klishin 7c0718800f Introduce rabbitmqctl export_definitions [path] 2019-11-15 02:20:02 +03:00
Michael Klishin ceb3aff309 hipe_compile: deprecate
References rabbitmq/rabbitmq-website#884.
2019-11-01 02:50:38 +03:00
Luke Bakken cdbaee05ac Add erlang formatter function heads
Fixes #383
2019-10-21 17:49:08 -07:00
Michael Klishin 254fe20453 Move quorum_status to rabbitmq-queues, add basic tests 2019-09-26 08:16:33 +03:00
Michael Klishin d5ba3e32de Correct command_line_arguments delegation in report 2019-09-24 02:10:28 +03:00
Michael Klishin 4c33ce0961 Move command_line_arguments to rabbitmq-diagnostics 2019-09-24 00:54:11 +03:00
dcorbacho b5e5d0a274 Command line arguments command
* Reports the command line flags returned by `init:get_arguments()`

[#159699409]
2019-09-23 20:07:33 +01:00
Whitespirit0 f26b755a8d Fix set_parameter command output
Invert parameter name and component name in output.
2019-09-20 11:38:59 +02:00
Michael Klishin 8bd68a34f1 Typos 2019-08-29 02:03:12 +03:00
Michael Klishin 4e536ff45b rabbitmqctl add_vhost: parse tags
Per review feedback in rabbitmq/rabbitmq-server#2080.
2019-08-28 09:58:29 +03:00
Michael Klishin 4505b9a85f ctl add_vhost: suggest a comma-separated list of tags
For consistency with user tags.
2019-08-15 15:52:09 +10:00
Michael Klishin 2c6f5a1146 ctl add_vhost: make it possible to provide a description 2019-08-15 15:42:06 +10:00
Diana Corbacho 5e04dd41ab Use new 'description' and 'tag' items on list vhosts
[#166298298]
2019-08-13 16:06:53 +01:00
Michael Klishin 83b92cac0b diagnostics status: require rabbit app to be running on target node
Closes #367.
2019-07-18 18:51:25 +03:00
Michael Klishin 37450cc0dc Drop --[no-]interactive support
Per discussion with @lukebakken.

It serves no purpose and to make scripting with stream
redirection work we had to make validation changes that make
that flag irrelevant and even confusing.

The only downside of this behavior is that something like

rabbitmqctl add_user --silent "a-username"

(without a password or redirected stream, with suppressed output)
would "hang" waiting for stdin input. If --silent is omitted
there would be an input prompt, making it clearer what's going on.

Closes #365 with a different behavior from the originally suggested.
2019-07-10 19:08:19 -07:00
Michael Klishin b890fe787b Ditto for ctl change_password
Part of #365.
2019-07-11 00:21:11 +03:00
Michael Klishin 865af70a98 ctl add_user: make password optional, accept it via stdin
Part of #365.
2019-07-10 23:27:29 +03:00
Michael Klishin 358aec5840 ctl authenticate_user: make password optional, accept it via stdin
Part of #365.
2019-07-10 02:17:12 +03:00
Michael Klishin 43209567c2 Address an Elixir 1.9 warning 2019-07-10 00:54:05 +03:00
Eugene Pirogov aa35ebb34d Fix typo in description for "stop" command 2019-07-08 17:53:37 +03:00
Michael Klishin 6bd6b8d2de Merge pull request #355 from rabbitmq/quorum-status
Switch to pretty table formatter
2019-05-23 16:38:19 +01:00
kjnilsson 4877111edc Switch to pretty table formatter 2019-05-23 14:55:55 +01:00
Daniil Fedotov 992e6810d2 Recompile all regexes.
Compiled regexes are endianness-specific. To run on any endianness
systems we need to recompile them in runtime.
2019-05-07 11:29:40 -04:00
Diana Corbacho da22d12477 Include feature flag status in cluster status
rabbitmq-cli #346
2019-04-25 11:47:36 +01:00
Michael Klishin d926bc26b8 enable_feature_flag: handle cases where target node does not support the flag
or any flags.

[#163980302]
2019-04-20 02:44:22 +03:00
Michael Klishin 7efc4766d7 If target node does not support feature flag, consider that none are available
Per discussion with @dumbbell.

[#163980302]
2019-04-20 02:23:57 +03:00
Michael Klishin a1de733dae list_feature_flags: handle missing rabbit_ff_extra modules on target node
Part of #343.

[#163980302]
2019-04-20 02:20:23 +03:00
Michael Klishin 11774a3ff1 cluster_status: list RabbitMQ and Erlang versions
Per suggestion from @gerhard.
2019-04-19 05:17:12 +03:00
Michael Klishin 16b8ffc75d Extract Core.Version 2019-04-18 21:12:23 +04:00
Michael Klishin 5f79b2a446 Naming 2019-04-18 20:46:48 +04:00
Michael Klishin 11f0b45732 cluster_status: rework output format, support JSON formatter
[#165435068]
2019-04-18 04:00:05 +04:00
Michael Klishin 31be98b8ce Extract Core.ANSI from status and help commands 2019-04-16 19:19:45 +04:00
Michael Klishin 977587a7e6 Remove a stray IO.inspect/1 2019-04-16 17:36:31 +04:00
Michael Klishin 7115676f1b status: support absolute watermark values
While at it, improve watermark formatting.
2019-04-16 17:33:14 +04:00
Michael Klishin 1ba8d7ca7d status: include RabbitMQ server information 2019-04-14 03:11:53 +04:00
Michael Klishin 3c16459e39 status: include node's data directory path 2019-04-14 03:02:16 +04:00
Michael Klishin 7c57a92586 status command: add --unit support for memory and disk space metrics 2019-04-14 01:55:40 +04:00
Michael Klishin 162ef63024 ctl status: add a section on totals
Per suggestion from @gerhard.
2019-04-13 01:14:31 +04:00
Michael Klishin f2c32cdf41 status: add config file, log file and basic plugin information 2019-04-13 00:36:03 +04:00
Michael Klishin bef351ff1b Format alarms as maps when formatter is JSON 2019-04-12 13:57:45 +04:00
Michael Klishin 2304ff5b0d status: remove leading new line 2019-04-12 04:03:33 +04:00
Michael Klishin e47a53c3c8 New status command: add file descriptors usage section 2019-04-12 03:56:56 +04:00
Michael Klishin 3fa31cacf2 New status command: add memory watermark and usage section 2019-04-12 03:45:46 +04:00
Michael Klishin 54436642cf status: free disk space and listener sections 2019-04-12 02:59:15 +04:00
Michael Klishin 9e7031d2b6 New status command output WIP 2019-04-11 22:11:00 +04:00
Michael Klishin 990e38a245 Extract Core.Memory from Core.Helpers
In preparation for #340.
2019-04-11 22:09:16 +04:00
Michael Klishin e4aecbaa5d status command: convert raw data to a machine-friendly map 2019-04-11 19:58:22 +04:00
Michael Klishin 24c53b3acf New ctl status output WIP 2019-04-11 15:31:50 +04:00
Michael Klishin 9cb776c98e Squash a warning 2019-04-10 15:22:38 +03:00
Michael Klishin d2549de22e Extract several modules from RabbitMQ.CLI.Core.Helpers
In preparation to changing status command output for 3.8
2019-04-10 13:31:38 +03:00
Michael Klishin f49b77c205 ping command: rely on Core.AcceptsDefaultSwitchesAndTimeout 2019-04-09 17:28:42 +04:00
Michael Klishin 801df8cf46 ping: cosmetics, declare --timeout in switches 2019-04-09 16:43:58 +04:00
Michael Klishin 46712a2a70 Cosmetics 2019-04-09 16:43:38 +04:00
Michael Klishin 61b504ca8e ctl delete_queue: help message improvements 2019-04-09 14:40:15 +04:00
Michael Klishin ab3d694d99 ctl delete_queue: fix a typo in alias definition
While at it, correct usage docs to use --kebab-case
for switches.

Closes #339.
2019-04-09 14:37:51 +04:00
Michael Klishin 8eee5dca42 Merge branch 'master' into rabbitmq-cli-336 2019-04-08 19:04:25 +04:00
Michael Klishin 382c664f79 Clarify 2019-04-08 15:30:58 +04:00
Michael Klishin 5ab985d2e4 Explain, references rabbitmq/rabbitmq-server#1971 2019-04-08 15:08:01 +04:00
Michael Klishin e76e00aa06 ctl close_all_connections: don't fail when --vhost is missing in options 2019-04-08 15:07:46 +04:00
Michael Klishin a37cd534e0 Clarify that not every command supports every formatter 2019-04-05 14:28:58 +04:00
Luke Bakken 6f4d9bf83d Ensure enumerable value is returned from RpcStream
Fixes #336
2019-04-04 17:56:05 -07:00
Michael Klishin 11adbf446b A typo 2019-04-01 03:28:30 +03:00
Michael Klishin fe23f38635 Expand help information for more commands (part 4) 2019-04-01 03:26:17 +03:00
Michael Klishin 0d57806e0f Expand help information for more commands (part 3) 2019-04-01 03:00:01 +03:00
Michael Klishin 654ec133b2 Expand help information for more commands
This removes command-specific --formatter option from the docs
per discussion with the team. --formatter will be covered in the
general section only.
2019-03-31 01:33:36 +03:00
Michael Klishin 9f6eb5a13a Rename function 2019-03-31 00:38:52 +03:00
Michael Klishin 171376f9c9 Document arguments/options and relevant guides for more commands 2019-03-30 09:30:26 +03:00
Michael Klishin 6cf71362d1 Correctly format blank command description
Don't print a trailing dot and a new line break,
that is confusing and doesn't look great.
2019-03-26 21:06:42 +03:00
Michael Klishin 2510b0baea A typo
<3 <3 <3 dogs
2019-03-26 20:54:09 +03:00
Michael Klishin fd151e4696 join_cluster: minor doc updates 2019-03-26 17:20:37 +03:00
Michael Klishin a27289af95 Recommend doc guides in --help for more commands 2019-03-26 17:07:18 +03:00
Michael Klishin f2b80a4116 A way for commands to provide a list of relevant doc guides
in the help message.
2019-03-26 15:51:06 +03:00
Michael Klishin 93dbbf342e Rework how command-specific options are displayed in help
Per recommendation from @dumbbell.
usage_addition/0 return format per discussion
with @dcorbacho, @hairyhum, @lukebakken.
2019-03-26 01:21:22 +03:00
Michael Klishin 187d6cd79a Cosmetics 2019-03-21 19:06:27 +03:00
Spring Operator 0a2541afd3 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# HTTP URLs that Could Not Be Fixed
These URLs were unable to be fixed. Please review them to see if they can be manually resolved.

* http://blog.listincomprehension.com/search/label/procket (200) with 1 occurrences could not be migrated:
   ([https](https://blog.listincomprehension.com/search/label/procket) result ClosedChannelException).
* http://dozzie.jarowit.net/trac/wiki/TOML (200) with 1 occurrences could not be migrated:
   ([https](https://dozzie.jarowit.net/trac/wiki/TOML) result SSLHandshakeException).
* http://dozzie.jarowit.net/trac/wiki/subproc (200) with 1 occurrences could not be migrated:
   ([https](https://dozzie.jarowit.net/trac/wiki/subproc) result SSLHandshakeException).
* http://e2project.org (200) with 1 occurrences could not be migrated:
   ([https](https://e2project.org) result AnnotatedConnectException).
* http://erlang.org/doc/reference_manual/distributed.html (200) with 1 occurrences could not be migrated:
   ([https](https://erlang.org/doc/reference_manual/distributed.html) result ConnectTimeoutException).
* http://nitrogenproject.com/ (200) with 2 occurrences could not be migrated:
   ([https](https://nitrogenproject.com/) result ConnectTimeoutException).
* http://proper.softlab.ntua.gr (200) with 1 occurrences could not be migrated:
   ([https](https://proper.softlab.ntua.gr) result SSLHandshakeException).
* http://yaws.hyber.org (200) with 1 occurrences could not be migrated:
   ([https](https://yaws.hyber.org) result AnnotatedConnectException).
* http://choven.ca (503) with 1 occurrences could not be migrated:
   ([https](https://choven.ca) result ConnectTimeoutException).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* http://fixprotocol.org/ (301) with 1 occurrences migrated to:
  https://fixtrading.org ([https](https://fixprotocol.org/) result SSLHandshakeException).
* http://erldb.org (UnknownHostException) with 1 occurrences migrated to:
  https://erldb.org ([https](https://erldb.org) result UnknownHostException).
* http://elixir-lang.org/docs/stable/elixir/OptionParser.html (301) with 1 occurrences migrated to:
  https://elixir-lang.org/docs/stable/elixir/OptionParser.html ([https](https://elixir-lang.org/docs/stable/elixir/OptionParser.html) result 404).
* http://elixir-lang.org/docs/stable/elixir/Stream.html (301) with 1 occurrences migrated to:
  https://elixir-lang.org/docs/stable/elixir/Stream.html ([https](https://elixir-lang.org/docs/stable/elixir/Stream.html) result 404).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* http://cloudi.org/ with 27 occurrences migrated to:
  https://cloudi.org/ ([https](https://cloudi.org/) result 200).
* http://elixir-lang.org with 1 occurrences migrated to:
  https://elixir-lang.org ([https](https://elixir-lang.org) result 200).
* http://elixir-lang.org/ with 2 occurrences migrated to:
  https://elixir-lang.org/ ([https](https://elixir-lang.org/) result 200).
* http://elixir-lang.org/getting-started/typespecs-and-behaviours.html with 1 occurrences migrated to:
  https://elixir-lang.org/getting-started/typespecs-and-behaviours.html ([https](https://elixir-lang.org/getting-started/typespecs-and-behaviours.html) result 200).
* http://elixir-lang.org/install.html with 1 occurrences migrated to:
  https://elixir-lang.org/install.html ([https](https://elixir-lang.org/install.html) result 200).
* http://erlware.org/ with 1 occurrences migrated to:
  https://erlware.org/ ([https](https://erlware.org/) result 200).
* http://inaka.github.io/cowboy-trails/ with 1 occurrences migrated to:
  https://inaka.github.io/cowboy-trails/ ([https](https://inaka.github.io/cowboy-trails/) result 200).
* http://ninenines.eu with 6 occurrences migrated to:
  https://ninenines.eu ([https](https://ninenines.eu) result 200).
* http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 1 occurrences migrated to:
  https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) result 200).
* http://www.actordb.com/ with 2 occurrences migrated to:
  https://www.actordb.com/ ([https](https://www.actordb.com/) result 200).
* http://www.cs.kent.ac.uk/projects/wrangler/Home.html with 1 occurrences migrated to:
  https://www.cs.kent.ac.uk/projects/wrangler/Home.html ([https](https://www.cs.kent.ac.uk/projects/wrangler/Home.html) result 200).
* http://www.rebar3.org with 1 occurrences migrated to:
  https://www.rebar3.org ([https](https://www.rebar3.org) result 200).
* http://contributor-covenant.org with 1 occurrences migrated to:
  https://contributor-covenant.org ([https](https://contributor-covenant.org) result 301).
* http://contributor-covenant.org/version/1/3/0/ with 1 occurrences migrated to:
  https://contributor-covenant.org/version/1/3/0/ ([https](https://contributor-covenant.org/version/1/3/0/) result 301).
* http://inaka.github.com/apns4erl with 1 occurrences migrated to:
  https://inaka.github.com/apns4erl ([https](https://inaka.github.com/apns4erl) result 301).
* http://inaka.github.com/edis/ with 1 occurrences migrated to:
  https://inaka.github.com/edis/ ([https](https://inaka.github.com/edis/) result 301).
* http://lasp-lang.org/ with 1 occurrences migrated to:
  https://lasp-lang.org/ ([https](https://lasp-lang.org/) result 301).
* http://rabbitmq.com/documentation.html with 1 occurrences migrated to:
  https://rabbitmq.com/documentation.html ([https](https://rabbitmq.com/documentation.html) result 301).
* http://saleyn.github.com/erlexec with 1 occurrences migrated to:
  https://saleyn.github.com/erlexec ([https](https://saleyn.github.com/erlexec) result 301).
* http://www.mozilla.org/MPL/ with 290 occurrences migrated to:
  https://www.mozilla.org/MPL/ ([https](https://www.mozilla.org/MPL/) result 301).
* http://zhongwencool.github.io/observer_cli with 1 occurrences migrated to:
  https://zhongwencool.github.io/observer_cli ([https](https://zhongwencool.github.io/observer_cli) result 301).
2019-03-20 03:13:07 -05:00
Michael Klishin 4c1b377330 Reduce generic options section per discussion in #333
The section on node names has been moved to https://www.rabbitmq.com/cli.html#node-names
(not yet live).
2019-03-19 22:23:42 +03:00
Michael Klishin c72b0928f7 Reduce general options section
* Only keep [--timeout <n>] but not a separate section for
   commands that support timeouts.
 * Replace a separate virtual host section with a general option.
   This option doesn't really need a detailed explanation.
 * Replace a separate --quiet/--silent section with a general option.
   This option doesn't really need a detailed explanation.

Per discussion with @gerhard and @acogoluegnes.
2019-03-18 14:36:22 +03:00
Michael Klishin 8c60489719 Replace [-p vhost] in help messages with [--vhost vhost] 2019-03-18 13:53:54 +03:00
Michael Klishin cb3fa1048e Rename <*infoitem> in help messages to <column>
Clearer, easier to read and uniform.
2019-03-18 13:47:46 +03:00
Michael Klishin 1e996b1128 Sort info items in command help
Per suggestion from @gerhard.
2019-03-18 13:42:06 +03:00
Michael Klishin 9bc4b148f1 Document more command-specific arguments and switches 2019-03-18 08:56:17 +03:00
Michael Klishin 7d2b5c4730 Document more command-specific arguments and switches 2019-03-18 07:47:46 +03:00
Michael Klishin 1ce3cb00f6 delete_queue: document switches in --help 2019-03-18 07:47:45 +03:00
Michael Klishin 97960bde37 Cosmetics 2019-03-18 07:47:45 +03:00
Michael Klishin af2b343784 list_channels: @info_keys are meant to be atoms
Even though the implementation now supports
string values as well.
2019-03-18 07:47:44 +03:00
Michael Klishin b47ec93f97 Merge pull request #331 from rabbitmq/list-queue-type
Add queue type to list queues command
2019-03-18 05:53:07 +03:00
Michael Klishin 50f702d63b Global options: mention --formatter=pretty_table 2019-03-17 14:18:33 +03:00
Michael Klishin e1df5c0a87 ctl close_all_connections: additional usage docs 2019-03-17 14:13:13 +03:00
Michael Klishin d54f979ed8 Do not indent lines in usage_additional
We eliminated indentation in other sections
because it is too painful to get aligned
for command author.
2019-03-17 14:12:50 +03:00
Michael Klishin 2f5472e03f Cosmetics 2019-03-17 14:05:42 +03:00
Michael Klishin b5d39b2a2f Handle info keys that are strings
Some commands define them as atoms, others
as strings.
2019-03-17 14:01:04 +03:00
Michael Klishin bea9cf4486 Rework command-specific help
* Display command-specific options first instead of
  generic at the top
* Include one line command synopsis from --list-commands
  in the command-specific message
* List timeout in a separate section. It doesn't
  integrate very well with either command-specific
  or general section
* Format section headings as H2s in Markdown, this makes them stand out
* Assorted small formatting changes
* Update tests to be less fragile to copywriting changes
2019-03-17 13:54:18 +03:00
Michael Klishin c5b5df1282 Help command descriptions, cosmetics 2019-03-17 06:55:22 +03:00
Michael Klishin c48a1fae65 Correctly format management_agent and other multi-segment plugin names
Without this management_agent failed to be formatted
causing an ugly looking exception in --help.
2019-03-16 21:18:22 +03:00
Michael Klishin 10be5d4dec Cosmetics
Rearrange functions to follow a more common
command interface order.
2019-03-16 21:17:12 +03:00
Michael Klishin 30b6069293 restart_vhost belongs to the Virtual Hosts section 2019-03-16 21:16:33 +03:00
Diana Corbacho b56b69f9fa Add queue type to list queues command
[#163984879]
2019-03-15 17:07:11 +00:00
Michael Klishin 7f6ef260da ctl shutdown: consider @localhost nodes to be local
Without this -n has to be used when it previously wasn't required.

Follow-up to #328, references #327, #309.

Per discussion with @lukebakken.
2019-03-07 01:29:23 +03:00
Michael Klishin c339b6a10c ctl shutdown: infer hostnames from node names
inet_db is not a very reliable source as it doesn't take
node name CLI arguments and ERL_INETRC file settings.
That can lead to false positives in environments where
inet_db returns the same value (e.g. `localhost`) for
every cluster member.

Per discussion with @gerhard.

Closes #327.
References #309.
2019-03-06 20:19:52 +03:00
Michael Klishin e589a2b985 ctl forget_cluster_node: improve error formatting 2019-02-26 14:04:41 +03:00
Josh Soref 2dcfd4a34b spelling: parameterised 2019-02-24 02:02:34 -05:00
Michael Klishin 6a368e24dc New command group: replication 2019-02-21 20:45:49 +03:00
Michael Klishin 8ac5f2ec7b Improve formatting of protocol plugin help sections 2019-02-21 19:53:45 +03:00
Michael Klishin 3f32c237dc Squash a couple of compiler warnings 2019-02-21 19:17:52 +03:00
Michael Klishin aceab7c592 Wording, typos 2019-02-21 19:14:50 +03:00
Michael Klishin ea6294be41 New command: `rabbitmqctl force_gc`
Developed as part of a live coding training session but can be
useful in practice, so let's keep it.

Per discussion with @hairyhum.
2019-02-21 19:11:30 +03:00
Michael Klishin 62b2fdf80c Combine virtual host management, limits, tracing into a single group 2019-02-21 17:54:16 +03:00
Michael Klishin 866ce75fe4 More/slightly improved command descriptions 2019-02-21 17:03:34 +03:00
Michael Klishin cbaf74d269 Help sections for rabbitmq-diagnostics commands 2019-02-21 16:35:41 +03:00
Michael Klishin 4932c339c7 Command groups: naming, rearranging 2019-02-21 15:52:51 +03:00
Michael Klishin 80993dc921 Merge branch 'master' into help-wip 2019-02-21 13:18:59 +03:00
Daniil Fedotov 993d4a928a Support custom help sections. 2019-02-14 13:19:46 -05:00
Daniil Fedotov b157b6a7cf Do not use defcmd macro. 2019-02-14 13:16:49 -05:00
Daniil Fedotov 1b4aaac477 Formatting of the help message 2019-02-14 13:11:23 -05:00
Daniil Fedotov a56ee97d74 Make help sections and descriptions similar to man page. 2019-02-14 13:02:00 -05:00
Michael Klishin c7e8ab9b56 New command: version, closes #314 2019-02-14 15:10:22 +03:00
Daniil Fedotov 9fdeaef417 Clarify that list_connections command ony applies to AMQP 0.9.1 2019-02-12 14:49:16 -05:00
Daniil Fedotov a5c34042de Example of using defcmd to define constant command callbacks 2019-02-11 14:07:49 -05:00
Daniil Fedotov 680c8969ca Add more command descriptions 2019-02-11 14:07:34 -05:00
Daniil Fedotov 5fabaeddb4 Cleanup help command. Support plugin sections in command list. 2019-02-11 14:06:16 -05:00
Daniil Fedotov a7d70f1448 More descriptions for commands 2019-02-11 09:35:12 -05:00
Jean-Sébastien Pédron b17a998ed1 list_feature_flags_command.ex: Add `doc_url` to the columns list
[#160169569]
2019-02-11 11:01:18 +01:00
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