Ansible Collection - AMQ
Collection to install and configure Apache ActiveMQ Artemis / Red Hat AMQ broker.
Ansible version compatibility
This collection has been tested against following Ansible versions: >=2.9.10.
Included content
Roles:
activemq
: Perform installation and configuration
Plugins:
pbkdf2_hmac
: filter plugin used internally to generate unidirectional activemq users password hashes
Installation
Installing the Collection from Ansible Galaxy
ansible-galaxy collection install middleware_automation.amq
Build and install locally
Clone the repository, checkout the tag you want to build, or pick the main branch for the development version; then:
ansible-galaxy collection build .
ansible-galaxy collection install middleware_automation-amq-*.tar.gz
Dependencies
Ansible collections:
The dependencies will be installed automatically when installing the collection with ansible-galaxy, or to install manually use:
ansible-galaxy collection install -r requirements.yml
Python:
lxml
jmespath
To install all the dependencies:
pip install -r requirements.txt
Usage
Install Playbook
playbooks/activemq.yml
deploys based on the collections defaults.
For full service configuration details, refer to the activemq role README.
Install from controller node
By default the collection will download the desired version of the install zipfile to the ansible controller node, then it will distribute to target nodes.
The variable activemq_local_archive_repository
controls the path on the controller where the install zipfiles will be located, and by default will be the playbook working directory.
Offline from controller node
Making the install zipfile archive available to the playbook working directory, and setting activemq_offline_install
to True
, allows to skip
the download tasks. The local path for the archive does match the downloaded archive path, so that it is also used as a cache when multiple hosts are provisioned in a cluster.
activemq_offline_install: True
Clustered / high availability deployments
When deploying clustered configurations, all hosts belonging to the cluster must be present in ansible_play_batch
; ie. they must be targeted by the same ansible-playbook execution.