Installs and configures the mesos framework chronos. It plays well with deric/mesos puppet module.
Install and configure chronos to connect to 3 zookeeper hosts. Make sure that libmesos.so is installed with the mesos package.
class { '::chronos':
zk_nodes => [
'zk-host-01:2181',
'zk-host-02:2181',
'zk-host-03:2181',
],
require => Package['mesos'], # require libmesos.so installed
}
zk_nodes
- array of zookeeper hosts - mandatoryzk_path_mesos
- zookeeper path for finding mesos master, usually/mesos
zk_path_chronos
- zookeeper path for storing chronos statepackage
- chronos package nameversion
- install specific version of chronosenable_service
- enable chronos serviceoptions
- additional command line optionsjava_home
- set JAVA_HOMErun_as_user
- run service under specified usersecret
- secret for connecting to mesos
All of these parameters could be handled by hiera:
chronos::zk_nodes:
- 'zk-host-01:2181'
- 'zk-host-02:2181'
- 'zk-host-03:2181'
chronos::zk_path_chronos: '/my/chronos'
You can configure chronos jobs by including a chronos::job
resource:
chronos_job{'my-job':
chronos_url => 'http://localhost:8080',
content => '{ "name": "my-job", "command": "echo hey!", ... }',
}
Delete the same job by including:
chronos_job{'my-job':
ensure => absent,
chronos_url => 'http://localhost:8080',
content => '{ "name": "my-job" }',
}
You can build package by yourself and upload package to your software repository. Or use packages from mesosphere.io:
- RedHat/CentOS
- Puppet > 3.0 and < 5.0
- RHEL 7 or CentOS 7
Chronos needs libmesos.so file installed to run. This file is not installed by this module. Use deric/mesos to install mesos binaries.
Additional dependencies:
- puppetlabs/stdlib version
>= 4.6.0
- we need functionassert_private
Preferred installation is via puppet-librarian just add to Puppetfile
:
mod 'ottode/chronos', '>= 0.1.0'
for latest version from git:
mod 'ottode/chronos', :git => 'git://github.com/otto-de/puppet-chronos.git'
For more information see chronos project
Apache License 2.0
Alphabetical list of contributors (not necessarily up-to-date), generated by command git log --format='%aN' | sort -u | sed -e 's/^/\- /'
:
- as0bu
- Felix Bechstein
- Florian Sellmayr