skip to main content
10.1145/3219104.3219136acmotherconferencesArticle/Chapter ViewAbstractPublication PagespearcConference Proceedingsconference-collections
research-article

Scaling Puppet and Foreman for HPC

Published: 22 July 2018 Publication History

Abstract

The Ohio Supercomputer Center has deployed a Puppet configuration management and Foreman provisioning environment that scales to almost one thousand servers that are a mix of HPC cluster compute and service nodes as well as storage, web, and infrastructure servers. The motivation for using a common provisioning and configuration management environment for all computers at OSC was to minimize the unique environments with their own management tools, as well as to provide for unified management of network booting, DNS, and audit interfaces for change management. In this paper, we describe several novel methods used to scale Puppet to a large number of servers, as well as the use of the Foreman provisioning environment as a global key-value store. We also present our implementation of multiple environment configurations that allow us to support development and test environments in parallel and integrated with production configuration management.

References

[1]
Phusion Holding B.V. 2018. PassengerMaxPoolSize. https://www.phusionpassenger.com/library/config/apache/reference/#passengermaxpoolsize
[2]
Trey Dockendorf. 2018. add-hosts-to-foreman.py. https://github.com/treydock/puppet-osc_facts/blob/master/files/add-hosts-to-foreman.py
[3]
Trey Dockendorf. 2018. Foreman OSC Plugin. https://github.com/treydock/foreman_osc
[4]
Trey Dockendorf. 2018. nfsroot/host-parameter.py at master - treydock/puppet-nfsroot. https://github.com/treydock/puppet-nfsroot/blob/master/files/host-parameter.py
[5]
Trey Dockendorf. 2018. nfsroot/hostgroup-parameter.py at master - treydock/puppet-nfsroot. https://github.com/treydock/puppet-nfsroot/blob/master/files/hostgroup-parameter.py
[6]
Trey Dockendorf. 2018. nfsroot/osc-partition.erb at master - treydock/puppet-nfsroot. https://github.com/treydock/puppet-nfsroot/blob/master/templates/osc-partition.erb
[7]
Trey Dockendorf. 2018. nfsroot/osc-partition.service.erb at master - treydock/puppet-nfsroot. https://github.com/treydock/puppet-nfsroot/blob/master/templates/osc-partition.service.erb
[8]
Trey Dockendorf. 2018. nfsroot/partition_schema-wait.erb at master - treydock/puppet-nfsroot. https://github.com/treydock/puppet-nfsroot/blob/master/templates/partition_schema-wait.erb
[9]
Trey Dockendorf. 2018. nfsroot/partition_schema.erb at master - treydock/puppet-nfsroot. https://github.com/treydock/puppet-nfsroot/blob/master/templates/partition_schema.erb
[10]
Trey Dockendorf. 2018. nfsroot/README.md Usage at master - treydock/puppet-nfsroot. https://github.com/treydock/puppet-nfsroot#usage
[11]
Trey Dockendorf. 2018. osc-foreman-templates/pxelinux_default_local_boot.erb at master - treydock/osc-foreman-templates. https://github.com/treydock/osc-foreman-templates/blob/master/provisioning_templates/PXELinux/pxelinux_default_local_boot.erb
[12]
Trey Dockendorf. 2018. puppet_masterless/papply.sh at master- treydock/puppet-puppet_masterless. https://github.com/treydock/puppet-puppet_masterless/blob/master/templates/papply.sh.erb
[13]
Egan Ford, Brad Elkin, Scott Denham, Benjamin Khoo, Matt Bohnsack, Chris Turcksin, and Luis Ferreira. 2002. Building a Linux HPC Cluster with xCAT. IBM Redbook (2002).
[14]
Egan Ford, Jarrod Johnson, Bruce Potter, Andy Wray, et al. 2018. xCAT. http://xcat.org/
[15]
Foreman. 2018. Foreman #20487 commit. https://github.com/theforeman/foreman/commit/abd38baa49f857c2e30ac3c1cbcac0afb0f30c00
[16]
Foreman. 2018. puppet-foreman. https://github.com/theforeman/puppet-foreman
[17]
The Foreman. 2018. The Foreman. https://theforeman.org/
[18]
The Foreman. 2018. Smart Proxy. https://theforeman.org/manuals/1.16/index.html#4.3SmartProxies
[19]
Gregory M. Kurtzer et al. 2018. Warewulf. https://warewulf.github.io/
[20]
Puppet. 2018. About environments. https://puppet.com/docs/puppet/latest/environments_about.html
[21]
Puppet. 2018. Hiera. https://puppet.com/docs/hiera/latest/index.html
[22]
Puppet. 2018. Language: Tags. https://puppet.com/docs/puppet/latest/lang_tags.html
[23]
Puppet. 2018. Mcollective. https://puppet.com/docs/mcollective/current/index.html
[24]
Puppet. 2018. Puppet. https://puppet.com/
[25]
Puppet. 2018. puppet apply. https://puppet.com/docs/puppet/latest/man/apply.html
[26]
Puppet. 2018. Puppet External Node Classifier. https://puppet.com/docs/puppet/latest/nodes_external.html
[27]
Puppet. 2018. PuppetDB. https://docs.puppet.com/puppetdb/
[28]
Puppet. 2018. r10k. https://github.com/puppetlabs/r10k
[29]
Vox Pupuli. 2018. puppet-r10k. https://forge.puppet.com/puppet/r10k

Cited By

View all
  • (2019)A Multi-Environment HPC-Scale Puppet Infrastructure for Compliance and Systems AutomationPractice and Experience in Advanced Research Computing 2019: Rise of the Machines (learning)10.1145/3332186.3332240(1-8)Online publication date: 28-Jul-2019

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
PEARC '18: Proceedings of the Practice and Experience on Advanced Research Computing: Seamless Creativity
July 2018
652 pages
ISBN:9781450364461
DOI:10.1145/3219104
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 July 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Foreman
  2. NFS root
  3. Puppet
  4. configuration management
  5. provisioning
  6. systems management

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

PEARC '18

Acceptance Rates

PEARC '18 Paper Acceptance Rate 79 of 123 submissions, 64%;
Overall Acceptance Rate 133 of 202 submissions, 66%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)1
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2019)A Multi-Environment HPC-Scale Puppet Infrastructure for Compliance and Systems AutomationPractice and Experience in Advanced Research Computing 2019: Rise of the Machines (learning)10.1145/3332186.3332240(1-8)Online publication date: 28-Jul-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media