Commit Graph

58467 Commits

Author SHA1 Message Date
Jean-Sébastien Pédron 6941e10a28
rabbitmq_peer_discovery_consul: Set `bind_addr` to 127.0.0.1 in test config
[Why]
The test configuration was querying a network interface IP address based
on its name. However, the name, "eth0", is very specific to Linux. This
broke the test on other systems.

[How]
We still have to set an explicit `bind_addr` because Consul refuses to
start if the host has multiple private IPv4 addresses, as it is the case
in CI.

Therefore, we hard-code 127.0.0.1 as the IPv4 address to use because it has a
great chance to exist about anywhere.
2024-12-02 11:14:14 +01:00
Jean-Sébastien Pédron 9f3c8de164
Merge pull request #12860 from rabbitmq/fix-node-start-in-cli-tests
Fix node start in cli tests
2024-11-29 18:14:40 +01:00
Jean-Sébastien Pédron cead668b72
Merge pull request #12859 from rabbitmq/set-partitions-in-khepri-cli_cluster_status
rabbit_khepri: Report no partitions from `cli_cluster_status/0`
2024-11-29 18:14:03 +01:00
Jean-Sébastien Pédron 0411864670
rabbitmq_cli: Honor $RABBITMQ_METADATA_STORE when starting test node
[Why]
Two reasons:
1. We need to set the correct feature flags on the test node we have to
   start.
2. We can skip Mnesia- or Khepri-specific tests if they are marked.
2024-11-29 17:01:05 +01:00
Jean-Sébastien Pédron e480513297
rabbitmq_cli: Use `make start-background-broker` to start test node
[Why]
The `run-background-broker` does not wait for the node to be ready,
leading to some transient errors in the testsuite.

[How]
The `start-background-broker` does wait.

While here, export the value of `$(MAKE)`. Otherwise, nested uses of
make(1) may use the wrong make command.
2024-11-29 16:57:59 +01:00
Jean-Sébastien Pédron df9882417c
rabbit_khepri: Report no partitions from `cli_cluster_status/0` 2024-11-29 16:53:55 +01:00
Jean-Sébastien Pédron 84607b7d2f
Merge pull request #12853 from rabbitmq/mirrored-sup-retry-update-after-db-timeout
mirrored_supervisor: Catch timeout from Khepri in `hanlde_info/2`
2024-11-29 12:35:44 +01:00
Jean-Sébastien Pédron 4621fe7730
mirrored_supervisor: Catch timeout from Khepri in `hanlde_info/2`
[Why]
The code assumed that the transaction would always succeed. It was kind
of the case with Mnesia because it would throw an exception if it
failed.

Khepri returns an error instead. The code has to handle it. In
particular, we see timeouts in CI and before this patch, they caused a
crash because the list comprehension was asked to work on a tuple.

[How]
We now retry a few times for 10 seconds.
2024-11-29 12:03:59 +01:00
Jean-Sébastien Pédron 913bd9fa42
rabbit_db: Fix `rabbit_db_msup:update_all/2` spec
[Why]
It can return an error.
2024-11-29 12:03:35 +01:00
Jean-Sébastien Pédron 84449a4a39
Merge pull request #12846 from rabbitmq/bump-horus
Pin Horus to 0.3.1 temporarily
2024-11-29 11:01:33 +01:00
Jean-Sébastien Pédron ae9fbb7bd5
Pin Horus to 0.3.1 temporarily
[Why]
We pin a version of Horus even if we don't use it directly (it is a
dependency of Khepri). But currently, we can't update Khepri while still
needing the fix in Horus 0.3.1.

Horus 0.3.1 works around a crash in `cover` that mostly affects CI for
now.

This pinning will have to go away with the next update of Khepri.
2024-11-29 09:50:08 +01:00
Michael Klishin 534e4f1801
Merge pull request #12851 from rabbitmq/mk-oauth2-type-spec-improvements
Type spec improvements in rabbit_auth_backend_oauth2
2024-11-28 16:54:44 -05:00
Michael Klishin 719b5564c9
Cosmetics 2024-11-28 15:55:13 -05:00
Michael Klishin 301b79c470
Type spec improvements in rabbit_auth_backend_oauth2 2024-11-28 15:51:47 -05:00
Michael Klishin d6366a3c65
Merge pull request #12837 from rabbitmq/wait-for-commit-in-rabbit_quorum_queue-add_member
rabbit_quorum_queue: Wait for member add in `add_member/4`
2024-11-28 14:34:38 -05:00
Michael Klishin 7b2f5fbb46
Merge pull request #12847 from rabbitmq/add-missing-nodejs-module
Fix issues in amqp10
2024-11-28 14:33:35 -05:00
Marcial Rosales 1d8b28d10e Clean up 2024-11-28 16:56:12 +01:00
Marcial Rosales 0f9a7cfb9c Fix queue name 2024-11-28 16:54:19 +01:00
Marcial Rosales d629b7bac7 Run messaging authnz suite when selenium folder changes 2024-11-28 16:31:30 +01:00
Marcial Rosales 40d150fb9d Fix bug building connection options for amqps 2024-11-28 16:30:50 +01:00
Marcial Rosales 31f0a5487f Fix issue in amqp10 2024-11-28 16:18:38 +01:00
Marcial Rosales 713c7c9a53 Fix queue name used in amqp10 2024-11-28 16:02:23 +01:00
Jean-Sébastien Pédron 99d8e90df3
rabbit_quorum_queue: Wait for member add in `add_member/4`
[Why]
The `ra:member_add/3` call returns before the change is committed. This
is ok for that addition but any follow-up changes to the cluster might
be rejected with the `cluster_change_not_permitted` error.

[How]
Instead of changing other places to wait or retry their cluster
membership change, this patch waits for the current add to be applied
before proceeding and returning.

This fixes some transient failures in CI where such follow-up changes
are rejected and not retried, leaving the cluster in an unexpected state
for the testcase.

An example is with
`quorum_queue_SUITE:force_shrink_member_to_current_member/1`
2024-11-28 11:27:40 +01:00
Michael Klishin c4d9a840c2
Merge pull request #12842 from rabbitmq/gazelle-main
bazel run gazelle
2024-11-27 23:56:03 -05:00
GitHub c7c98b5a35 bazel run gazelle 2024-11-28 04:02:58 +00:00
Michael Klishin d0b66b8c8f
check_certificate_expiration_command.ex: squash a compiler warning 2024-11-27 18:26:34 -05:00
Michael Klishin 4e8098d36c
Merge pull request #12840 from rabbitmq/fix-transient-queue-detection
Fix transient queue detection
2024-11-27 18:17:19 -05:00
Michael Klishin 88db8c929e
Actions: test on Elixir 1.17.x 2024-11-27 17:55:34 -05:00
Michal Kuratczyk 46259b5a48
Fix invalid warning about transient queues being used
This fixes the issue where RabbitMQ would warn about
transient queues being used in a cluster with no transient queues.

Fixes https://github.com/rabbitmq/rabbitmq-server/issues/12802
2024-11-27 22:04:01 +01:00
Michal Kuratczyk 1552f89dd7
Skip are_transient_nonexcl_used check on virin node
This check fails on a virin node, because the metadata store
is not yet ready to handle the query. However, a virin
node by definition can't have any queues, so let's just return
false without asking.
2024-11-27 22:03:53 +01:00
Michael Klishin 1cae417dbf
Merge pull request #12821 from rabbitmq/rabbitmq-server-12776
Definition export: inject default queue type into virtual host metadata
2024-11-27 14:53:25 -05:00
Michael Klishin d95b2ca999
Merge pull request #12838 from rabbitmq/dependabot/maven/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot_kotlin/main/kotlin.version-2.1.0
Bump kotlin.version from 2.0.21 to 2.1.0 in /deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_spring_boot_kotlin
2024-11-27 13:23:32 -05:00
dependabot[bot] 6d4028d072
Bump kotlin.version
Bumps `kotlin.version` from 2.0.21 to 2.1.0.

Updates `org.jetbrains.kotlin:kotlin-test` from 2.0.21 to 2.1.0
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v2.1.0/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.0.21...v2.1.0)

Updates `org.jetbrains.kotlin:kotlin-maven-allopen` from 2.0.21 to 2.1.0

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-test
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: org.jetbrains.kotlin:kotlin-maven-allopen
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-27 18:13:53 +00:00
Michael Klishin c9a35f90e7
Merge pull request #12834 from rabbitmq/fix-flakes
More fixes for test flakes: AMQP 1.0 client, management clustering property-based tests
2024-11-27 12:52:49 -05:00
Michael Klishin f377e8f9f0
Cosmetics 2024-11-27 12:44:17 -05:00
Michael Klishin 8a5ea76fe4
Inject DQT into 'ctl export_definitions' 2024-11-27 12:29:48 -05:00
Michael Klishin dd408a46d9
Single virtual host definition export: export the entire metadata map 2024-11-27 11:51:26 -05:00
Michael Klishin 48a16600aa
Rework virtual host-specific definition export
1. Add more metadata, see #12835
2. Include DQT

Closes #12835
2024-11-27 11:42:09 -05:00
Diana Parra Corbacho 9b8f4bf7f3 Tests: remove unused import 2024-11-27 16:29:07 +01:00
Michael Klishin 07fdcc2bde
Naming 2024-11-27 10:03:49 -05:00
Diana Parra Corbacho 69061277bc Tests: system_SUITE increase timeout 2024-11-27 15:45:58 +01:00
Diana Parra Corbacho d004d69200 Tests: feature_flags_v2_SUITE ignore peer:stop/1 return value 2024-11-27 15:45:58 +01:00
Diana Parra Corbacho 3a39d8312e Tests: clustering_prop_SUITE retry whole cleanup 2024-11-27 15:45:58 +01:00
Diana Parra Corbacho 83dd52c5fc Tests: clustering_prop_SUITE add logs 2024-11-27 15:45:58 +01:00
Michael Klishin c7f6a7116f
Merge pull request #12786 from rabbitmq/replace-java-amqp10-client-with-javascript
Selenium suites: replace Java AMQP 1.0 client with a JavaScript one
2024-11-27 07:29:40 -05:00
Michael Klishin 7da1c8a990
Merge pull request #12818 from rabbitmq/token-refresh-cannot-change-username
OAuth 2: JWT token refresh should preserve user identity displayed in the UI
2024-11-27 07:28:55 -05:00
Michael Klishin 3e9c6a95df
Explain why list_vhosts does not list metadata such as DQT by default 2024-11-27 07:27:54 -05:00
Marcial Rosales 3718fe3289 Prevent change of username on token refresh 2024-11-27 10:41:28 +01:00
Marcial Rosales 0ba194ae53 Replace java amqp10 with javascript one 2024-11-27 10:40:23 +01:00
Arnaud Cogoluègnes 167913743c
Merge pull request #12825 from rabbitmq/java-11-for-stream-java-client
Require Java 11 in stream Java client projects
2024-11-27 10:24:38 +01:00