SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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 CenterNETWAYS
 
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 GitlabBen Tullis
 
Making your first contribution to Foreman
Making your first contribution to ForemanMaking your first contribution to Foreman
Making your first contribution to ForemanDominic Cleal
 
Connecting AWS and Katello/The Foreman
Connecting AWS and Katello/The ForemanConnecting AWS and Katello/The Foreman
Connecting AWS and Katello/The ForemanLukas 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, tooinovex GmbH
 
Foreman in your datacenter
Foreman in your datacenterForeman in your datacenter
Foreman in your datacenterlzap
 
Deploying Foreman in Enterprise Environments
Deploying Foreman in Enterprise EnvironmentsDeploying Foreman in Enterprise Environments
Deploying Foreman in Enterprise Environmentsinovex 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 KatelloStephen 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_hooksDominic Cleal
 
Foreman presentation
Foreman presentationForeman presentation
Foreman presentationGlen Ogilvie
 
Lifecycle Management with Foreman
Lifecycle Management with ForemanLifecycle Management with Foreman
Lifecycle Management with ForemanJulien Pivotto
 
PXEless Discovery with Foreman
PXEless Discovery with ForemanPXEless Discovery with Foreman
PXEless Discovery with ForemanStephen Benjamin
 
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 2014Puppet
 
[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 PuppetMichael 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
 

Tendances (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
 

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

The Foreman Project
The Foreman ProjectThe Foreman Project
The Foreman ProjectRahul 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 EditionSammy Fung
 
Linux sever building
Linux sever buildingLinux sever building
Linux sever buildingEdmond Yu
 
Linux advanced concepts - Part 2
Linux advanced concepts - Part 2Linux advanced concepts - Part 2
Linux advanced concepts - Part 2NAILBITER
 
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.pdfchalermpany
 
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 AngelesJé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 HerokuTapio Rautonen
 
Improving Operations Efficiency with Puppet
Improving Operations Efficiency with PuppetImproving Operations Efficiency with Puppet
Improving Operations Efficiency with PuppetNicolas 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: crd & operators
Kubernetes extensibility: crd & operators Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators Giacomo Tirabassi
 
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsKubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsSIGHUP
 
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 EnvironmentsMichael Zhang
 
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 FabricJitendra Bafna
 
Tools for building your identity application
Tools for building your identity applicationTools for building your identity application
Tools for building your identity applicationNemanja Patrnogic
 

Similaire à 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: crd & operators
Kubernetes extensibility: crd & operators Kubernetes extensibility: crd & operators
Kubernetes extensibility: crd & operators
 
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsKubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & 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
 
Puppetconf2012
Puppetconf2012Puppetconf2012
Puppetconf2012
 
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
 
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
 

Dernier

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 

Dernier (20)

Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

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