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
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?
Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto
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 reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporing
• 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
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

Getting the maximum out of systemd
Getting the maximum out of systemdGetting the maximum out of systemd
Getting the maximum out of systemdJulien Pivotto
 
Puppet and Software Delivery
Puppet and Software DeliveryPuppet and Software Delivery
Puppet and Software DeliveryJulien Pivotto
 
systemd and configuration management
systemd and configuration managementsystemd and configuration management
systemd and configuration managementJulien 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
 
Monitoring at Cloud Scale
Monitoring at Cloud ScaleMonitoring at Cloud Scale
Monitoring at Cloud ScaleJulien 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
 
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
 
Arduino programming of ML-style in ATS
Arduino programming of ML-style in ATSArduino programming of ML-style in ATS
Arduino programming of ML-style in ATSKiwamu Okabe
 
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
 
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
 
Hands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontrollerHands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontrollerKiwamu Okabe
 
Functional IoT: Hardware and Platform
Functional IoT: Hardware and PlatformFunctional IoT: Hardware and Platform
Functional IoT: Hardware and PlatformKiwamu Okabe
 
Metasepi team meeting #14: ATS programming on MCU
Metasepi team meeting #14: ATS programming on MCUMetasepi team meeting #14: ATS programming on MCU
Metasepi team meeting #14: ATS programming on MCUKiwamu Okabe
 
Start! ATS programming
Start! ATS programmingStart! ATS programming
Start! ATS programmingKiwamu Okabe
 
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
 
ATS/LF for Coq users
ATS/LF for Coq usersATS/LF for Coq users
ATS/LF for Coq usersKiwamu Okabe
 
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
 
Getting the maximum out of systemd
Getting the maximum out of systemdGetting the maximum out of systemd
Getting the maximum out of systemd
 
Puppet and Software Delivery
Puppet and Software DeliveryPuppet and Software Delivery
Puppet and Software Delivery
 
DNSSec
DNSSecDNSSec
DNSSec
 
Coworking with git
Coworking with gitCoworking with git
Coworking with git
 
systemd and configuration management
systemd and configuration managementsystemd and configuration management
systemd and configuration management
 
Enhance OpenSSH for fun and security
Enhance OpenSSH for fun and securityEnhance OpenSSH for fun and security
Enhance OpenSSH for fun and security
 
Monitoring at Cloud Scale
Monitoring at Cloud ScaleMonitoring at Cloud Scale
Monitoring at Cloud Scale
 
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...
 
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...
 
Arduino programming of ML-style in ATS
Arduino programming of ML-style in ATSArduino programming of ML-style in ATS
Arduino programming of ML-style in ATS
 
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
 
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
 
Hands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontrollerHands-on VeriFast with STM32 microcontroller
Hands-on VeriFast with STM32 microcontroller
 
Functional IoT: Hardware and Platform
Functional IoT: Hardware and PlatformFunctional IoT: Hardware and Platform
Functional IoT: Hardware and Platform
 
Metasepi team meeting #14: ATS programming on MCU
Metasepi team meeting #14: ATS programming on MCUMetasepi team meeting #14: ATS programming on MCU
Metasepi team meeting #14: ATS programming on MCU
 
Start! ATS programming
Start! ATS programmingStart! ATS programming
Start! ATS programming
 
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
 
ATS/LF for Coq users
ATS/LF for Coq usersATS/LF for Coq users
ATS/LF for Coq users
 
Taming a beast - AmsterdamPHP April Meetup
Taming a beast - AmsterdamPHP April MeetupTaming a beast - AmsterdamPHP April Meetup
Taming a beast - AmsterdamPHP April Meetup
 

Similar to Manage R&D Lab with Foreman

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
 
Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Mojo Lingo
 
Call Control Power Tools with Adhearsion
Call Control Power Tools with AdhearsionCall Control Power Tools with Adhearsion
Call Control Power Tools with AdhearsionAdhearsion Foundation
 
Web query expansion based on association rules mining with e hownet and googl...
Web query expansion based on association rules mining with e hownet and googl...Web query expansion based on association rules mining with e hownet and googl...
Web query expansion based on association rules mining with e hownet and googl...Paul Yang
 
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
 
前端测试之淘宝实践
前端测试之淘宝实践前端测试之淘宝实践
前端测试之淘宝实践chencheng 云谦
 
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
 
Patterns & Antipatterns in Docker Image Lifecycle
Patterns & Antipatterns in Docker Image LifecyclePatterns & Antipatterns in Docker Image Lifecycle
Patterns & Antipatterns in Docker Image Lifecycleyoavl
 
Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Tomas Doran
 
【前端测试】淘宝前端测试实践
【前端测试】淘宝前端测试实践【前端测试】淘宝前端测试实践
【前端测试】淘宝前端测试实践taobao.com
 
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Andrew Morgan
 
Onsi Fakhouri at SpringOne Platform 2017
Onsi Fakhouri at SpringOne Platform 2017Onsi Fakhouri at SpringOne Platform 2017
Onsi Fakhouri at SpringOne Platform 2017VMware Tanzu
 
Industrial training at opto electronics factory,dehradun
Industrial training at opto electronics factory,dehradunIndustrial training at opto electronics factory,dehradun
Industrial training at opto electronics factory,dehradunSaurabh pasbola
 
WebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D EngineWebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D Engineaerotwist
 
apidays Australia 2023 - Building On-Premise Hybrid API Platforms, David Free...
apidays Australia 2023 - Building On-Premise Hybrid API Platforms, David Free...apidays Australia 2023 - Building On-Premise Hybrid API Platforms, David Free...
apidays Australia 2023 - Building On-Premise Hybrid API Platforms, David Free...apidays
 
2021.laravelconf.tw.slides1
2021.laravelconf.tw.slides12021.laravelconf.tw.slides1
2021.laravelconf.tw.slides1LiviaLiaoFontech
 
Patterns and antipatterns in Docker image lifecycle as was presented at Devop...
Patterns and antipatterns in Docker image lifecycle as was presented at Devop...Patterns and antipatterns in Docker image lifecycle as was presented at Devop...
Patterns and antipatterns in Docker image lifecycle as was presented at Devop...Baruch Sadogursky
 

Similar to Manage R&D Lab with Foreman (20)

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...
 
Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion Call Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion
 
Call Control Power Tools with Adhearsion
Call Control Power Tools with AdhearsionCall Control Power Tools with Adhearsion
Call Control Power Tools with Adhearsion
 
Web query expansion based on association rules mining with e hownet and googl...
Web query expansion based on association rules mining with e hownet and googl...Web query expansion based on association rules mining with e hownet and googl...
Web query expansion based on association rules mining with e hownet and googl...
 
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...
 
Pinto+Stratopan+Love
Pinto+Stratopan+LovePinto+Stratopan+Love
Pinto+Stratopan+Love
 
前端测试之淘宝实践
前端测试之淘宝实践前端测试之淘宝实践
前端测试之淘宝实践
 
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
 
1DCE2430.pptx
1DCE2430.pptx1DCE2430.pptx
1DCE2430.pptx
 
Patterns & Antipatterns in Docker Image Lifecycle
Patterns & Antipatterns in Docker Image LifecyclePatterns & Antipatterns in Docker Image Lifecycle
Patterns & Antipatterns in Docker Image Lifecycle
 
Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)Test driven infrastructure development (2 - puppetconf 2013 edition)
Test driven infrastructure development (2 - puppetconf 2013 edition)
 
【前端测试】淘宝前端测试实践
【前端测试】淘宝前端测试实践【前端测试】淘宝前端测试实践
【前端测试】淘宝前端测试实践
 
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
 
Onsi Fakhouri at SpringOne Platform 2017
Onsi Fakhouri at SpringOne Platform 2017Onsi Fakhouri at SpringOne Platform 2017
Onsi Fakhouri at SpringOne Platform 2017
 
Industrial training at opto electronics factory,dehradun
Industrial training at opto electronics factory,dehradunIndustrial training at opto electronics factory,dehradun
Industrial training at opto electronics factory,dehradun
 
WebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D EngineWebGL Camp 4 - A3 3D Engine
WebGL Camp 4 - A3 3D Engine
 
apidays Australia 2023 - Building On-Premise Hybrid API Platforms, David Free...
apidays Australia 2023 - Building On-Premise Hybrid API Platforms, David Free...apidays Australia 2023 - Building On-Premise Hybrid API Platforms, David Free...
apidays Australia 2023 - Building On-Premise Hybrid API Platforms, David Free...
 
2021.laravelconf.tw.slides1
2021.laravelconf.tw.slides12021.laravelconf.tw.slides1
2021.laravelconf.tw.slides1
 
Patterns and antipatterns in Docker image lifecycle as was presented at Devop...
Patterns and antipatterns in Docker image lifecycle as was presented at Devop...Patterns and antipatterns in Docker image lifecycle as was presented at Devop...
Patterns and antipatterns in Docker image lifecycle as was presented at Devop...
 

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

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Recently uploaded (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Manage 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 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? Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto
  • 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
  • 4.
  • 10. 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
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. PluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPluginsPlugins • KKKKKKKKKKKKKKKKKatello: Content management • RRRRRRRRRRRRRRRRRemote Execution • HHHHHHHHHHHHHHHHHubot • CCCCCCCCCCCCCCCCCockpit
  • 22. Puppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporingPuppet reporing • 22222222222222222011-2013: Puppet reporting • RRRRRRRRRRRRRRRRReplacement for Puppet Dashboard • AAAAAAAAAAAAAAAAAlready had a API, hooked into icinga
  • 23. 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
  • 24. 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
  • 25. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. DNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNSDNS Licensed under a Creative Commons Attribution-ShareAlike 2.0 License https://www.flickr.com/photos/quinnanya/4464205726
  • 38. Everything is a Freaking DNS Problem Kris Buytaert
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. DMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZDMZ Licensed under a Creative Commons Attribution-ShareAlike 2.0 License https://www.flickr.com/photos/flintymcginty/9997879333
  • 44. 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
  • 45. 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
  • 48. 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
  • 49. 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
  • 50. 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
  • 52. 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
  • 54. AssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociationAssociation • OOOOOOOOOOOOOOOOOS -> Location and Org • CCCCCCCCCCCCCCCCCompute Resource -> Location and Org • TTTTTTTTTTTTTTTTTemplates -> Location and Org • OOOOOOOOOOOOOOOOOS -> Installation Media • IIIIIIIIIIIIIIIIInstallation media -> Location and Org
  • 55. 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…
  • 56. 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
  • 57. 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?
  • 58. 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
  • 59. 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)
  • 60. 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…
  • 61. VMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWareVMWare • SSSSSSSSSSSSSSSSSome part of the lab runs VMWare • GGGGGGGGGGGGGGGGGreat: Foreman supports VMWare • (((((((((((((((((on paper)
  • 62. 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
  • 63. 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
  • 64. 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
  • 65. 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
  • 66. 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
  • 67. #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
  • 68. 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
  • 69. 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
  • 70. 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
  • 71. 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
  • 72. 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
  • 73. UpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdatesUpdates Licensed under a Creative Commons Attribution 2.0 License https://www.flickr.com/photos/inyucho/7866698878
  • 74. 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)
  • 75. 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
  • 76. 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
  • 77. 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
  • 78. 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
  • 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