Puppet Qpid Dispatch Router Module
Go to file
Andrew Smith 8704500c21 Add LICENSE file 2016-04-14 08:44:01 -04:00
examples missing sasl install for debian 2016-03-18 11:37:54 -04:00
lib/puppet Added example, apt install refactor 2016-03-18 09:38:12 -04:00
manifests Add LICENSE file 2016-04-14 08:44:01 -04:00
spec initial commit for qpid-dispatch puppet module 2016-03-04 09:15:50 -05:00
templates Added ssl profile to template 2016-04-07 16:36:53 -04:00
.fixtures.yml Add basic fixture file 2016-04-13 08:53:27 -04:00
.gitignore Modified provider to prefetch model 2016-03-07 09:13:20 -05:00
Gemfile initial commit for qpid-dispatch puppet module 2016-03-04 09:15:50 -05:00
LICENSE Add LICENSE file 2016-04-14 08:44:01 -04:00
README.md Add basic fixture file 2016-04-13 08:53:27 -04:00
Rakefile initial commit for qpid-dispatch puppet module 2016-03-04 09:15:50 -05:00
metadata.json initial commit for qpid-dispatch puppet module 2016-03-04 09:15:50 -05:00



Table of Contents

  1. Overview
  2. Module Description - Manage the QPID Dispatch Router
  3. Setup - The basics of getting started with qdr
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module


This module manages the QPID Dispatch Router (qdr) found at:


The dispatch router provides flexible and scalable interconnect between any AMQP 1.0 endpoints, whether they be clients, brokers or other AMQP-enabled services

Support is intended for Red Hat and Ubuntu OS family deployed with Pupppet V4.x

Module Description

This module sets up the installations, configuration and management of the QPID Dispatch Router (qdr) class and has a number of providers that correpsond the router configuration entities such as listeners and connectors.

This module will facilitate the deployment of a full/partial mesh topology of QPID Dispatch Routers serving as the messaging interconnect for a site.


What qdr affects

  • repository files
  • packages
  • configuration files
  • service
  • configuration entities

Beginning with qdr

include '::qdr'

The default configuration currently installs Qpid-Dispatch-Router 0.5


All configuration parameters can be managed via the main qdr class.

class { '::qdr' :
  service_enable            => true,
  container_workder_threads => 4,
  listener_port             => 15672,

Class Reference

  • qdr: Provides the basic installation and configuration sequence
  • qdr::config: Provides qdrouterd configuration
  • qdr::install: Performs package installations
  • qdr::params: Aggregates configuration data for router
  • qdr::service: Manages the qdrouterd service state

Resource Types


Resource configuration entity to establish outgoing connections from the router.

Query all current connectors: '$puppet resource qdr_connector'

qdr_connector { 'anyConnector' :
  addr           => '',
  port           => '1234',
  role           => 'inter_router',
  max_frame_size => '65536',


Listens for incoming connection requests to the router

Query all current listeners: '$puppet resource qdr_listener'

qdr_listener { 'anyListener' :
  addr            => '',
  port            => '5678',
  role            => 'normal',
  sasl_mechanisms => 'DIGEST-MD5,EXTERNAL',


Control log settings for a particular module on the running router

Query all current log module settings: '$puppet resource qdr_log'


Users for internal sasl authentication

Query all current internal users: '$puppet resource qdr_user'

qdr_user { 'anyUser' :
  file     => '/var/lib/qdrouterd/qdrouterd.sasldb',
  password => 'changeme',

Resource Providers


An AMQP management client tool for used with any standard AMQP managed endpoint.


This module has been tested on the following platforms:

  • CentOS 7
  • Ubuntu 15.10

Apt module dependence

If running Debian os family, puppetlabs-apt module is required


Release Notes/Contributors/Etc Optional

If you aren't using changelog, put your release notes here (though you should consider using changelog). You may also add any additional sections you feel are necessary or important to include here. Please use the ## header.