Commit Graph

4357 Commits

Author SHA1 Message Date
Diana Parra Corbacho dc3b6fb5bc Allow management users to query feature flags and deprecated features
The new banner to warn about not-enabled feature flags requires access
to this endpoint, and it must be visible for all users.
2024-01-29 15:51:21 +01:00
Michael Klishin 0c0e2ca932 An alternative to #10415, closes #10330
Per discussion in #10415, this introduces a new module,
rabbit_mgmt_nodes, which provides a couple of helpers
that can be used to implement Cowboy REST's
resource_exists/2 in the modules that return
information about cluster members.
2024-01-25 18:41:56 -05:00
Michael Klishin 7b151a7651 More missed (c) header updates 2024-01-22 23:44:47 -05:00
Michael Klishin 838cb93142
Merge pull request #10337 from rabbitmq/loic-revert-cqv2-default
Revert "Default to classic queues v2"
2024-01-15 08:03:05 -05:00
Loïc Hoguin a0c8dab057
Update expected CQ version in tests 2024-01-15 12:08:08 +01:00
Diana Parra Corbacho 5a3584beea Remove FF warning as soon as all features are enabled
The warning in the header needs a full refresh, just updating
the page content will not clear the warning.
2024-01-15 08:41:36 +01:00
Michael Klishin 01092ff31f
(c) year bumps 2024-01-01 22:02:20 -05:00
Ariel Otilibili 0b24d3c0bb Defined "tags" as list
Typo spotted in #4050
2023-12-27 22:47:52 +01:00
Marcial Rosales b9f3771f2d Use correct user to authenticate
depending on the backend we want to
exercise
2023-12-27 14:03:26 +00:00
Michael Klishin 5af5f0cf3d
Selenium: update run-suites.sh argument to match #10200 2023-12-23 20:33:21 -05:00
Michael Klishin a374f40303
Merge pull request #10200 from rabbitmq/propagate_credentials_to_http_backend
Propagate all credentials to http backend
2023-12-23 19:09:48 -05:00
Michael Klishin 920c664fa3
Add a test originally introduced in #10062 2023-12-23 19:09:35 -05:00
Ariel Otilibili e1d09fbba6 Replaced true | false by boolean() 2023-12-22 17:28:31 +01:00
Marcial Rosales f3c4355cfb Clean up 2023-12-22 14:29:53 +00:00
Marcial Rosales 2fc8d2b3ae Propagate all credentials to http backend 2023-12-22 13:54:34 +00:00
Michael Klishin 7ebaae7ef0
Revert "HTTP API: DELETE /api/queues/{vhost}/{name} use internal API call"
This reverts commit 78f901a224.
2023-12-20 04:13:11 -05:00
Péter Gömöri 0a144e7698 Prevent formatter crash in mgmt_util
`rabbit_mgmt_util:direct_request/6` is always called with an
`ErrorMsg` which expects one format argument as a string. Convert the
arbitrary reason term into a string to avoid a crash like the below:

```
warning: FORMATTER CRASH: {"Delete exchange error: ~ts",[{'EXIT',{{badmatch,{error,...
```
2023-12-20 00:11:26 +01:00
Péter Gömöri f4a9edfd2f Tolerate race condition when starting management db cache process
This prevents the below harmless crash when multiple parallel API
requests arrive soon after starting the node.

```
exception error: no match of right hand side value
                 {error,{already_started,<0.1593.0>}}
  in function  rabbit_mgmt_db_cache:fetch/4 (rabbit_mgmt_db_cache.erl, line 68)
  in call from rabbit_mgmt_db:submit_cached/4 (rabbit_mgmt_db.erl, line 756)
  in call from rabbit_mgmt_util:augment/2 (rabbit_mgmt_util.erl, line 412)
  in call from rabbit_mgmt_util:run_augmentation/2 (rabbit_mgmt_util.erl, line 389)
  in call from rabbit_mgmt_util:augment_resources0/6 (rabbit_mgmt_util.erl, line 378)
  in call from rabbit_mgmt_util:with_valid_pagination/3 (rabbit_mgmt_util.erl, line 302)
  in call from rabbit_mgmt_wm_queues:to_json/2 (rabbit_mgmt_wm_queues.erl, line 44)
  in call from cowboy_rest:call/3 (src/cowboy_rest.erl, line 1583)
```
2023-12-19 18:07:22 +01:00
David Ansari f44c851293 Fix crash when closing connection
Avoid the following crash
```
** Reason for termination ==
** {mqtt_unexpected_cast,{shutdown,"Closed via management plugin"}}

  crasher:
    initial call: rabbit_mqtt_reader:init/1
    pid: <0.1096.0>
    registered_name: []
    exception exit: {mqtt_unexpected_cast,
                        {shutdown,"Closed via management plugin"}}
      in function  gen_server:handle_common_reply/8 (gen_server.erl, line 1208)
```
when closing MQTT or Stream connections via HTTP API endpoint
```
/connections/username/:username
```
2023-12-14 12:35:51 +01:00
Diana Parra Corbacho 5aa35e0570 Management: introduce deprecated features API endpoints, UI page and warnings 2023-12-13 07:39:37 +01:00
Diana Parra Corbacho ee84038ef5 Add experimental/disabled warning in State column 2023-12-12 18:07:36 +01:00
Diana Parra Corbacho ada8083d0d Add a warning banner if any stable feature flags is not enabled
Add an experimental tag on the description to experimental features
2023-12-12 18:07:36 +01:00
Michael Klishin 26aa534e40 Definition import: more logging improvements 2023-12-09 20:20:56 -05:00
Michael Klishin 62fffb6634 Another take at #10068
Scan queues, exchanges and bindings before attempting
to import anything on boot. If they miss the virtual
host field, fail early and log a sensible message.
2023-12-08 01:39:47 -05:00
Johan Rhodin 8ea1f8fc49
Merge branch 'rabbitmq:main' into FixInfoItems 2023-11-27 15:59:34 -06:00
Michael Klishin cc3084dfbf Fixes #9983 2023-11-25 18:59:51 -05:00
Michael Klishin 1b642353ca
Update (c) according to [1]
1. https://investors.broadcom.com/news-releases/news-release-details/broadcom-and-vmware-intend-close-transaction-november-22-2023
2023-11-21 23:18:22 -05:00
Michael Klishin 28ad76467e Management UI: link to GitHub Discussions and not the Google group 2023-11-19 19:35:49 -05:00
Johan Rhodin 851fddcad2 Fix wrong link 2023-11-17 16:48:39 -06:00
Johan Rhodin 226e7d138d fix info item, and behavior->behaviour 2023-11-17 11:01:47 -06:00
Ayanda Dube 324debe6cf add a test case for mgmt API deletion of crashed queues 2023-11-15 17:43:47 +00:00
Ayanda Dube 1ce75c7aae handle different queue states on deletion from the mgmt API 2023-11-15 17:43:47 +00:00
Karl Nilsson baff660ab4 use right dummy type 2023-11-07 11:53:57 +00:00
Karl Nilsson ff12d3b6b4 HTTP API /queues optimise resource_exists
There is no need to list all queues to check if the vhost
exists.
2023-11-07 11:27:11 +00:00
Karl Nilsson c2cd60b18d Optimise mgmt HTTP API /queues endpoint
Listing queues with the HTTP API when there are many (1000s) of
quorum queues could be excessively slow compared to the same scenario
with classic queues.

This optimises various aspects of HTTP API queue listings.
For QQs it removes the expensive cluster wide rpcs used to get the
"online" status of each quorum queue. This was previously done _before_
paging and thus would perform a cluster-wide query for _each_ quorum queue in
the vhost/system. This accounted for most of the slowness compared to
classic queues.

Secondly the query to separate the running from the down queues
consisted of two separate queries that later were combined when a single
query would have sufficed.

This commit also includes a variety of other improvements and minor
fixes discovered during testing and optimisation.

MINOR BREAKING CHANGE: quorum queues would previously only display one
of two states: running or down. Now there is a new state called minority
which is emitted when the queue has at least one member running but
cannot commit entries due to lack of quorum.

Also the quorum queue may transiently enter the down state when a node
goes down and before its elected a new leader.
2023-11-06 15:34:26 +00:00
Emerson Almeida 9c87e1902d remove test to idp-initiated 2023-11-01 10:23:02 -03:00
Emerson Almeida 64ded4632d make the baseUrl equal when run with prefix 2023-11-01 09:52:27 -03:00
Duke ca5e7e34d7
Merge branch 'main' into improve-login-exp 2023-10-31 13:35:20 -03:00
Marcial Rosales 7c58649942 Reduce by 5 seconds every oauth2 test
clickToLogin sbould only check that the
login button exists and not that the
warning messages is not visible
2023-10-31 16:31:37 +01:00
Marcial Rosales b409d97927 Bump up chromedriver version 2023-10-31 14:07:38 +01:00
Marcial Rosales c169f6ef50 Fix issue in run-scripts 2023-10-31 12:55:31 +01:00
Duke cd680bc568
move store pref to startWithOAuthLogin 2023-10-30 12:02:29 -03:00
Duke 9060941fc2
Remove overview var from redirection-after-login.js 2023-10-30 11:51:59 -03:00
Duke 0e757f394a
remove unused overview var 2023-10-30 11:50:23 -03:00
Emerson Almeida 7bf452c522 fix pref default 2023-10-29 18:34:42 -03:00
Emerson Almeida 7525ccc236 add tests 2023-10-29 18:34:42 -03:00
Duke 3e0ca9ede7 add oauth-return-to 2023-10-29 18:34:42 -03:00
Diana Parra Corbacho 07196e297b Reduce the number of metrics served by GET /api/queues
Introduce GET /api/queues/detailed endpoint

Just removed garbage_collection, idle_since and any 'null' value

/api/queues with 10k classic queues returns 7.4MB of data
/api/queues/detailed with 10k classic queues returns 11MB of data

This sits behind a new feature flag, required to collect data from
all nodes: detailed_queues_endpoint
2023-10-23 19:49:37 -04:00
Karl Nilsson 1ba62a90f2 Actually nack when using 'Nack message requeue true'
Option in mgmt UI.
2023-10-17 14:12:09 +01:00
Michael Klishin 6009a4973f
Merge pull request #9708 from rabbitmq/mk-limit-max-http-api-payload-size
Introduce a configurable limit to HTTP API request body size
2023-10-16 21:49:50 -04:00