osdc 2015: stephen benjamin | foreman in your data center
TRANSCRIPT
![Page 1: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/1.jpg)
Foreman in Your
Data Center
Stephen Benjamin @stbenjam
![Page 2: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/2.jpg)
Agenda
● Introduction
– Provisioning
– Configuration
– Monitoring
● Demo
● Customizing foreman
– Automating with CLI + API
– Hooks
– Plugins
● Discovery
● Docker
● Katello
● Chef/Salt
● Write your Own
![Page 3: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/3.jpg)
Foreman's Realm Managing the Lifecycle of your Systems
![Page 4: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/4.jpg)
Foreman
![Page 5: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/5.jpg)
● 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
![Page 6: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/6.jpg)
● 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
![Page 7: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/7.jpg)
● 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
![Page 8: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/8.jpg)
●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
![Page 9: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/9.jpg)
Distributed Architecture
● Smart Proxies located locally on Foreman itself
or independent – used for orchestration of DNS,
DHCP, etc.
![Page 10: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/10.jpg)
![Page 11: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/11.jpg)
Demo
![Page 12: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/12.jpg)
Customization
● Customize Foreman to support your workflows!
– Automation with API + CLI
– Foreman Hooks
– Foreman Plugins
![Page 13: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/13.jpg)
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
![Page 14: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/14.jpg)
Hammer CLI
● Easy to use, great for working in shell
hammer salt-key list --smart-
proxy=smartproxy.example.com
![Page 15: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/15.jpg)
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
![Page 16: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/16.jpg)
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
![Page 17: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/17.jpg)
Plugins
More Info: http://projects.theforeman.org/projects/foreman/wiki/List_of_Plugins
Rich ecosystem of existing
plugins
![Page 18: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/18.jpg)
Discovery
● Metal as a Service
![Page 19: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/19.jpg)
Discovery
● http://theforeman.org/plugins/foreman_discover
y/2.0/
● 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
![Page 20: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/20.jpg)
Discovery Demo
![Page 21: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/21.jpg)
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
![Page 22: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/22.jpg)
Katello
● Content Lifecycle Management
– http://www.katello.org/
● Sync RPM, Docker, and Puppet content
● Spin repositories with filters using Content Views
![Page 23: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/23.jpg)
Katello
● Manage through a lifecycle
– Dev → QA → Production
● Patch Management
– Emergency Patches
– Errata Reports
● And much more!
![Page 24: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/24.jpg)
Katello Demo
![Page 25: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/25.jpg)
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
![Page 26: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/26.jpg)
Chef
● Import reports and attributes into Foreman
● Automatic bootstrapping of clients
● Decomission nodes from Chef server when
deleted in Foreman
![Page 27: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/27.jpg)
Write your Own
● More info:
– http://projects.theforeman.org/projects/foreman/wiki/
How_to_Create_a_Plugin
![Page 28: OSDC 2015: Stephen Benjamin | Foreman in Your Data Center](https://reader034.vdocuments.site/reader034/viewer/2022042716/55a5fb861a28abd3738b45d3/html5/thumbnails/28.jpg)
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