Report Open Access

Parallel Task Execution

Jose Manuel de Frutos Porras

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

Files (518.2 kB)
Name Size
Report_Jose Manuel de Frutos Porras.pdf
518.2 kB Download
All versions This version
Views 829830
Downloads 725725
Data volume 375.7 MB375.7 MB
Unique views 782783
Unique downloads 701701


Cite as