SlideShare a Scribd company logo
Foreman in Your
Data Center
Stephen Benjamin
@stbenjam
Agenda
● Introduction
– Provisioning
– Configuration
– Monitoring
● Demo
● Customizing foreman
– Automating with CLI + API
– Hooks
– Plugins
● Discovery
● Docker
● Katello
● Chef/Salt
● Write your Own
Foreman's Realm
Managing the Lifecycle of your Systems
Foreman
● Provision new machines or containers to
(almost) anything
– Bare metal, oVirt, Libvirt, vmware, docker, EC2,
Rackspace, Digital Ocean, OpenStack, etc.
● If we don't support it today, we can via new
plugins
● Provisioning types:
– PXE - via kickstart, preseed, AutoYAST, etc
– Image-based - cloning, configured over SSH or user data
(cloudinit)
● For virtualization provider, we create the VM
● For everything we orchestrate related services through Smart Proxies
– DNS - DHCP
– FreeIPA Realm - Configuration Management
● Puppet
● Via plugins:
– Chef
– Salt
● Automatic registration & setup of
clients, including autosigning
certs/keys
● Defining:
● Classes / states
● Parameters / pillars
● Inventory data, results of configuration
runs
● System Inventories – puppet/chef/salt
grains/facts. Ability to create trends and
charts on the data
● Reports from Puppet runs, or Salt highstate
● More reporting via plugins: ABRT,
OpenSCAP
Distributed Architecture
● Smart Proxies located locally on Foreman itself
or independent – used for orchestration of
DNS, DHCP, etc.
Foreman in Your Data Center :OSDC 2015
Demo
Customization
● Customize Foreman to support your workflows!
– Automation with API + CLI
– Foreman Hooks
– Foreman Plugins
API & CLI
● Full RESTful API
– Docs at http://foreman.example.com/apidoc on your
Foreman server
– e.g.
curl -k -u admin:changeme 
-H "Accept: version=2,application/json"
https://localhost/salt/api/v2/salt_keys/smartproxy.example.com
Hammer CLI
● Easy to use, great for working in shell
hammer salt-key list --smart-proxy=smartproxy.example.com
Hooks
● Hooks
– Triggered on actions: on action, do X
● host create/update/delete, build complete, etc.
● X could be anything
– add to nagios
– send an email
● Can be shell, python, ruby, etc.
– More info:
https://github.com/theforeman/foreman_hooks
Plugins
● Both the Smart Proxy and Foreman have a
pluggable architecture
– Foreman
● http://projects.theforeman.org/projects/foreman/wiki/Plugins
– Smart Proxy
● http://projects.theforeman.org/projects/foreman/wiki/Smart-Proxy_Plugins
● Plugins written in Ruby, some Rails knowledge
needed
Plugins
More Info: http://projects.theforeman.org/projects/foreman/wiki/List_of_Plugins
Rich ecosystem of existing plugins
Discovery
● Metal as a Service
Discovery
● http://theforeman.org/plugins/foreman_discovery/2.
● Unknown host boots via DHCP/PXE
– Becomes available in Foreman as a “Discovered
Host”
● Provision with as few as NO clicks
– Automatic provisioning via rules on arbitrary facts:
● cpu_count < 8 → web server host group
● cpu_count >= 8 → db box host group
Discovery Demo
Docker
● Manage many docker hosts
● Deploy new containers easily & view their
status, logs, etc
● Multiple registry support & integration with
Katello
● https://github.com/theforeman/foreman-docker
Katello
● Content Lifecycle Management
– http://www.katello.org/
● Sync RPM, Docker, and Puppet content
● Spin repositories with filters using Content Views
Katello
● Manage through a lifecycle
– Dev → QA → Production
● Patch Management
– Emergency Patches
– Errata Reports
● And much more!
Katello Demo
Salt
● Import reports (state.highstate results) and
grains into Foreman
● Bootstrapping nodes
● Define states, pillars via ext_node and ext_pillar
● Full interface to keys/autosign
● API & CLI
Chef
● Import reports and attributes into Foreman
● Automatic bootstrapping of clients
● Decomission nodes from Chef server when
deleted in Foreman
Write your Own
● More info:
– http://projects.theforeman.org/projects/foreman/wiki/How
What Next?
● Visit us http://theforeman.org/
● If you do something cool with Foreman, let us know!
● Find us:
– IRC: irc.freenode.net
● #theforeman
● #theforeman-dev
– Mailing Lists on Google groups
● foreman-users
● foreman-dev

More Related Content

What's hot (20)

PDF
Openstack il2014 staypuft- your friendly foreman openstack installer
Arthur Berezin
 
PDF
Apache Provisionr (incubating) - Bucharest JUG 10
Andrei Savu
 
PDF
Foreman presentation
Glen Ogilvie
 
ODP
SaltStack Integration with Foreman (2016)
Stephen Benjamin
 
ODP
Foreman in your datacenter
lzap
 
PPTX
Using puppet, foreman and git to develop and operate a large scale internet s...
techblog
 
ODP
PXEless Discovery with Foreman
Stephen Benjamin
 
PDF
Extending Foreman the easy way with foreman_hooks
Dominic Cleal
 
PDF
Configuration and lifecycle in Mixed environments
Dmitry Kireev
 
PDF
Connecting AWS and Katello/The Foreman
Lukas Kallies
 
PDF
OSDC 2015: Stephen Benjamin | Foreman in Your Data Center
NETWAYS
 
ODP
CfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
Stephen Benjamin
 
PPTX
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet
 
PDF
PuppetCamp Sydney 2012 - Building a Multimaster Environment
Greg Cockburn
 
PPTX
Foreman-and-Puppet-for-Openstack-Audo-Deployment
yating yang
 
PDF
OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka
NETWAYS
 
PDF
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Puppet
 
PDF
Red Hat Satellite 6 - Automation with Puppet
Michael Lessard
 
PDF
A user's perspective on SaltStack and other configuration management tools
SaltStack
 
PPTX
High availability for puppet - 2016
Zack Smith
 
Openstack il2014 staypuft- your friendly foreman openstack installer
Arthur Berezin
 
Apache Provisionr (incubating) - Bucharest JUG 10
Andrei Savu
 
Foreman presentation
Glen Ogilvie
 
SaltStack Integration with Foreman (2016)
Stephen Benjamin
 
Foreman in your datacenter
lzap
 
Using puppet, foreman and git to develop and operate a large scale internet s...
techblog
 
PXEless Discovery with Foreman
Stephen Benjamin
 
Extending Foreman the easy way with foreman_hooks
Dominic Cleal
 
Configuration and lifecycle in Mixed environments
Dmitry Kireev
 
Connecting AWS and Katello/The Foreman
Lukas Kallies
 
OSDC 2015: Stephen Benjamin | Foreman in Your Data Center
NETWAYS
 
CfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
Stephen Benjamin
 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet
 
PuppetCamp Sydney 2012 - Building a Multimaster Environment
Greg Cockburn
 
Foreman-and-Puppet-for-Openstack-Audo-Deployment
yating yang
 
OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka
NETWAYS
 
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Puppet
 
Red Hat Satellite 6 - Automation with Puppet
Michael Lessard
 
A user's perspective on SaltStack and other configuration management tools
SaltStack
 
High availability for puppet - 2016
Zack Smith
 

Similar to Foreman in Your Data Center :OSDC 2015 (20)

PDF
Kako napraviti Google od zgrade sa računalima?
Dobrica Pavlinušić
 
PPTX
Managing and Scaling Puppet - PuppetConf 2014
Miguel Zuniga
 
PDF
Nginx pres
James Fuller
 
PDF
Deploying PostgreSQL on Kubernetes
Jimmy Angelakos
 
PDF
Automating Complex Setups with Puppet
Kris Buytaert
 
PDF
ContainerCon - Test Driven Infrastructure
Yury Tsarev
 
PDF
Beyond Puppet
Kris Buytaert
 
PPTX
Nginx [engine x] and you (and WordPress)
Justin Foell
 
PDF
Installation of LAMP Server with Ubuntu 14.10 Server Edition
Sammy Fung
 
PPTX
Managing and Scaling Puppet - PuppetConf 2014
Puppet
 
ODP
Deploying Perl apps on dotCloud
daoswald
 
ODP
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios
 
PDF
The Foreman Project
Rahul Bajaj
 
PDF
Improving Operations Efficiency with Puppet
Nicolas Brousse
 
PDF
Matthew Mosesohn - Configuration Management at Large Companies
Yandex
 
PDF
Minimal OpenStack LinuxCon NA 2015
Sean Dague
 
PDF
Automating complex infrastructures with Puppet
Kris Buytaert
 
PDF
Docker 0.11 at MaxCDN meetup in Los Angeles
Jérôme Petazzoni
 
PDF
A3Sec Advanced Deployment System
a3sec
 
PDF
Big data with Python on kubernetes (pyspark on k8s) - Big Data Spain 2018
Holden Karau
 
Kako napraviti Google od zgrade sa računalima?
Dobrica Pavlinušić
 
Managing and Scaling Puppet - PuppetConf 2014
Miguel Zuniga
 
Nginx pres
James Fuller
 
Deploying PostgreSQL on Kubernetes
Jimmy Angelakos
 
Automating Complex Setups with Puppet
Kris Buytaert
 
ContainerCon - Test Driven Infrastructure
Yury Tsarev
 
Beyond Puppet
Kris Buytaert
 
Nginx [engine x] and you (and WordPress)
Justin Foell
 
Installation of LAMP Server with Ubuntu 14.10 Server Edition
Sammy Fung
 
Managing and Scaling Puppet - PuppetConf 2014
Puppet
 
Deploying Perl apps on dotCloud
daoswald
 
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios
 
The Foreman Project
Rahul Bajaj
 
Improving Operations Efficiency with Puppet
Nicolas Brousse
 
Matthew Mosesohn - Configuration Management at Large Companies
Yandex
 
Minimal OpenStack LinuxCon NA 2015
Sean Dague
 
Automating complex infrastructures with Puppet
Kris Buytaert
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Jérôme Petazzoni
 
A3Sec Advanced Deployment System
a3sec
 
Big data with Python on kubernetes (pyspark on k8s) - Big Data Spain 2018
Holden Karau
 
Ad

Recently uploaded (20)

PPTX
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
OpenInfra ID 2025 - Are Containers Dying? Rethinking Isolation with MicroVMs.pdf
Muhammad Yuga Nugraha
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
The Past, Present & Future of Kenya's Digital Transformation
Moses Kemibaro
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Lecture A - AI Workflows for Banking.pdf
Dr. LAM Yat-fai (林日辉)
 
PDF
SalesForce Managed Services Benefits (1).pdf
TechForce Services
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
Alpha Altcoin Setup : TIA - 19th July 2025
CIFDAQ
 
PDF
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
PDF
How Current Advanced Cyber Threats Transform Business Operation
Eryk Budi Pratama
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PPTX
python advanced data structure dictionary with examples python advanced data ...
sprasanna11
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
AI Code Generation Risks (Ramkumar Dilli, CIO, Myridius)
Priyanka Aash
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
OpenInfra ID 2025 - Are Containers Dying? Rethinking Isolation with MicroVMs.pdf
Muhammad Yuga Nugraha
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
The Past, Present & Future of Kenya's Digital Transformation
Moses Kemibaro
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Lecture A - AI Workflows for Banking.pdf
Dr. LAM Yat-fai (林日辉)
 
SalesForce Managed Services Benefits (1).pdf
TechForce Services
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
The Future of Artificial Intelligence (AI)
Mukul
 
Alpha Altcoin Setup : TIA - 19th July 2025
CIFDAQ
 
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
How Current Advanced Cyber Threats Transform Business Operation
Eryk Budi Pratama
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
python advanced data structure dictionary with examples python advanced data ...
sprasanna11
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Ad

Foreman in Your Data Center :OSDC 2015

  • 1. Foreman in Your Data Center Stephen Benjamin @stbenjam
  • 2. Agenda ● Introduction – Provisioning – Configuration – Monitoring ● Demo ● Customizing foreman – Automating with CLI + API – Hooks – Plugins ● Discovery ● Docker ● Katello ● Chef/Salt ● Write your Own
  • 3. Foreman's Realm Managing the Lifecycle of your Systems
  • 5. ● Provision new machines or containers to (almost) anything – Bare metal, oVirt, Libvirt, vmware, docker, EC2, Rackspace, Digital Ocean, OpenStack, etc. ● If we don't support it today, we can via new plugins
  • 6. ● Provisioning types: – PXE - via kickstart, preseed, AutoYAST, etc – Image-based - cloning, configured over SSH or user data (cloudinit) ● For virtualization provider, we create the VM ● For everything we orchestrate related services through Smart Proxies – DNS - DHCP – FreeIPA Realm - Configuration Management
  • 7. ● Puppet ● Via plugins: – Chef – Salt ● Automatic registration & setup of clients, including autosigning certs/keys ● Defining: ● Classes / states ● Parameters / pillars ● Inventory data, results of configuration runs
  • 8. ● System Inventories – puppet/chef/salt grains/facts. Ability to create trends and charts on the data ● Reports from Puppet runs, or Salt highstate ● More reporting via plugins: ABRT, OpenSCAP
  • 9. Distributed Architecture ● Smart Proxies located locally on Foreman itself or independent – used for orchestration of DNS, DHCP, etc.
  • 11. Demo
  • 12. Customization ● Customize Foreman to support your workflows! – Automation with API + CLI – Foreman Hooks – Foreman Plugins
  • 13. API & CLI ● Full RESTful API – Docs at http://foreman.example.com/apidoc on your Foreman server – e.g. curl -k -u admin:changeme -H "Accept: version=2,application/json" https://localhost/salt/api/v2/salt_keys/smartproxy.example.com
  • 14. Hammer CLI ● Easy to use, great for working in shell hammer salt-key list --smart-proxy=smartproxy.example.com
  • 15. Hooks ● Hooks – Triggered on actions: on action, do X ● host create/update/delete, build complete, etc. ● X could be anything – add to nagios – send an email ● Can be shell, python, ruby, etc. – More info: https://github.com/theforeman/foreman_hooks
  • 16. Plugins ● Both the Smart Proxy and Foreman have a pluggable architecture – Foreman ● http://projects.theforeman.org/projects/foreman/wiki/Plugins – Smart Proxy ● http://projects.theforeman.org/projects/foreman/wiki/Smart-Proxy_Plugins ● Plugins written in Ruby, some Rails knowledge needed
  • 19. Discovery ● http://theforeman.org/plugins/foreman_discovery/2. ● Unknown host boots via DHCP/PXE – Becomes available in Foreman as a “Discovered Host” ● Provision with as few as NO clicks – Automatic provisioning via rules on arbitrary facts: ● cpu_count < 8 → web server host group ● cpu_count >= 8 → db box host group
  • 21. Docker ● Manage many docker hosts ● Deploy new containers easily & view their status, logs, etc ● Multiple registry support & integration with Katello ● https://github.com/theforeman/foreman-docker
  • 22. Katello ● Content Lifecycle Management – http://www.katello.org/ ● Sync RPM, Docker, and Puppet content ● Spin repositories with filters using Content Views
  • 23. Katello ● Manage through a lifecycle – Dev → QA → Production ● Patch Management – Emergency Patches – Errata Reports ● And much more!
  • 25. Salt ● Import reports (state.highstate results) and grains into Foreman ● Bootstrapping nodes ● Define states, pillars via ext_node and ext_pillar ● Full interface to keys/autosign ● API & CLI
  • 26. Chef ● Import reports and attributes into Foreman ● Automatic bootstrapping of clients ● Decomission nodes from Chef server when deleted in Foreman
  • 27. Write your Own ● More info: – http://projects.theforeman.org/projects/foreman/wiki/How
  • 28. What Next? ● Visit us http://theforeman.org/ ● If you do something cool with Foreman, let us know! ● Find us: – IRC: irc.freenode.net ● #theforeman ● #theforeman-dev – Mailing Lists on Google groups ● foreman-users ● foreman-dev

Editor's Notes

  • #2: Talk slower
  • #3: Introductory talk – first half basic introduction, second half – customizing to fit your own needs in your data center How many people use Foreman today? Puppet? Chef? Salt? Anyone using non-puppet in foreman? TALK SLOWER
  • #4: Talk slower
  • #5: Talk slower
  • #6: Talk slower
  • #7: Talk slower
  • #8: Talk slower
  • #9: Talk slower
  • #10: Install a basic foreman – smart-proxy runs on the localhost with foreman
  • #11: Talk slower
  • #12: Talk slower
  • #13: Talk slower
  • #14: Talk slower
  • #15: Talk slower
  • #16: Talk slower
  • #17: Talk slower
  • #18: Talk slower
  • #19: Talk slower
  • #20: Talk slower
  • #22: Talk slower
  • #23: Talk slower
  • #24: Talk slower
  • #26: Talk slower
  • #27: Talk slower
  • #28: Talk slower.
  • #29: Let us know!