Commit Graph

1223 Commits

Author SHA1 Message Date
Philip Kuryloski 6edf06dcdd Refactor rabbitmq_federation bazel 2021-05-11 11:22:36 +02:00
Philip Kuryloski 072a1c0462 Refactor and dedupe .bazel file content 2021-04-16 10:22:44 +02:00
Philip Kuryloski afbedd654e Shard rabbitmq_federation:queue_SUITE by group 2021-04-13 15:38:21 +02:00
Philip Kuryloski 078c897d2a Add rabbitmq_federation to bazel 2021-04-13 11:45:09 +02:00
Philip Kuryloski 388654c542
Add a partial Bazel build (#2938)
Adds WORKSPACE.bazel, BUILD.bazel & *.bzl files for partial build & test with Bazel. Introduces a build-time dependency on https://github.com/rabbitmq/bazel-erlang
2021-03-29 11:01:43 +02:00
Philip Kuryloski a63f169fcb Remove duplicate rabbitmq-components.mk and erlang.mk files
Also adjust the references in rabbitmq-components.mk to account for
post monorepo locations
2021-03-22 15:40:19 +01:00
kjnilsson 52f745dcde Update rabbitmq-components.mk
use v1.x branch of ra
2021-03-18 15:14:40 +00:00
Loïc Hoguin d5e3bdd623
Add ADDITIONAL_PLUGINS variable
This allows including additional applications or third party
plugins when creating a release, running the broker locally,
or just building from the top-level Makefile.

To include Looking Glass in a release, for example:

$ make package-generic-unix ADDITIONAL_PLUGINS="looking_glass"

A Docker image can then be built using this release and will
contain Looking Glass:

$ make docker-image

Beware macOS users! Applications such as Looking Glass include
NIFs. NIFs must be compiled in the right environment. If you
are building a Docker image then make sure to build the NIF
on Linux! In the two steps above, this corresponds to Step 1.

To run the broker with Looking Glass available:

$ make run-broker ADDITIONAL_PLUGINS="looking_glass"

This commit also moves Looking Glass dependency information
into rabbitmq-components.mk so it is available at all times.
2021-03-12 12:29:28 +01:00
Michael Klishin 97ff62d3b2
Drop trailing newlines from logged messages where possible
Lager strips trailing newline characters but OTP logger with the default
formatter adds a newline at the end. To avoid unintentional multi-line log
messages we have to revisit most messages logged.

Some log entries are intentionally multiline, others
are printed to stdout directly: newlines are required there
for sensible formatting.
2021-03-11 15:17:37 +01:00
Jean-Sébastien Pédron cdcf602749
Switch from Lager to the new Erlang Logger API for logging
The configuration remains the same for the end-user. The only exception
is the log root directory: it is now set through the `log_root`
application env. variable in `rabbit`. People using the Cuttlefish-based
configuration file are not affected by this exception.

The main change is how the logging facility is configured. It now
happens in `rabbit_prelaunch_logging`. The `rabbit_lager` module is
removed.

The supported outputs remain the same: the console, text files, the
`amq.rabbitmq.log` exchange and syslog.

The message text format slightly changed: the timestamp is more precise
(now to the microsecond) and the level can be abbreviated to always be
4-character long to align all messages and improve readability. Here is
an example:

    2021-03-03 10:22:30.377392+01:00 [dbug] <0.229.0> == Prelaunch DONE ==
    2021-03-03 10:22:30.377860+01:00 [info] <0.229.0>
    2021-03-03 10:22:30.377860+01:00 [info] <0.229.0>  Starting RabbitMQ 3.8.10+115.g071f3fb on Erlang 23.2.5
    2021-03-03 10:22:30.377860+01:00 [info] <0.229.0>  Licensed under the MPL 2.0. Website: https://rabbitmq.com

The example above also shows that multiline messages are supported and
each line is prepended with the same prefix (the timestamp, the level
and the Erlang process PID).

JSON is also supported as a message format and now for any outputs.
Indeed, it is possible to use it with e.g. syslog or the exchange. Here
is an example of a JSON-formatted message sent to syslog:

    Mar  3 11:23:06 localhost rabbitmq-server[27908] <0.229.0> - {"time":"2021-03-03T11:23:06.998466+01:00","level":"notice","msg":"Logging: configured log handlers are now ACTIVE","meta":{"domain":"rabbitmq.prelaunch","file":"src/rabbit_prelaunch_logging.erl","gl":"<0.228.0>","line":311,"mfa":["rabbit_prelaunch_logging","configure_logger",1],"pid":"<0.229.0>"}}

For quick testing, the values accepted by the `$RABBITMQ_LOGS`
environment variables were extended:
  * `-` still means stdout
  * `-stderr` means stderr
  * `syslog:` means syslog on localhost
  * `exchange:` means logging to `amq.rabbitmq.log`

`$RABBITMQ_LOG` was also extended. It now accepts a `+json` modifier (in
addition to the existing `+color` one). With that modifier, messages are
formatted as JSON intead of plain text.

The `rabbitmqctl rotate_logs` command is deprecated. The reason is
Logger does not expose a function to force log rotation. However, it
will detect when a file was rotated by an external tool.

From a developer point of view, the old `rabbit_log*` API remains
supported, though it is now deprecated. It is implemented as regular
modules: there is no `parse_transform` involved anymore.

In the code, it is recommended to use the new Logger macros. For
instance, `?LOG_INFO(Format, Args)`. If possible, messages should be
augmented with some metadata. For instance (note the map after the
message):

    ?LOG_NOTICE("Logging: switching to configured handler(s); following "
                "messages may not be visible in this log output",
                #{domain => ?RMQLOG_DOMAIN_PRELAUNCH}),

Domains in Erlang Logger parlance are the way to categorize messages.
Some predefined domains, matching previous categories, are currently
defined in `rabbit_common/include/logging.hrl` or headers in the
relevant plugins for plugin-specific categories.

At this point, very few messages have been converted from the old
`rabbit_log*` API to the new macros. It can be done gradually when
working on a particular module or logging.

The Erlang builtin console/file handler, `logger_std_h`, has been forked
because it lacks date-based file rotation. The configuration of
date-based rotation is identical to Lager. Once the dust has settled for
this feature, the goal is to submit it upstream for inclusion in Erlang.
The forked module is calld `rabbit_logger_std_h` and is based
`logger_std_h` in Erlang 23.0.
2021-03-11 15:17:36 +01:00
Michael Klishin f6e8320fc9
Merge branch 'otp-24-ranch' 2021-03-10 07:37:51 +03:00
dcorbacho 61f7b2a723 Update to ranch 2.0 2021-03-08 23:11:05 +01:00
Michael Klishin 8f2e4edcdf
Remove two now unused functions
Follow-up to #2868
2021-03-05 07:17:06 +03:00
dcorbacho b9836cc3b2 Remove federation_up/0 check
Decorators are only executed if the plugin is enabled (registered in
rabbit_queue_decorator), thus initialising the links through `startup`.
There is no obvious way for a fed link to start if the plugin isn't running,
so this check can be removed.
2021-03-04 21:53:43 +01:00
dcorbacho 00510fe84b Await for links to start/fail to start on test suite 2021-03-04 17:36:03 +01:00
Michael Klishin b6c4831e75
Bump Lager to 3.9.1 2021-03-04 04:36:39 +03:00
dcorbacho ac43136653
Use scope on pg groups and skip `go` call from the app
`rabbit_federation_queue_link:go()` and the exchange equivalent are asynchronous (cast).
They are luckily executed after the links are started by the decorators, and probably
most of the time they find the links up and ready to `go`. However, this might not always
be the case. The retry introduced on the previous commit that is triggered by the link itself
once if finds that federation is down, guarantees that the `go` will be handled by the link
process. Thus, the calls to rabbit_federation_queue_link:go() and rabbit_federation_exchange_link:go()
can be removed from the app.
2021-03-04 04:06:41 +03:00
Michael Klishin 3a73dadb61
Retry if we could not start links because the plugin wasn't yet running
Per discussion with @dcorbacho.
2021-03-04 04:06:41 +03:00
Michael Klishin be11d6087d
Synchronize federation_up/0 logic for both link types 2021-03-04 04:06:41 +03:00
Michael Klishin ad47eba2fa
pg2 => pg for OTP 24 compatibility
there is still one failing queue federation test.
2021-03-04 04:06:40 +03:00
Loïc Hoguin 66ac1bf5e9
Bump observer_cli to 1.6.1
More responsive when the system is overloaded with file calls.
2021-03-01 21:55:27 +03:00
Michael Klishin 8fe3df9343
Upgrade Lager to 3.9.0 for OTP 24 compatibility
`lager_util:expand_path/1` use changes are
due to erlang-lager/lager#540
2021-02-26 00:52:15 +03:00
Michael Klishin 3430906ad8
Be more defensive when removing federated queue links
if terminate_child/2 above fails, so will delete_child/2.

(cherry picked from commit 315d162d3a)
2021-02-25 23:16:57 +03:00
Michael Klishin a2f98f25e9
Merge pull request #2804 from rabbitmq/rabbitmq-server-2756
Add federation support for quorum queues
2021-02-25 19:10:15 +03:00
Michael Klishin f73e851f9c
Bump observer_cli to 1.6.0 2021-02-24 12:53:55 +03:00
Michael Klishin a5098b28a7
Bump Lager to 3.8.2 for OTP 24 compatibility 2021-02-24 12:53:30 +03:00
dcorbacho 8592291afa Fix notify_decorators and policy notifications 2021-02-21 22:56:06 +01:00
Michael Klishin d0506cc225
Add a single channel mode-specific test 2021-02-20 10:32:24 +03:00
Michael Klishin a9dd03bdf5
Make it possible to use a single channel for message transfers and commands
For the rare case where federated exchange experience rapid
binding changes. As of rabbitmq/rabbitmq-federation#97,
such environments have a race condition between binding
and message propagation.
2021-02-20 00:42:39 +03:00
dcorbacho 699cd1ab29 Add federation support for quorum queues 2021-02-18 17:15:47 +01:00
Michael Klishin b11a79cccf
Bump (c) year in header files 2021-02-04 07:04:58 +03:00
Arnaud Cogoluègnes b921ac11a8
Merge pull request #2712 from rabbitmq/rabbitmq-stream-prometheus
Add stream prometheus plugin
2021-01-27 16:46:37 +01:00
Michael Klishin 52479099ec
Bump (c) year 2021-01-22 09:00:14 +03:00
Arnaud Cogoluègnes bf72683eb2
Add stream prometheus plugin 2021-01-11 16:49:56 +01:00
Arnaud Cogoluègnes 08891a734e
Merge branch 'master' into rabbitmq-stream-management 2020-11-30 09:42:54 +01:00
Arnaud Cogoluègnes 23d7e8114c
Introduce stream management plugin 2020-11-19 14:48:25 +01:00
dcorbacho f7c127a9ef Ensure pg2 group is created only when links are created and removed with them
The queue decorator is called even when no links are present, which caused the
pg2 group to be created. At the same time, deleting a link wasn't deleting
the queue group. Closes #2497
2020-11-18 12:11:51 +00:00
Jean-Sébastien Pédron 47686ee1f0
Remove unused .github directories
They were valid until the switch to the "monorepository" when everything
was merged into a single Git repository.
2020-11-17 13:33:16 +01:00
Arnaud Cogoluègnes a2f249e30e Update rabbitmq-components.mk 2020-11-03 14:27:39 +01:00
Philip Kuryloski ad401bb9dd Increase rabbitmq_federation test timeouts
To address test flakiness
2020-10-23 10:32:59 +02:00
Michael Klishin f66476b555 Update rabbitmq-components.mk 2020-10-21 12:55:35 +03:00
Ayanda-D be713c4a7a If amqp_connection:start/2 succeeds, it would be
very rare for amqp_connection:open_channel/2 to
timeout and result in the same fate of direct
connection and channel leaks. However, it can't
be ruled out in an unstable TCP network. This
commit prevents possibility of process leaks
on such failed channel establishment cases.
2020-10-20 08:27:15 +01:00
Ayanda-D 986f5830e4 Fix some bad direct connection and channel process leaks
on failed upstream connection attempts due to AMQP client
timeouts. On long running nodes, these have potential to
eventually take down a node on reaching or exceeding the
the process limit.
2020-10-19 19:06:09 +01:00
Philip Kuryloski 4323c643e7 rabbitmq_federation: use dynamic waits where possible
to address spurious failures in CI

Building upon recent changes and discussion with @michaelklishin
2020-10-13 11:19:31 +02:00
Michael Klishin 1aa2e059bb Rework two more tests
Per discussion with @pjk25.
2020-10-13 06:26:23 +03:00
Michael Klishin 5bedcf2fdc Correct status suite expectations
Per discussion with @pjk25.
2020-10-12 18:50:24 +03:00
Michael Klishin 63f0068d79 Correct upstream URIs in this test 2020-10-10 00:49:14 +03:00
Michael Klishin d9252f2342 Merge pull request #118 from rabbitmq/queue-suite-flake
Replace a fixed test suite delay with a dynamic one
2020-09-29 17:46:46 +03:00
Philip Kuryloski 287d0c67e6 Replace a fixed test suite delay with a dynamic
queue_SUITE > without_disambiguate > cluster_size_1 >
dynamic_plugin_stop_start fails often in CI
2020-09-29 16:07:37 +02:00
Jean-Sébastien Pédron 7621a74b6e exchange_SUITE: Fix format string
`~s` was used to print an integer. This was causing a badarg exception.
2020-09-23 12:04:39 +02:00
Michael Klishin 9403fe931b Merge pull request #115 from rabbitmq/rabbitmq-federation-114
Use mirrored_supervisor for queue federation
2020-09-17 03:25:01 +03:00
Luke Bakken 7040f1de25 Revert "Remove timer"
This reverts commit a621950561.
2020-09-16 13:13:20 -07:00
Luke Bakken a621950561 Remove timer 2020-09-16 11:10:31 -07:00
Michael Klishin 9ffb39c3ca Give links more time to initialize [for CI] 2020-09-16 20:12:40 +03:00
Michael Klishin a87fc37791 await_bindings for a limited amount of time 2020-09-16 19:41:45 +03:00
Luke Bakken 50df6d4d4f Use await_binding, add vhost support 2020-09-16 08:44:27 -07:00
Michael Klishin e77bea6c7d Log payloads received in exchange federation tests 2020-09-16 04:50:15 +03:00
Michael Klishin 353aebbabd More exchange federation test massaging 2020-09-16 04:43:08 +03:00
Michael Klishin df01ae64f9 More selective assertions on link status
Asserting on links across all virtual hosts makes no sense
for some tests, and creates additional shared state and
makes these assertions significantly more timing-sensitive.

Per discussion with @lukebakken.
2020-09-16 04:28:23 +03:00
Michael Klishin b599f40e8b Begin splitting test groups to reduce the amount of shared state 2020-09-16 04:06:58 +03:00
Michael Klishin bfc26c1642 Compile 2020-09-16 00:32:21 +03:00
Michael Klishin a5f32394b5 Make this test clean up its resources at the end 2020-09-16 00:31:57 +03:00
Michael Klishin cb61d620ff Take virtual host into account when detecting binding propagation cycles
The same way we do it for forwarded messages.
2020-09-16 00:13:02 +03:00
Michael Klishin c52af7aad2 A WIP integration test for multi-hop intra-cluster exchange federation
The test currently fails. Added more debug logging to ease
the investigation.

In order to inspect a running node, modify the end_per_group/2
to not shut the node down or do it after an hour long sleep,
then run [1] to inspect the topology.

[2] can be used to run a Bunny-based version of effectively
the same test, which works as expected.

Pair: @lukebakken.

1. https://gist.github.com/michaelklishin/a7bcdc9a2be3540ac6d47297976864f6
2. https://gist.github.com/michaelklishin/9b7fb572f3d22749b982a49e3b3049d7
2020-09-15 18:49:48 +03:00
Luke Bakken 9b2cee8346 Use mirrored_supervisor for queue federation
Fixes #114
2020-09-14 15:20:05 -07:00
Michael Klishin cfcbee18fa Use a combination of cluster name and virtual host when detecting cycles
This makes it possible to federate messages between more than two
virtual hosts in a single cluster. Previously cycle detection would
drop messages that have traversed a "hop" (federation link)
in the same cluster.

Pair: @lukebakken.
2020-09-08 21:13:43 +03:00
Michael Klishin 0163068eed Extract cycle detection node identifier function 2020-09-08 15:34:12 +03:00
Michael Klishin 5eacab3b7b Coerce password to a binary
when obfuscating an upstream.

credentials_obfuscation:encrypt/1 requires a binary and
in some rare cases we've seen that the password value can
be passed in as a string.
2020-08-14 08:36:50 +03:00
Luke Bakken 5f436dae28 Update rabbitmq-components.mk 2020-08-04 08:41:47 -07:00
Jean-Sébastien Pédron 6bb45a5992 Update rabbitmq-components.mk 2020-07-30 12:06:53 +02:00
Luke Bakken 3ec36d2e9f Update rabbitmq-components.mk 2020-07-29 10:02:03 -07:00
dcorbacho a2b5d4433b Update erlang.mk 2020-07-21 14:32:24 +01:00
Michael Klishin be67c3d203 Update rabbitmq-components.mk 2020-07-21 13:12:47 +03:00
Michael Klishin 0992a2d434 Update rabbitmq-components.mk 2020-07-21 03:42:54 +03:00
dcorbacho 9355b957ed Revert drop of Exhibit B on MPL 2.0 2020-07-20 16:59:20 +01:00
dcorbacho 1d720569c5 Update LICENSE 2020-07-20 10:53:52 +01:00
Michael Klishin ef0b262d02 Update MPL2 license file, drop Exhibit B
and add a VMware copyright notice.

We did not mean to make this code Incompatible with Secondary Licenses
as defined in [1].

1. https://www.mozilla.org/en-US/MPL/2.0/FAQ/
2020-07-17 14:53:07 +03:00
Michael Klishin eb33152de4 Handle more pgroup_name_cluster_id values 2020-07-15 18:15:43 +03:00
Michael Klishin 81809c741a Handle cases where rabbitmq_federation.pgroup_name_cluster_id is undefined
it's highly unusual to see but being more defensive is
very easy in this case.
2020-07-15 17:35:13 +03:00
dcorbacho 26a4365188 Switch to Mozilla Public License 2.0 (MPL 2.0) 2020-07-12 22:52:53 +01:00
Jean-Sébastien Pédron 12c186d0b0 Update erlang.mk 2020-06-23 17:13:56 +02:00
Michael Klishin fcec5c61bd Log effective internal exchange check interval 2020-06-17 20:29:31 +03:00
Michael Klishin 25b712527d Handle more failures around one-off connection calls
Timeouts were not handled gracefully which could disrupt
the link for no good reason. Such one-off checks are
meant to be best effort and not performed particularly
frequently. Their failures should result in visible
log messages but not link restarts.

While at it, improve logging in related code paths.

Per discussion with @kjnilsson.
2020-06-17 18:12:15 +03:00
Michael Klishin 468c4b7cb7 Decrease internal exchange check frequency
it should not run more often than a connection timeout.
90s is a reasonable default interval for this check.
2020-06-17 14:15:23 +03:00
Michael Klishin 51d1939c12 Bump Recon to 2.5.1
for Erlang 23 compatibility of 'rabbitmq-diagnostics observer'

References zhongwencool/observer_cli#68.
2020-06-09 08:22:14 +03:00
Michael Klishin 9b9ca65690 Ditto 2020-04-07 04:01:21 +03:00
Michael Klishin 8d20112e1b Wording 2020-04-07 03:58:47 +03:00
Michael Klishin 3e1cd1d566 Introduce a new upstream parameter, resource-cleanup-mode
Set it to 'never' to make sure the link never removes its internal queue.
It's highly advisable to then specify queue expiration (TTL) to avoid
resource leaks.
2020-04-04 02:18:05 +03:00
Michael Klishin 834f0044bf Remove a log message we ended up not adding 2020-04-01 20:08:35 +03:00
Michael Klishin 2dffac287c Handle one more possible termination reason 2020-04-01 19:59:08 +03:00
Michael Klishin 758234687f Exchange federation: do not clean up internal queue on abnormal link termination
The queue is durable and might contain valuable data.
On the other hand, when federation link is shutting down
because policies have changed or the plugin is being disabled,
it makes sense to delete the resources it was using.

References #105.
2020-04-01 19:27:50 +03:00
Jean-Sébastien Pédron 80651fe605 README.md: Add Travis CI badge 2020-03-31 10:46:06 +02:00
Jean-Sébastien Pédron 57a4683bbd exchange_SUITE: Remove the `binding_recovery` testcase
It still fails way too often and I can't find the appropriate wait
condition.
2020-03-30 17:38:31 +02:00
Jean-Sébastien Pédron fab830b862 queue_SUITE: Wait for federation in `dynamic_plugin_stop_start` 2020-03-30 17:07:07 +02:00
Jean-Sébastien Pédron 75a80d7eb4 exchange_SUITE: Bump wait in several testcases 2020-03-30 14:52:57 +02:00
Jean-Sébastien Pédron f902ef5377 exchange_SUITE: Add a wait condition in `dynamic_plugin_stop_start` 2020-03-30 13:16:23 +02:00
Jean-Sébastien Pédron a845aad507 exchange_SUITE: Review all wait conditions
They should be closer to the expected states now. Hopefully this will
further reduce the number of transient test failures.
2020-03-27 15:25:07 +01:00
Jean-Sébastien Pédron 4fee32b989 exchange_SUITE: Improve wait condition in `binding_recovery`
We wait for the new parameter to be applied, not just any federation to
be ready.
2020-03-27 14:32:47 +01:00
Jean-Sébastien Pédron a34fe8d106 exchange_SUITE: Wait for federation on the correct node 2020-03-27 11:48:03 +01:00
Jean-Sébastien Pédron 7987940c9d exchange_SUITE: Bump a few more timeouts
Follow-up to commit 2e8cdd5ba6.
2020-03-26 17:55:05 +01:00
Jean-Sébastien Pédron 2e8cdd5ba6 exchange_SUITE: Throw an exception if wait_for_federation() times out
While here, increase two timers in the `binding_recovery` testcase.
Hopefully this will help in Concourse.
2020-03-26 17:32:42 +01:00
Jean-Sébastien Pédron c278947717 Update copyright (year 2020) 2020-03-10 16:10:02 +01:00
Gerhard Lazu d2a72bba64 Update rabbitmq-components.mk 2020-03-06 09:19:15 +00:00
Gerhard Lazu bfe5c1108c Update erlang.mk 2020-03-06 09:17:40 +00:00
Jean-Sébastien Pédron 0858bdff4a Travis CI: Update config from rabbitmq-common 2020-03-04 14:24:28 +01:00
Jean-Sébastien Pédron 3ef26b5b30 Travis CI: Update config from rabbitmq-common 2020-03-04 11:17:15 +01:00
Michael Klishin 1c7bf496c7 Transitionary step for OTP 23 [master] compatibility 2020-02-11 21:16:24 +03:00
Michael Klishin a07c6f49ad Transitionary step for OTP 23 [master] compatibility 2020-02-11 21:11:26 +03:00
Gerhard Lazu 346c7435da Update rabbitmq-components.mk 2020-02-11 15:31:44 +00:00
Michael Klishin 8b5bd10c43 (c) bump 2019-12-29 05:50:28 +03:00
Michael Klishin 407f095955 Error handling around command channel 2019-12-22 08:31:31 +03:00
Michael Klishin c0e73759e9 Merge branch 'cmd-channel' of https://github.com/velimir/rabbitmq-federation into velimir-cmd-channel 2019-12-22 04:23:30 +03:00
Luke Bakken aba6f430ab Merge branch 'lrb-delete-federation-exchange' 2019-12-12 11:58:03 -08:00
Michael Klishin d196789164 Merge pull request #99 from rabbitmq/delete-federation-exchange
Use vhost to delete federated exchange
2019-12-12 20:17:16 +03:00
Jean-Sébastien Pédron 5e566144ce Git: Ignore copied CLI 2019-12-12 13:30:17 +01:00
Jean-Sébastien Pédron ce7c0a5ac6 Update rabbitmq-components.mk 2019-12-12 13:14:54 +01:00
Luke Bakken d9183e1372 Filter by vhost for federated queues 2019-12-11 17:05:20 -08:00
Luke Bakken 1f123eed05 add test that fails for queue 2019-12-11 16:18:42 -08:00
Michael Klishin 1629d2ae1e Clarify the intent 2019-12-10 23:23:06 +03:00
dcorbacho db2ab26930 Use vhost to delete federated exchange
Avoids deleting several links with the same upstream, but on different vhosts
[#169936237]
2019-12-10 17:08:58 +01:00
Grigory Starinkin 7eacec1497 use separate channel for command operations
using `bind-nowait` and separate channel for bindings operations allows
to avoid message forwarding delays on the federation link
2019-11-07 07:21:07 +00:00
kjnilsson e59df101df Update rabbitmq-components.mk 2019-09-13 10:24:20 +01:00
kjnilsson 7326faf205 Update rabbitmq-components.mk 2019-09-04 10:30:57 +01:00
Jean-Sébastien Pédron 0af17a2333 Update erlang.mk 2019-08-29 20:45:08 +02:00
Diana Corbacho 69af5dfb02 Obfuscate credentials for federated queues and exchanges.
Credentials are also obfuscated in the ETS table of rabbit_federation_status
so they are not shown in plain text in a crash dump

[#167070941]
2019-08-16 13:35:00 +01:00
Arnaud Cogoluègnes c1b5812cee Start obfuscating credentials for federated queue
WIP

[#167070941]

References rabbitmq/rabbitmq-erlang-client#123
2019-08-14 16:53:04 +02:00
Michael Klishin fab7c2c969 Update rabbitmq-components.mk 2019-08-11 01:47:54 +10:00
Jean-Sébastien Pédron d68e8cb578 Update erlang.mk 2019-08-02 09:53:55 +02:00
Michael Klishin 20a0ea61e7 Update rabbitmq-components.mk 2019-08-01 17:13:15 +03:00
Arnaud Cogoluègnes 355217ba97 Update rabbitmq-components.mk 2019-07-09 16:05:56 +02:00
Jean-Sébastien Pédron 692c91d3c5 Update rabbitmq-components.mk 2019-06-28 16:05:30 +02:00
Jean-Sébastien Pédron 1d854fdcd8 Update erlang.mk 2019-06-28 16:02:02 +02:00
Gerhard Lazu 6839d73a96 Update rabbitmq-components.mk 2019-06-03 02:23:36 +01:00
Jean-Sébastien Pédron 2f6b51046a Update rabbitmq-components.mk 2019-05-17 15:17:18 +02:00
Michael Klishin 6ffd956072 Update rabbitmq-components.mk 2019-05-17 08:36:38 +03:00
Michael Klishin ad13fb97de Update rabbitmq-components.mk 2019-05-16 23:22:49 +03:00
Michael Klishin b39000b716 Update rabbitmq-components.mk 2019-05-14 11:50:47 +03:00
Michael Klishin 36912b6418 Update rabbitmq-components.mk 2019-05-13 16:40:31 +03:00
Gerhard Lazu 0c62a98142 Update rabbitmq-components.mk 2019-05-01 13:18:13 +01:00
Luke Bakken 5aca057fec Update rabbitmq-components.mk 2019-04-30 16:20:56 -07:00
Jean-Sébastien Pédron 99400a53da Update rabbitmq-components.mk 2019-04-30 14:47:29 +02:00
Daniil Fedotov 04adb8fa6a Custom consumer tag for federaion.
Consumer tag is currently generated from the upstream name.
Consumer tag serves to identify a downsream from the upstream queue,
while upsream name identifies upstream from the downstream node.
It would be more convenient to use different values.

Addresses #66
2019-04-26 16:07:59 -04:00
Daniil Fedotov a90b709548 Chenge federation consumer name from "consumer" to "federation-link-<upstream_name>".
This would make it easier to distinguish federation links from other
consumers and from each other (if configured with different names)

Adresses #66 in a way
2019-04-26 13:02:19 -04:00
Gerhard Lazu cb94ce1506 Update rabbitmq-components.mk 2019-04-22 21:55:04 +01:00
Michael Klishin 5e3affdcec CLI commands: provide more information to the new help command 2019-03-26 19:50:16 +03:00
Michael Klishin ce6e4b79af Error message wording 2019-03-22 15:07:22 +03:00
Michael Klishin 05c89aae39 Minor test improvements 2019-03-22 14:59:52 +03:00
Luke Bakken dd10964e48 Change regex to pattern 2019-03-21 12:03:35 -07:00
Diego Herrera Celedón 1ab3c5071c Implement some tests 2019-03-20 19:11:07 -03:00
Diego Herrera Celedón 4522305d98 Implement federation-upstream-regex upstream parameter 2019-03-20 19:11:07 -03:00