mcollective
Version information
This version is compatible with:
- Puppet Enterprise >= 3.3.0 <= 5.0.0
- Puppet >= 3.5.0 <= 5.0.0
- , , , , , ,
This module has been deprecated by its author since Jan 14th 2020.
The author has suggested choria-choria as its replacement.
Start using this module
Documentation
mcollective
Overview
This is an MCollective module for Puppet. It configures MCollective brokers, servers, and clients without any other dependency classes, as documented in Learning MCollective.
O'Reilly Media, Inc.
http://shop.oreilly.com/product/0636920032472.do
ISBN: 978-1-4919-4567-4
Deprecated
This module is deprecated in favour of choria, which greatly simplifies what used to be the more complex bespoke Mcollective installations this module could create.
Description
This module can configure MCollective middleware brokers, servers, and clients. It can automatically configure complex configurations, such as networks of brokers, subcollectives, and TLS security options.
With just a hostname and passwords it can create a fully working MCollective setup. With just a few more lines of input it can create TLS-validated, globally distributed MCollective environments.
The module can also create authorization policies from Hiera input.
Supported Operating Systems
The module has been validated for full functionality on:
- CentOS 6.4 and higher
- Ubuntu 13.10
- FreeBSD 9.2 and higher
Updates for Solaris, MacOS, and Windows coming soon.
Simple Setup
The easiest setup is to put the passwords in Hiera and then simply include the modules in site or nodes manifest.
Hiera: common.yaml
classes:
- mcollective::server
mcollective::hosts:
- 'activemq.example.net'
mcollective::client_password: 'Client Password'
mcollective::server_password: 'Server Password'
mcollective::psk_key : 'Salt Value'
Hiera: fqdn/activemq.example.net.yaml
classes:
- mcollective::middleware
Hiera: fqdn/admin.example.net.yaml
classes:
- mcollective::client
Or if using in profiles with declarative style assignment:
node default {
include mcollective::server
}
node 'activemq.example.net' {
include mcollective::middleware
}
node 'admin.example.net' {
include mcollective::client
}
This module is a companion intended for use with the Learning MCollective book.
Facts
The older version of the book refers to including the facts
class to have facts
from Facter and Puppet placed in /etc/mcollective/facts.yaml.
include mcollective::facts
While this still works, it is deprecated and will be removed in a future version. Instead, add this variable to define how many minutes between updates.
Hiera: common.yaml
mcollective::facts::cronjob::run_every: 10
Bugs
If you report it, and I can replicate it I'll fix it.
If you have an idea for improvement I might do it. If you create a Pull request it will happen faster. If you send me changes to support more operating systems, I'll owe you beer.
I'm human and prone to overwork so response times vary. YMMV.
2015-11-26 - Release 1.0.3
Bugfix
- Ensure that facts cronjob is moved into place without confirmation prompt
##2015-11-26 - Release 1.0.2 ###Bugfix release
####Bugfixes
- Fixed jetty password template variable reference (reported by devoncustard)
##2015-11-22 - Release 1.0.1 ###Stable release
This release is in use in many production sites and is stable. Only non-breaking bugfixes will be applied to 1.0.X versions going forward.
Release 2.0 and above will only support Puppet 4 / future parser, and will drop support for Puppet 3 and below.
####Bugfixes
- Fixed an error about referencing qualified variable in an optional class
- Added/improved docs in both README and facts::cronjobs class
- Fix for trailing comma on collectives (provided by Vadym Chepkov)
- Fix for wrong variable name on client plugin loglevel (provided by Vadym Chepkov)
- Fix for actionpolicy default name (reported by Taejon Moon)
##2015-09-08 - Release 0.1.7 ###Puppet 4 Compatibility
####Features
- Adjusted configuration to work with Puppet 4
- Added new
mcollective::facts::cronjob::run_every
parameter to control facts updates
####Obsoletes The Hiera parameter 'mcollective::facts::cronjob::run_every' is now preferred and the only working method for Puppet 4. Use of the 'mcollective::facts' class is deprecated and will be removed in v1.0
##2015-05-27 - Release 0.1.6 ###Added $logrotate_directory parameter
####Features
- Added rspec tests for platform defaults
- Added new $logrotate_directory variable
The new variable defaults to backwards compatible changes, but allows it to be set to undef/nil to disable logrotate file installation.
##2015-05-26 - Release 0.1.5 ###Added rspec tests
####Features
- Added rspec tests for every class
####Bugfixes
- Fix mistype in error message
- Remove extra spaces that puppet-lint didn't like
- Removed a set of double quotes without a variable inside
- Fixed dependency resolution problem
##2015-05-25 - Release 0.1.4 ###Changed to BSD 3-Clause License
The module has been changed to the BSD 3-clause license.
####Features
- Added CHANGELOG in Markdown format
##2015-05-19 - Release 0.1.3 ###Fixed problem with ActiveMQ config file template
####Bugfixes
- activemq won't replace variables inside the xml configuration without config.PropertyPlaceholderConfigurer
##2015-04-01 - Release 0.1.2 ###Puppetlabs ActiveMQ 5.9 package, Improved facts.yaml generation
####Features
- Use ActiveMQ 5.9 package from Puppet Labs dependency repo
- Added module tests
- More complete metadata
####Bugfixes
- Revised facts.yaml generation to work properly regardless of Puppet stringify settings
##2014-09-10 - Release 0.1.1 ###Improved documentation
##2014-07-14 - Release 0.0.1 ###Original release
Dependencies
- puppetlabs/stdlib (>= 3.2.0 <= 5.0.0)
Copyright (c) 2014-2015, Jo Rhett All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of jorhett-mcollective nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.