summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Cosmeticscli-remote_shellMichael Klishin2021-03-031-8/+5
|
* Add rabbitmq-diagnostics remote_shellLoïc Hoguin2021-03-032-0/+78
|
* Merge pull request #2854 from rabbitmq/dirty-io-warningsLoïc Hoguin2021-03-011-5/+5
|\ | | | | Replace Async threads warning with Dirty I/O schedulers warning
| * Replace Async threads warning with Dirty I/Odirty-io-warningsMichal Kuratczyk2021-03-011-5/+5
|/ | | | | Async threads are basically not used these days. Dirty I/O schedulers, on the other hand, are used a lot.
* Bump observer_cli to 1.6.1Loïc Hoguin2021-03-0140-40/+40
| | | | More responsive when the system is overloaded with file calls.
* Merge pull request #2853 from mbaldessari/openstack-fixesMichael Klishin2021-02-281-12/+37
|\ | | | | rabbitmq-server-ha OCF fixes
| * Only export RABBITMQ_NODE_PORT when it is not the defaultMichele Baldessari2021-02-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RABBITMQ_NODE_PORT is exported by default and set to 5672. Re-exporting it in that case will actually break the case where we set up rabbit with tls on the default port: 2021-02-28 07:44:10.732 [error] <0.453.0> Failed to start Ranch listener {acceptor,{172,17,1,93},5672} in ranch_ssl:listen([{cacerts,'...'},{key,'...'},{cert,'...'},{ip,{172,17,1,93}},{port,5672}, inet,{keepalive,true}, {versions,['tlsv1.1','tlsv1.2']},{certfile,"/etc/pki/tls/certs/rabbitmq.crt"},{keyfile,"/etc/pki/tls/private/rabbitmq.key"}, {depth,1},{secure_renegotiate,true},{reuse_sessions,true},{honor_cipher_order,true},{verify,verify_none},{fail_if_no_peer_cert,false}]) for reason eaddrinuse (address already in use) This is because by explicitely always exporting it, we force rabbit to listen to that port via tcp and that is a problem when we want to do SSL on that port. Since 5672 is the default port already we can just avoid exporting this port when the user does not customize the port. Tested both in a non-TLS env (A) and in a TLS-env (B) successfully: (A) Non-TLS [root@messaging-0 /]# grep -ir -e tls -e ssl /etc/rabbitmq [root@messaging-0 /]# [root@messaging-0 /]# pcs status |grep rabbitmq * rabbitmq-bundle-0 (ocf::rabbitmq:rabbitmq-server-ha): Master messaging-0 * rabbitmq-bundle-1 (ocf::rabbitmq:rabbitmq-server-ha): Master messaging-1 * rabbitmq-bundle-2 (ocf::rabbitmq:rabbitmq-server-ha): Master messaging-2 (B) TLS [root@messaging-0 /]# grep -ir -e tls -e ssl /etc/rabbitmq/ |head -n3 /etc/rabbitmq/rabbitmq.config: {ssl, [{versions, ['tlsv1.1', 'tlsv1.2']}]}, /etc/rabbitmq/rabbitmq.config: {ssl_listeners, [{"172.17.1.48", 5672}]}, /etc/rabbitmq/rabbitmq.config: {ssl_options, [ [root@messaging-0 ~]# pcs status |grep rabbitmq * rabbitmq-bundle-0 (ocf::rabbitmq:rabbitmq-server-ha): Master messaging-0 * rabbitmq-bundle-1 (ocf::rabbitmq:rabbitmq-server-ha): Master messaging-1 * rabbitmq-bundle-2 (ocf::rabbitmq:rabbitmq-server-ha): Master messaging-2 Note: I don't believe we should export RABBITMQ_NODE_PORT at all, since you can specify all ports in the rabbit configuration anyways, but prefer to play it safe here as folks might rely on being able to customize this. Signed-off-by: Michele Baldessari <michele@acksyn.org>
| * Stop logging unblock client access unconditionallyMichele Baldessari2021-02-281-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently every call to unblock_client_access() is followed by a log line showing which function requested the unblocking. When we pass the parameter OCF_RESKEY_avoid_using_iptables=true it makes no sense to log unblocking of iptables since it is effectively a no-op. Let's move that logging inside the unblock_client_access() function allowing a parameter to log which function called it. Tested on a cluster with rabbitmq bundles with avoid_using_iptables=true and observed no spurious logging any longer: [root@messaging-0 ~]# journalctl |grep 'unblocked access to RMQ port' |wc -l 0
| * Allow rabbitmq to run in a larger cluster composed of also non-rabbitmq nodesMichele Baldessari2021-02-281-2/+24
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We introduce the OCF_RESKEY_allowed_cluster_node parameter which can be used to specify which nodes of the cluster rabbitmq is expected to run on. When this variable is not set the resource agent assumes that all nodes of the cluster (output of crm_node -l) are eligible to run rabbitmq. The use case here is clusters that have a large numbers of node, where only a specific subset is used for rabbitmq (usually this is done with some constraints). Tested in a 9-node cluster as follows: [root@messaging-0 ~]# pcs resource config rabbitmq Resource: rabbitmq (class=ocf provider=rabbitmq type=rabbitmq-server-ha) Attributes: allowed_cluster_nodes="messaging-0 messaging-1 messaging-2" avoid_using_iptables=true Meta Attrs: container-attribute-target=host master-max=3 notify=true ordered=true Operations: demote interval=0s timeout=30 (rabbitmq-demote-interval-0s) monitor interval=5 timeout=30 (rabbitmq-monitor-interval-5) monitor interval=3 role=Master timeout=30 (rabbitmq-monitor-interval-3) notify interval=0s timeout=20 (rabbitmq-notify-interval-0s) promote interval=0s timeout=60s (rabbitmq-promote-interval-0s) start interval=0s timeout=200s (rabbitmq-start-interval-0s) stop interval=0s timeout=200s (rabbitmq-stop-interval-0s) [root@messaging-0 ~]# pcs status |grep -e rabbitmq -e messaging * Online: [ controller-0 controller-1 controller-2 database-0 database-1 database-2 messaging-0 messaging-1 messaging-2 ] ... * Container bundle set: rabbitmq-bundle [cluster.common.tag/rhosp16-openstack-rabbitmq:pcmklatest]: * rabbitmq-bundle-0 (ocf::rabbitmq:rabbitmq-server-ha): Master messaging-0 * rabbitmq-bundle-1 (ocf::rabbitmq:rabbitmq-server-ha): Master messaging-1 * rabbitmq-bundle-2 (ocf::rabbitmq:rabbitmq-server-ha): Master messaging-2
* Update heartbeat timeout docs in rabbitmq.conf.exampleMichael Klishin2021-02-261-1/+8
| | | | Per suggestion from @adamhooper in #2852
* Merge pull request #2850 from rabbitmq/mk-otp-24-compat-pg2-to-pg-migrationLoïc Hoguin2021-02-266-22/+93
|\ | | | | OTP 24 compat: switch management and management_agent to use pg
| * Correct a child spec typoMichael Klishin2021-02-262-3/+3
| |
| * Regular supervisor is sufficient hereMichael Klishin2021-02-262-6/+6
| |
| * Extract a constantMichael Klishin2021-02-264-3/+5
| |
| * CosmeticsMichael Klishin2021-02-261-1/+1
| |
| * OTP 24 compat: switch management and management_agent to use pgMichael Klishin2021-02-266-16/+85
| | | | | | | | | | | | | | | | | | | | | | since pg2 was removed in OTP 24. The only decision worth mentioning here is that both plugins share a pg scope, which is started in rabbitmq_management_agent supervision tree and idempotently started in rabbitmq_management without attaching the scope pid to its tree. Per discussion with @lhoguin.
* | Add commentArnaud Cogoluègnes2021-02-261-0/+1
| |
* | Use unsigned ints in stream protocol, when appropriateArnaud Cogoluègnes2021-02-261-146/+146
| |
* | Merge pull request #2849 from rabbitmq/rabbitmq-server-2848Philip Kuryloski2021-02-2614-686/+18
|\ \ | | | | | | Restore `make package-rpm-rhel7`
| * | Move most packaging goal implementations to rabbitmq-packagingPhilip Kuryloski2021-02-2646-3500/+18
| | |
| * | Revert "Remove directories used by the server release pipeline"Philip Kuryloski2021-02-2632-0/+2814
| | | | | | | | | | | | This reverts commit b1eaf8c9e20bfe7068cafcccf73f7117fc0e196b.
* | | Start constants at 1 for stream pluginArnaud Cogoluègnes2021-02-265-208/+208
| | |
* | | Use port 5551 for streams when starting clusterArnaud Cogoluègnes2021-02-261-2/+2
| |/ |/|
* | Use MSB in keys to distinguish requests/responsesArnaud Cogoluègnes2021-02-264-72/+168
|/ | | | In stream protocol.
* Be more defensive when removing federated queue linksMichael Klishin2021-02-251-1/+1
| | | | | | if terminate_child/2 above fails, so will delete_child/2. (cherry picked from commit 315d162d3a211ffd50b3010d1669374fee54aa28)
* Set stream plugin default port to 5551Arnaud Cogoluègnes2021-02-256-13/+13
| | | | Instead of 5555, which is already registered.
* Merge branch 'super-streams-publishing'Arnaud Cogoluègnes2021-02-254-7/+190
|\
| * Add route and partitions command to stream pluginArnaud Cogoluègnes2021-02-254-7/+190
| | | | | | | | For publishing to super streams.
* | Merge pull request #2804 from rabbitmq/rabbitmq-server-2756Michael Klishin2021-02-2510-104/+270
|\ \ | | | | | | Add federation support for quorum queues
| * | Small code enhancementsdcorbacho2021-02-252-5/+6
| | |
| * | Fix notify_decorators and policy notificationsdcorbacho2021-02-216-14/+26
| | |
| * | Select applicable policies from exclusion listdcorbacho2021-02-194-15/+22
| | | | | | | | | | | | | | | | | | It's not possible to know all aplicable policies since plugins can extend these, i.e. federation. Thus, we'll exclude the known unapplicable core policies and allow through any other policy.
| * | Add federation support for quorum queuesdcorbacho2021-02-186-78/+224
| | |
* | | Merge pull request #2843 from rabbitmq/consumer-capacityMichael Klishin2021-02-2510-29/+41
|\ \ \ | | | | | | | | Rename consumer_utilisation to consumer_capacity
| * | | Consumer utilization => consumer capacity in Prometheus metricsMichael Klishin2021-02-241-1/+2
| | | | | | | | | | | | | | | | the original metric is kept around for backwards compatibility.
| * | | Improve UI help hint for consumer capacityMichael Klishin2021-02-241-2/+2
| | | |
| * | | Whitelist consumer_capacity in 'rabbitmqctl list_queues'Michael Klishin2021-02-241-1/+3
| | | |
| * | | Rename consumer_utilisation to consumer_capacitydcorbacho2021-02-248-25/+34
| | | | | | | | | | | | | | | | Capacity is 100% when there are online consumers and no messages
* | | | rabbit_env: Use consistent styleJean-Sébastien Pédron2021-02-251-6/+4
| | | |
* | | | rabbitmq_stream_management: Ignore more dirs created by `gmake dist`Jean-Sébastien Pédron2021-02-251-1/+5
| | | |
* | | | mk/rabbitmq-run.mk: Compute rabbitmq_stream TCP port based on ↵Jean-Sébastien Pédron2021-02-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $(RABBITMQ_NODE_PORT) We already do this for other TCP ports RabbitMQ listens on. This fixes the use of `gmake start-cluster` with the rabbitmq_stream plugin enabled.
* | | | rabbit_env: pass Dialyzer againMichael Klishin2021-02-251-0/+3
| | | |
* | | | rabbit_env: remove one more direct call to os:list_env_vars/0Michael Klishin2021-02-251-1/+1
| | | |
* | | | Try ignore_xrefMichael Klishin2021-02-251-5/+12
| | | |
* | | | Pass xref on OTP 22 and 23Michael Klishin2021-02-251-7/+5
| | | |
* | | | os:list_env_vars/0 was renamed to os:env/0 in OTP 24Michael Klishin2021-02-251-1/+10
| | | |
* | | | Squash a warning on OTP 24Michael Klishin2021-02-251-1/+1
| | | |
* | | | As of Lager 3.8.2, Lager has a log_root defaultMichael Klishin2021-02-252-13/+10
| | | | | | | | | | | | | | | | so override it unconditionally.
* | | | OTP 22 compatibilityMichael Klishin2021-02-241-2/+2
| | | | | | | | | | | | | | | | (cherry picked from commit 652ffd2a1597aa16dc92009edf92114e22f4aee7)
* | | | Merge pull request #2842 from rabbitmq/mk-vesc-1003-shorter-direct-reply-to-keyMichael Klishin2021-02-245-22/+177
|\ \ \ \ | |_|_|/ |/| | | Encode direct reply-to "client identifiers" in a more compact way