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
Ansibleモジュール自作入門
Search
satoken
October 28, 2018
1
570
Ansibleモジュール自作入門
satoken
October 28, 2018
Tweet
Share
More Decks by satoken
See All by satoken
やる夫Ansible.pdf
satoken
1
500
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Designing for humans not robots
tammielis
253
25k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
109
19k
Automating Front-end Workflow
addyosmani
1370
200k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Transcript
hcmD([. Ansible 自作入門
Ansible ? - Introduction: - Pythonで実装されたインフラ構成管理ツール - サーバ、DB、NW、クラウド etc -
2.7.0では2900モジュールもあるそうな - Red Hat, Debian, CentOS, OS X, any of the BSDsで動作
ラズパイで動く んじゃね?
None
動いた!
最初にやるのは もちろん
Lチカ
_人人人人人人人人人人人_ > AnsibleでGPIO操作 <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
どうやって?
ソースを読んでみる
Ansibleモジュール完全に理解した - 1モジュール、1つのファイルで構成 yumモジュール → yum.py - 実際の処理 開始: AnsibleModuleでPlaybookからパラメータを受け取る
途中: 必要な処理を行う→コマンド打ったりAPI呼んだり 終了: module.exit_json()を呼んで終了 - 開始と終了のお作法を守れば途中の処理は何してもいいのでは
数を足して返すだけ
こんな感じ
動作が理解できた ので
Lチカでけた
指定したピンと回数でLチカする gpio: setup: "OUT" pin: 18 count: 5 →GPIOモジュールを呼ぶだけ →使い道?
調子に乗って量産
小型液晶に出力
SSD1306に文字を出す SSD1306: disp_str: "ラズパイでAnsible動いた!“ →Adafruitのsampleをそのまま流用 →使い道?
BME280モジュール
BME280で温度・湿度・気圧 bme280: bus: 1 i2c_addr: 0x76 →スイッチサイエンスのsampleをそのまま流用 →使い道?
factsで値を返す
赤外線LEDで扇風機を操作
単純にON/OFFするだけ senpuuki: power_state: on →irsendコマンドをmodule.run_command()に渡してるだけ →使い道?
扇風機の状態を変えるためちゃんと changed: trueを返す
まとめ - raspberry pi に Ansible を入れることで Python、Ansibleだけでなく電子工作の知識も一通り学べる。 →Ansibleモジュールを作るために回路図を見る こういう楽しみ方もいいのではないでしょうか!
× アイディアは無限大