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
0
73
Cookbook Versioning: When Berkshelf Isn't Enough
Chris Laco
April 17, 2014
Tweet
Share
More Decks by Chris Laco
See All by Chris Laco
Ansible: An Introduction to Automation - OLF 2017
claco
0
95
Helping Your Manager Be a Better Leader for You - Ohio LinuxFest 2017
claco
0
51
Helping Your Manager Be a Better Leader for You - PghTechFest 2017
claco
1
50
Helping Your Manager Be a Better Leader for You - PyOhio 2017
claco
0
80
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
74
Ohio LinuxFest 2012: Servers So Easy A Caveman Can Do It
claco
2
160
Other Decks in Technology
See All in Technology
GISエンジニアよ 現場に行け!
sudataka
1
140
新卒(ほぼ)専業Kagglerという選択肢
nocchi1
0
1.6k
第4回 関東Kaggler会 [Training LLMs with Limited VRAM]
tascj
5
600
自治体職員がガバクラの AWS 閉域ネットワークを理解するのにやって良かった個人検証環境
takeda_h
2
350
[OCI Technical Deep Dive] OCIで生成AIを活用するためのソリューション解説(2025年8月5日開催)
oracle4engineer
PRO
0
130
kintone開発チームの紹介
cybozuinsideout
PRO
0
73k
o11yツールを乗り換えた話
tak0x00
2
1.7k
Gaze-LLE: Gaze Target Estimation via Large-Scale Learned Encoders
kzykmyzw
0
250
AIに頼りすぎない新人育成術
cuebic9bic
3
340
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
8
360
九州の人に知ってもらいたいGISスポット / gis spot in kyushu 2025
sakaik
0
210
RAID6 を楔形文字で組んで現代人を怖がらせましょう(実装編)
mimifuwa
0
170
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
How STYLIGHT went responsive
nonsquared
100
5.7k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Embracing the Ebb and Flow
colly
86
4.8k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
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