- Allow multiple rings in nodelist (#262, #291, #336, #358)
- Add support for cs_location rules (#132, #310, #356)
- Allow 1-element arrays for primitives in cs_group (#152, #368)
- Add support for clone of groups (#176, #371)
- New class parameter: vsftype (#345)
- Add the nodelist to corosync.conf even if we set the expected votes count (#347)
- Add autorequirement between cs_location and cs_primitives/cs_clone (#359)
- Add autorequirement between cs_clone and cs_primitive (#357, #365)
- Lots of fixes regarding cs_clone (#367, #149, #370)
- Add "Managed By Puppet" header to corosync.conf (#360)
- Improve tests (#335, #337, #331, #328, #364, #369, #370)
- Modulesync (#330)
- Support for Puppet < 3.8.0 is removed (#334)
- Logging to file is enabled by default. (#345)
- Corosync.conf got a major cleanup. Most of the parameters are now implicit so we get pacemaker defaults. List of affected parameters: compatibility, consensus, join, max_messages, rrp_mode, threads, token, token_retransmits_before_loss_const, vsftype. Those parameters can now be specified as class parameters. (#345)
- Removed legacy configuration sections: amf, aisexec, logging.logger_subsys (#345)
- Fix two_nodes behaviour with expected_votes = 2 introduced in 3.0.0 (#246)
- Cs_clone: clones are now stopped before being removed (crm provider) (#367)
- Cs_clone now uses the resource name as clone id (pcs provider) (#149, #367)
- Cs_clone purges parameters that are not explicitly set (#370)
We have plans to rename this module and deprecated old Puppet releases and Puppet distributions. Please refer to our roadmap for further details.
The issue #32 concerning the naming of this module will be closed in the next major release of this module. In v6.0.0, this module could be rebranded to a better name, as well as the types and resources.
- Fix enable_secauth => false (#341)
- Validate corosync configuration before overwriting (available in EL7, Ubuntu 16.04, and Debian Jessie) (#294)
- multicast_address and unicast_addresses are no longer mandatory if clustername is set (#318)
- Modulesync updates
- Support for Puppet <= 3.6.0 is removed (#319)
We have plans to rename this module and deprecated old Puppet releases and Puppet distributions. Please refer to our roadmap for further details.
The issue #32 concerning the naming of this module will be closed in two major releases of this module. In v6.0.0, this module could be rebranded to a better name.
- Fixed a bug with two_nodes option and three-node clusters (#316)
- Improved corosync readiness detection (#314)
- Modulesync updates
- Introduce a public roadmap
- Providers now wait up to 60 seconds to get a non null CIB. On new clusters, it
means that you wait 60 seconds for nothing, but when adding a node to the
cluster, it means that we join the cluster before operating it with this
puppet module. If you are using Cs_shadow and all your resources depend on
that one, then instead of a non-null (non
0.0
) epoch, we wait for a non0.*
epoch, because the Cs_shadow and Cs_commit couple will update the epoch anyway. (#314)
Deprecating old Puppet releases:
- We will remove support for Puppet <= 3.6.0 in the next major release of this module (v4.0.0).
- We will remove support for Puppet <= 3.8.0 in two major releases of this module (v5.0.0).
- We will remove support for Puppet <= 4.6.0 in three major releases of this module (v6.0.0).
The 5.0.0 release will be a LTS and will be supported until VoxPupuli stops Puppet 3 support (voxpupuli/plumbing#21). It will be the latest release to support Puppet 3. After its release, only bugfixes and security fixes will be applied. We will not introduce backward incompatible changes in this LTS release.
That LTS release will be available under the "puppet3" branch of this module.
Please consider moving straight to Puppet 4.
The issue #32 concerning the naming of this module will be closed in three major releases of this module. In v6.0.0, this module could be rebranded to a better name.
- Support Ubuntu 16.04 (#288)
- Fix travis release (#302)
- Replace Cs_primitive[manage_target_role] parameter by Cs_primitive[unmanaged_metadata] parameter (#275)
- Support Debian 8. Requires jessie-backports apt repository (not included in this module) (#282)
- Set Puppet requirement version to >= 3.0.0 < 5.0.0 (#286)
- Add a
cib
parameter to cs_rsc_default (#296)
- Cs_primitive[manage_target_role] parameter (introduced in 1.1.0, deprecated
in 1.2.0) has ben replaced by the more powerful
Cs_primitive[unmanaged_metadata] parameter (#275). To update, you need to
replace
manage_target_role => false
byunmanaged_metadata => ['targes-role']
- The class parameter corosync::packages has been removed (was deprecated in 0.8.0) (#282)
We will remove support for Puppet <= 3.6.0 in two major releases of this module (4.0.0).
- Workaround upstream Puppet bug regarding PuppetX ruby namespace (#278 #284 SERVER-973)
- Deprecate Cs_primitive[manage_target_role] in favour of Cs_primitive[unmanaged_metadata]
- Workaround upstream Puppet bug regarding PuppetX ruby namespace (#278 #284 SERVER-973)
- Move helpers functions to PuppetX ruby namespace (#259)
- Cs_commit used with cs_shadow are now idempotent (#263)
- Cs_primitive: Fix metadata removal when the metadata parameter is empty (#264)
- Cs_primitive: Add a manage_target_role parameter (#265)
- Inner changes to the crm providers to better manage the crm commands (#217 #268 #269 #270 #271 #272 #273)
- Adoption of Vox Pupuli code of conduct (coc) for further contributions (#267)
- Puppet 4.5.0 support (#258)
- Modulesync update
- Minor fix to the release scripts
- Ubuntu 14.04 support (#178)
- pcs provider: improved support for cs_shadow, cs_commit(#197 #196 #209)
- cs_property now takes an optional
replace
parameter that do not update previously created parameters. Useful to let users change the settings at runtime without stopping puppet (e.g for maintenance mode) (#203) - cs_location now supports a resource_discovery parameter that matches pacemaker resource-discovery location property
- cs_property will now wait for the cluster to be ready (#170)
- Log the crm and pcs commands output (crmsh: #177, pcs: #219)
- cs_property will only take care of cib-bootstrap-options cluster property set (crm: #174 pcs: #224)
- crm provider: Fix cs_colocation for resources with a role (#175)
- cs_commit now autorequires cs_groups (#183)
- support for more corosync configuration parameters (#184 #192 #194)
- pcs provider: speed enhancements (#187)
- pcs provider: cs_order: implement the kind and symmetrical parameters (#188 and #131
- pcs provider: cs_colocation: Add support for colocation sets (#190)
- add support for the pcsd service (#130)
- crm provider: Preserve resource order in cs_group (#133)
- corosync: support for multiple rings in unicast mode (#251)
- Bugfixes, improved tests, improved documentation
- cs_commit resources now only commit when refreshed (see README) (#209)
- pcs provider: cs_location: the order of the primitives is now the chronological order: ['with-rsc', 'rsc']. This aligns pcs with the crmsh provider (#212)
- pcs_provider: cs_colocation: the order of the primitives is now respected. Previously they were sorted by chronological order (#153).
- cs_primitive operations parameter with a role now need to define the role as a property, and if multiple operations have the same role you have to use an array (#236)
- cs_order: the resources_type parameter has been removed (#246)
- manage package and version for pcs
- Use Puppet::Type.newtype instead of Puppet.newtype
- Fix deprecation warning for SUIDManager.
- Fix acceptance tests for RHEL6 and Ubuntu 14.04
- Implement ensure => $version for pacemaker and corosync package
- Made pacemaker and corosync version configurable
- Added variables to manage pacemaker or corosync package.
- Added variables to manage pacemaker and corosync version.
- Moved package parameters to init.pp. Required to accomodate the logic that allows new style $package_{corosync,pacemaker} parameters, and the old-style $packages to co-exist in a safe manner.
- Added deprecation warning for $packages parameter and fail() for mixed use of $packages and $package_{corosync,pacemaker}.
- Added spec tests for new package parameters.
- Added failure spec test for mixed use of $packages and $package_*.
- Made token_retransmits_before_loss_const a parameter to allow hearbeat tuning
- Move beaker to system-tests group
- Add spec for cs_colocation
- Add basic beaker-rspec testing
- Colocation is allowed on at least 2 primitives
- Bugfix, crmsh cs_location provider
- param mcastport is still used when using broadcast mode
- Fixed ordering of self.ready? tests
- Added caching on self.ready
- Ensure node IDs for votequorum are not "0"
- Add votequorum setting to corosync.conf
- Add cs_clone provider and type (complete)
- Implement rsc_defaults
- make token value configurable
This release refactors the main class to use corosync::params
for defaults and no longer checks global variables for the parameters. It also includes strict variable support, a few other features, and a bugfix for EL platforms.
Class corosync
no longer uses global varaibles $::port
, $::threads
, $::port
, $::bind_address
, $::unicast_addresses
, $::multicast_address
, or $::enable_secauth
. These should be passed as parameters to the corosync
class instead.
- Strict variable support
- Add support for spaces in
cs_primitive
parameters - Add support for multiple operations with the same name
- Add some parameter validation
- Removed
enable corosync
exec for EL platforms
This release adds support for the PCS provider. It also updates metadata.json so the module can be uninstalled and upgraded via the puppet module command.
- Add support for PCS provider
This module has undergone two years of development, and pretty much every aspect of it has changed in some regard. I've tried to capture the key changes below, but you should rely on the README to see how things work now.
- Added a new resource type cs_location.
- Make primitive utilization attributes managable.
- Added symmetrical parameter on cs_order (for ordering).
- Allow ordering of cs_groups.
- Allow to specify rrpmode and ttl.
- Allow to specifiy several rings.
- Permit broadcast.
- Allow more than two primitives per cs_colocation.
- Allow the authkey to be provided as a string.
- Add tests.
- Rework significant amounts of the provider code.
- Delete an existing cib to start fresh
- Only change /etc/defaults for corosync startup on Debian platforms
- Fix templates for Puppet 3.2+.
- Don't complain if cs_primitive doesn't have a utilization parameter.
- Consider <instance_attributes/> within primitive operations.
- Changed osfamily check to include other operating systems.
- Updated node to node_name in cs_location function as 'node' is a reserved name, this replacement allows cs_location to work correctly.
- Added robustness for general corosync management (read the merges)
- Added
cs_group
type - Added some testing
- Generally tried to get on top of this thing.