10.5281/zenodo.1971291
https://zenodo.org/records/1971291
oai:zenodo.org:1971291
Jose Manuel de Frutos Porras
Jose Manuel de Frutos Porras
CERN openlab summer student
Parallel Task Execution
Zenodo
2018
CERN openlab
summer-student programme
2018-12-05
eng
10.5281/zenodo.1971290
https://zenodo.org/communities/cernopenlab
Creative Commons Attribution 4.0 International
Puppet is a great tool for making changes on systems, and ensuring that those changes happen.
But Puppet is not intended to make this happen on many systems at the same time. Puppet
is intended for eventual compliance over time. Each agent checks in over a period of time, al-
lowing the puppetmaster to process only a few at a time. In very few environments could every
puppet client get a catalogue from the puppetmaster and execute it at the same moment in time.
Additionally, each puppet client would take differing times to process their catalogues. Configu-
ration Management Infrastructure at CERN is using MCollective as a framework for parallel job
execution. It is commonly used to orchestrate change across cluster of server in near real time.
Puppet Inc has recently announced a new Open source task runner that executes ad hoc
tasks across a set of infrastructure and applications. It is called Puppet-Bolt and it’s particu-
larly suited for troubleshooting or deploying one-off changes, distributing scripts to run across
all infrastructure, or automating changes that need to happen in a particular order as part of an
application deployment. Moreover, Bolt is driven through a command line interface and connects
to remote systems via SSH, so it doesn’t require the installation of any agent software. The tasks
that Bolt runs are reusable and shareable via the Puppet Forge and can be written in any scripting
or programming language.
In this project we will evaluate Puppet-Bolt as possible replacement for MCollective which
is lacking real orchestration features and requires a daemon to be running in each managed
machine.