Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >=3.4.0
- , ,
Start using this module
Add this module to your Puppetfile:
mod 'praekeltfoundation-marathon', '0.4.2'
Learn more about managing modules with a PuppetfileDocumentation
puppet-marathon
A Puppet module for configuring Marathon
This module was designed for Marathon version 0.13.0+. Older versions should still work but may require some extra configuration.
This module has been tested on:
- Ubuntu 14.04 running Puppet 3.4 and 3.8
- RHEL 7 running Puppet 3.7
Again, this should work on other setups but we make no promises.
Getting started
The module should be immediately familiar to anybody who has used the deric/mesos
module.
class { 'marathon':
zookeeper => 'zk://127.0.0.1:2181/marathon',
master => 'zk://127.0.0.1:2181/mesos',
options => {
hostname => $::hostname,
event_subscriber => 'http_callback',
},
}
For information about all the available parameters see the documentation for the class.
Marathon + Mesos
This module reuses large parts of the deric/mesos
module and as such that module is a dependency. That module is also our recommended way to manage Mesos with Puppet.
NOTE: There is a conflict when installing both Mesos and Marathon using these modules as both packages are generally installed from the same repository. To work around these conflicts, it is possible to disable the management of the repo by the Marathon module.
For example:
class { 'mesos':
repo => 'mesosphere',
master => $mesos_zk
}
class { 'marathon':
repo_manage => false,
zookeeper => $marathon_zk,
master => $mesos_zk,
}
Class['mesos::repo'] -> Package['marathon']
Two things to note:
- The
repo_manage => false
line ensures that the Marathon module doesn't try to configure a repo that conflicts with the Mesos one. - We must specify the repo dependency for the Marathon package as there is no way for the Marathon module to know this dependency if it is not managing the repo itself.
Marathon logging
Like any good Java program (technically, Scala), Marathon uses loggers that are configured using a file specified in the JVM's classpath at runtime. This module takes care of configuring this logging for certain versions of Marathon.
To disable the configuration of logging (enabled by default), pass manage_logger => false
. Even with management of loggers enabled Marathon will still output to syslog (although this depends on exactly how Marathon is launched).
NOTE: At this time, the logging configuration only works for versions 0.13.0+ of Marathon. Marathon recently switched from log4j
to slf4j
+ logback
. This module only includes a configuration file template for logback
.
0.4.2 - 2016/03/18
Features
- Log levels for individual loggers can be configured using the
log_levels
parameter (#21 - @felixb)
0.4.1 - 2016/02/11
Features
- Puppet 4.x support (#18)
Fixes
- Better tests (#9, #19)
0.4.0 - 2016/02/09
Features
- Ability to disable Marathon's syslog logging (#16)
Changes
- Marathon service now restarted when package is changed (#15 - @felixb)
Fixes
- Owner and group set for
mesos::property
config resources (#17)
0.3.0 - 2016/01/29
Features
- CentOS/RHEL 7 support (#12 - @felixb)
- Support management of Mesos authentication secret (#13 - @felixb)
Fixes
deric/mesos
updated to 0.6.5 - ensureapt-get update
runs before installing (#11)- README instructions updated/fixed (#11)
0.2.0 - 2016/01/14
Fixes
- Refactored install process to better ensure resource dependency ordering (#8)
0.1.1 - 2016/01/12
*Initial release -- KNOWN ISSUES
Dependencies
- puppetlabs/stdlib (>=4.2.0)
- puppetlabs/apt (>= 2.1.0)
- deric/mesos (>= 0.6.5)
Copyright (c) 2015, Praekelt Foundation 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 puppet-marathon 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.