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
Testing "Hardware" Cookbooks with Kitchen
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Joe Nuspl
August 12, 2021
Technology
83
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Testing "Hardware" Cookbooks with Kitchen
Slides from my Chef Conf Online 2021 presentation
Joe Nuspl
August 12, 2021
More Decks by Joe Nuspl
See All by Joe Nuspl
Lessons from 12 Years of Progress Chef Development
nvwls
0
120
DevOps: Reflections on a Lifetime of Learning
nvwls
0
430
DevOps: Reflections on a Lifetime of Learning
nvwls
1
410
Team Building for $39.99
nvwls
0
120
How to DevOpsDays
nvwls
0
90
Building Authoritative Resource Sets
nvwls
1
540
Other Decks in Technology
See All in Technology
bet_ai_day_2026_session02
agenticsec
1
280
IHV like なユースケースへのOpenID Connect 関連仕様の適用事例
optim
0
430
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
140
Bet AI Day 2026丨バクラク Autopilot、業務システムの再設計
layerx
PRO
1
440
VPCでもFloatingIPを使いたいんだ
y_kotani
1
140
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
280
指示待ちから変化に応じるClaude Codeへ!~環境からAgentへの帰り道を作る~
gotalab555
9
1.7k
AWSとAzureのマルチクラウド活用における強い味方___AWS_Kiroを使った二刀流スキル作成.pdf
duelist2020jp
1
170
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
0
700
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
25k
「ミスを許さない手順書」を作ってみた 〜 個人的にはこれ以上できることはあまりなさそう/20260827-ssmjp-operation-procedure-update
opelab
17
17k
分割40%キーボードにスムーズに入門するには
hoto17296
1
210
Featured
See All Featured
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
880
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Writing Fast Ruby
sferik
630
63k
Designing for humans not robots
tammielis
254
26k
The Invisible Side of Design
smashingmag
301
52k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
What's in a price? How to price your products and services
michaelherold
247
13k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Site-Speed That Sticks
csswizardry
13
1.5k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
460
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
570
Transcript
Testing “hardware” cookbooks with kitchen Joe Nuspl Principal Engineer, Workday
2 • Based in Portland, OR • DevOpsDays Portland organizer
• Started with chef-0.8.2 on CentOS 5.3 • https://supermarket.chef.io/cookbooks/zap • http://nvwls.github.io/ • @JoeNuspl Who am I?
3 http://fredrikdesigns.com/portfolio/growly-bear-metal/
4 https://www.easytechjunkie.com/what-is-a-rack-server.htm
5 All software should be tested
6 “I need hardware to test the cookbook”
7 Wrong! “I need hardware to test the cookbook”
8 What are you trying to test?
9
10 Trust the lower layers, test your layer
11 Correct code can fail
12 • Client does not have access to server •
Server does not export the volume to that client • Server is down for maintenance Why could this fail?
13 • There is nothing the recipe could do to
fix the failure • Focus on the real purpose of the code • Avoid the failure The recipe is correct
14 What to test?
15 • /etc/fstab • /proc/mounts Persistent Point in time State
16 • Did the cookbook configure things? • /etc/fstab •
Focus on persistent What type of testing? • Does this server fulfill its purpose? • /proc/mounts • Focus on state Integration Compliance
17 Special case kitchen?
18 Use a handler to override behavior
19 • https://www.merriam-webster.com/dictionary/feign • to give a false appearance of
: induce as a false impression feign
20 feign::nfs-mount
21 Converges!
22 • Usually means only applicable on a particular hardware
platform • Not that it CAN only run on that platform Hardware specific recipes
23 hw::dell
24 Verifies under dokken
25 Hardware logic
26 Nothing is converged
27 feign::dell
28 feign::hp
29 • ProLiant_DL380_Gen9 vs ProLiant_DL380_Gen10 • PowerEdge_R640 vs PowerEdge_R740xd Model
based logic
30 Location specific recipes
31
32 • Docker4Mac lacks autofs support • Need to mock
the autofs service Test environment limitations
33
34 Include (some) test support in utility cookbooks
35 • https://github.com/bblimke/webmock webmock
36
37
38 https://www.homelectrical.com/sites/default/files/styles/original_image/public/images/product/blg/blg- woke_up_late.jpg Flawed design?
39 • https://github.com/nvwls/feign • https://github.com/nvwls/hw • https://github.com/nvwls/chefconf21 • https://nvwls.github.io/ Thank
you!