Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cookbook Versioning: When Berkshelf Isn't Enough
Search
Chris Laco
April 17, 2014
Technology
78
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cookbook Versioning: When Berkshelf Isn't Enough
Chris Laco
April 17, 2014
More Decks by Chris Laco
See All by Chris Laco
Ansible: An Introduction to Automation - OLF 2017
claco
0
100
Helping Your Manager Be a Better Leader for You - Ohio LinuxFest 2017
claco
0
58
Helping Your Manager Be a Better Leader for You - PghTechFest 2017
claco
1
56
Helping Your Manager Be a Better Leader for You - PyOhio 2017
claco
0
86
Helping Your Manager Be a Better Leader for You
claco
1
150
Ansible: An Introduction to Automation
claco
0
120
Testing: It's not just for your code!
claco
0
110
Servers So Easy A Caveman Can Do It
claco
0
81
Ohio LinuxFest 2012: Servers So Easy A Caveman Can Do It
claco
2
170
Other Decks in Technology
See All in Technology
“ID沼入口” - 基本とセキュリティから始める、考え続けるためのID管理技術勉強会 告知&イントロ
ritou
0
370
感情と身体を置き去りにしない、エンジニアの生きのこり方 ──いまから、ここから「自分の状態」を扱うという選択
saorimurooka
1
450
起点・思考・出力で分解する 〜PM業務の自動化設計〜
kazu_kichi_67
2
1.2k
開発組織のAI活用レベルを可視化する「エンジニア版AI番付」の取り組み
fuzzy31u
0
100
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
グローバルチームと挑むプロダクト開発
sansantech
PRO
1
140
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.3k
FinOps X 2026 Recap from Engineer Side #JapanFinOps
chacco38
0
240
Fabricをフル活用する AI Agent Hub -製造業特化AIエージェントの設計
iotcomjpadmin
0
190
RAGの精度向上とエージェント活用
kintotechdev
2
120
product engineering with qa
nealle
0
140
Text-to-SQLをAgentCoreで実現し、生成されるSQLの精度を定量的に評価する
yakumo
2
370
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
KATA
mclloyd
PRO
35
15k
Mind Mapping
helmedeiros
PRO
1
270
Why Our Code Smells
bkeepers
PRO
340
58k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
250
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
880
The Limits of Empathy - UXLibs8
cassininazir
1
380
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
360
Believing is Seeing
oripsolob
1
160
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
440
Transcript
@claco 1 Cookbook Versioning When Berkshelf Isn’t Enough ∞ Christopher
H. Laco DevOps Engineer Rackspace
@claco 2
@claco 3
@claco 4
@claco 5
@claco 6 Libraries / Frameworks / Products / Distros Continuous
Improvement / Deployment / Delivery Release Early / Release Often Risk Management Stable Long Term Releases Producer vs. Consumer Frictions
@claco 7 Master - High (Features, Improvements, Fixes) Stable/Havana -
Medium (Improvements, Fixes) Stable/Grizzly - Low (Fixes Only) Risk Acceptance
@claco 8 25 Cookbooks* 3 Releases in 2014 14 Releases
in 2013 2 Stable Branches - Folsom / Grizzly / Havana [RPC] Cookbook Release Statistics
@claco 9 20 Cookbook Dependencies Apache, RabbitMQ, MySQL, Apt, Yum,
… 39 Releases in 2014 135 Releases in 2013 Single Stable Branch Dependency Release Statistics
@claco 10 apache2 apt aws build db erlang iptables logrotate
memcached mysql ntp openssh openssl rabbitmq rsyslog runit selinux yum 1/1/13 2/11/13 3/24/13 5/5/13 6/15/13 7/27/13 9/6/13 10/18/13 11/28/13 1/9/14 2/19/14 4/2/14 rcbops
@claco 11 apache2 apt aws build db erlang iptables logrotate
memcached mysql ntp openssh openssl rabbitmq rsyslog runit selinux yum 1/1/13 2/11/13 3/24/13 5/5/13 6/15/13 7/27/13 9/6/13 10/18/13 11/28/13 1/9/14 2/19/14 4/2/14 rcbops Havana Grizzly Folsom
@claco 12 Service Reload / Restart Changes Notify Immediately /
Delayed Changes Pending COOK Fixes Major Version Changes (YUM Split) Intermediate Changes *25 Cookbooks vs. 1 Cookbook Risk Generators
@claco 13 apache2 apt aws build db erlang iptables logrotate
memcached mysql ntp openssh openssl rabbitmq rsyslog runit selinux yum 1/1/13 2/11/13 3/24/13 5/5/13 6/15/13 7/27/13 9/6/13 10/18/13 11/28/13 1/9/14 2/19/14 4/2/14 rcbops Havana X Berkshelf Version Cook Fix Incompatibility 4.2.0 4.2.1 4.2.2
@claco 14 Good for reproducing dependencies Not for managing them
granularly (Jenkins) Death by a thousand forks (Libraries) Life with a few forks (Packages / Backports) Reduce Risk Generators Berkshelf [and Bundler]
@claco 15 Fork Cookbook / Add Upstream Remote Create Integration
Branch From Release Cherry Pick (Local & Upstream PRs) Point Berkshelf to Integration Branch Sleep At Night Berkshelforkinating
@claco 16 hub clone gmiranda23/ntp; cd ntp && hub fork
hub branch integration v1.5.0 && hub checkout integration hub cherry-pick 9411f [integration d95e6eb] [COOK-4339] Disable MONLIST cookbook "ntp", git: "claco/ntp", branch: "d95e6eb" Berkshelforkinating
@claco 17 Fork Cookbook / Add Upstream Remote Create Integration
Branch From Release Cherry Pick (Local & Upstream PRs) Point Submodules to Integration SHA Sleep At Night Submodulation
@claco 18 hub clone gmiranda23/ntp; cd ntp && hub fork
hub branch integration v1.5.0 && hub checkout integration hub cherry-pick 9411f [integration d95e6eb] [COOK-4339] Disable MONLIST hub submodule add -b d95e6eb claco/ntp ntp Submodulation
@claco 19 Fork Cookbook / Add Upstream Remotes Create New
Release Branch From Release Cherry Pick (Local & Upstream PRs) Scripted Point Berkshelf to New Version Sleep At Night Dockernating*
@claco 20 Dockernating* (Buildfile) cookbook "gmiranda23/ntp", version: "v1.5.0" changeset "9411f"
# patch "COOK-4339.patch" ! ! $ berks build $ berks package
@claco 21 Thank You ∞ Christopher H. Laco DevOps Engineer
Rackspace