This repository has been archived by the owner on Feb 15, 2018. It is now read-only.
Releases: aweber/rabbitmq-autocluster
Releases · aweber/rabbitmq-autocluster
0.6.1
0.6.0 - Consul focused improvements
- Add support for environment variables declared in rabbitmq-env.conf file without the RABBITMQ_ prefix
- Fix regressions introduced in 0.5.0 to the Consul backend
- Improved test coverage for the Consul backend (to 100%)
- Increase test coverage across the board
- Add
AUTOCLUSTER_LOG_LEVEL
environment variable to override the configuration of logging for autocluster - Add
CONSUL_SVC_ADDR_NIC
to allow the automatic discovery and use of an IP address for the service address in Consul - The aweber/rabbitmq-autocluster docker container has been updated to Alpine Linux 3.4 which includes DNS resolv.conf search support. This should resolve container related issues with Consul + Longname support
0.5.1 Pre-Release 1
This pre-release fixes bugs with the consul backend.
0.5.0
Improvements
- Support for clustering using AWS EC2 Autoscaling Groups
- Support for clustering using AWS EC2 Tags
- Optional Cluster Cleanup feature that will remove nodes from a cluster if they are no longer visible to both RabbitMQ and the service discovery backend.
- Optionally shutdown RabbitMQ if it can not join a cluster via the Failure Mode setting. Initial implementation by Giri-Chintala.
- Consul Backend Improvements include:
- Added optional Consul behavior allowing for registration against a single Consul server/agent. Contributions by AlexeyRaga, Greg Durham, and Vitaly Aminev.
- Optional "auto-address" mode when registering against a single Consul server/agent
- New Startup Delay setting causes RabbitMQ to randomly delay as an attempt to help race conditions when creating a brand new cluster.
- Documentation cleanup and move to the GitHub project Wiki
Behavioral Changes
- The default backend type of Consul was removed. You must now explicitly configure the backend type.
- All Consul Service settings/environment variables were renamed/shorted. See documentation for details on the new keys/environment variables.
- The plugin now requires the installation of the rabbitmq-aws plugin, even if you do not intend to use the AWS functionality.
- The plugin now requires Erlang 17.5 or newer.
Bugfixes
- Fix Consul ACL tokens support - Andrei Skopenko
- Strip out leading slashes in etcd keys, if they exist (#21) - Paul Becotte
- Fix the DNS backend nodelist() function (#22) - Adam Romanek
- Fix unregister for etcd (#32) - Chris Heng
- When building the node list, use local part prefix of RABBITMQ_NODENAME for constructing the expected node names for other nodes in a cluster. (#56)
Configurable Logging
This release adds configurable logging to the plugin. See the README for more information.
Autocluster all the things!
Significant Changes:
- Renamed from rabbitmq-autocluster-consul to rabbitmq-autocluster
- Add support for etcd2 and DNS based discovery
- Refactor to be a more generic structure for pluggable backends
- Node type (disc, ram) is now configurable via environment variable or setting
Behavioral fixes:
- Nodes will no longer try and join a cluster they are already a member of
- Nodes will no longer try and join nodes in a cluster provided by the discovery service if they are not available
- Consul TTL health checks now update Consul after half the TTL duration, ensuring nodes are not arbitrarily removed from discovery to only be added right back in
- If the discovery service is not available, the node will start up in stand-alone mode
0.3.1
0.3.0
- All configuration can now be made via operating system environment variables in addition to the
rabbitmq.config
file - The service prefix in Consul is now optional (#8, #11)
- The service is now registered in Consul with the AMQP port and a TTL health check
- The Consul URI scheme can now be configured (http/https)
- The startup process is reworked and addresses a bug when a node is restarted or is rejoining (#5)
0.2.0
NEW FEATURES
- Now supports Consul ACL tokens
IMPROVEMENTS
- Now uses the service name
rabbitmq.autocluster
for better DNS support - Cluster name tags are now prepended with
auto cluster:
to ensure they do not conflict with other possible tags in Consul - Configuration variables renamed for clarity:
client_host
andclient_port
are nowconsul_host
andconsul_port
- Refactored the code, extracting consul client functionality into a stand alone module
- Added unit tests to cover the consul functionality
- Removed debug writing to STDOUT
- Automated testing, release building, and deployment via travis-ci which took far more time than I care to admit.
BUG FIXES
- The plugin will no longer try and re-join a node that already exists in the cluster (GH-4)
Experimental Release
This is the initial, experimental release of the rabbitmq-autocluster-consul plugin. It has been tested in R&D environments but not in production. Please provide any feedback, suggestions or issues.
This has been tested with the RabbitMQ 3.3.x and RabbitMQ 3.5.x trees.