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
Joe Nuspl
August 12, 2021
Technology
0
60
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
78
DevOps: Reflections on a Lifetime of Learning
nvwls
0
360
DevOps: Reflections on a Lifetime of Learning
nvwls
1
340
Team Building for $39.99
nvwls
0
76
How to DevOpsDays
nvwls
0
62
Building Authoritative Resource Sets
nvwls
1
490
Other Decks in Technology
See All in Technology
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
5.5k
AI ReadyなData PlatformとしてのAutonomous Databaseアップデート
oracle4engineer
PRO
0
220
多様な事業ドメインのクリエイターへ 価値を届けるための営みについて
massyuu
1
440
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
190
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
2
910
Goに育てられ開発者向けセキュリティ事業を立ち上げた僕が今向き合う、AI × セキュリティの最前線 / Go Conference 2025
flatt_security
0
360
PLaMo2シリーズのvLLM実装 / PFN LLM セミナー
pfn
PRO
2
1k
M5製品で作るポン置きセルラー対応カメラ
sayacom
0
160
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
2
540
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
150
Azure Well-Architected Framework入門
tomokusaba
1
330
いま注目しているデータエンジニアリングの論点
ikkimiyazaki
0
620
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Side Projects
sachag
455
43k
For a Future-Friendly Web
brad_frost
180
9.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Six Lessons from altMBA
skipperchong
28
4k
Into the Great Unknown - MozCon
thekraken
40
2.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Facilitating Awesome Meetings
lara
56
6.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
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!