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
68
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
90
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
49
Helping Your Manager Be a Better Leader for You - PyOhio 2017
claco
0
78
Helping Your Manager Be a Better Leader for You
claco
1
140
Ansible: An Introduction to Automation
claco
0
110
Testing: It's not just for your code!
claco
0
100
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
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
1
4.9k
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
3
1.6k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
ZOZOTOWN の推薦における KPI モニタリング/KPI monitoring for ZOZOTOWN recommendations
rayuron
1
750
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
360
Unlearn Product Development - Unleashed Edition
lemiorhan
PRO
2
160
Fabric 移行時の躓きポイントと対応策
ohata_ds
1
120
20240513 - 框裡框外_文學院學生如何在AI世代安身立命 @ 淡江大學
dpys
0
610
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
3
480
知っててうれしい HTTP Cookie を使ったセッション管理について
greendrop
0
100
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
290
2024年にチャレンジしたことを振り返るぞ
mitchan
0
170
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
97
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
220
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
Statistics for Hackers
jakevdp
796
220k
Scaling GitHub
holman
459
140k
Side Projects
sachag
452
42k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Rails Girls Zürich Keynote
gr2m
94
13k
A Philosophy of Restraint
colly
203
16k
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