SlideShare a Scribd company logo
Normation – CC-BY-SA
normation.com
CobblerCobbler
Fast and reliable multi-OS provisionningFast and reliable multi-OS provisionning
Matthieu CERDA – LOADays 2013
Normation – Tous droits réservés
normation.com
Who are you
Job System administrator
Phone: +33 6 30 53 40 00
Email : matthieu.cerda@normation.com
Web site : www.normation.com
@Kegeruneku
Normation – CC-BY-SA
normation.com 3
Problem
● Problem : Deploying new VMs is a painfully heavy and error-prone process.
● Solution: A tool able to automatize this the best way possible !
Normation – CC-BY-SA
normation.com 4
PXE
● “The Preboot eXecution Environment (PXE, also known as Pre-
Execution Environment; sometimes pronounced "pixie") is an
environment to boot computers using a network interface
independently of data storage devices (like hard disks) or installed
operating systems.” (Thanks Wikipedia)
●Created to respond to a simple problem: before it, even with
automated installations, the administrator needed to move towards
the machine, and boot it manually with a media.
● Administrators are lazy (well, I am), and thus needed something to
install a machine from the boot to the login prompt, with the least
human interference possible.
Normation – CC-BY-SA
normation.com 5
Problem (again)
●
PXE boot needs a tight and coherent integration of all these
services:
● DHCP
● TFTP
● HTTP
● (DNS, optionnal)
● Installing them and setting them requires specific experience,
skills and time.
● Time + skills = investment (either from people or from the wallet)
●
1st
problem: PXE is expensive
Normation – CC-BY-SA
normation.com 6
Problem (this is getting annoying !!!)
●
PXE boot needs a tight and coherent integration of all these
services:
● DHCP
● TFTP
● HTTP
● (DNS, optionnal)
● Keeping them in sync is horrifyingly painful, you KNOW
something will break one day or another (typos, forgot to copy a
file ...)
●
So, 2nd
trouble: PXE is hard to manage
Normation – CC-BY-SA
normation.com 7
Context
ID Card
● Name :
● Birthdate : 2007
● Language : Python
● Licence : GPL
● Author : Michael DeHaan ( You went to the Ansible
presentation this morning, did you ? )
● Dependencies : DHCP/TFTP/[DNS]
● Disponibility : Packages ( or sources )
● Tested and approved™ :
Normation – CC-BY-SA
normation.com 8
A little project history
Birth
2011: Site
switching
from Fedora
hosting to
Github
2012: Used
by
Canonical
for
OpenStack
tests
Normation – CC-BY-SA
normation.com 9
Global architecture
Distributions
Kernel Initrd Arguments Classes
Profiles
Repositories Network Proxy Classes
System
LDAP RHN/RHM Network Virtualization Puppet
REST API
Normation – CC-BY-SA
normation.com 10
Global architecture
CLI Koan
LibVirt
API
Cobbler
PXE
DNS TFTP DHCP
Physical
machines
Virtual
machines
HTTP
Web UI
Normation – CC-BY-SA
normation.com 11
Distro
●A basic representation of an OS
●Added through the CLI
Normation – CC-BY-SA
normation.com 12
Profile
●Abstraction layer between distros ans systems
●Can be used to define roles, for example: web_server, dns_server...
Normation – CC-BY-SA
normation.com 13
System
●The most important part, what the user will see !
●Will define physical or virtual entities, like a libvirt VM or a plain
computer. The MAC address serves as a binding between the low
level PXE and the system definition.
Normation – CC-BY-SA
normation.com 14
KOAN
● Works “out of the box”
● Adds LibVirt support to Cobbler
Normation – CC-BY-SA
normation.com 15
KOAN
● Demo !!!
Normation – CC-BY-SA
normation.com 16
Configuration
●
/etc/cobbler/settings
● YAML file, setting global variables and special cobblerd specific
parameters
● Can then be overriden by other abstraction layers
● /etc/cobbler/modules
● Defines which services will be managed (and how)
● Also defines how authentication will be done (for web UI for
example)
● /var/lib/cobbler/...
● Stores all the distro/profile/system/... configurations
Normation – CC-BY-SA
normation.com 17
Usefulness
●
“So, why is Cobbler so useful for you ?”
● Aptitude/yum install cobbler, as simple as that
● Just works, out of the box
● Easy integration with Virtualization software
● Seriously, managing PXE by hand is a pain in the neck...
● “Remember when we used to manage kickstart files by hand ?”
● “Yeah, so many hours I could have used to slack looking at cat
videos...”
Normation – CC-BY-SA
normation.com 18
Usefulness
●
“Can I deploy this in my company / home / toaster now ?”
● Yes ! It actually integrates well with existing machines/services.
● Just works, out of the box
● All you need is a machine, a distro CD / ISO and you're done.
● Can by used as an emergency crash recovery solution
● Used in a french company after a natural catastrophe (flood) to
restore quickly a new bunch of machines back to an
operationnal state. [reference needed]
Normation – CC-BY-SA
normation.com 19
Integration with existing services
●
Cobbler can integrate with services like:
● Local repository mirrors
● Local DNS / TFTP / ... services
● Configuration management: CFEngine / Puppet / Chef /
Ansible / ...
Normation – CC-BY-SA
normation.com 20
Protips
●
When you install Cobbler, remember some important points
● SELinux is tricky
● DISABLE STP ON YOUR BRIDGES !!!
● If something fails, check your firewall. If it still fails, check again.
● Always have a sandbox environment to play with.
● KVM is a great tool, especially with libvirt
● Keep It Simple and Safe
Normation – CC-BY-SA
normation.com 21
Extensibility
●
We develop Rudder, an IT automatization and conformity tool.
● Goal: Add a support for Cobbler
● Problem: Cobbler only supports Cobbler at this time !
● Solution: Add the necessary bindings ourselves ! (All hail Python
o/)
Let us take a slightly more complex case...
System
LDAP RHN/RHM Network Virtualization Puppet Rudder
Normation – CC-BY-SA
normation.com 22
Extensibility
Normation – CC-BY-SA
normation.com 23
Thank you for your attention !
( Questions time )

More Related Content

PDF
MySQL Server Backup, Restoration, And Disaster Recovery Planning Presentation
PPTX
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
PPTX
FD.io VPP事始め
PPTX
OpenvSwitch Deep Dive
PPTX
Ceph Tech Talk -- Ceph Benchmarking Tool
PDF
DoS and DDoS mitigations with eBPF, XDP and DPDK
PDF
Red Hat OpenShift Container Storage
ODP
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
MySQL Server Backup, Restoration, And Disaster Recovery Planning Presentation
Overview of Distributed Virtual Router (DVR) in Openstack/Neutron
FD.io VPP事始め
OpenvSwitch Deep Dive
Ceph Tech Talk -- Ceph Benchmarking Tool
DoS and DDoS mitigations with eBPF, XDP and DPDK
Red Hat OpenShift Container Storage
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout

What's hot (20)

PPTX
Tutorial: Using GoBGP as an IXP connecting router
PDF
SRv6 study
PDF
EBPF and Linux Networking
PDF
[2018] 오픈스택 5년 운영의 경험
PDF
Linux Native, HTTP Aware Network Security
PDF
マスタリングTCP/IP ニフクラ編
PDF
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
PDF
Linux Networking Explained
PDF
kube-system落としてみました
PDF
Open vSwitch - Stateful Connection Tracking & Stateful NAT
PPTX
Kolla talk at OpenStack Summit 2017 in Sydney
PPTX
Packet flow on openstack
PDF
Traffic Control with Envoy Proxy
PDF
Openv switchの使い方とか
KEY
Introduction to memcached
PDF
nexus helm 설치, docker/helm repo 설정과 예제
PDF
Ansible
PPTX
Prometheus and Grafana
PPTX
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
PPT
Pacemaker+DRBD
Tutorial: Using GoBGP as an IXP connecting router
SRv6 study
EBPF and Linux Networking
[2018] 오픈스택 5년 운영의 경험
Linux Native, HTTP Aware Network Security
マスタリングTCP/IP ニフクラ編
第20回 OpenStack勉強会 Neutron Deep Dive - DVR
Linux Networking Explained
kube-system落としてみました
Open vSwitch - Stateful Connection Tracking & Stateful NAT
Kolla talk at OpenStack Summit 2017 in Sydney
Packet flow on openstack
Traffic Control with Envoy Proxy
Openv switchの使い方とか
Introduction to memcached
nexus helm 설치, docker/helm repo 설정과 예제
Ansible
Prometheus and Grafana
[OpenStack 하반기 스터디] Interoperability with ML2: LinuxBridge, OVS and SDN
Pacemaker+DRBD
Ad

Similar to Cobbler - Fast and reliable multi-OS provisioning (20)

PDF
Platform Engineering for the Modern Oracle World
PDF
Docker 0.11 at MaxCDN meetup in Los Angeles
PPTX
Detailed Introduction To Docker
PDF
Docker introduction
PDF
Real-World Docker: 10 Things We've Learned
PDF
Introduction to PaaS and Heroku
PDF
ONIE / Cumulus Networks Webinar
PDF
PaaSTA: Running applications at Yelp
PDF
Best Practices for Deploying Enterprise Applications on UNIX
PDF
Free GitOps Workshop
PDF
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
PPTX
Dockerizing Aurea - Docker Con EU 2017
PDF
Docking, loading, running domino on docker v12
PDF
Docker presentasjon java bin
PPTX
Kubernetes 101
PDF
ONIE LinuxCon 2015
PDF
Systemd evolution revolution_regression
KEY
the NML project
PDF
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
PDF
Manage your switches like servers
Platform Engineering for the Modern Oracle World
Docker 0.11 at MaxCDN meetup in Los Angeles
Detailed Introduction To Docker
Docker introduction
Real-World Docker: 10 Things We've Learned
Introduction to PaaS and Heroku
ONIE / Cumulus Networks Webinar
PaaSTA: Running applications at Yelp
Best Practices for Deploying Enterprise Applications on UNIX
Free GitOps Workshop
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
Dockerizing Aurea - Docker Con EU 2017
Docking, loading, running domino on docker v12
Docker presentasjon java bin
Kubernetes 101
ONIE LinuxCon 2015
Systemd evolution revolution_regression
the NML project
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Manage your switches like servers
Ad

More from RUDDER (20)

PDF
What if configuration management didn't need to be lvl60 in dev?
PDF
Servers compliance: audit, remediation, proof
PDF
OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?
PDF
OW2Con - Configurations, do you prove yours?
PDF
The new plugin ecosystem in RUDDER 5.0
PDF
What uses for observing operations of Configuration Management?
PDF
UX challenges of a UI-centric config management tool
PDF
What happened in RUDDER in 2018 and what’s next?
PDF
What is RUDDER and when should I use it?
PDF
Fosdem - Configurations do you prove yours?
PDF
L'audit en continu : clé de la conformité démontrable (#POSS 2018)
PDF
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)
PDF
Stay up - voyage d'un éditeur de logiciels libres
PDF
How we scaled Rudder to 10k, and the road to 50k
PDF
What's new and what's next in Rudder
PDF
Poss 2017 : gestion des configurations et mise en conformité chez un service ...
PDF
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
PDF
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
PDF
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...
PDF
RUDDER - Continuous Configuration (configuration management + continuous aud...
What if configuration management didn't need to be lvl60 in dev?
Servers compliance: audit, remediation, proof
OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?
OW2Con - Configurations, do you prove yours?
The new plugin ecosystem in RUDDER 5.0
What uses for observing operations of Configuration Management?
UX challenges of a UI-centric config management tool
What happened in RUDDER in 2018 and what’s next?
What is RUDDER and when should I use it?
Fosdem - Configurations do you prove yours?
L'audit en continu : clé de la conformité démontrable (#POSS 2018)
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)
Stay up - voyage d'un éditeur de logiciels libres
How we scaled Rudder to 10k, and the road to 50k
What's new and what's next in Rudder
Poss 2017 : gestion des configurations et mise en conformité chez un service ...
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...
RUDDER - Continuous Configuration (configuration management + continuous aud...

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Machine learning based COVID-19 study performance prediction
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
KodekX | Application Modernization Development
PDF
cuic standard and advanced reporting.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPT
Teaching material agriculture food technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Approach and Philosophy of On baking technology
MYSQL Presentation for SQL database connectivity
NewMind AI Monthly Chronicles - July 2025
Machine learning based COVID-19 study performance prediction
Advanced methodologies resolving dimensionality complications for autism neur...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Big Data Technologies - Introduction.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
KodekX | Application Modernization Development
cuic standard and advanced reporting.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Unlocking AI with Model Context Protocol (MCP)
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Mobile App Security Testing_ A Comprehensive Guide.pdf
Understanding_Digital_Forensics_Presentation.pptx
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Teaching material agriculture food technology
Electronic commerce courselecture one. Pdf
Spectral efficient network and resource selection model in 5G networks
Approach and Philosophy of On baking technology

Cobbler - Fast and reliable multi-OS provisioning

  • 1. Normation – CC-BY-SA normation.com CobblerCobbler Fast and reliable multi-OS provisionningFast and reliable multi-OS provisionning Matthieu CERDA – LOADays 2013
  • 2. Normation – Tous droits réservés normation.com Who are you Job System administrator Phone: +33 6 30 53 40 00 Email : matthieu.cerda@normation.com Web site : www.normation.com @Kegeruneku
  • 3. Normation – CC-BY-SA normation.com 3 Problem ● Problem : Deploying new VMs is a painfully heavy and error-prone process. ● Solution: A tool able to automatize this the best way possible !
  • 4. Normation – CC-BY-SA normation.com 4 PXE ● “The Preboot eXecution Environment (PXE, also known as Pre- Execution Environment; sometimes pronounced "pixie") is an environment to boot computers using a network interface independently of data storage devices (like hard disks) or installed operating systems.” (Thanks Wikipedia) ●Created to respond to a simple problem: before it, even with automated installations, the administrator needed to move towards the machine, and boot it manually with a media. ● Administrators are lazy (well, I am), and thus needed something to install a machine from the boot to the login prompt, with the least human interference possible.
  • 5. Normation – CC-BY-SA normation.com 5 Problem (again) ● PXE boot needs a tight and coherent integration of all these services: ● DHCP ● TFTP ● HTTP ● (DNS, optionnal) ● Installing them and setting them requires specific experience, skills and time. ● Time + skills = investment (either from people or from the wallet) ● 1st problem: PXE is expensive
  • 6. Normation – CC-BY-SA normation.com 6 Problem (this is getting annoying !!!) ● PXE boot needs a tight and coherent integration of all these services: ● DHCP ● TFTP ● HTTP ● (DNS, optionnal) ● Keeping them in sync is horrifyingly painful, you KNOW something will break one day or another (typos, forgot to copy a file ...) ● So, 2nd trouble: PXE is hard to manage
  • 7. Normation – CC-BY-SA normation.com 7 Context ID Card ● Name : ● Birthdate : 2007 ● Language : Python ● Licence : GPL ● Author : Michael DeHaan ( You went to the Ansible presentation this morning, did you ? ) ● Dependencies : DHCP/TFTP/[DNS] ● Disponibility : Packages ( or sources ) ● Tested and approved™ :
  • 8. Normation – CC-BY-SA normation.com 8 A little project history Birth 2011: Site switching from Fedora hosting to Github 2012: Used by Canonical for OpenStack tests
  • 9. Normation – CC-BY-SA normation.com 9 Global architecture Distributions Kernel Initrd Arguments Classes Profiles Repositories Network Proxy Classes System LDAP RHN/RHM Network Virtualization Puppet REST API
  • 10. Normation – CC-BY-SA normation.com 10 Global architecture CLI Koan LibVirt API Cobbler PXE DNS TFTP DHCP Physical machines Virtual machines HTTP Web UI
  • 11. Normation – CC-BY-SA normation.com 11 Distro ●A basic representation of an OS ●Added through the CLI
  • 12. Normation – CC-BY-SA normation.com 12 Profile ●Abstraction layer between distros ans systems ●Can be used to define roles, for example: web_server, dns_server...
  • 13. Normation – CC-BY-SA normation.com 13 System ●The most important part, what the user will see ! ●Will define physical or virtual entities, like a libvirt VM or a plain computer. The MAC address serves as a binding between the low level PXE and the system definition.
  • 14. Normation – CC-BY-SA normation.com 14 KOAN ● Works “out of the box” ● Adds LibVirt support to Cobbler
  • 15. Normation – CC-BY-SA normation.com 15 KOAN ● Demo !!!
  • 16. Normation – CC-BY-SA normation.com 16 Configuration ● /etc/cobbler/settings ● YAML file, setting global variables and special cobblerd specific parameters ● Can then be overriden by other abstraction layers ● /etc/cobbler/modules ● Defines which services will be managed (and how) ● Also defines how authentication will be done (for web UI for example) ● /var/lib/cobbler/... ● Stores all the distro/profile/system/... configurations
  • 17. Normation – CC-BY-SA normation.com 17 Usefulness ● “So, why is Cobbler so useful for you ?” ● Aptitude/yum install cobbler, as simple as that ● Just works, out of the box ● Easy integration with Virtualization software ● Seriously, managing PXE by hand is a pain in the neck... ● “Remember when we used to manage kickstart files by hand ?” ● “Yeah, so many hours I could have used to slack looking at cat videos...”
  • 18. Normation – CC-BY-SA normation.com 18 Usefulness ● “Can I deploy this in my company / home / toaster now ?” ● Yes ! It actually integrates well with existing machines/services. ● Just works, out of the box ● All you need is a machine, a distro CD / ISO and you're done. ● Can by used as an emergency crash recovery solution ● Used in a french company after a natural catastrophe (flood) to restore quickly a new bunch of machines back to an operationnal state. [reference needed]
  • 19. Normation – CC-BY-SA normation.com 19 Integration with existing services ● Cobbler can integrate with services like: ● Local repository mirrors ● Local DNS / TFTP / ... services ● Configuration management: CFEngine / Puppet / Chef / Ansible / ...
  • 20. Normation – CC-BY-SA normation.com 20 Protips ● When you install Cobbler, remember some important points ● SELinux is tricky ● DISABLE STP ON YOUR BRIDGES !!! ● If something fails, check your firewall. If it still fails, check again. ● Always have a sandbox environment to play with. ● KVM is a great tool, especially with libvirt ● Keep It Simple and Safe
  • 21. Normation – CC-BY-SA normation.com 21 Extensibility ● We develop Rudder, an IT automatization and conformity tool. ● Goal: Add a support for Cobbler ● Problem: Cobbler only supports Cobbler at this time ! ● Solution: Add the necessary bindings ourselves ! (All hail Python o/) Let us take a slightly more complex case... System LDAP RHN/RHM Network Virtualization Puppet Rudder
  • 23. Normation – CC-BY-SA normation.com 23 Thank you for your attention ! ( Questions time )