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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Joe Nuspl
August 12, 2021
Technology
0
70
Testing "Hardware" Cookbooks with Kitchen
Slides from my Chef Conf Online 2021 presentation
Joe Nuspl
August 12, 2021
Tweet
Share
More Decks by Joe Nuspl
See All by Joe Nuspl
Lessons from 12 Years of Progress Chef Development
nvwls
0
95
DevOps: Reflections on a Lifetime of Learning
nvwls
0
380
DevOps: Reflections on a Lifetime of Learning
nvwls
1
370
Team Building for $39.99
nvwls
0
100
How to DevOpsDays
nvwls
0
72
Building Authoritative Resource Sets
nvwls
1
500
Other Decks in Technology
See All in Technology
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
380
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
380
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.9k
GitLab Duo Agent Platform × AGENTS.md で実現するSpec-Driven Development / GitLab Duo Agent Platform × AGENTS.md
n11sh1
0
140
広告の効果検証を題材にした因果推論の精度検証について
zozotech
PRO
0
180
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.8k
Digitization部 紹介資料
sansan33
PRO
1
6.8k
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
650
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
150
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
570
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
220
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
110
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Why Our Code Smells
bkeepers
PRO
340
58k
Tell your own story through comics
letsgokoyo
1
810
Information Architects: The Missing Link in Design Systems
soysaucechin
0
780
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
Deep Space Network (abreviated)
tonyrice
0
49
Ruling the World: When Life Gets Gamed
codingconduct
0
140
Measuring & Analyzing Core Web Vitals
bluesmoon
9
750
The Curious Case for Waylosing
cassininazir
0
240
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!