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
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Designing for humans not robots
tammielis
253
25k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Why Our Code Smells
bkeepers
PRO
339
57k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
A Tale of Four Properties
chriscoyier
160
23k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
RailsConf 2023
tenderlove
30
1.2k
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モジュールを作るために回路図を見る こういう楽しみ方もいいのではないでしょうか!
× アイディアは無限大