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
66
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
77
Helping Your Manager Be a Better Leader for You - Ohio LinuxFest 2017
claco
0
49
Helping Your Manager Be a Better Leader for You - PghTechFest 2017
claco
1
44
Helping Your Manager Be a Better Leader for You - PyOhio 2017
claco
0
71
Helping Your Manager Be a Better Leader for You
claco
1
130
Ansible: An Introduction to Automation
claco
0
110
Testing: It's not just for your code!
claco
0
82
Servers So Easy A Caveman Can Do It
claco
0
59
Ohio LinuxFest 2012: Servers So Easy A Caveman Can Do It
claco
2
160
Other Decks in Technology
See All in Technology
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
Compose Compiler Metricsを使った実践的なコードレビュー
tomorrowkey
1
220
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
5
530
開発生産性大幅アップ!Postman VS Code拡張機能
nagix
2
380
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
160
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
190
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
240
Cracking the KubeCon CfP
inductor
2
250
Azureの基本的な権限管理の勉強会
yhana
0
530
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
本当のAWS基礎
toru_kubota
0
520
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
300
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
2
1.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Fireside Chat
paigeccino
21
2.6k
KATA
mclloyd
15
12k
4 Signs Your Business is Dying
shpigford
175
21k
Producing Creativity
orderedlist
PRO
337
39k
Bash Introduction
62gerente
604
210k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
7
1k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
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