otto-de-legacy / puppet-chronos

Puppet Module for chronos, the mesos framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chronos Puppet Module

Puppet Forge Build Status

Installs and configures the mesos framework chronos. It plays well with deric/mesos puppet module.

Usage

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
}

Parameters

  • zk_nodes - array of zookeeper hosts - mandatory
  • zk_path_mesos - zookeeper path for finding mesos master, usually /mesos
  • zk_path_chronos - zookeeper path for storing chronos state
  • package - chronos package name
  • version - install specific version of chronos
  • enable_service - enable chronos service
  • options - additional command line options
  • java_home - set JAVA_HOME
  • run_as_user - run service under specified user
  • secret - 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'

Jobs

You can configure chronos jobs by including a chronos::job resource:

chronos_job{'my-job':
  chronos_url => 'http://localhost:8080',
  api_version => 'v1',
  content => '{ "name": "my-job", "command": "echo hey!", ... }',
}

Delete the same job by including:

chronos_job{'my-job':
  ensure  => absent,
  chronos_url => 'http://localhost:8080',
  api_version => 'v1',
  content => '{ "name": "my-job" }',
}

Packages

You can build package by yourself and upload package to your software repository. Or use packages from mesosphere.io:

Requirements

  • Puppet > 3.0 and < 5.0
  • RHEL 7 or CentOS 7

Dependencies

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:

Installation

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'

Links

For more information see chronos project

License

Apache License 2.0

Contributors

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

About

Puppet Module for chronos, the mesos framework

License:Apache License 2.0


Languages

Language:Ruby 79.9%Language:Puppet 16.5%Language:HTML 3.5%Language:Shell 0.1%