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
29
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
38
DevOps: Reflections on a Lifetime of Learning
nvwls
0
250
DevOps: Reflections on a Lifetime of Learning
nvwls
1
250
Team Building for $39.99
nvwls
0
54
How to DevOpsDays
nvwls
0
40
Building Authoritative Resource Sets
nvwls
1
350
Other Decks in Technology
See All in Technology
MapLibreとAmazon Location Service
dayjournal
1
160
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
1
380
Cracking the KubeCon CfP
inductor
2
250
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
300
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
210
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.4k
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
390
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
320
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
640
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
670
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
230
競技としてのKaggle、役に立つKaggle
yu4u
3
1.8k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
How to name files
jennybc
65
93k
The Pragmatic Product Professional
lauravandoore
25
5.8k
Git: the NoSQL Database
bkeepers
PRO
422
63k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Rails Girls Zürich Keynote
gr2m
91
13k
Bash Introduction
62gerente
604
210k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Designing for Performance
lara
601
67k
4 Signs Your Business is Dying
shpigford
175
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!