Ansible Collection - AMQ

Build Status

NOTE: If you are Red Hat customer, install redhat.amq_broker from Automation Hub as the certified version of this collection.

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.15.0.

Included content

Roles:

  • activemq: perform installation and configuration

  • activemq_uninstall: uninstallation of a deploment made by the collection

Plugins:

  • activemq_facts: return activemq configuration as ansible fact data

  • pbkdf2_hmac: filter plugin used internally to generate unidirectional account password hashes

Installation

Installing the Collection from Ansible Galaxy

ansible-galaxy collection install middleware_automation.amq

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

Controller node install zipfile path

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.

License

Apache License 2.0