Commit Graph

165 Commits

Author SHA1 Message Date
Marcial Rosales f0adf3a2e8 Do not expose which backend was used
instead just indicate if the user is internal or not
2024-06-20 12:42:32 -04:00
Marcial Rosales ccb0059cd4 Dynamically load oauth-related libraries 2024-06-20 12:42:32 -04:00
Karl Nilsson 95ea15077a Add number of cores used by RabbitMQ nodes to the management overview.
Also remove the deprectated node type field from the UI to reclaim
some screen estate.

RAM nodes are deprecated and almost never used.
2024-06-05 16:21:02 +01:00
Diana Parra Corbacho 3bbda5bdba Remove classic mirror queues 2024-06-04 13:00:31 +02:00
Karl Nilsson 5317f958fb Streams: Soft remove policy configuration of max_segment_size_bytes
This configuration is not guaranteed to be safe to change after a stream has bee n
declared and thus we'll remove the ability to change it after the initial
declaration. Users should favour the x- queue arg for this config but it will still
be possible to configure it as a policy but it will only be evaluated at
declara tion time.

This means that if a policy is set for a stream that re-configures the
`stream-m ax-segment-size-bytes` key it will show in the UI as updated but
the pre-existing stream will not use the updated configuration.

The key has been removed from the UI but for backwards compatibility it is still
 settable.

NB: this PR adds a new command `update_config` to the stream coordinator state
machine. Strictly speaking this should require a new machine version but we're by
passing that by relying on the feature flag instead which avoids this command
being committed before all nodes have the new code version. A new machine version
can lower the availability properties during a rolling cluster upgrade so in
this case it is preferable to avoid that given the simplicity of the change.
2024-02-07 11:06:10 +00:00
Diana Parra Corbacho 5aa35e0570 Management: introduce deprecated features API endpoints, UI page and warnings 2023-12-13 07:39:37 +01:00
Johan Rhodin 851fddcad2 Fix wrong link 2023-11-17 16:48:39 -06:00
Karl Nilsson 86479670cf
Make filter size configurable
as a queue arg and policy
2023-07-10 15:21:53 +02:00
Michael Klishin f720338658 Rename a couple of management UI tabs
* Queueus => Queues and Streams
 * Stream => Stream Connections

to better reflect what they display in modern versions.

Per discussion with the team.
2023-06-10 18:57:16 +04:00
Marcial Rosales da43ccf6c7 Fix member variable for datamodel in Display 2023-05-23 17:03:45 +02:00
Marcial Rosales 02fda919a5 Fix #8276 2023-05-23 16:47:11 +02:00
Iliia Khaprov 00b3a895f1 UI bits for consumer timeout 2023-05-22 11:59:30 +02:00
Marcial Rosales 1022f7d197 Do not mount route to pages
which require vhost access but the
use has no access to any vhost
2023-05-19 17:01:15 +02:00
Marcial Rosales 24fb9afe16 WIP Fix issue 2023-05-19 17:01:15 +02:00
Michal Kuratczyk f8a3643d5d
Remove "lazy" from Management and lazy-specific tests 2023-05-18 13:59:50 +02:00
Michael Klishin a93ad3b7f1 First attempt at addressing #8008
When filter exression is not a valid regexp, send
it as a regular text filer.
2023-04-27 12:06:13 +04:00
Michael Klishin 6c6f9c49ae
Naming, references #7165 2023-02-06 22:25:09 -05:00
Alex Valiushko db99c252a0 Add setting to disable op policy edit via API 2023-02-06 14:36:10 -08:00
David Ansari 56e97a9142 Fix MQTT in management plugin
1. Allow to inspect an (web) MQTT connection.
2. Show MQTT client ID on connection page as part of client_properties.
3. Handle force_event_refresh (when management_plugin gets enabled
   after (web) MQTT connections got created).
4. Reduce code duplication between protocol readers.
5. Display '?' instead of 'NaN' in UI for absent queue metrics.
6. Allow an (web) MQTT connection to be closed via management_plugin.

For 6. this commit takes the same approach as already done for the stream
plugin:
The stream plugin registers neither with {type, network} nor {type,
direct}.
We cannot use gen_server:call/3 anymore to close the connection
because the web MQTT connection cannot handle gen_server calls (only
casts).
Strictly speaking, this commit requires a feature flag to allow to force
closing stream connections from the management plugin during a rolling
update. However, given that this is rather an edge case, and there is a
workaround (connect to the node directly hosting the stream connection),
this commit will not introduce a new feature flag.
2023-01-24 17:30:10 +00:00
Alexey Lebedeff 6693af78af Consistently expose default queue functionality in management UI
1. Allow to create queues without `x-queue-type` argument, which give
default queue type logic a chance to run. What's more, those queues
definitions will be exported without `x-queue-type`, so they can be
loaded into another vhost and default queue logic will be applied
again.

2. Show default queue type on the vhost page and the vhosts list pages
2022-12-08 17:39:44 +01:00
Marcial Rosales bbc3c75d05 Add missing renamed oauth.enable -> oauth.enabled 2022-09-02 09:33:11 +01:00
Marcial Rosales 10ccf33d4f WIP login/logout/token-refresh against keycloak 2022-08-30 17:11:16 +01:00
Marcial Rosales 6218618fbf Replace singular with oidc-client-ts library
Right now only login and logout flows are supported
To be added refresh token
And test all possible failure scenarios
2022-08-30 17:11:15 +01:00
Michael Klishin 37a3448672
Merge pull request #4442 from rabbitmq/quorum-queue-leader-locator
Add quorum queue-leader-locator
2022-04-15 09:31:45 +04:00
David Ansari f32e80c01c Convert random and least-leaders to balanced
Deprecate queue-leader-locator values 'random' and 'least-leaders'.
Both become value 'balanced'.

From now on only queue-leader-locator values 'client-local', and
'balanced' should be set.

'balanced' will place the leader on the node with the least leaders if
there are few queues and will select a random leader if there are many
queues.
This avoid expensive least leaders calculation if there are many queues.

This change also allows us to change the implementation of 'balanced' in
the future. For example 'balanced' could place a leader on a node
depending on resource usage or available node resources.

There is no need to expose implementation details like 'random' or
'least-leaders' as configuration to users.
2022-04-11 10:39:28 +02:00
Michael Klishin 6ac4d303bc
Correct a management UI metric description
Closes #4493
2022-04-10 07:30:45 +04:00
David Ansari 542f21506c Support quorum queue leader locator
Prior to this commit:
1. When a new quorum queue was created, the local node + random nodes
   were selected as replicas.
2. Always local node became leader.

For example, when an AMQP client connects to a single RabbitMQ node and
creates N quorum queues, all N leaders will be on that node and replicas
are not evenly distributed across the RabbitMQ cluster.
If N is small and the RabbitMQ cluster has many nodes, some nodes might
not host any quorum queue replicas at all.

After this commit:
1. When a new quorum queue is created, the local node + RabbitMQ nodes
   with least quorum queue replicas are selected.
   This will nicely distribute the quorum queue replicas across the
   RabbitMQ cluster.
2. Support (x-)queue-leader-locator argument / policy with
    * client-local (stays the default)
    * random
    * least-leaders
    The same settings are already available for streams.
2022-04-05 16:01:51 +02:00
David Ansari 1be49d7974 Remove max-in-memory-* in Management UI
Remove quorum queue arguments and quorum queue policies
(x-)max-in-memory-length and (x-)max-in-memory-bytes
from the Management UI since they are deprecated since RabbitMQ 3.10.

They have no effect anymore since message bodies will not be stored in
memory.
2022-04-05 15:44:17 +02:00
David Ansari 1c17773c91 Add at-least once dead-lettering for quorum queues
and message TTL
2022-02-28 16:27:56 +01:00
Loïc Hoguin f5b0f0d601
Add queue version to management queue/policy forms 2022-01-25 11:23:15 +01:00
GitHubPang 0f2a6123df
Fix typo in UI help hint 2021-10-04 08:01:43 +08:00
Arnaud Cogoluègnes 0038573f89
Display stream publishers in queue management page
If the queue is a stream. WIP, currently all the stream publishers
are listed, a new publishers per stream endpoint is required.

References #3389
2021-09-09 17:41:38 +02:00
Karl Nilsson 4112cc6f77 Clarify x-max-age options in management ui 2021-05-24 14:31:32 +01:00
Arnaud Cogoluègnes c30e013d7a
Rename max-segment-size to stream-max-segment-size-bytes 2021-05-20 10:16:19 +02:00
Michael Klishin b04d1cc3db
Improve UI help hint for consumer capacity 2021-02-24 21:27:04 +03:00
dcorbacho 930c78795c Rename consumer_utilisation to consumer_capacity
Capacity is 100% when there are online consumers and no messages
2021-02-24 16:20:52 +01:00
Arnaud Cogoluègnes 1e583abd43
Add help tooltip for consumers channel column
To explain the channel can actually be a stream connection.
2021-01-21 09:29:36 +01:00
Arnaud Cogoluègnes cbd3c8dfdd
Merge branch 'master' into rabbitmq-stream-management 2021-01-04 09:50:47 +01:00
Arnaud Cogoluègnes 335c7b4270
Do not split user tags in management UI
As they are no longer a comma-separated list in a string.

References #2667
2020-12-11 16:57:33 +01:00
Arnaud Cogoluègnes 23d7e8114c
Introduce stream management plugin 2020-11-19 14:48:25 +01:00
Arnaud Cogoluègnes 2479628d05 Arrange queue arguments in UI
References rabbitmq/rabbitmq-server#2471
2020-10-21 16:41:54 +02:00
dcorbacho e395a5223c Add missing queue arguments for stream and quorum queues 2020-10-20 13:33:55 +01:00
dcorbacho e11f517a87 Add stream policies 2020-09-30 14:29:01 +01:00
dcorbacho 0686190f15 Stream queue
[#171206871]
2020-09-30 14:29:01 +01:00
kjnilsson 78fd7a3c36 Allow quorum queues to use reject-publish 2020-09-07 09:45:18 +01:00
Michael Klishin 32904dccb4 Wording changes to follow-up with #834 2020-08-02 07:39:50 +03:00
Johan Rhodin ec629a3c6b Update global.js
Fix punctuation
2020-08-01 22:48:28 -05:00
Jean-Sébastien Pédron d08f82ea4c Show product info (if available) in the web UI
The same product info is also available from the `/overview` and
`/definitions` API endpoints.

If the product info is unavailable, the API and the web UI default to
"RabbitMQ" and the underlying RabbitMQ version.

[#170341080]
2020-02-25 16:49:29 +01:00
dcorbacho aef931f750 Option to list queue totals when statistics are disabled
[#169802101]
2019-11-18 11:41:42 +00:00
Diana Corbacho 046d89864e Handle vhost description and tags fields
[#166298298]
2019-08-30 11:53:43 +02:00