SlideShare una empresa de Scribd logo
1 de 31
Razor - Provision like a boss
David Lutterkort
lutter@puppetlabs.com
@lutterkort
PXE provisioning – satisfaction rating

Rage
Atrocious
Horrible
Meh

How satisfied are you with your PXE installation solution ?
(representative sample of imaginary users)
3
4
Architecture
DHCP
TFTP
Node

Server

Node

Client
Node

Node

5
Components

Server

6
Components

Server

7
Setup
DHCP
TFTP

Server

8
Discovery
DHCP
TFTP

Server

PXE

Node

9
Discovery
DHCP
TFTP

Server

P
HTT

Co

s
Fact

MK
Node

ands
mm

10
Setup
DHCP
TFTP

MK
Server

REST

Client

Node

Repo
Broke
r
Tags
Installer

Policy

11
Installation
DHCP
TFTP

MK
Server

REST

Client

Repo
Broke
r
Tags
Installer

Node

boot
re

Policy

12
Installation
DHCP
TFTP

Server

REST

Client

e
stall
in

r
Node

Repo
Broke
r
Tags
Installer

Policy

13
Installation
DHCP
TFTP

Server

REST

Client

Repo
Broke
r
Tags
Installer

plate
em
t c h t lu e
● fe
a
ore v sage
● st
s
g me ni s he d
● lo
fi
tage
● s

Node

Policy

14
Installers
DHCP
TFTP
Node

Server

Node

Client
Node

Node

15
Tags

• A named match rule
• Rules can have complex logic
[“or”,
[“in”, [“fact”, “macaddress”],
“de:ad:be:ef:00:01”,
“de:ad:be:ef:00:02”],
[“=”, “2”, [“fact”, “processorcount”]]]

16
Installer example
--# redhat.yaml
os_version: 6
description: Red Hat EL installer
boot_sequence:
1: boot_install
default: boot_local

17
Broker example
# broker.json
{
“name”: "puppet",
“broker-type”: "puppet",
“configuration”: {
“server”: "puppet.local.watzmann.net",
“certname”: …,
“environment”: “production”
}
}

18
Template example
#!ipxe
# boot_install.erb
kernel <%= repo_url(“/vmlinuz”) %> 
ks=<%= file_url(“kickstart”) %>
# os_boot.erb
hostname <%= node.hostname %>
yum -y install rubygems facter
[ $? -eq 0 ] && curl <%= log_url(“ok”) %>
|| curl <%= log_url(“fail”, :error) %>
19
Policy example
# policy.json
{
“name”: “centos”,
“repo”: { “name”: “centos-6.4” },
“installer”: { “name”: “centos” },
“broker”: { “name”: “puppet” },
“hostname”: “host${id}.example.com”,
“root_password”: “secret”,
“max_count”: 20,
“enabled”: true,
“rule_number”: 100,
“tags”: [{ “name”: “large-server”,
“rule”: [ … ] }]
}
21
The Cloudy Part
ESXi → vCenter
DHCP
TFTP
Node

Razor

Node

vCente
r

GET /broker

collect

Node

puppetlabs/
vcenter

export node details

Node
Openstack
DHCP
TFTP

Razor

puppetlabs/
openstack

Cntrl

Comp
Openstack: Controller Policy
# controller.json
{
“name”: “controller”,
“repo”: { “name”: “fedora-19” },
“installer”: { “name”: “fedora” },
“broker”: { “name”: “puppet” },
“hostname”: “controller${id}.example.com”,
“root_password”: “secret”,
“max_count”: 1,
“enabled”: true,
“rule_number”: 100,
“tags”: [{ “name”: “controller”,
“rule”: [ … ] }]
}
Openstack: Compute Policy
# compute.json
{
“name”: “compute”,
“repo”: { “name”: “fedora-19” },
“installer”: { “name”: “fedora” },
“broker”: { “name”: “puppet” },
“hostname”: “compute${id}.example.com”,
“root_password”: “secret”,
“max_count”: 1,
“enabled”: true,
“rule_number”: 90,
“tags”: [{ “name”: “compute”,
“rule”: [ … ] }]
}
Openstack: site.pp
node /controller/ {
class { 'openstack::controller':
public_address => '192.168.100.10',
public_interface => 'eth0',
private_interface => 'eth1',
…
}
}
node /compute/ {
class { 'openstack::compute':
internal_address => $::ipaddress_eth0,
…
}
}
The Future
Command and control
DHCP
TFTP
Node

Server

Node

Commands
Client
Node

Node

29
Events
DHCP
TFTP
Node

Events

Server

Node

Client
Node

Node

30
Don’t be a stranger
• Github repos (will change)
– Server:
https://github.com/puppetlabs/razor-server
– Microkernel:
https://github.com/puppetlabs/razor-el-mk

• Mailing list:
http://groups.google.com/group/puppet-razor
• IRC: #puppet-razor (freenode)
• My email: lutter@puppetlabs.com
31

Más contenido relacionado

La actualidad más candente

Arp Dan Ipconfig Syntax
Arp Dan Ipconfig  SyntaxArp Dan Ipconfig  Syntax
Arp Dan Ipconfig Syntax
guestcc37e8c
 
Computer network (10)
Computer network (10)Computer network (10)
Computer network (10)
NYversity
 
Teach your (micro)services talk Protocol Buffers with gRPC.
Teach your (micro)services talk Protocol Buffers with gRPC.Teach your (micro)services talk Protocol Buffers with gRPC.
Teach your (micro)services talk Protocol Buffers with gRPC.
Mihai Iachimovschi
 

La actualidad más candente (19)

Arp Dan Ipconfig Syntax
Arp Dan Ipconfig  SyntaxArp Dan Ipconfig  Syntax
Arp Dan Ipconfig Syntax
 
Dhcpv6 Tutorial Overview, DHCP for Ipv6 ,RFC 3315 - IETF
Dhcpv6 Tutorial Overview, DHCP for Ipv6 ,RFC 3315 - IETFDhcpv6 Tutorial Overview, DHCP for Ipv6 ,RFC 3315 - IETF
Dhcpv6 Tutorial Overview, DHCP for Ipv6 ,RFC 3315 - IETF
 
What is new in BIND 9.11?
What is new in BIND 9.11?What is new in BIND 9.11?
What is new in BIND 9.11?
 
TechTalkThursday 29.06.2017: Wie verhält sich DDoS in der Realität?
TechTalkThursday 29.06.2017: Wie verhält sich DDoS in der Realität?TechTalkThursday 29.06.2017: Wie verhält sich DDoS in der Realität?
TechTalkThursday 29.06.2017: Wie verhält sich DDoS in der Realität?
 
Linux Networking Commands
Linux Networking CommandsLinux Networking Commands
Linux Networking Commands
 
6.Routing
6.Routing6.Routing
6.Routing
 
Using routing domains / routing tables in a production network by Peter Hessler
Using routing domains / routing tables in a production network by Peter HesslerUsing routing domains / routing tables in a production network by Peter Hessler
Using routing domains / routing tables in a production network by Peter Hessler
 
Ad-Hoc Networking in Linux with Avahi
Ad-Hoc Networking in Linux with AvahiAd-Hoc Networking in Linux with Avahi
Ad-Hoc Networking in Linux with Avahi
 
Network configuration
Network configurationNetwork configuration
Network configuration
 
Computer network (10)
Computer network (10)Computer network (10)
Computer network (10)
 
ExaBGP at LINX 83
ExaBGP at LINX 83ExaBGP at LINX 83
ExaBGP at LINX 83
 
[India Merge World Tour] Meru Networks
[India Merge World Tour] Meru Networks[India Merge World Tour] Meru Networks
[India Merge World Tour] Meru Networks
 
Passive DNS Collection -- the 'dnstap' approach, by Paul Vixie [APNIC 38 / AP...
Passive DNS Collection -- the 'dnstap' approach, by Paul Vixie [APNIC 38 / AP...Passive DNS Collection -- the 'dnstap' approach, by Paul Vixie [APNIC 38 / AP...
Passive DNS Collection -- the 'dnstap' approach, by Paul Vixie [APNIC 38 / AP...
 
[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure
 
Linux networking commands
Linux networking commandsLinux networking commands
Linux networking commands
 
Writing and using php streams and sockets
Writing and using php streams and socketsWriting and using php streams and sockets
Writing and using php streams and sockets
 
Teach your (micro)services talk Protocol Buffers with gRPC.
Teach your (micro)services talk Protocol Buffers with gRPC.Teach your (micro)services talk Protocol Buffers with gRPC.
Teach your (micro)services talk Protocol Buffers with gRPC.
 
Part 2 - Local Name Resolution in Windows Networks
Part 2 - Local Name Resolution in Windows NetworksPart 2 - Local Name Resolution in Windows Networks
Part 2 - Local Name Resolution in Windows Networks
 
ZendCon 08 php 5.3
ZendCon 08 php 5.3ZendCon 08 php 5.3
ZendCon 08 php 5.3
 

Destacado

Beyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with PuppetBeyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with Puppet
lutter
 
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
lutter
 

Destacado (10)

Puppetconf 2013: Razor - provision like a boss
Puppetconf 2013: Razor - provision like a bossPuppetconf 2013: Razor - provision like a boss
Puppetconf 2013: Razor - provision like a boss
 
Beyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with PuppetBeyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with Puppet
 
Appmgmt cfgmgmtcamp-2015
Appmgmt cfgmgmtcamp-2015Appmgmt cfgmgmtcamp-2015
Appmgmt cfgmgmtcamp-2015
 
Apache Deltacloud (Linuxcon 2010)
Apache Deltacloud (Linuxcon 2010)Apache Deltacloud (Linuxcon 2010)
Apache Deltacloud (Linuxcon 2010)
 
Orchestration and the New York Subway
Orchestration and the New York SubwayOrchestration and the New York Subway
Orchestration and the New York Subway
 
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
Apache Deltacloud: Speaking EC2 and CIMI to Openstack (and others)
 
Razor, the Provisioning Toolbox - PuppetConf 2014
Razor, the Provisioning Toolbox - PuppetConf 2014Razor, the Provisioning Toolbox - PuppetConf 2014
Razor, the Provisioning Toolbox - PuppetConf 2014
 
Beyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with PuppetBeyond Golden Containers: Complementing Docker with Puppet
Beyond Golden Containers: Complementing Docker with Puppet
 
Challenges of container configuration
Challenges of container configurationChallenges of container configuration
Challenges of container configuration
 
Aeolus - Clouds Flying in Assembly
Aeolus - Clouds Flying in AssemblyAeolus - Clouds Flying in Assembly
Aeolus - Clouds Flying in Assembly
 

Similar a Razor: provision like a boss (Build-a-cloud edition)

Linux hpc-cluster-setup-guide
Linux hpc-cluster-setup-guideLinux hpc-cluster-setup-guide
Linux hpc-cluster-setup-guide
jasembo
 

Similar a Razor: provision like a boss (Build-a-cloud edition) (20)

Razor: A fresh look at provisioning by David Lutterkort
Razor:  A fresh look at provisioning by David LutterkortRazor:  A fresh look at provisioning by David Lutterkort
Razor: A fresh look at provisioning by David Lutterkort
 
DHCP Server & Client Presentation
DHCP Server & Client PresentationDHCP Server & Client Presentation
DHCP Server & Client Presentation
 
Configuring the Device as a PPPoE Client on Huawei AR1200
Configuring the Device as a PPPoE Client on Huawei AR1200Configuring the Device as a PPPoE Client on Huawei AR1200
Configuring the Device as a PPPoE Client on Huawei AR1200
 
RARP, BOOTP, DHCP and PXE Protocols
RARP, BOOTP, DHCP and PXE ProtocolsRARP, BOOTP, DHCP and PXE Protocols
RARP, BOOTP, DHCP and PXE Protocols
 
Networking For Application Developers by Roy Kim
Networking For Application Developers by Roy KimNetworking For Application Developers by Roy Kim
Networking For Application Developers by Roy Kim
 
Yeti DNS Project
Yeti DNS ProjectYeti DNS Project
Yeti DNS Project
 
IPv6 Technical Overview: Address Architecture, DHCPv6 and DNS
IPv6 Technical Overview: Address Architecture, DHCPv6 and DNSIPv6 Technical Overview: Address Architecture, DHCPv6 and DNS
IPv6 Technical Overview: Address Architecture, DHCPv6 and DNS
 
Network Test Automation - Net Ops Coding 2015
Network Test Automation - Net Ops Coding 2015Network Test Automation - Net Ops Coding 2015
Network Test Automation - Net Ops Coding 2015
 
TC Flower Offload
TC Flower OffloadTC Flower Offload
TC Flower Offload
 
Dhc pv4
Dhc pv4Dhc pv4
Dhc pv4
 
2009-03-13 Atlanda System z Council Meeting
2009-03-13 Atlanda System z Council Meeting2009-03-13 Atlanda System z Council Meeting
2009-03-13 Atlanda System z Council Meeting
 
Linux hpc-cluster-setup-guide
Linux hpc-cluster-setup-guideLinux hpc-cluster-setup-guide
Linux hpc-cluster-setup-guide
 
CCNA (R & S) Module 03 - Routing & Switching Essentials - Chapter 8
CCNA (R & S) Module 03 - Routing & Switching Essentials - Chapter 8CCNA (R & S) Module 03 - Routing & Switching Essentials - Chapter 8
CCNA (R & S) Module 03 - Routing & Switching Essentials - Chapter 8
 
Swiss IPv6 Council: Konfusion um die Router Flags
Swiss IPv6 Council: Konfusion um die Router FlagsSwiss IPv6 Council: Konfusion um die Router Flags
Swiss IPv6 Council: Konfusion um die Router Flags
 
CCNA2 Verson6 Chapter8
CCNA2 Verson6 Chapter8CCNA2 Verson6 Chapter8
CCNA2 Verson6 Chapter8
 
Cisco ios-cont
Cisco ios-contCisco ios-cont
Cisco ios-cont
 
Fb i pv6-sparchimanv1.0
Fb i pv6-sparchimanv1.0Fb i pv6-sparchimanv1.0
Fb i pv6-sparchimanv1.0
 
PLNOG16: ZTP – Zero Touch Provisioning in use, Marek Plaza
PLNOG16: ZTP – Zero Touch Provisioning in use, Marek PlazaPLNOG16: ZTP – Zero Touch Provisioning in use, Marek Plaza
PLNOG16: ZTP – Zero Touch Provisioning in use, Marek Plaza
 
DHCP(In_Linux).pptx
DHCP(In_Linux).pptxDHCP(In_Linux).pptx
DHCP(In_Linux).pptx
 
SVR402: DirectAccess Technical Drilldown, Part 2 of 2: Putting it all together.
SVR402: DirectAccess Technical Drilldown, Part 2 of 2: Putting it all together.SVR402: DirectAccess Technical Drilldown, Part 2 of 2: Putting it all together.
SVR402: DirectAccess Technical Drilldown, Part 2 of 2: Putting it all together.
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Razor: provision like a boss (Build-a-cloud edition)

Notas del editor

  1. About me: Puppet Labs since May One of the first contributors to Puppet Started Augeas Apache Deltacloud, DMTF CIMI, Red Hat for a long time
  2. Yes, this is fake data, and the survey never happened Started by EMC/VMWare Nick Weaver, Tom McSweeney EMC World 2012 PuppetConf 2012
  3. Problem: get bits onto hardware or virt machines Existing solutions: must know each system very well track MAC address vs system characteristics outside of provisioning tool do too much (or not enough)
  4. Hardware discovery microkernel + facter Classify nodes with tags Match with policy Apply installer and broker
  5. Node References policy Keeps facts (JSON) IP address Store userdata via API (JSON)
  6. - small DB size - 10&apos;s of kB per node
  7. install iPXE on TFTP download bootstrap.ipxe from server
  8. Separate MK agent from OS repo Build on EL well-known hardware support formal support offerings currently ~ 130MB
  9. Node discovery with MK and facter Use ipxe to control boot Written in Ruby Flexible tag/rule-based policy match Manage large number of nodes
  10. - Module by Chris Hoge - Known packaging issue with Openstack (dashboard/django14) - Need working DNS ! - Controller runs keystone, horizon, glance, nova, mysql, rabbitmq - Compute runs nova compute; optionally nova network, nova api, nova volume
  11. Boot locally Boot into MK register update facts Power control (IPMI) BIOS/firmware update Reinstall OS Unbind &amp; run through policy table