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
OSSのissueから学ぶユーザサポートのノウハウ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Satoru Takeuchi
PRO
June 28, 2020
Technology
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OSSのissueから学ぶユーザサポートのノウハウ
以下動画のテキストです。
https://youtu.be/M2lZuNk2tOk
Satoru Takeuchi
PRO
June 28, 2020
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
Machine Check Exception
sat
PRO
2
37
バイナリダンプの模様を読む
sat
PRO
0
68
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
54
114-ファイルのshallow_copy.pdf
sat
PRO
2
38
113-Btrfsのスナップショット.pdf
sat
PRO
0
16
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
sat
PRO
0
59
システム強制終了時に ファイルシステムの整合性を保つ ~ ジャーナリング編 ~
sat
PRO
2
63
ファイルシステムの整合性を回復するfsck
sat
PRO
1
65
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
5.3k
Other Decks in Technology
See All in Technology
シンガポールで登壇してきます
yama3133
0
250
複数プロダクトで進めるAI機能実装 ── 実践から得たリアルな学びとロードマップ実現への挑戦 / AICon2026_yanari
rakus_dev
0
140
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
860
AI時代の開発生産性を捉え直す — 経営と現場をつなぐ「開発組織のオブザーバビリティ」— / AI Dev Ex Conference 2026
tkyowa
0
180
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
290
SRE本の知られざる名シーン / The Hidden Gems of Google SRE Book
nari_ex
1
430
41歳でAWSが好きすぎてITエンジニアになったおっさんの話
yama3133
0
140
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
4
2.4k
脱金融のフューチャー・デザイン / Future Design Beyond Finance
ks91
PRO
0
160
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
250
kaonavi Tech Night#1
kaonavi
0
120
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
1
120
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Designing Experiences People Love
moore
143
24k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
420
The World Runs on Bad Software
bkeepers
PRO
72
12k
Writing Fast Ruby
sferik
630
63k
Scaling GitHub
holman
464
140k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
900
So, you think you're a good person
axbom
PRO
2
2.1k
Facilitating Awesome Meetings
lara
57
7k
Designing Powerful Visuals for Engaging Learning
tmiket
1
450
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Transcript
OSSのissueから学ぶ ユーザサポートのノウハウ Jun 28th, 2020 Satoru Takeuchi Twitter: satoru_takeuchi 1
前置き • この動画におけるユーザサポートの定義 ◦ 自分以外のユーザが検出した問題を解決すること • スキルを磨くのが大変 ◦ 具体的なことを学べる書籍や記事が少ない ◦
OSSのissueがよい教材になるが、眺めるだけではサポート技術者の意図に気づきにくい • 私が最近解決したOSSのissueを題材にユーザサポートのノウハウを学ぶ ◦ 業務としてのユーザサポートとは異なる点が多々あるが、ここでは割愛 • 対象OSSはRook ◦ 分散ストレージCephのオーケストレータ ▪ Ceph以外もサポートするがここでは割愛 ◦ Kubernetes上で動作する • 必要な情報は動画内で適宜補足 2
もくじ • 題材とするissue • ユーザと認識を合わせる • 原因の特定と修正 • まとめ 3
もくじ • 題材とするissue • ユーザと認識を合わせる • 原因の特定と修正 • まとめ 4
題材とするissue • devicePathFilter doesn't work with /dev/disk/by-partlabel #5504 ◦ https://github.com/rook/rook/issues/5504
• 前提知識 ◦ 設定ファイルにdevicePathFilterというフィールドがある ◦ このフィールドに記載の正規表現にマッチする名前のデバイスを Cephクラスタに組み込める • 概要 ◦ あるパーティションを Cephクラスタに組み込みたい ◦ パーティションラベルをもとに udevが作ったデバイス名を使ってデバイスを指定したい ▪ /dev/disk/by-partlabel/<パーティションラベル > ▪ 「その6 デバイス名は変わりうる」 ◦ “devicePathFilter: /dev/disk/by-partlabel/CEPH_DATA”と設定ファイルに書いた ◦ RookはパーティションをCephクラスタに組み込んでくれなかった 5
もくじ • 題材とするissue • ユーザと認識を合わせる • 原因の特定と修正 • まとめ 6
ユーザと認識を合わせる • ユーザと自分の間で「解決すべき問題は何か」という認識を合わせる ◦ 何が真の問題なのか、そもそも本当にそれは問題なのか ◦ ユーザ自身が真の問題に気づいていないこともある ◦ 認識を合わせないまま先に進めると無駄になりがち •
不明点がなくなるまで確認を繰り返す ◦ 足りていない情報を要求する ▪ https://github.com/rook/rook/issues/5504#issuecomment-630720248 ◦ もらった情報の不明点を明らかにする ▪ https://github.com/rook/rook/issues/5504#issuecomment-636632604 • できれば手元で再現させる ▪ https://github.com/rook/rook/issues/5504#issuecomment-636780880 7
もくじ • 題材とするissue • ユーザと認識を合わせる • 原因の特定と修正 • まとめ 8
原因の特定 • ユーザから受け取った情報をもとに当たりをつける ◦ ログを見ると、マッチすべきはずの条件でマッチしていないのが問題だった ▪ https://github.com/rook/rook/issues/5504#issuecomment-636828176 ◦ 当該デバイスを示す名前のリストが作られていなかった ▪
https://github.com/rook/rook/blob/v1.3.6/pkg/daemon/ceph/osd/daemon.go#L378 • それでもわからなければ別の手段をとる必要がある ◦ ログを仕込んだデバッグ用バイナリの作成、デバッガの利用 ◦ 手元で再現できない場合はユーザ環境でそれらを使ってもらったり、追加情報を要求したり 9
修正 1. 単に前述のリストを作るようコードを修正、マージ • https://github.com/rook/rook/pull/5628 2. ユーザが使っているバージョンへのバックポート • https://github.com/rook/rook/pull/5689 10
Master branch V1.3 branch (ユーザが使っているバージョン ) 本バグの修正commit backport
もくじ • 題材とするissue • ユーザと認識を合わせる • 原因の特定と修正 • まとめ 11
まとめ • まずはユーザと認識を合わせる • 手元で再現できると非常に楽 • 原因究明段階からは開発者としての能力が強く問われる 12