Comments (5)
I can only reproduce in one known case: when a plugin is implicitly enabled (as a dependency). Those plugins won't participate in plugin discovery as for some code paths they are not really enabled.
from rabbitmq-cli.
Some evidence:
rabbitmq-plugins list
Listing plugins with pattern ".*" ...
Configured: E = explicitly enabled; e = implicitly enabled
| Status: [failed to contact rabbit@warp10 - status not shown]
|/
[ ] rabbitmq_amqp1_0 3.8.3
[ ] rabbitmq_auth_backend_cache 3.8.3
[ ] rabbitmq_auth_backend_http 3.8.3
[ ] rabbitmq_auth_backend_ldap 3.8.3
[ ] rabbitmq_auth_backend_oauth2 3.8.3
[ ] rabbitmq_auth_mechanism_ssl 3.8.3
[ ] rabbitmq_consistent_hash_exchange 3.8.3
[ ] rabbitmq_event_exchange 3.8.3
[e ] rabbitmq_federation 3.8.3
[E ] rabbitmq_federation_management 3.8.3
[ ] rabbitmq_jms_topic_exchange 3.8.3
[e ] rabbitmq_management 3.8.3
[e ] rabbitmq_management_agent 3.8.3
[ ] rabbitmq_mqtt 3.8.3
[ ] rabbitmq_peer_discovery_aws 3.8.3
[ ] rabbitmq_peer_discovery_common 3.8.3
[ ] rabbitmq_peer_discovery_consul 3.8.3
[ ] rabbitmq_peer_discovery_etcd 3.8.3
[ ] rabbitmq_peer_discovery_k8s 3.8.3
[ ] rabbitmq_prometheus 3.8.3
[ ] rabbitmq_random_exchange 3.8.3
[ ] rabbitmq_recent_history_exchange 3.8.3
[ ] rabbitmq_sharding 3.8.3
[E ] rabbitmq_shovel 3.8.3
[ ] rabbitmq_shovel_management 3.8.3
[ ] rabbitmq_stomp 3.8.3
[ ] rabbitmq_top 3.8.3
[ ] rabbitmq_tracing 3.8.3
[ ] rabbitmq_trust_store 3.8.3
[e ] rabbitmq_web_dispatch 3.8.3
[ ] rabbitmq_web_mqtt 3.8.3
[ ] rabbitmq_web_mqtt_examples 3.8.3
[ ] rabbitmq_web_stomp 3.8.3
[ ] rabbitmq_web_stomp_examples 3.8.3
and rabbitmqctl help
includes
Shovel plugin:
delete_shovel Deletes a Shovel
restart_shovel Restarts a dynamic Shovel
shovel_status Displays status of Shovel on a node
Use 'rabbitmqctl help <command>' to learn more about a specific command
from rabbitmq-cli.
One scenario in which I can reproduce this:
- Enable
rabbitmq_shovel_management
orrabbitmq_federation_management
- Enable
rabbitmq_shovel
which will be a no-op - Observe no plugin commands discovered
- Disable
rabbitmq_shovel_management
- Enable
rabbitmq_shovel
- Observe plugin commands in
help
CLI tools entirely depend on rabbit_plugins
in discovering what plugins are enabled and should be placed on the code path.
I cannot reproduce any other way when the plugin that provides the command is enabled explicitly (not as a dependency of another plugin).
from rabbitmq-cli.
RabbitMQ.CLI.Core.CodePath
is where most of the relevant functions reside, e.g. https://github.com/rabbitmq/rabbitmq-cli/blob/master/lib/rabbitmq/cli/core/code_path.ex#L19.
from rabbitmq-cli.
OK, yes this is due to the plugin being enabled implicitly. It's pretty confusing behavior but I suspect most people enable both rabbitmq_shovel
and rabbitmq_shovel_management
at the same time. We can close this until someone else gets tripped up by it 😄
from rabbitmq-cli.
Related Issues (20)
- Output of the set_parameter command can be misleading HOT 2
- Erlang formatter not working as expected HOT 1
- rabbitmqctl list_unresponsive_queues errors with quorum queues
- Initial pre-shutdown health checks HOT 3
- Option parsing considers values starting with "-" (minus) to be shortcut option lists HOT 16
- formatter for some CLI commands in rabbitmq-diagnostics is creating an UndefinedError HOT 3
- CLI command rabbitmq-diagnostics status can't parse watermark HOT 2
- rabbitmqctl list_unresponsive_queues logged and error and returned exit code of 0 HOT 2
- Commands that wait for safe replica state of quorum and classic queues to use before node shutdown HOT 7
- Can extended environment variables be taken into account by CLI tools?
- Introduce a command that lists available network interfaces (NICs)
- Visibly deprecate 'rabbitmq-diagnostics node_health_check'
- Make rabbitmq-diagnostics check_if_node_is_mirror_sync_critical special case single node clusters
- CLI definition export incorrectly serialises federation upstreams HOT 2
- Provide a way to evaluate a file with code HOT 5
- Turn auto-completion into a first class command
- RABBITMQ_ERLANG_COOKIE environment variable takes precedence over .erlang.cookie file HOT 1
- Add `--all` to `rabbitmqctl enable_feature_flag` HOT 2
- rename_cluster_node command is broken. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rabbitmq-cli.