SlideShare a Scribd company logo
Discovering Foreman
Adam Růžička
Agenda
●Introduction
–Provisioning
–Configuration
–Monitoring
●History and Technology
●Architecture and Installation
●Customizing foreman
–Automating with CLI + API + FAM
–Plugins (Bootdisk, Discovery, Docker, Katello,
Foreman's Realm
Managing the Lifecycle of your Systems
Foreman
●Provision new machines or containers to (almost)
anything
–Bare metal, oVirt, libvirt, VMware, EC2,
Rackspace, Digital Ocean, OpenStack, etc.
●If we don't support it today, we can via new
plugins
●Provisioning types:
–PXE - via PXELinux and
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
●Puppet
●Via plugins:
–Chef
–Salt
–Ansible
●Automatic registration & setup of clients, incl
●Defining:
●Classes / states
●Parameters / pillars
●Inventory data:
●Facts / Grains
●results of configuration runs
●Generic Report API with graphs/trends:
–System Inventories
–Reports from runs
–Generic reports: ABRT, OpenSCAP
●Context sensitive search:
–Not full-text (SQL level)
–Keyword completion
–Works across whole application
Distributed Architecture
●Smart Proxies located locally on Foreman itself
or independent – (orchestration)
●Large organizations and/or multi-tenancy:
–Organizations (Divisions)
–Locations
●Strong RBAC model
–Users / Groups
–Permissions / Filters
●LDAP / MS-AD integration
History
●Project started in July 2009
●Initial set of features: Puppet + PXE provisioning
●213 unique contributors (winter 2015)
●Core team sponsored by Red Hat (GMT +10 -8)
●Translated to 13 languages
●Healthy and friendly community
●Reported usage: Red Hat, CERN, EMC, Citrix,
DHL, BBC, Digg, Good Data, Mozilla,
eBay/Paypal (100,000 nodes)
Technology
Foreman itself
–Ruby on Rails application
–Targeted on UNIX platforms, Ruby 2.2+
–Steep learning curve (git clone, bundle install)
●Smart Proxy
–Ruby / Sinatra application
–Minimum dependencies
–Quick start (git clone, bundle install)
–On all Ruby 1.8+ platforms (incl. MS Windows)
Installation
●Repositories for RHEL/Fedora, Debian/Ubuntu
●Puppet-based installer
●Sane defaults for POC deployments
●Able to install, configure and manage:
–Foreman app
–Smart-proxies
–Services: DNS, DHCP, TFTP, Puppet
–Selected plugins
# foreman-installer -h | wc -l
Customization
●Customize Foreman to support your workflows!
–Configuration options in UI: Adminster →
Settings
–Smart proxy configuration values (features)
–Automation with API + CLI + FAM
–Foreman Plugins
–Smart Proxy Plugins
–Foreman Hooks Plugin
API & CLI
●Full UI coverage
●All of our API is documented
●Documentation DSL generates dynamic Ruby
bindings
●Full RESTful API
–Docs at /apidoc on your Foreman server
–Also available at
http://www.theforeman.org/api/1.22/index.html
Hammer CLI
●On par with UI
●Username/Password authentication
●Easy to use, great for working in shell
hammer salt-key list --smart-
proxy=smartproxy.example.com
Foreman Ansible Modules
●A collection of Ansible modules to manage
Foreman (not related to Foreman Ansible)
●https://github.com/theforeman/foreman-ansible-
modules
●For creation and maintenance of
–Global parameters, operating systems,
taxonomies, templates, settings, domains,
subnets
Plugins
More Info: http://projects.theforeman.org/projects/foreman/wiki/List_of_Plugins
Rich ecosystem of existing
plugins
Salt plugin
●Bootstrapping nodes
●Full interface to keys/autosign
●Define states, pillars via ext_node and ext_pillar
●Import reports (state.highstate results) and grains
into Foreman
●API & CLI
Chef plugin
●Automatic bootstrapping of clients
●Import reports and attributes into Foreman
●Decomission nodes from Chef server when
deleted in Foreman
Remote execution plugin
●Arbitrary commands on hosts
●Job Templates
–Based on Foreman Templating engine
–Input parameters
●Multiple providers architecture:
–SSH (via Smart Proxies)
–Ansible
Katello plugin
●Content Lifecycle Management
–http://www.katello.org/
●Sync RPM, DEB, Docker, and Puppet content
●Spin repositories with filters using Content Views
Katello plugin
●Manage through a lifecycle
–Dev → QA → Production (Environments)
●Patch Management
–Emergency Patches
–Errata Reports
●And much more!
Hooks plugin
●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
Writing Foreman Plugins
●Foreman:
–Rails Engine
–Extra Foreman API (plugin registration)
–Distributed as a Ruby GEM
–Template and HOWTO available
●Smart Proxy:
–Sinatra app (REST API)
–Small plugin registration API
–Distributed as a Ruby GEM
Provisioning demo
Bootdisk plugin
●Small hybrid ISO downloaded from Host UI page
●Unknown or pre-registred hosts boot chainloads
from Foreman without PXE/TFTP
●Generic image
–iPXE-based, DHCP required
●Host image
–iPXE-based, DHCP not required
●Full host image
–SYSLINUX-based, DHCP required, OS specific
Discovery plugin
●Unknown host boots via DHCP/PXE
–Becomes available in Foreman as a “Discovered
Host”
–Workflow remains the same
–Discovery image is RHEL7/CentOS7-based
●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 plugin
●Metal as a Service – PXE installation
Discovery plugin
●PXE-less (un)attended workflow (supports EFI)
Discovery demo
Questions
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
–Community forum
●https://community.theforeman.org
Thank you

More Related Content

What's hot

OSDC 2015: Stephen Benjamin | Foreman in Your Data Center
OSDC 2015: Stephen Benjamin | Foreman in Your Data CenterOSDC 2015: Stephen Benjamin | Foreman in Your Data Center
OSDC 2015: Stephen Benjamin | Foreman in Your Data Center
NETWAYS
 
Foreman-and-Puppet-for-Openstack-Audo-Deployment
Foreman-and-Puppet-for-Openstack-Audo-DeploymentForeman-and-Puppet-for-Openstack-Audo-Deployment
Foreman-and-Puppet-for-Openstack-Audo-Deploymentyating yang
 
Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...techblog
 
SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)
Stephen Benjamin
 
Linux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabLinux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and Gitlab
Ben Tullis
 
Making your first contribution to Foreman
Making your first contribution to ForemanMaking your first contribution to Foreman
Making your first contribution to Foreman
Dominic Cleal
 
Connecting AWS and Katello/The Foreman
Connecting AWS and Katello/The ForemanConnecting AWS and Katello/The Foreman
Connecting AWS and Katello/The Foreman
Lukas Kallies
 
OpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, tooOpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, too
inovex GmbH
 
Foreman in your datacenter
Foreman in your datacenterForeman in your datacenter
Foreman in your datacenter
lzap
 
Deploying Foreman in Enterprise Environments
Deploying Foreman in Enterprise EnvironmentsDeploying Foreman in Enterprise Environments
Deploying Foreman in Enterprise Environments
inovex GmbH
 
CfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
CfgMgmtCamp 2015 - Managing the Content Lifecycle with KatelloCfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
CfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
Stephen Benjamin
 
Extending Foreman the easy way with foreman_hooks
Extending Foreman the easy way with foreman_hooksExtending Foreman the easy way with foreman_hooks
Extending Foreman the easy way with foreman_hooks
Dominic Cleal
 
Foreman presentation
Foreman presentationForeman presentation
Foreman presentation
Glen Ogilvie
 
Lifecycle Management with Foreman
Lifecycle Management with ForemanLifecycle Management with Foreman
Lifecycle Management with Foreman
Julien Pivotto
 
PXEless Discovery with Foreman
PXEless Discovery with ForemanPXEless Discovery with Foreman
PXEless Discovery with Foreman
Stephen Benjamin
 
Beyond Puppet
Beyond PuppetBeyond Puppet
Beyond Puppet
Kris Buytaert
 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet
 
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
Wong Hoi Sing Edison
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with Puppet
Michael Lessard
 
How automated cloud infrastructure setups can help with Continuous Delivery
How automated cloud infrastructure setups can help with Continuous DeliveryHow automated cloud infrastructure setups can help with Continuous Delivery
How automated cloud infrastructure setups can help with Continuous DeliveryEdmund Siegfried Haselwanter
 

What's hot (20)

OSDC 2015: Stephen Benjamin | Foreman in Your Data Center
OSDC 2015: Stephen Benjamin | Foreman in Your Data CenterOSDC 2015: Stephen Benjamin | Foreman in Your Data Center
OSDC 2015: Stephen Benjamin | Foreman in Your Data Center
 
Foreman-and-Puppet-for-Openstack-Audo-Deployment
Foreman-and-Puppet-for-Openstack-Audo-DeploymentForeman-and-Puppet-for-Openstack-Audo-Deployment
Foreman-and-Puppet-for-Openstack-Audo-Deployment
 
Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...Using puppet, foreman and git to develop and operate a large scale internet s...
Using puppet, foreman and git to develop and operate a large scale internet s...
 
SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)
 
Linux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabLinux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and Gitlab
 
Making your first contribution to Foreman
Making your first contribution to ForemanMaking your first contribution to Foreman
Making your first contribution to Foreman
 
Connecting AWS and Katello/The Foreman
Connecting AWS and Katello/The ForemanConnecting AWS and Katello/The Foreman
Connecting AWS and Katello/The Foreman
 
OpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, tooOpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, too
 
Foreman in your datacenter
Foreman in your datacenterForeman in your datacenter
Foreman in your datacenter
 
Deploying Foreman in Enterprise Environments
Deploying Foreman in Enterprise EnvironmentsDeploying Foreman in Enterprise Environments
Deploying Foreman in Enterprise Environments
 
CfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
CfgMgmtCamp 2015 - Managing the Content Lifecycle with KatelloCfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
CfgMgmtCamp 2015 - Managing the Content Lifecycle with Katello
 
Extending Foreman the easy way with foreman_hooks
Extending Foreman the easy way with foreman_hooksExtending Foreman the easy way with foreman_hooks
Extending Foreman the easy way with foreman_hooks
 
Foreman presentation
Foreman presentationForeman presentation
Foreman presentation
 
Lifecycle Management with Foreman
Lifecycle Management with ForemanLifecycle Management with Foreman
Lifecycle Management with Foreman
 
PXEless Discovery with Foreman
PXEless Discovery with ForemanPXEless Discovery with Foreman
PXEless Discovery with Foreman
 
Beyond Puppet
Beyond PuppetBeyond Puppet
Beyond Puppet
 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
 
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with Puppet
 
How automated cloud infrastructure setups can help with Continuous Delivery
How automated cloud infrastructure setups can help with Continuous DeliveryHow automated cloud infrastructure setups can help with Continuous Delivery
How automated cloud infrastructure setups can help with Continuous Delivery
 

Similar to OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka

The Foreman Project
The Foreman ProjectThe Foreman Project
The Foreman Project
Rahul Bajaj
 
Installation of LAMP Server with Ubuntu 14.10 Server Edition
Installation of LAMP Server with Ubuntu 14.10 Server EditionInstallation of LAMP Server with Ubuntu 14.10 Server Edition
Installation of LAMP Server with Ubuntu 14.10 Server Edition
Sammy Fung
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever buildingEdmond Yu
 
Evolution of deploy.sh
Evolution of deploy.shEvolution of deploy.sh
Evolution of deploy.sh
Leonid Mamchenkov
 
Linux advanced concepts - Part 2
Linux advanced concepts - Part 2Linux advanced concepts - Part 2
Linux advanced concepts - Part 2
NAILBITER
 
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfWhat_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
chalermpany
 
gRPC Overview
gRPC OverviewgRPC Overview
gRPC Overview
Varun Talwar
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
Jérôme Petazzoni
 
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
Tapio Rautonen
 
Improving Operations Efficiency with Puppet
Improving Operations Efficiency with PuppetImproving Operations Efficiency with Puppet
Improving Operations Efficiency with Puppet
Nicolas Brousse
 
ApacheCon NA 2010 - High Performance Cloud-enabled SCA Runtimes
ApacheCon NA 2010 - High Performance Cloud-enabled SCA RuntimesApacheCon NA 2010 - High Performance Cloud-enabled SCA Runtimes
ApacheCon NA 2010 - High Performance Cloud-enabled SCA RuntimesJean-Sebastien Delfino
 
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsKubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & Operators
SIGHUP
 
Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators
Giacomo Tirabassi
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
Michael Zhang
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
ViSenze - Artificial Intelligence for the Visual Web
 
Using Service Oriented Operation and Provisioning at Financial Times
Using Service Oriented Operation and Provisioning at Financial TimesUsing Service Oriented Operation and Provisioning at Financial Times
Using Service Oriented Operation and Provisioning at Financial TimesEmeka Mosanya
 
Surat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Surat MuleSoft Meetup#2 - Anypoint Runtime FabricSurat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Surat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Jitendra Bafna
 
Tools for building your identity application
Tools for building your identity applicationTools for building your identity application
Tools for building your identity application
Nemanja Patrnogic
 

Similar to OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka (20)

The Foreman Project
The Foreman ProjectThe Foreman Project
The Foreman Project
 
Installation of LAMP Server with Ubuntu 14.10 Server Edition
Installation of LAMP Server with Ubuntu 14.10 Server EditionInstallation of LAMP Server with Ubuntu 14.10 Server Edition
Installation of LAMP Server with Ubuntu 14.10 Server Edition
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever building
 
Evolution of deploy.sh
Evolution of deploy.shEvolution of deploy.sh
Evolution of deploy.sh
 
Linux advanced concepts - Part 2
Linux advanced concepts - Part 2Linux advanced concepts - Part 2
Linux advanced concepts - Part 2
 
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdfWhat_s_New_in_OpenShift_Container_Platform_4.6.pdf
What_s_New_in_OpenShift_Container_Platform_4.6.pdf
 
gRPC Overview
gRPC OverviewgRPC Overview
gRPC Overview
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
 
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
Nagios Conference 2014 - Spenser Reinhardt - Detecting Security Breaches With...
 
Introduction to PaaS and Heroku
Introduction to PaaS and HerokuIntroduction to PaaS and Heroku
Introduction to PaaS and Heroku
 
Improving Operations Efficiency with Puppet
Improving Operations Efficiency with PuppetImproving Operations Efficiency with Puppet
Improving Operations Efficiency with Puppet
 
ApacheCon NA 2010 - High Performance Cloud-enabled SCA Runtimes
ApacheCon NA 2010 - High Performance Cloud-enabled SCA RuntimesApacheCon NA 2010 - High Performance Cloud-enabled SCA Runtimes
ApacheCon NA 2010 - High Performance Cloud-enabled SCA Runtimes
 
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsKubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & Operators
 
Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
 
Using Service Oriented Operation and Provisioning at Financial Times
Using Service Oriented Operation and Provisioning at Financial TimesUsing Service Oriented Operation and Provisioning at Financial Times
Using Service Oriented Operation and Provisioning at Financial Times
 
Puppetconf2012
Puppetconf2012Puppetconf2012
Puppetconf2012
 
Surat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Surat MuleSoft Meetup#2 - Anypoint Runtime FabricSurat MuleSoft Meetup#2 - Anypoint Runtime Fabric
Surat MuleSoft Meetup#2 - Anypoint Runtime Fabric
 
Tools for building your identity application
Tools for building your identity applicationTools for building your identity application
Tools for building your identity application
 

Recently uploaded

Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 

Recently uploaded (20)

Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 

OSCamp 2019 | #3 Ansible: Foreman Discovery by Adam Ruzicka

  • 2. Agenda ●Introduction –Provisioning –Configuration –Monitoring ●History and Technology ●Architecture and Installation ●Customizing foreman –Automating with CLI + API + FAM –Plugins (Bootdisk, Discovery, Docker, Katello,
  • 3. Foreman's Realm Managing the Lifecycle of your Systems
  • 5. ●Provision new machines or containers to (almost) anything –Bare metal, oVirt, libvirt, VMware, EC2, Rackspace, Digital Ocean, OpenStack, etc. ●If we don't support it today, we can via new plugins
  • 6. ●Provisioning types: –PXE - via PXELinux and 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
  • 7. ●Puppet ●Via plugins: –Chef –Salt –Ansible ●Automatic registration & setup of clients, incl ●Defining: ●Classes / states ●Parameters / pillars ●Inventory data: ●Facts / Grains ●results of configuration runs
  • 8. ●Generic Report API with graphs/trends: –System Inventories –Reports from runs –Generic reports: ABRT, OpenSCAP ●Context sensitive search: –Not full-text (SQL level) –Keyword completion –Works across whole application
  • 9. Distributed Architecture ●Smart Proxies located locally on Foreman itself or independent – (orchestration) ●Large organizations and/or multi-tenancy: –Organizations (Divisions) –Locations ●Strong RBAC model –Users / Groups –Permissions / Filters ●LDAP / MS-AD integration
  • 10.
  • 11. History ●Project started in July 2009 ●Initial set of features: Puppet + PXE provisioning ●213 unique contributors (winter 2015) ●Core team sponsored by Red Hat (GMT +10 -8) ●Translated to 13 languages ●Healthy and friendly community ●Reported usage: Red Hat, CERN, EMC, Citrix, DHL, BBC, Digg, Good Data, Mozilla, eBay/Paypal (100,000 nodes)
  • 12. Technology Foreman itself –Ruby on Rails application –Targeted on UNIX platforms, Ruby 2.2+ –Steep learning curve (git clone, bundle install) ●Smart Proxy –Ruby / Sinatra application –Minimum dependencies –Quick start (git clone, bundle install) –On all Ruby 1.8+ platforms (incl. MS Windows)
  • 13. Installation ●Repositories for RHEL/Fedora, Debian/Ubuntu ●Puppet-based installer ●Sane defaults for POC deployments ●Able to install, configure and manage: –Foreman app –Smart-proxies –Services: DNS, DHCP, TFTP, Puppet –Selected plugins # foreman-installer -h | wc -l
  • 14. Customization ●Customize Foreman to support your workflows! –Configuration options in UI: Adminster → Settings –Smart proxy configuration values (features) –Automation with API + CLI + FAM –Foreman Plugins –Smart Proxy Plugins –Foreman Hooks Plugin
  • 15. API & CLI ●Full UI coverage ●All of our API is documented ●Documentation DSL generates dynamic Ruby bindings ●Full RESTful API –Docs at /apidoc on your Foreman server –Also available at http://www.theforeman.org/api/1.22/index.html
  • 16. Hammer CLI ●On par with UI ●Username/Password authentication ●Easy to use, great for working in shell hammer salt-key list --smart- proxy=smartproxy.example.com
  • 17. Foreman Ansible Modules ●A collection of Ansible modules to manage Foreman (not related to Foreman Ansible) ●https://github.com/theforeman/foreman-ansible- modules ●For creation and maintenance of –Global parameters, operating systems, taxonomies, templates, settings, domains, subnets
  • 19. Salt plugin ●Bootstrapping nodes ●Full interface to keys/autosign ●Define states, pillars via ext_node and ext_pillar ●Import reports (state.highstate results) and grains into Foreman ●API & CLI
  • 20. Chef plugin ●Automatic bootstrapping of clients ●Import reports and attributes into Foreman ●Decomission nodes from Chef server when deleted in Foreman
  • 21. Remote execution plugin ●Arbitrary commands on hosts ●Job Templates –Based on Foreman Templating engine –Input parameters ●Multiple providers architecture: –SSH (via Smart Proxies) –Ansible
  • 22. Katello plugin ●Content Lifecycle Management –http://www.katello.org/ ●Sync RPM, DEB, Docker, and Puppet content ●Spin repositories with filters using Content Views
  • 23. Katello plugin ●Manage through a lifecycle –Dev → QA → Production (Environments) ●Patch Management –Emergency Patches –Errata Reports ●And much more!
  • 24. Hooks plugin ●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
  • 25. Writing Foreman Plugins ●Foreman: –Rails Engine –Extra Foreman API (plugin registration) –Distributed as a Ruby GEM –Template and HOWTO available ●Smart Proxy: –Sinatra app (REST API) –Small plugin registration API –Distributed as a Ruby GEM
  • 27. Bootdisk plugin ●Small hybrid ISO downloaded from Host UI page ●Unknown or pre-registred hosts boot chainloads from Foreman without PXE/TFTP ●Generic image –iPXE-based, DHCP required ●Host image –iPXE-based, DHCP not required ●Full host image –SYSLINUX-based, DHCP required, OS specific
  • 28. Discovery plugin ●Unknown host boots via DHCP/PXE –Becomes available in Foreman as a “Discovered Host” –Workflow remains the same –Discovery image is RHEL7/CentOS7-based ●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
  • 29. Discovery plugin ●Metal as a Service – PXE installation
  • 30. Discovery plugin ●PXE-less (un)attended workflow (supports EFI)
  • 33. 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 –Community forum ●https://community.theforeman.org