SlideShare a Scribd company logo
1 of 91
Download to read offline
Managing a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with Foreman
Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto
Foreman 7th Birthday Party
Inuits, Antwerp
July 13th, 2016
whoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoami
Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto
• Sysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.eu
• FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004
• Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011
• DevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believer
• @roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie on irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/github
inuits.eu
The Foreman
The Foreman
Provisioning
The Foreman
Provisioning Configuration
The Foreman
Provisioning Configuration
Monitoring
The Foreman
Provisioning Configuration
Monitoring
Reporting
Foreman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choice
• OOOOOOOOOOOOOOOOOpen-Source
• LLLLLLLLLLLLLLLLLarge, active community
• RRRRRRRRRRRRRRRRRest API and cli tools
Behind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenes
Licensed under a Creative Commons Attribution 2.0 License
https://www.flickr.com/photos/reuver/10105949326
Foreman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overview
Licensed under a Creative Commons Attribution-ShareAlike 3.0 License
http://theforeman.org
Technology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stack
• FFFFFFFFFFFFFFFFForeman-web: Ruby-on-Rails
• SSSSSSSSSSSSSSSSSmart Proxies: Ruby
• TTTTTTTTTTTTTTTTTLS everywhere
Supported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologies
• PPPPPPPPPPPPPPPPPuppet (other CM are WIP)
• lllllllllllllllllibvirt (kvm), VMWare, ec2, openstack, ovirt
• DDDDDDDDDDDDDDDDDHCP, DNS, TFTP, IPMI
• VVVVVVVVVVVVVVVVVNC
PluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPlugins
• KKKKKKKKKKKKKKKKKatello: Content management
• RRRRRRRRRRRRRRRRRemote Execution
• HHHHHHHHHHHHHHHHHubot
• CCCCCCCCCCCCCCCCCockpit
UsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecasesUsecases
Licensed under a Creative Commons Attribution 2.0 License
https://www.flickr.com/photos/aydun/14108842993
Puppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reporting
• 22222222222222222011-2013: Puppet reporting
• RRRRRRRRRRRRRRRRReplacement for Puppet Dashboard
• AAAAAAAAAAAAAAAAAlready had a API, hooked into icinga
2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management
• PPPPPPPPPPPPPPPPProvisioning: libvirt/vmware
• CCCCCCCCCCCCCCCCConfig: Puppet Master+ENC
• RRRRRRRRRRRRRRRRReporting
Our ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur Scale
• 22222222222222222 countries
• 44444444444444444 datacenter
• 11111111111111111 Foreman
• 55555555555555555 Foreman Proxies
• 33333333333333333 Puppet env
• 99999999999999999 Compute Resource (hypervisor)
• 1111111111111111150 machines
What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?
Licensed under a Creative Commons Attribution 2.0 License
https://www.flickr.com/photos/130811041@N04/19114856463
foreman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installer
Licensed under a Creative Commons Attribution 2.0 License
https://www.flickr.com/photos/gabprr/8325699254
foreman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installerforeman-installer
• FFFFFFFFFFFFFFFFForeman Installer is a package
• UUUUUUUUUUUUUUUUUses Puppet behind the scene
• IIIIIIIIIIIIIIIIInstalls and configure *
How to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The Foreman
• 11111111111111111. yum install foreman-installer
• 22222222222222222. run foreman-installer
• 33333333333333333. done
foreman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scope
• FFFFFFFFFFFFFFFFForeman-web
• FFFFFFFFFFFFFFFFForeman-proxy
• PPPPPPPPPPPPPPPPPuppet master
• DDDDDDDDDDDDDDDDDHCP, DNS, TFTP services
• GGGGGGGGGGGGGGGGGit repositories
• LLLLLLLLLLLLLLLLLink between those
The chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problem
Licensed under a Creative Commons Attribution 2.0 License
https://www.flickr.com/photos/100739735@N06/15892201516
First foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman install
• CCCCCCCCCCCCCCCCCreates everything needed to puppetize
• gggggggggggggggggit repo, puppetmaster
• bbbbbbbbbbbbbbbbbut not to puppetize itself
State is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforced
• SSSSSSSSSSSSSSSSSystem is not up to date
• NNNNNNNNNNNNNNNNNo confidence that the state is still correct
• SSSSSSSSSSSSSSSSSolution A: integrate within the puppet tree
• SSSSSSSSSSSSSSSSSolution B: Re-run the foreman-installer
Importing the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your tree
• SSSSSSSSSSSSSSSSState is enforced
• OOOOOOOOOOOOOOOOOnly thing to care about: updating the
modules
• TTTTTTTTTTTTTTTTThey are linked to the foreman
Building and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuilding
Licensed under a Creative Commons Attribution 2.0 License
https://www.flickr.com/photos/artbystevejohnson/6405400351
Building a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a host
• CCCCCCCCCCCCCCCCCreate/cycle VM
• CCCCCCCCCCCCCCCCCreate/change DNS Config
• CCCCCCCCCCCCCCCCCreate/change DHCP lease
• CCCCCCCCCCCCCCCCCreate/change TFTP files
An expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operation
• IIIIIIIIIIIIIIIIIf something is wrong, it rollbacks
• SSSSSSSSSSSSSSSSSolution: Foreman 1.10 allows you to force
config rebuild
• HHHHHHHHHHHHHHHHHidden in the UI in the `All hosts' view
DNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNS
Licensed under a Creative Commons Attribution-ShareAlike 2.0 License
https://www.flickr.com/photos/quinnanya/4464205726
Everything is a
Freaking DNS Problem
Kris Buytaert
Foreman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entries
• KKKKKKKKKKKKKKKKKeeps the data consistent
• CCCCCCCCCCCCCCCCCreates only hostnames that exist
• AAAAAAAAAAAAAAAAAlso does the reverse entries
Adding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom records
• AAAAAAAAAAAAAAAAAt some point you want CNAME records
• ooooooooooooooooor change NS records
Manipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zones
• FFFFFFFFFFFFFFFFForeman uses Dynamic Zones
• rrrrrrrrrrrrrrrrrndc freeze
• CCCCCCCCCCCCCCCCChange the zone (incr the serial)
• rrrrrrrrrrrrrrrrrndc thaw
Org-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNS
• YYYYYYYYYYYYYYYYYou own DNS servers should forward the
unknown to your org
• WWWWWWWWWWWWWWWWWe could not make it work for PTR records
• NNNNNNNNNNNNNNNNNeed to set empty-zones-enable=no
• PPPPPPPPPPPPPPPPPR theforeman/puppet-dns#47
DMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZ
Licensed under a Creative Commons Attribution-ShareAlike 2.0 License
https://www.flickr.com/photos/flintymcginty/9997879333
Managing hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the lab
• SSSSSSSSSSSSSSSSSecurity purpose
• RRRRRRRRRRRRRRRRRun Demos
• HHHHHHHHHHHHHHHHHandover to other teams
Foreman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutions
• DDDDDDDDDDDDDDDDDNS Proxy, DHCP proxy, TFTP…
• KKKKKKKKKKKKKKKKKickstart proxying?
• DDDDDDDDDDDDDDDDDigging into the documentation
• FFFFFFFFFFFFFFFFFeature is there but not really visible
• IIIIIIIIIIIIIIIIImprove docs: PR
theforeman/theforeman.org#547
DocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentation
Licensed under a Creative Commons Attribution-ShareAlike 2.0 License
https://www.flickr.com/photos/flyingblogspot/15361704293
DocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentationDocumentation
• TTTTTTTTTTTTTTTTThe Foreman documentation is huge
• HHHHHHHHHHHHHHHHHosted on theforeman.org
• IIIIIIIIIIIIIIIIImprove it so the next guy doesn't lose your
time again
A NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC Story
• FFFFFFFFFFFFFFFFForeman embeds NoVNC
• AAAAAAAAAAAAAAAAAllows you to see VNC console in browser
• LLLLLLLLLLLLLLLLLots of problems with certificates
Details mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails matters
• IIIIIIIIIIIIIIIIIn the 1.7 docs: websockets_encrypt: true
• LLLLLLLLLLLLLLLLLet's change it to false
• PPPPPPPPPPPPPPPPProblem: true/false vs on/off
• EEEEEEEEEEEEEEEEExtra work: Updated the docs
Release NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease Notes
• RRRRRRRRRRRRRRRRRelease notes are part of Documentation
• WWWWWWWWWWWWWWWWWhen you change behaviour, think about
others
• LLLLLLLLLLLLLLLLLower update cost
ScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalabilityScalability
Licensed under a Creative Commons Attribution-ShareAlike 2.0 License
https://www.flickr.com/photos/21499502@N04/13905270178
Scaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tips
• EEEEEEEEEEEEEEEEEnable organizations/locations
• UUUUUUUUUUUUUUUUUse one foreman for separated entities
• UUUUUUUUUUUUUUUUUse one foreman for separated countries
• UUUUUUUUUUUUUUUUUse foreman proxies where needed
AssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociation
• OOOOOOOOOOOOOOOOOne terrible thing in the Foreman
• AAAAAAAAAAAAAAAAAssigning things to each other
AssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociation
• OOOOOOOOOOOOOOOOOS -> Location and Org
• CCCCCCCCCCCCCCCCCompute Resource -> Location and Org
• TTTTTTTTTTTTTTTTTemplates -> Location and Org
• OOOOOOOOOOOOOOOOOS -> Installation Media
• IIIIIIIIIIIIIIIIInstallation media -> Location and Org
Scaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute Resources
• CCCCCCCCCCCCCCCCCompute Resources = Virtualization or
Cloud Service
• EEEEEEEEEEEEEEEEEasy to create hosts in those CR
• lllllllllllllllllibvirt, ec2, gce, vmware…
Scaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling Libvirt
• WWWWWWWWWWWWWWWWWe have 8 libvirt servers
• TTTTTTTTTTTTTTTTTo create a VM, you chose CPU, RAM,
disks…
• AAAAAAAAAAAAAAAAAny change requires deletion and creation
Creating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hosts
• HHHHHHHHHHHHHHHHHostgroups
• EEEEEEEEEEEEEEEEEnvironments
• CCCCCCCCCCCCCCCCCompute profiles?
Libvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute Profiles
• CCCCCCCCCCCCCCCCCPU
• MMMMMMMMMMMMMMMMMemory
• NNNNNNNNNNNNNNNNNIC
• SSSSSSSSSSSSSSSSStorage
• MMMMMMMMMMMMMMMMMultiple profiles per hypervisor
What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?
• LLLLLLLLLLLLLLLLLibvirt servers are not a group
• TTTTTTTTTTTTTTTTThey are separated Compute Resources
• AAAAAAAAAAAAAAAAA lot of work (UI and API)
Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?
• YYYYYYYYYYYYYYYYYes: other providers are `centralized'
• eeeeeeeeeeeeeeeeec2, gce, openstack…
VMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWare
• SSSSSSSSSSSSSSSSSome part of the lab runs VMWare
• GGGGGGGGGGGGGGGGGreat: Foreman supports VMWare
• (((((((((((((((((on paper)
VMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integration
• MMMMMMMMMMMMMMMMMost of the settings, Foreman will take user
defaults
• FFFFFFFFFFFFFFFFForeman is not for VMWare Power users
• SSSSSSSSSSSSSSSSSounds like a lack of interest from
community
Logging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging matters
• FFFFFFFFFFFFFFFFForeman requires on Fog
• FFFFFFFFFFFFFFFFFog is a gem for the `clouds'
• FFFFFFFFFFFFFFFFFog for vmware is not as advances as we'd
like
Empowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the Developers
Licensed under a Creative Commons Attribution 2.0 License
https://www.flickr.com/photos/julesdphotographie/8421289746
Distributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the power
• RRRRRRRRRRRRRRRRRebuilding a host is simple
• OOOOOOOOOOOOOOOOOne clic operation
• FFFFFFFFFFFFFFFFForeman as a VM shop
The DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movement
• DDDDDDDDDDDDDDDDDevOps is a movement born in 2009
• CCCCCCCCCCCCCCCCCollaboration between Developers and
Operations
• NNNNNNNNNNNNNNNNNothing new, just common sense
• DDDDDDDDDDDDDDDDDevOpsDays, a serie of conferences all
around the world
#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS
• CCCCCCCCCCCCCCCCCulture
• AAAAAAAAAAAAAAAAAutomation
• MMMMMMMMMMMMMMMMMeasurement
• SSSSSSSSSSSSSSSSSharing
John Willis and Damon Edwards
The C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMS
• DDDDDDDDDDDDDDDDDevOps is a Cultural change
• EEEEEEEEEEEEEEEEEveryone is in the team
• OOOOOOOOOOOOOOOOOps and Devs work together
• SSSSSSSSSSSSSSSSShare the responsibilities
Foreman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the picture
• FFFFFFFFFFFFFFFFForeman empowers the developers
• WWWWWWWWWWWWWWWWWhile still providing enough security
• OOOOOOOOOOOOOOOOOrganisations in Foreman
Developer ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACL
Licensed under a Creative Commons Attribution-ShareAlike 3.0 License
Screenshot
The Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer side
• OOOOOOOOOOOOOOOOOne-clic rebuild (at will)
• AAAAAAAAAAAAAAAAAccess to build reports
• IIIIIIIIIIIIIIIIIn-browser access to VNC
• FFFFFFFFFFFFFFFFFresh vm in minutes
The Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops side
• KKKKKKKKKKKKKKKKKeep everything under control
• AAAAAAAAAAAAAAAAAudit logs, reports
• IIIIIIIIIIIIIIIIInventory
• BBBBBBBBBBBBBBBBBring regular updates to VM's/developers
UpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdates
Licensed under a Creative Commons Attribution 2.0 License
https://www.flickr.com/photos/inyucho/7866698878
Foreman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updates
• AAAAAAAAAAAAAAAAAs any software:
• TTTTTTTTTTTTTTTTTake a backup first
• TTTTTTTTTTTTTTTTTry on your dev environment
• FFFFFFFFFFFFFFFFFirst upgrade the main UI
• TTTTTTTTTTTTTTTTThen update the proxies (#12506)
Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems
• 11111111111111111.5->1.6: DHCP config file not readable by
foreman proxy
WWWWWWWWWWWWWWWWWe did a DHCP upgrade at the same time
FFFFFFFFFFFFFFFFFile ownership was changed
rrrrrrrrrrrrrrrrre-run the foreman installer fixed it
Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems
• 11111111111111111.5->1.6: Puppet reports not coming into the
foreman
FFFFFFFFFFFFFFFFForeman report preprocessor has changed
NNNNNNNNNNNNNNNNNeed to update foreman.rb + config
nnnnnnnnnnnnnnnnnode.rb also needed an update
Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems
• 11111111111111111.7->1.8: Big stack trace on opening the UI
yyyyyyyyyyyyyyyyyum erase ruby193-rubygem-foreman_openstack_cluster
ruby193-rubygem-foreman_openstack_cluster-doc
Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems
• 11111111111111111.8->1.9: Yaml transformations in Puppet
parameters
FFFFFFFFFFFFFFFFFixed in 1.10, backported to 1.9
Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems
• 11111111111111111.11: DHCP bugs
TTTTTTTTTTTTTTTTTwo DHCP bugs
11111111111111111. Do not create DHCP reservation is host is static
22222222222222222. Ruby 1.8 issues (EL6 support to be removed in 1.13)
hhhhhhhhhhhhhhhhhttps://theforeman.org/2016/06/foreman-1.11-dhcp-
bugs.html
Community and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-Source
Licensed under a Creative Commons Attribution-2.0 License
https://www.flickr.com/photos/maicosnap/4393929855
Foreman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-Source
• GGGGGGGGGGGGGGGGGPLv3+
• WWWWWWWWWWWWWWWWWe've got around 20 patches integrated
• TTTTTTTTTTTTTTTTThey rely mostly on open-source tools
• CCCCCCCCCCCCCCCCCI, testing, bugtracker
Story: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global Status
• PPPPPPPPPPPPPPPPPut in build mode, go back home
• RRRRRRRRRRRRRRRRRestart on the next day
• LLLLLLLLLLLLLLLLLooping reboots
Foreman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global status
• FFFFFFFFFFFFFFFFForeman keeps several status for hosts
• PPPPPPPPPPPPPPPPPlugins can register a status
• BBBBBBBBBBBBBBBBBut reporting and provisioning also
• LLLLLLLLLLLLLLLLLet's use that for expired tokens (bug#5883)
SolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutionsSolutions
• WWWWWWWWWWWWWWWWWrite a patch, keep it
• WWWWWWWWWWWWWWWWWrite a plugin
• WWWWWWWWWWWWWWWWWrite and upstream a patch
Advantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreaming
• FFFFFFFFFFFFFFFFFeature will be available in next releases
• WWWWWWWWWWWWWWWWWe won't patch in the future
• CCCCCCCCCCCCCCCCCalls in the patch will evolve as well
• PPPPPPPPPPPPPPPPPeer review with the Foreman team
• FFFFFFFFFFFFFFFFForced to write tests, doc, etc…
2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after
• PPPPPPPPPPPPPPPPPatch is accepted for 2 weeks
• AAAAAAAAAAAAAAAAA new bug is opened: performance problem
(bug#14050)
• SSSSSSSSSSSSSSSSSomeone else fixed the bug
• WWWWWWWWWWWWWWWWWe applied the second patch
ConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusion
Licensed under a Creative Commons Attribution 2.0 License
https://www.flickr.com/photos/trevor-king/12534585293
Where can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improve
• PPPPPPPPPPPPPPPPPerformance
• SSSSSSSSSSSSSSSSSome features are missing from API
• DDDDDDDDDDDDDDDDDecoupling from Puppet
• ……………………………………………
Where did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improve
• TTTTTTTTTTTTTTTTTests reliability
• TTTTTTTTTTTTTTTTTesting Infra
• CCCCCCCCCCCCCCCCCommunity
• SSSSSSSSSSSSSSSSStability
The ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe Foreman
• SSSSSSSSSSSSSSSSStability, Maturity, Flexibility
• MMMMMMMMMMMMMMMMMade out of bricks: complex but not
complicated
• IIIIIIIIIIIIIIIIIt meets our needs
• IIIIIIIIIIIIIIIIIt is very active
• PPPPPPPPPPPPPPPPPeople are welcoming
Any Question?
ContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContact
Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto
julien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eu
@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie
inuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuits
https://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.eu
info@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.eu
+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636

More Related Content

What's hot

Puppet and Software Delivery
Puppet and Software DeliveryPuppet and Software Delivery
Puppet and Software DeliveryJulien Pivotto
 
Getting the maximum out of systemd
Getting the maximum out of systemdGetting the maximum out of systemd
Getting the maximum out of systemdJulien Pivotto
 
Enhance OpenSSH for fun and security
Enhance OpenSSH for fun and securityEnhance OpenSSH for fun and security
Enhance OpenSSH for fun and securityJulien Pivotto
 
systemd and configuration management
systemd and configuration managementsystemd and configuration management
systemd and configuration managementJulien Pivotto
 
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...NETWAYS
 
Monitoring at Cloud Scale
Monitoring at Cloud ScaleMonitoring at Cloud Scale
Monitoring at Cloud ScaleJulien Pivotto
 
Functional IoT: Hardware and Platform
Functional IoT: Hardware and PlatformFunctional IoT: Hardware and Platform
Functional IoT: Hardware and PlatformKiwamu Okabe
 
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...Rachel Evans
 
Metasepi team meeting #20: Start! ATS programming on MCU
Metasepi team meeting #20: Start! ATS programming on MCUMetasepi team meeting #20: Start! ATS programming on MCU
Metasepi team meeting #20: Start! ATS programming on MCUKiwamu Okabe
 
Tracking large game assets with Git LFS
Tracking large game assets with Git LFSTracking large game assets with Git LFS
Tracking large game assets with Git LFSTim Pettersen
 
We Buy Cheese in a Cheese Shop
We Buy Cheese in a Cheese ShopWe Buy Cheese in a Cheese Shop
We Buy Cheese in a Cheese ShopTzu-ping Chung
 
Hands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontrollerHands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontrollerKiwamu Okabe
 
JPA 스터디 Week1 - 하이버네이트, 캐시
JPA 스터디 Week1 - 하이버네이트, 캐시JPA 스터디 Week1 - 하이버네이트, 캐시
JPA 스터디 Week1 - 하이버네이트, 캐시Covenant Ko
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Downtown San J...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Downtown San J...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Downtown San J...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Downtown San J...Baruch Sadogursky
 
Metasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCUMetasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCUKiwamu Okabe
 
Feelin' Groovy: A Groovy Developer in the Java World
Feelin' Groovy: A Groovy Developer in the Java WorldFeelin' Groovy: A Groovy Developer in the Java World
Feelin' Groovy: A Groovy Developer in the Java WorldKen Kousen
 
Taming a beast - AmsterdamPHP April Meetup
Taming a beast - AmsterdamPHP April MeetupTaming a beast - AmsterdamPHP April Meetup
Taming a beast - AmsterdamPHP April MeetupMike Chernev
 

What's hot (20)

RPM experiments
RPM experimentsRPM experiments
RPM experiments
 
Puppet and Software Delivery
Puppet and Software DeliveryPuppet and Software Delivery
Puppet and Software Delivery
 
Getting the maximum out of systemd
Getting the maximum out of systemdGetting the maximum out of systemd
Getting the maximum out of systemd
 
Coworking with git
Coworking with gitCoworking with git
Coworking with git
 
Enhance OpenSSH for fun and security
Enhance OpenSSH for fun and securityEnhance OpenSSH for fun and security
Enhance OpenSSH for fun and security
 
DNSSec
DNSSecDNSSec
DNSSec
 
systemd and configuration management
systemd and configuration managementsystemd and configuration management
systemd and configuration management
 
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
OSDC 2016 - Automating a R&D lab with Foreman: What can be hard? by Julien Pi...
 
Monitoring at Cloud Scale
Monitoring at Cloud ScaleMonitoring at Cloud Scale
Monitoring at Cloud Scale
 
Functional IoT: Hardware and Platform
Functional IoT: Hardware and PlatformFunctional IoT: Hardware and Platform
Functional IoT: Hardware and Platform
 
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...
Destruction, Decapods and Doughnuts: Continuous Delivery for Audio & Video Fa...
 
Metasepi team meeting #20: Start! ATS programming on MCU
Metasepi team meeting #20: Start! ATS programming on MCUMetasepi team meeting #20: Start! ATS programming on MCU
Metasepi team meeting #20: Start! ATS programming on MCU
 
Tracking large game assets with Git LFS
Tracking large game assets with Git LFSTracking large game assets with Git LFS
Tracking large game assets with Git LFS
 
We Buy Cheese in a Cheese Shop
We Buy Cheese in a Cheese ShopWe Buy Cheese in a Cheese Shop
We Buy Cheese in a Cheese Shop
 
Hands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontrollerHands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontroller
 
JPA 스터디 Week1 - 하이버네이트, 캐시
JPA 스터디 Week1 - 하이버네이트, 캐시JPA 스터디 Week1 - 하이버네이트, 캐시
JPA 스터디 Week1 - 하이버네이트, 캐시
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Downtown San J...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Downtown San J...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Downtown San J...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Downtown San J...
 
Metasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCUMetasepi team meeting #16: Safety on ATS language + MCU
Metasepi team meeting #16: Safety on ATS language + MCU
 
Feelin' Groovy: A Groovy Developer in the Java World
Feelin' Groovy: A Groovy Developer in the Java WorldFeelin' Groovy: A Groovy Developer in the Java World
Feelin' Groovy: A Groovy Developer in the Java World
 
Taming a beast - AmsterdamPHP April Meetup
Taming a beast - AmsterdamPHP April MeetupTaming a beast - AmsterdamPHP April Meetup
Taming a beast - AmsterdamPHP April Meetup
 

Viewers also liked

PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...Puppet
 
Voxpupuli: a home for your puppet modules
Voxpupuli: a home for your puppet modulesVoxpupuli: a home for your puppet modules
Voxpupuli: a home for your puppet modulesJulien Pivotto
 
PuppetConf 2016: Puppet Troubleshooting – Thomas Uphill, Wells Fargo
PuppetConf 2016: Puppet Troubleshooting – Thomas Uphill, Wells FargoPuppetConf 2016: Puppet Troubleshooting – Thomas Uphill, Wells Fargo
PuppetConf 2016: Puppet Troubleshooting – Thomas Uphill, Wells FargoPuppet
 
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, PuppetPuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, PuppetPuppet
 
Foreman in Your Data Center :OSDC 2015
Foreman in Your Data Center :OSDC 2015Foreman in Your Data Center :OSDC 2015
Foreman in Your Data Center :OSDC 2015Stephen Benjamin
 
Puppet DSL: back to the basics
Puppet DSL: back to the basicsPuppet DSL: back to the basics
Puppet DSL: back to the basicsJulien Pivotto
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker, Inc.
 
Foreman - Process manager for applications with multiple components
Foreman - Process manager for applications with multiple componentsForeman - Process manager for applications with multiple components
Foreman - Process manager for applications with multiple componentsStoyan Zhekov
 
Foreman and Chef integration at ChefConf 2014
Foreman and Chef integration at ChefConf 2014Foreman and Chef integration at ChefConf 2014
Foreman and Chef integration at ChefConf 2014Dominic Cleal
 
SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)Stephen Benjamin
 
Auto infra with_foreman_katello
Auto infra with_foreman_katelloAuto infra with_foreman_katello
Auto infra with_foreman_katelloSachin Ghai
 
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)Robert Nelson
 
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, PuppetPuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, PuppetPuppet
 
Simple_Movement_Class
Simple_Movement_ClassSimple_Movement_Class
Simple_Movement_ClassDavid Harris
 
PuppetConf track overview: Inside Puppet
PuppetConf track overview: Inside PuppetPuppetConf track overview: Inside Puppet
PuppetConf track overview: Inside PuppetPuppet
 
Getting Started with Puppet - PuppetConf 2014
Getting Started with Puppet - PuppetConf 2014Getting Started with Puppet - PuppetConf 2014
Getting Started with Puppet - PuppetConf 2014Puppet
 
PuppetConf 2016: The Future of Testing Puppet Code – Gareth Rushgrove, Puppet
PuppetConf 2016: The Future of Testing Puppet Code – Gareth Rushgrove, PuppetPuppetConf 2016: The Future of Testing Puppet Code – Gareth Rushgrove, Puppet
PuppetConf 2016: The Future of Testing Puppet Code – Gareth Rushgrove, PuppetPuppet
 
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...Puppet
 

Viewers also liked (20)

PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
PuppetConf 2016: Successful Puppet Implementation in Large Organizations – Ja...
 
Voxpupuli: a home for your puppet modules
Voxpupuli: a home for your puppet modulesVoxpupuli: a home for your puppet modules
Voxpupuli: a home for your puppet modules
 
PuppetConf 2016: Puppet Troubleshooting – Thomas Uphill, Wells Fargo
PuppetConf 2016: Puppet Troubleshooting – Thomas Uphill, Wells FargoPuppetConf 2016: Puppet Troubleshooting – Thomas Uphill, Wells Fargo
PuppetConf 2016: Puppet Troubleshooting – Thomas Uphill, Wells Fargo
 
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, PuppetPuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
PuppetConf 2016: High Availability for Puppet – Russ Mull & Zack Smith, Puppet
 
Foreman in Your Data Center :OSDC 2015
Foreman in Your Data Center :OSDC 2015Foreman in Your Data Center :OSDC 2015
Foreman in Your Data Center :OSDC 2015
 
Puppet DSL: back to the basics
Puppet DSL: back to the basicsPuppet DSL: back to the basics
Puppet DSL: back to the basics
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
Vox pupuli
Vox pupuliVox pupuli
Vox pupuli
 
Foreman - Process manager for applications with multiple components
Foreman - Process manager for applications with multiple componentsForeman - Process manager for applications with multiple components
Foreman - Process manager for applications with multiple components
 
Foreman and Chef integration at ChefConf 2014
Foreman and Chef integration at ChefConf 2014Foreman and Chef integration at ChefConf 2014
Foreman and Chef integration at ChefConf 2014
 
Foreman como provisionador
Foreman como provisionadorForeman como provisionador
Foreman como provisionador
 
SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)
 
Auto infra with_foreman_katello
Auto infra with_foreman_katelloAuto infra with_foreman_katello
Auto infra with_foreman_katello
 
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
Enjoying the Journey from Puppet 3.x to Puppet 4.x (PuppetConf 2016)
 
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, PuppetPuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
PuppetConf 2016: Puppet on Windows – Nicolas Corrarello, Puppet
 
Simple_Movement_Class
Simple_Movement_ClassSimple_Movement_Class
Simple_Movement_Class
 
PuppetConf track overview: Inside Puppet
PuppetConf track overview: Inside PuppetPuppetConf track overview: Inside Puppet
PuppetConf track overview: Inside Puppet
 
Getting Started with Puppet - PuppetConf 2014
Getting Started with Puppet - PuppetConf 2014Getting Started with Puppet - PuppetConf 2014
Getting Started with Puppet - PuppetConf 2014
 
PuppetConf 2016: The Future of Testing Puppet Code – Gareth Rushgrove, Puppet
PuppetConf 2016: The Future of Testing Puppet Code – Gareth Rushgrove, PuppetPuppetConf 2016: The Future of Testing Puppet Code – Gareth Rushgrove, Puppet
PuppetConf 2016: The Future of Testing Puppet Code – Gareth Rushgrove, Puppet
 
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
 

Similar to Managing a R&D Lab with Foreman

DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Detroit...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Detroit...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Detroit...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Detroit...Baruch Sadogursky
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...Baruch Sadogursky
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017Baruch Sadogursky
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Gr8Conf 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Gr8Conf 2017DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Gr8Conf 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Gr8Conf 2017Baruch Sadogursky
 
Seagate NAS: Witness Future of Cloud Computing
Seagate NAS: Witness Future of Cloud ComputingSeagate NAS: Witness Future of Cloud Computing
Seagate NAS: Witness Future of Cloud ComputingThe World Bank
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...Baruch Sadogursky
 
Intro to Online Reputation Management for Salons
Intro to Online Reputation Management for SalonsIntro to Online Reputation Management for Salons
Intro to Online Reputation Management for SalonsSteve Schultz
 
Morphic Media Presentation
Morphic Media PresentationMorphic Media Presentation
Morphic Media PresentationLoriDuncs
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...javier ramirez
 
Spring one2gx 2014 erdemgunay
Spring one2gx 2014 erdemgunaySpring one2gx 2014 erdemgunay
Spring one2gx 2014 erdemgunayErdem Gunay
 
Don't screw it up: how to build durable web apis @ PHPDay 2014 in Verona (ITA)
Don't screw it up: how to build durable web apis @ PHPDay 2014 in Verona (ITA)Don't screw it up: how to build durable web apis @ PHPDay 2014 in Verona (ITA)
Don't screw it up: how to build durable web apis @ PHPDay 2014 in Verona (ITA)Alessandro Nadalin
 
Don't screw it up: how to build durable web apis
Don't screw it up: how to build durable web apisDon't screw it up: how to build durable web apis
Don't screw it up: how to build durable web apisAlessandro Cinelli (cirpo)
 
Software Engineer's Guide to DevOps
Software Engineer's Guide to DevOpsSoftware Engineer's Guide to DevOps
Software Engineer's Guide to DevOpsLaurie Barth
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017Baruch Sadogursky
 

Similar to Managing a R&D Lab with Foreman (19)

DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Detroit...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Detroit...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Detroit...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at DevOps Detroit...
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at The Pittsburgh...
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at QCon NYC 2017
 
Pinto+Stratopan+Love
Pinto+Stratopan+LovePinto+Stratopan+Love
Pinto+Stratopan+Love
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Gr8Conf 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Gr8Conf 2017DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Gr8Conf 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Gr8Conf 2017
 
Seagate NAS: Witness Future of Cloud Computing
Seagate NAS: Witness Future of Cloud ComputingSeagate NAS: Witness Future of Cloud Computing
Seagate NAS: Witness Future of Cloud Computing
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Oracle Code SF...
 
Intro to Online Reputation Management for Salons
Intro to Online Reputation Management for SalonsIntro to Online Reputation Management for Salons
Intro to Online Reputation Management for Salons
 
Meruvian 4.0
Meruvian 4.0Meruvian 4.0
Meruvian 4.0
 
Morphic Media Presentation
Morphic Media PresentationMorphic Media Presentation
Morphic Media Presentation
 
Bitnami & Oracle Cloud Platform
Bitnami & Oracle Cloud PlatformBitnami & Oracle Cloud Platform
Bitnami & Oracle Cloud Platform
 
1DCE2430.pptx
1DCE2430.pptx1DCE2430.pptx
1DCE2430.pptx
 
Innovateeurope
InnovateeuropeInnovateeurope
Innovateeurope
 
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
Rails is not enough, by Javier Ramirez, at Conferencia Rails 2010 in Madrid, ...
 
Spring one2gx 2014 erdemgunay
Spring one2gx 2014 erdemgunaySpring one2gx 2014 erdemgunay
Spring one2gx 2014 erdemgunay
 
Don't screw it up: how to build durable web apis @ PHPDay 2014 in Verona (ITA)
Don't screw it up: how to build durable web apis @ PHPDay 2014 in Verona (ITA)Don't screw it up: how to build durable web apis @ PHPDay 2014 in Verona (ITA)
Don't screw it up: how to build durable web apis @ PHPDay 2014 in Verona (ITA)
 
Don't screw it up: how to build durable web apis
Don't screw it up: how to build durable web apisDon't screw it up: how to build durable web apis
Don't screw it up: how to build durable web apis
 
Software Engineer's Guide to DevOps
Software Engineer's Guide to DevOpsSoftware Engineer's Guide to DevOps
Software Engineer's Guide to DevOps
 
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
DevOps @Scale (Greek Tragedy in 3 Acts) as it was presented at Devoxx 2017
 

More from Julien Pivotto

What's New in Prometheus and Its Ecosystem
What's New in Prometheus and Its EcosystemWhat's New in Prometheus and Its Ecosystem
What's New in Prometheus and Its EcosystemJulien Pivotto
 
Prometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is comingPrometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is comingJulien Pivotto
 
What's new in Prometheus?
What's new in Prometheus?What's new in Prometheus?
What's new in Prometheus?Julien Pivotto
 
Introduction to Grafana Loki
Introduction to Grafana LokiIntroduction to Grafana Loki
Introduction to Grafana LokiJulien Pivotto
 
Why you should revisit mgmt
Why you should revisit mgmtWhy you should revisit mgmt
Why you should revisit mgmtJulien Pivotto
 
Observing the HashiCorp Ecosystem From Prometheus
Observing the HashiCorp Ecosystem From PrometheusObserving the HashiCorp Ecosystem From Prometheus
Observing the HashiCorp Ecosystem From PrometheusJulien Pivotto
 
Monitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with PrometheusMonitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with PrometheusJulien Pivotto
 
5 tips for Prometheus Service Discovery
5 tips for Prometheus Service Discovery5 tips for Prometheus Service Discovery
5 tips for Prometheus Service DiscoveryJulien Pivotto
 
Prometheus and TLS - an Introduction
Prometheus and TLS - an IntroductionPrometheus and TLS - an Introduction
Prometheus and TLS - an IntroductionJulien Pivotto
 
Powerful graphs in Grafana
Powerful graphs in GrafanaPowerful graphs in Grafana
Powerful graphs in GrafanaJulien Pivotto
 
HAProxy as Egress Controller
HAProxy as Egress ControllerHAProxy as Egress Controller
HAProxy as Egress ControllerJulien Pivotto
 
Improved alerting with Prometheus and Alertmanager
Improved alerting with Prometheus and AlertmanagerImproved alerting with Prometheus and Alertmanager
Improved alerting with Prometheus and AlertmanagerJulien Pivotto
 
SIngle Sign On with Keycloak
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with KeycloakJulien Pivotto
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaborationJulien Pivotto
 
Incident Resolution as Code
Incident Resolution as CodeIncident Resolution as Code
Incident Resolution as CodeJulien Pivotto
 
Monitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusMonitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusJulien Pivotto
 
Monitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusMonitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusJulien Pivotto
 
An introduction to Ansible
An introduction to AnsibleAn introduction to Ansible
An introduction to AnsibleJulien Pivotto
 

More from Julien Pivotto (20)

The O11y Toolkit
The O11y ToolkitThe O11y Toolkit
The O11y Toolkit
 
What's New in Prometheus and Its Ecosystem
What's New in Prometheus and Its EcosystemWhat's New in Prometheus and Its Ecosystem
What's New in Prometheus and Its Ecosystem
 
Prometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is comingPrometheus: What is is, what is new, what is coming
Prometheus: What is is, what is new, what is coming
 
What's new in Prometheus?
What's new in Prometheus?What's new in Prometheus?
What's new in Prometheus?
 
Introduction to Grafana Loki
Introduction to Grafana LokiIntroduction to Grafana Loki
Introduction to Grafana Loki
 
Why you should revisit mgmt
Why you should revisit mgmtWhy you should revisit mgmt
Why you should revisit mgmt
 
Observing the HashiCorp Ecosystem From Prometheus
Observing the HashiCorp Ecosystem From PrometheusObserving the HashiCorp Ecosystem From Prometheus
Observing the HashiCorp Ecosystem From Prometheus
 
Monitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with PrometheusMonitoring in a fast-changing world with Prometheus
Monitoring in a fast-changing world with Prometheus
 
5 tips for Prometheus Service Discovery
5 tips for Prometheus Service Discovery5 tips for Prometheus Service Discovery
5 tips for Prometheus Service Discovery
 
Prometheus and TLS - an Introduction
Prometheus and TLS - an IntroductionPrometheus and TLS - an Introduction
Prometheus and TLS - an Introduction
 
Powerful graphs in Grafana
Powerful graphs in GrafanaPowerful graphs in Grafana
Powerful graphs in Grafana
 
YAML Magic
YAML MagicYAML Magic
YAML Magic
 
HAProxy as Egress Controller
HAProxy as Egress ControllerHAProxy as Egress Controller
HAProxy as Egress Controller
 
Improved alerting with Prometheus and Alertmanager
Improved alerting with Prometheus and AlertmanagerImproved alerting with Prometheus and Alertmanager
Improved alerting with Prometheus and Alertmanager
 
SIngle Sign On with Keycloak
SIngle Sign On with KeycloakSIngle Sign On with Keycloak
SIngle Sign On with Keycloak
 
Monitoring as an entry point for collaboration
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaboration
 
Incident Resolution as Code
Incident Resolution as CodeIncident Resolution as Code
Incident Resolution as Code
 
Monitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusMonitor your CentOS stack with Prometheus
Monitor your CentOS stack with Prometheus
 
Monitor your CentOS stack with Prometheus
Monitor your CentOS stack with PrometheusMonitor your CentOS stack with Prometheus
Monitor your CentOS stack with Prometheus
 
An introduction to Ansible
An introduction to AnsibleAn introduction to Ansible
An introduction to Ansible
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 

Managing a R&D Lab with Foreman

  • 1. Managing a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with ForemanManaging a R&D Lab with Foreman Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto Foreman 7th Birthday Party Inuits, Antwerp July 13th, 2016
  • 2. whoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoami Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto • Sysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.euSysadmin at inuits.eu • FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004FLOSS user since 2004 • Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011Foreman user since 2011 • DevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believerDevOps believer • @roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie on irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/github
  • 9. Foreman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choiceForeman: A good choice • OOOOOOOOOOOOOOOOOpen-Source • LLLLLLLLLLLLLLLLLarge, active community • RRRRRRRRRRRRRRRRRest API and cli tools
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Behind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenesBehind the scenes Licensed under a Creative Commons Attribution 2.0 License https://www.flickr.com/photos/reuver/10105949326
  • 16. Foreman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overviewForeman overview Licensed under a Creative Commons Attribution-ShareAlike 3.0 License http://theforeman.org
  • 17. Technology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stackTechnology stack • FFFFFFFFFFFFFFFFForeman-web: Ruby-on-Rails • SSSSSSSSSSSSSSSSSmart Proxies: Ruby • TTTTTTTTTTTTTTTTTLS everywhere
  • 18. Supported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologiesSupported technologies • PPPPPPPPPPPPPPPPPuppet (other CM are WIP) • lllllllllllllllllibvirt (kvm), VMWare, ec2, openstack, ovirt • DDDDDDDDDDDDDDDDDHCP, DNS, TFTP, IPMI • VVVVVVVVVVVVVVVVVNC
  • 19. PluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPlugins • KKKKKKKKKKKKKKKKKatello: Content management • RRRRRRRRRRRRRRRRRemote Execution • HHHHHHHHHHHHHHHHHubot • CCCCCCCCCCCCCCCCCockpit
  • 21. Puppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reportingPuppet reporting • 22222222222222222011-2013: Puppet reporting • RRRRRRRRRRRRRRRRReplacement for Puppet Dashboard • AAAAAAAAAAAAAAAAAlready had a API, hooked into icinga
  • 22. 2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management2013-now: Lab management • PPPPPPPPPPPPPPPPProvisioning: libvirt/vmware • CCCCCCCCCCCCCCCCConfig: Puppet Master+ENC • RRRRRRRRRRRRRRRRReporting
  • 23. Our ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur ScaleOur Scale • 22222222222222222 countries • 44444444444444444 datacenter • 11111111111111111 Foreman • 55555555555555555 Foreman Proxies • 33333333333333333 Puppet env • 99999999999999999 Compute Resource (hypervisor) • 1111111111111111150 machines
  • 24. What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard?What can be hard? Licensed under a Creative Commons Attribution 2.0 License https://www.flickr.com/photos/130811041@N04/19114856463
  • 27. How to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The ForemanHow to install The Foreman • 11111111111111111. yum install foreman-installer • 22222222222222222. run foreman-installer • 33333333333333333. done
  • 28. foreman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scopeforeman-installer scope • FFFFFFFFFFFFFFFFForeman-web • FFFFFFFFFFFFFFFFForeman-proxy • PPPPPPPPPPPPPPPPPuppet master • DDDDDDDDDDDDDDDDDHCP, DNS, TFTP services • GGGGGGGGGGGGGGGGGit repositories • LLLLLLLLLLLLLLLLLink between those
  • 29. The chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problemThe chicken-and-egg problem Licensed under a Creative Commons Attribution 2.0 License https://www.flickr.com/photos/100739735@N06/15892201516
  • 30. First foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman installFirst foreman install • CCCCCCCCCCCCCCCCCreates everything needed to puppetize • gggggggggggggggggit repo, puppetmaster • bbbbbbbbbbbbbbbbbut not to puppetize itself
  • 31. State is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforcedState is not enforced • SSSSSSSSSSSSSSSSSystem is not up to date • NNNNNNNNNNNNNNNNNo confidence that the state is still correct • SSSSSSSSSSSSSSSSSolution A: integrate within the puppet tree • SSSSSSSSSSSSSSSSSolution B: Re-run the foreman-installer
  • 32. Importing the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your treeImporting the modules in your tree • SSSSSSSSSSSSSSSSState is enforced • OOOOOOOOOOOOOOOOOnly thing to care about: updating the modules • TTTTTTTTTTTTTTTTThey are linked to the foreman
  • 33. Building and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuildingBuilding and rebuilding Licensed under a Creative Commons Attribution 2.0 License https://www.flickr.com/photos/artbystevejohnson/6405400351
  • 34. Building a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a hostBuilding a host • CCCCCCCCCCCCCCCCCreate/cycle VM • CCCCCCCCCCCCCCCCCreate/change DNS Config • CCCCCCCCCCCCCCCCCreate/change DHCP lease • CCCCCCCCCCCCCCCCCreate/change TFTP files
  • 35. An expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operationAn expensive operation • IIIIIIIIIIIIIIIIIf something is wrong, it rollbacks • SSSSSSSSSSSSSSSSSolution: Foreman 1.10 allows you to force config rebuild • HHHHHHHHHHHHHHHHHidden in the UI in the `All hosts' view
  • 36. DNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNS Licensed under a Creative Commons Attribution-ShareAlike 2.0 License https://www.flickr.com/photos/quinnanya/4464205726
  • 37. Everything is a Freaking DNS Problem Kris Buytaert
  • 38. Foreman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entriesForeman managing DNS entries • KKKKKKKKKKKKKKKKKeeps the data consistent • CCCCCCCCCCCCCCCCCreates only hostnames that exist • AAAAAAAAAAAAAAAAAlso does the reverse entries
  • 39. Adding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom recordsAdding custom records • AAAAAAAAAAAAAAAAAt some point you want CNAME records • ooooooooooooooooor change NS records
  • 40. Manipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zonesManipulating zones • FFFFFFFFFFFFFFFFForeman uses Dynamic Zones • rrrrrrrrrrrrrrrrrndc freeze • CCCCCCCCCCCCCCCCChange the zone (incr the serial) • rrrrrrrrrrrrrrrrrndc thaw
  • 41. Org-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNSOrg-level reverse DNS • YYYYYYYYYYYYYYYYYou own DNS servers should forward the unknown to your org • WWWWWWWWWWWWWWWWWe could not make it work for PTR records • NNNNNNNNNNNNNNNNNeed to set empty-zones-enable=no • PPPPPPPPPPPPPPPPPR theforeman/puppet-dns#47
  • 42. DMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZ Licensed under a Creative Commons Attribution-ShareAlike 2.0 License https://www.flickr.com/photos/flintymcginty/9997879333
  • 43. Managing hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the labManaging hosts outside the lab • SSSSSSSSSSSSSSSSSecurity purpose • RRRRRRRRRRRRRRRRRun Demos • HHHHHHHHHHHHHHHHHandover to other teams
  • 44. Foreman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutionsForeman-proxies solutions • DDDDDDDDDDDDDDDDDNS Proxy, DHCP proxy, TFTP… • KKKKKKKKKKKKKKKKKickstart proxying? • DDDDDDDDDDDDDDDDDigging into the documentation • FFFFFFFFFFFFFFFFFeature is there but not really visible • IIIIIIIIIIIIIIIIImprove docs: PR theforeman/theforeman.org#547
  • 47. A NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC StoryA NoVNC Story • FFFFFFFFFFFFFFFFForeman embeds NoVNC • AAAAAAAAAAAAAAAAAllows you to see VNC console in browser • LLLLLLLLLLLLLLLLLots of problems with certificates
  • 48. Details mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails mattersDetails matters • IIIIIIIIIIIIIIIIIn the 1.7 docs: websockets_encrypt: true • LLLLLLLLLLLLLLLLLet's change it to false • PPPPPPPPPPPPPPPPProblem: true/false vs on/off • EEEEEEEEEEEEEEEEExtra work: Updated the docs
  • 49. Release NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease NotesRelease Notes • RRRRRRRRRRRRRRRRRelease notes are part of Documentation • WWWWWWWWWWWWWWWWWhen you change behaviour, think about others • LLLLLLLLLLLLLLLLLower update cost
  • 51. Scaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tipsScaling tips • EEEEEEEEEEEEEEEEEnable organizations/locations • UUUUUUUUUUUUUUUUUse one foreman for separated entities • UUUUUUUUUUUUUUUUUse one foreman for separated countries • UUUUUUUUUUUUUUUUUse foreman proxies where needed
  • 53. AssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociation • OOOOOOOOOOOOOOOOOS -> Location and Org • CCCCCCCCCCCCCCCCCompute Resource -> Location and Org • TTTTTTTTTTTTTTTTTemplates -> Location and Org • OOOOOOOOOOOOOOOOOS -> Installation Media • IIIIIIIIIIIIIIIIInstallation media -> Location and Org
  • 54. Scaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute ResourcesScaling Compute Resources • CCCCCCCCCCCCCCCCCompute Resources = Virtualization or Cloud Service • EEEEEEEEEEEEEEEEEasy to create hosts in those CR • lllllllllllllllllibvirt, ec2, gce, vmware…
  • 55. Scaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling LibvirtScaling Libvirt • WWWWWWWWWWWWWWWWWe have 8 libvirt servers • TTTTTTTTTTTTTTTTTo create a VM, you chose CPU, RAM, disks… • AAAAAAAAAAAAAAAAAny change requires deletion and creation
  • 56. Creating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hostsCreating consistent hosts • HHHHHHHHHHHHHHHHHostgroups • EEEEEEEEEEEEEEEEEnvironments • CCCCCCCCCCCCCCCCCompute profiles?
  • 57. Libvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute ProfilesLibvirt Compute Profiles • CCCCCCCCCCCCCCCCCPU • MMMMMMMMMMMMMMMMMemory • NNNNNNNNNNNNNNNNNIC • SSSSSSSSSSSSSSSSStorage • MMMMMMMMMMMMMMMMMultiple profiles per hypervisor
  • 58. What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then?What's wrong then? • LLLLLLLLLLLLLLLLLibvirt servers are not a group • TTTTTTTTTTTTTTTTThey are separated Compute Resources • AAAAAAAAAAAAAAAAA lot of work (UI and API)
  • 59. Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific?Is it libvirt specific? • YYYYYYYYYYYYYYYYYes: other providers are `centralized' • eeeeeeeeeeeeeeeeec2, gce, openstack…
  • 60. VMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWare • SSSSSSSSSSSSSSSSSome part of the lab runs VMWare • GGGGGGGGGGGGGGGGGreat: Foreman supports VMWare • (((((((((((((((((on paper)
  • 61. VMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integrationVMWare integration • MMMMMMMMMMMMMMMMMost of the settings, Foreman will take user defaults • FFFFFFFFFFFFFFFFForeman is not for VMWare Power users • SSSSSSSSSSSSSSSSSounds like a lack of interest from community
  • 62. Logging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging mattersLogging matters • FFFFFFFFFFFFFFFFForeman requires on Fog • FFFFFFFFFFFFFFFFFog is a gem for the `clouds' • FFFFFFFFFFFFFFFFFog for vmware is not as advances as we'd like
  • 63. Empowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the DevelopersEmpowering the Developers Licensed under a Creative Commons Attribution 2.0 License https://www.flickr.com/photos/julesdphotographie/8421289746
  • 64. Distributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the powerDistributing the power • RRRRRRRRRRRRRRRRRebuilding a host is simple • OOOOOOOOOOOOOOOOOne clic operation • FFFFFFFFFFFFFFFFForeman as a VM shop
  • 65. The DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movementThe DevOps movement • DDDDDDDDDDDDDDDDDevOps is a movement born in 2009 • CCCCCCCCCCCCCCCCCollaboration between Developers and Operations • NNNNNNNNNNNNNNNNNothing new, just common sense • DDDDDDDDDDDDDDDDDevOpsDays, a serie of conferences all around the world
  • 66. #DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS#DevOps CAMS • CCCCCCCCCCCCCCCCCulture • AAAAAAAAAAAAAAAAAutomation • MMMMMMMMMMMMMMMMMeasurement • SSSSSSSSSSSSSSSSSharing John Willis and Damon Edwards
  • 67. The C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMSThe C of CAMS • DDDDDDDDDDDDDDDDDevOps is a Cultural change • EEEEEEEEEEEEEEEEEveryone is in the team • OOOOOOOOOOOOOOOOOps and Devs work together • SSSSSSSSSSSSSSSSShare the responsibilities
  • 68. Foreman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the pictureForeman in the picture • FFFFFFFFFFFFFFFFForeman empowers the developers • WWWWWWWWWWWWWWWWWhile still providing enough security • OOOOOOOOOOOOOOOOOrganisations in Foreman
  • 69. Developer ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACLDeveloper ACL Licensed under a Creative Commons Attribution-ShareAlike 3.0 License Screenshot
  • 70. The Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer sideThe Developer side • OOOOOOOOOOOOOOOOOne-clic rebuild (at will) • AAAAAAAAAAAAAAAAAccess to build reports • IIIIIIIIIIIIIIIIIn-browser access to VNC • FFFFFFFFFFFFFFFFFresh vm in minutes
  • 71. The Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops sideThe Ops side • KKKKKKKKKKKKKKKKKeep everything under control • AAAAAAAAAAAAAAAAAudit logs, reports • IIIIIIIIIIIIIIIIInventory • BBBBBBBBBBBBBBBBBring regular updates to VM's/developers
  • 72. UpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdates Licensed under a Creative Commons Attribution 2.0 License https://www.flickr.com/photos/inyucho/7866698878
  • 73. Foreman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updatesForeman updates • AAAAAAAAAAAAAAAAAs any software: • TTTTTTTTTTTTTTTTTake a backup first • TTTTTTTTTTTTTTTTTry on your dev environment • FFFFFFFFFFFFFFFFFirst upgrade the main UI • TTTTTTTTTTTTTTTTThen update the proxies (#12506)
  • 74. Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems • 11111111111111111.5->1.6: DHCP config file not readable by foreman proxy WWWWWWWWWWWWWWWWWe did a DHCP upgrade at the same time FFFFFFFFFFFFFFFFFile ownership was changed rrrrrrrrrrrrrrrrre-run the foreman installer fixed it
  • 75. Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems • 11111111111111111.5->1.6: Puppet reports not coming into the foreman FFFFFFFFFFFFFFFFForeman report preprocessor has changed NNNNNNNNNNNNNNNNNeed to update foreman.rb + config nnnnnnnnnnnnnnnnnode.rb also needed an update
  • 76. Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems • 11111111111111111.7->1.8: Big stack trace on opening the UI yyyyyyyyyyyyyyyyyum erase ruby193-rubygem-foreman_openstack_cluster ruby193-rubygem-foreman_openstack_cluster-doc
  • 77. Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems • 11111111111111111.8->1.9: Yaml transformations in Puppet parameters FFFFFFFFFFFFFFFFFixed in 1.10, backported to 1.9
  • 78. Upgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problemsUpgrade problems • 11111111111111111.11: DHCP bugs TTTTTTTTTTTTTTTTTwo DHCP bugs 11111111111111111. Do not create DHCP reservation is host is static 22222222222222222. Ruby 1.8 issues (EL6 support to be removed in 1.13) hhhhhhhhhhhhhhhhhttps://theforeman.org/2016/06/foreman-1.11-dhcp- bugs.html
  • 79. Community and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-SourceCommunity and Open-Source Licensed under a Creative Commons Attribution-2.0 License https://www.flickr.com/photos/maicosnap/4393929855
  • 80. Foreman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-SourceForeman is Open-Source • GGGGGGGGGGGGGGGGGPLv3+ • WWWWWWWWWWWWWWWWWe've got around 20 patches integrated • TTTTTTTTTTTTTTTTThey rely mostly on open-source tools • CCCCCCCCCCCCCCCCCI, testing, bugtracker
  • 81. Story: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global StatusStory: Foreman Global Status • PPPPPPPPPPPPPPPPPut in build mode, go back home • RRRRRRRRRRRRRRRRRestart on the next day • LLLLLLLLLLLLLLLLLooping reboots
  • 82. Foreman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global statusForeman global status • FFFFFFFFFFFFFFFFForeman keeps several status for hosts • PPPPPPPPPPPPPPPPPlugins can register a status • BBBBBBBBBBBBBBBBBut reporting and provisioning also • LLLLLLLLLLLLLLLLLet's use that for expired tokens (bug#5883)
  • 84. Advantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreamingAdvantages of upstreaming • FFFFFFFFFFFFFFFFFeature will be available in next releases • WWWWWWWWWWWWWWWWWe won't patch in the future • CCCCCCCCCCCCCCCCCalls in the patch will evolve as well • PPPPPPPPPPPPPPPPPeer review with the Foreman team • FFFFFFFFFFFFFFFFForced to write tests, doc, etc…
  • 85. 2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after2 weeks after • PPPPPPPPPPPPPPPPPatch is accepted for 2 weeks • AAAAAAAAAAAAAAAAA new bug is opened: performance problem (bug#14050) • SSSSSSSSSSSSSSSSSomeone else fixed the bug • WWWWWWWWWWWWWWWWWe applied the second patch
  • 87. Where can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improveWhere can the Foreman improve • PPPPPPPPPPPPPPPPPerformance • SSSSSSSSSSSSSSSSSome features are missing from API • DDDDDDDDDDDDDDDDDecoupling from Puppet • ……………………………………………
  • 88. Where did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improveWhere did the Foreman improve • TTTTTTTTTTTTTTTTTests reliability • TTTTTTTTTTTTTTTTTesting Infra • CCCCCCCCCCCCCCCCCommunity • SSSSSSSSSSSSSSSSStability
  • 89. The ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe ForemanThe Foreman • SSSSSSSSSSSSSSSSStability, Maturity, Flexibility • MMMMMMMMMMMMMMMMMade out of bricks: complex but not complicated • IIIIIIIIIIIIIIIIIt meets our needs • IIIIIIIIIIIIIIIIIt is very active • PPPPPPPPPPPPPPPPPeople are welcoming
  • 91. ContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContact Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto julien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eujulien@inuits.eu @roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie inuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuits https://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.eu info@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.euinfo@inuits.eu +32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636