SlideShare a Scribd company logo
株式会社 エーピーコミュニケーションズ
横地 晃(@akira6592)
2019/05/31
Ansible Night in Osaka 2019.05
はじめに
l 2019/05/16 に Ansible 2.8.0 がリリースされました。
l 様々な仕様変更や機能追加の中から、気になった
な点をご紹介します。
2
便利
地味に
便利
ちょっと
注意
本発表の位置づけ
3
全変更
解説ブログ
本発表
CHNAGELOG
https://github.com/ansible/ansible/blob/stable-2.8/changelogs/CHANGELOG-v2.8.rst
Porting Guide
https://docs.ansible.com/ansible/2.8/porting_guides/porting_guide_2.8.html
Commits
https://github.com/ansible/ansible/compare/v2.8.0...devel
Ansible 2.8 リリース、便利機能や注意点まとめ
https://tekunabe.hatenablog.jp/entry/2019/05/16/ansible28
⾃⼰紹介
4
名前 横地 晃
所属 株式会社エーピーコミュニケーションズ
業務 ネットワーク⾃動化関連の技術開発
@akira6592
Software Design
2018年12⽉号 Ansible 特集
https://tekunabe.hatenablog.jp
https://www.slideshare.net/akira6592/
ブログ(てくなべ)
過去発表資料
https://gihyo.jp/magazine/SD/archive/2018/201812
JANOG44 Meeting in Kobe Day3 (2019/7/26)
ここからはじめよう、運⽤⾃動化
⾃⼰紹介(最近のできごと)
5
先週 EX407 に受かりました
https://techblog.ap-com.co.jp/entry/2019/05/27/ansible_ex407
受験体験記(勉強⽅法など)
Red Hat Certificate of Expertise in Ansible Automation
内容
6
l 仕様変更・追加
l 追加プラグイン
l 追加モジュール
l まとめ
7
仕様変更・追加
8
Python Interpreter Discovery 機能
l リモートホスト上で利⽤する Python の
インタープリターを探す機能
◦ /usr/bin/python がない場合に本機能で⾒つけ出す
◦ Ansible 2.8 時点のデフォルトの挙動、将来は変更される予定
◦ 例えば RHEL8 のように /usr/bin/python がない環境
でも、ansible_python_interpreter を指定せずに、
/usr/libexec/platform-python を⾒つけ出せる
https://rheb.hatenablog.com/entry/ansible_interpreter_discovery
https://docs.ansible.com/ansible/2.8/reference_appendices/interpreter_discovery.html
便利
9
PLAY RECAP に skipped、rescued、ignored 追加
https://docs.ansible.com/ansible/2.8/porting_guides/porting_guide_2.8.html#plugins
地味に
便利
※rescue された fail は failed にカウントされなくなった
追加
10
retry file の⽣成がデフォルトで無効に
l Playbook 実⾏エラー時に、エラーホスト名
が記載される retry ファイルの⽣成が
デフォルトで無効になった
$ ansible-config dump | grep RETRY_FILES_ENABLED
RETRY_FILES_ENABLED(default) = False
https://docs.ansible.com/ansible/2.8/porting_guides/porting_guide_2.8.html#retry-file-creation-default
地味に
便利
$ ls –l
(…略…) playbook.yml
(…略…) playbook.retry
デフォルトでこれが
⽣成されなくなった
11
https://docs.ansible.com/ansible/2.8/cli/ansible.html
https://docs.ansible.com/ansible/2.8/cli/ansible-playbook.html
--su / --sudo 系オプションが削除
ちょっと
注意
削除された
オプション
--su、--su-user、--ask-su-pass
--sudo、--sudo-user 、--ask-sudo-pass
今後も利⽤できる
オプション
--become
--become-user
--become-method(sudo | su | runas | enalbe など)
--ask-become-pass
l ansible/ansible-playbook コマンドの
権限昇格オプションが --become 系に統⼀
12
l now()
◦ 第⼀引数: UTC 指定かどうか(True/False)。 デフォ
ルトは False。
◦ 第⼆引数: フォーマット
◦ 書式 https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
https://docs.ansible.com/ansible/2.8/user_guide/playbooks_templating.html#get-the-current-time
jinja2 で現在時刻を now() で取得可能に
- name: display date time
debug:
msg: "{{ now() }}" # 2019-04-29 21:03:16.958620
- name: display date time
debug:
msg: "{{ now(False, '%Y%m%d_%H%M%S') }}" # 20190429_210316
【例】
地味に
便利
13
https://docs.ansible.com/ansible/2.8/user_guide/playbooks_templating.html#get-the-current-time
jinja2 で現在時刻を now() で取得可能に
書式 どこの時刻か
now() コントロールホストの時刻
lookup('pipe', 'date') コントロールホストの時刻
ansible_facts.date_time リモートホストの fact 収集時の時刻
地味に
便利
(続き)
NEW
14
l ⼊れ⼦になった未定義のキー、インデックス
に default フィルターを利⽤可能に
https://docs.ansible.com/ansible/2.8/porting_guides/porting_guide_2.8.html#jinja-undefined-values
未定義変数へのアクセス柔軟性が向上
"{{ foo.bar.baz | default('DEFAULT') }}"
【例】foo ⾃体が未定義の場合でもこのように書ける
* 2.7 では エラー「The error was: ‘foo’ is undefined」になってしまう
{{ foo.bar.baz if (foo is defined and foo.bar is defined and foo.bar.baz is defined) else 'DEFAULT' }}
{{ ((foo | default({})).bar | default({})).baz | default('DEFAULT') }}
【参考】2.7 での実現⽅法
または
地味に
便利
15
https://github.com/ansible/ansible/pull/49737
- hosts: iosal
gather_facts: no
vars:
command: version
tasks:
- name:
ios_command:
commands:
- show version
register: "result_{{ command }}”
# ^ 変数名 result_version を期待
- name:
debug:
msg:
- "{{ result_version }}"
register でこのような
テンプレート構⽂は
使⽤できなくなった
register 変数名等でテンプレートが使⽤不可に
変数未定義エラーになってしまう
ちょっと
注意
16
https://github.com/ansible/ansible/pull/49737
register 変数名等でテンプレートが使⽤不可に
TASK [ios_command] ******************************************
[WARNING]: "register" is not templatable, but we found:
result_{{ command }}, it will not betemplated and will be used
"as is".
(…略…)
ok: [iosal1]
TASK [debug] ************************************************
fatal: [iosal1]: FAILED! => {"msg": "The task includes an
option with an undefined variable. The error was:
'result_version' is undefined¥n¥nThe error appears to be in
(…略…)
テンプレート構⽂使⽤不可のWARNING
変数未定義エラー
前述のPlaybook実⾏時
ちょっと
注意
(続き)
17
https://docs.ansible.com/ansible/2.8/plugins/connection/ssh.html
https://docs.ansible.com/ansible/2.8/porting_guides/porting_guide_2.8.html#plugins
認証情報の変数名の標準化
ちょっと
注意
ユーザー名の変数 パスワードの変数
利⽤可能 ansible_<conn-type>_user ansible_<conn-type>_password
利⽤可能だが
将来⾮推奨になる
可能性あり
ansible_<conn-type>_username ansible_<conn-type>_pass
コネクションタイプ
に⾮依存な変数
※特に理由がなければこれを利⽤
ansible_user ansible_password
<conn-type> には、コネクションタイプ ssh などが⼊る
18
https://docs.ansible.com/ansible/2.8/porting_guides/porting_guide_2.8.html#module-option-conversion-to-string
https://docs.ansible.com/ansible/2.8/reference_appendices/config.html#string-conversion-action
⽂字列変換時の WARNING
- name: command test
ios_command:
commands:
- yes
TASK [command test] *********************************************
[WARNING]: The value True (type bool) in a string field was
converted to u'True' (type string). If this does not look like
what you expect, quote the entire value to ensure it does
not change.
Playbook実⾏時
'True' という⽂字に列変換された旨の WARNING
⽂字列を指定するオプションに yes を
クォーテーションなしで指定した場合・・
ちょっと
注意
19
paramiko が同梱されなくなる
ちょっと
注意
https://docs.ansible.com/ansible/2.8/installation_guide/intro_installation.html
https://tekunabe.hatenablog.jp/entry/2019/05/19/ansible_paramiko_error
- hosts: testsv
gather_facts: no
connection: paramiko
tasks:
- name: yum test
yum:
name: httpd
paramiko を利⽤しようとすると・・
l「paramiko is not installed: No module named paramiko」というエラーに
l 必要な場合は「pip install paramiko」 でインストール
l 明⽰的に paramiko を指定していなくても、内部で利⽤されていることがある
20
Windows ホストへの SSH 接続サポート
https://speakerdeck.com/hiyokotaisa/rhtn-ansible-2-dot-8-x-windows
https://docs.ansible.com/ansible/2.8/user_guide/windows_faq.html#can-i-connect-to-windows-hosts-over-ssh
https://docs.ansible.com/ansible/2.8/user_guide/windows_setup.html#windows-ssh-setup
便利
l WinRM に加えて SSH 接続をサポート(experimental)
追加サポート
Windows
ansible_connection: ssh
ansible_connection: winrm
21
グループ名に利⽤できる⽂字の厳格化
ちょっと
注意
https://docs.ansible.com/ansible/2.8/reference_appendices/config.html#transform-invalid-group-chars
https://github.com/ansible/ansible/pull/52748
l 数字はじまりや、ハイフンなどの記号(*1)は不正
◦ TRANSFORM_INVALID_GROUP_CHARS の設定によって置換するかどうか
決める。デフォルトでは WARNING 表⽰(*2)
のみで置換しない。
正当な例 不正な例
testgroup 英字から始まる 1testgroup 数字から始まる
testgroup1 数字を含む test-group ハイフンを含む
test_group アンダーバーを含む test.group ドットを含む
*1 正規表現 ^[¥d¥W]|[^¥w] にマッチする⽂字列
*2 [DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to allow bad characters in group names by default, this will change,
but still be user configurable on deprecation. This feature will be removed in version 2.10. Deprecation warnings can be disabled by setting
deprecation_warnings=False in ansible.cfg.
[WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details
22
新規プラグイン
https://github.com/ansible/ansible/blob/stable-2.8/changelogs/CHANGELOG-v2.8.rst#new-plugins
23
https://docs.ansible.com/ansible/2.8/plugins/inventory/netbox.html
NetBox をインベントリとして利⽤可能に
l デバイスやIPアドレスなどをWebで管理
できるツール NetBox をインベントリとして
利⽤可能に
便利
24
https://docs.ansible.com/ansible/2.8/plugins/inventory/netbox.html
NetBox をインベントリとして利⽤可能に
plugin: netbox
api_endpoint: https://<endpoint>/
token: <token>
group_by: # グループ化したい定義単位(任意)
- manufacturers
- device_roles
- sites
便利
このようなファイルを
ansible-playbook などのコマンドの
-i オプションに指定
(続き)
25
https://docs.ansible.com/ansible/2.8/plugins/inventory/netbox.html
NetBox をインベントリとして利⽤可能に
$ ansible-inventory -i i_nb.yml --host cat3750-1
{
"ansible_host": "172.16.0.101",
"device_roles": [
"switch"
],
(…略…)
}
$ ansible-inventory -i i_nb.yml --graph
@all:
|--@device_roles_firewall:
| |--vsrx1
| |--vsrx2
| |--vsrx3
|--@device_roles_switch:
| |--cat3750-1
| |--cat3750-2
|--@manufacturers_cisco:
| |--cat3750-1
| |--cat3750-2
|--@manufacturers_juniper:
| |--vsrx1
| |--vsrx2
| |--vsrx3
|--@sites_my_site:
| |--cat3750-1
| |--cat3750-2
| |--vsrx1
| |--vsrx2
| |--vsrx3
|--@ungrouped:
インベントリ
としての NetBox
グループ化も可能
便利
(続き)
26
新規モジュール
Ansible 2.7 2078個
Ansible 2.8 2832個
https://github.com/ansible/ansible/blob/stable-2.8/changelogs/CHANGELOG-v2.8.rst#new-modules
27
https://docs.ansible.com/ansible/devel/modules/read_csv_module.html
https://tekunabe.hatenablog.jp/entry/2019/03/29/ansible_read_csv_intro
read_csv モジュール
l CSVファイルをリストやディクショナリとして
読み込む
- hosts: testsv
gather_facts: no
tasks:
- name: Read users
read_csv:
path: users.csv
register: users
delegate_to: localhost
# ^ 省略するとリモートのファイルを参照
- name: debug csv
debug:
msg: "{{ users }}"
"msg": {
(…略…)
"list": [
{
"gid": "500",
"name": "dag",
"uid": "500"
},
{
"gid": "500",
"name": "jeroen",
"uid": "501"
}
]
}
name,uid,gid
dag,500,500
jeroen,501,500
読み込んだ
Playbook 実⾏
地味に
便利
CSV
28
サンプル引⽤元 https://docs.ansible.com/ansible/2.8/modules/ios_bgp_module.html#examples
*_bgp モジュール
- name: configure global bgp as 64496
ios_bgp:
config:
bgp_as: 64496
router_id: 192.0.2.1
log_neighbor_changes: True
neighbors:
- neighbor: 203.0.113.5
remote_as: 64511
timers:
keepalive: 300
holdtime: 360
min_neighbor_holdtime: 360
- neighbor: 198.51.100.2
remote_as: 64498
networks:
- prefix: 198.51.100.0
route_map: RMAP_1
- prefix: 192.0.2.0
masklen: 23
address_family:
- afi: ipv4
safi: unicast
redistribute:
- protocol: ospf
id: 223
metric: 10
operation: merge
広報設定
ネイバー設定
再配布設定
* 今まではコマンドを直接指定する
ios_config で設定
便利
ios_bgp の例
29
https://docs.ansible.com/ansible/2.8/modules/list_of_cloud_modules.html#alicloud
クラウド系モジュール
便利
(⼀例)
分類 追加数(*1)
★ alicloud 2
amazon 7
azure 75
docker 11
google 33
★ podman 2
vmware 30
★: 本分類のモジュール⾃体が今回初登場
*1: ansible-doc -j コマンド出⼒によるカウント
30
まとめ
まとめ
31
l Ansible 2.8 では多数のモジュール追加や、
仕様変更、便利な機能追加のほかに、
ちょっとした注意点もありました。
l アップデートの際の参考になれば幸いです。
便利
地味に
便利
ちょっと
注意
• Python Interpreter Discovery
• NetBox をインベントリとして利⽤可能に
• retry file の⽣成がデフォルトで無効に
• read_csv モジュール
• register 変数名等でテンプレートが使⽤不可に
• グループ名に利⽤できる⽂字の厳格化
例:
参考資料
32
l CHANGELOG
l https://github.com/ansible/ansible/blob/stable-2.8/changelogs/CHANGELOG-v2.8.rst#v2-8-0
l Porting Guide
l https://docs.ansible.com/ansible/2.8/porting_guides/porting_guide_2.8.html
l 公式ブログ Ansible 2.8 情報
l https://www.ansible.com/blog/whats-new-in-red-hat-ansible-engine-2.8
l ⽇本語解説個⼈ブログ
l https://tekunabe.hatenablog.jp/entry/2019/05/16/ansible28

More Related Content

PDF
DockerとKubernetesをかけめぐる
PDF
シリコンバレーの「何が」凄いのか
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
PDF
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
PDF
Lean coffee
PDF
BuildKitの概要と最近の機能
PPTX
世界一わかりやすいClean Architecture
PPTX
UTアンチパターン
DockerとKubernetesをかけめぐる
シリコンバレーの「何が」凄いのか
コンテナの作り方「Dockerは裏方で何をしているのか?」
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
Lean coffee
BuildKitの概要と最近の機能
世界一わかりやすいClean Architecture
UTアンチパターン

What's hot (20)

PDF
Java EE から Quarkus による開発への移行について
PPTX
Dockerからcontainerdへの移行
PDF
Java仮想マシンの実装技術
PDF
マイクロサービス 4つの分割アプローチ
PPT
Cassandraのしくみ データの読み書き編
PPTX
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
PDF
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
PDF
Javaのログ出力: 道具と考え方
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PDF
What's new in Spring Batch 5
PDF
Vacuum徹底解説
PPTX
Lv1から始めるWebサービスのインフラ構築
PDF
Marp Tutorial
ODP
Guide To AGPL
PPTX
本当は恐ろしい分散システムの話
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
PPTX
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
PDF
Mavenの真実とウソ
Java EE から Quarkus による開発への移行について
Dockerからcontainerdへの移行
Java仮想マシンの実装技術
マイクロサービス 4つの分割アプローチ
Cassandraのしくみ データの読み書き編
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
Javaのログ出力: 道具と考え方
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
What's new in Spring Batch 5
Vacuum徹底解説
Lv1から始めるWebサービスのインフラ構築
Marp Tutorial
Guide To AGPL
本当は恐ろしい分散システムの話
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Mavenの真実とウソ
Ad

Similar to Ansible 2.8 アップデート情報 -機能追加と注意点- (20)

PDF
Ansible 2.0 のサマライズとこれから
PDF
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
PDF
Ansible 2.10 と Collection
PDF
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
PDF
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
PDF
Ansible handson
PDF
Ansible 入門 #01 (初心者向け)
PDF
Ansible2.0と実用例
PDF
Ansible 2.5 におけるネットワークモジュールのトピック(正式リリース版)
PPTX
ansible 社内お勉強会資料
PDF
Ansible automationplatform product updates 2021
PDF
もっと気軽に始めるAnsible
PDF
入門Ansible
PDF
Ansible 2.5 におけるネットワークモジュールのトピック(rc1版)
PDF
Ansibleは簡単なIT自動化
PDF
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
PDF
Ansible ネットワーク自動化チュートリアル (JANOG42)
PDF
はじめてAnsibleのバグ修正に協力してみた
PDF
Ansibleで始めるインフラ構築自動化
PDF
Ansible quickstart
Ansible 2.0 のサマライズとこれから
Ansible2.9 ネットワーク対応のアップデート #ansiblejp
Ansible 2.10 と Collection
Ansible ではじめる ネットワーク自動化(Ansible 2.9版)
Ansibleではじめるサーバー・ネットワークの自動化(2018/08/22)
Ansible handson
Ansible 入門 #01 (初心者向け)
Ansible2.0と実用例
Ansible 2.5 におけるネットワークモジュールのトピック(正式リリース版)
ansible 社内お勉強会資料
Ansible automationplatform product updates 2021
もっと気軽に始めるAnsible
入門Ansible
Ansible 2.5 におけるネットワークモジュールのトピック(rc1版)
Ansibleは簡単なIT自動化
Ansible とネットワーク自動化の概要(SmartCS と Ansible の連携による自動化の可能性を体験!)
Ansible ネットワーク自動化チュートリアル (JANOG42)
はじめてAnsibleのバグ修正に協力してみた
Ansibleで始めるインフラ構築自動化
Ansible quickstart
Ad

More from akira6592 (20)

PDF
新人研修資料 向き合うエンジニア
PDF
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
PDF
Ansible でお世話になっている機能と拡張
PDF
自動化の下ごしらえ
PDF
向き合うエンジニア 2020年度版
PDF
CML-Personal (VIRL2)のインストールと基本機能
PDF
BGP Unnumbered で遊んでみた
PDF
自動化ツール Ansible に触れてみよう(技術インターン)
PDF
技術ブログを書こう
PDF
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
PDF
show コマンド結果をパースする方法あれこれ #npstudy
PDF
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
PPTX
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
PPTX
向き合うエンジニア
PDF
ネットワークコンフィグ分析ツール Batfish との付き合い方
PDF
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
PDF
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
PDF
「自動化の行き着く先は?」をうけて
PDF
Ansibleでネットワーク機器の状態確認を自動化してみよう
PDF
Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)2018/10/12
新人研修資料 向き合うエンジニア
Ansible 実践ガイド第3版 ネットワーク担当としてのふりかえり #インフラエンジニアBooks
Ansible でお世話になっている機能と拡張
自動化の下ごしらえ
向き合うエンジニア 2020年度版
CML-Personal (VIRL2)のインストールと基本機能
BGP Unnumbered で遊んでみた
自動化ツール Ansible に触れてみよう(技術インターン)
技術ブログを書こう
私たちはRESTCONFでネットワーク自動化的に何が嬉しくなるのか考えてみた
show コマンド結果をパースする方法あれこれ #npstudy
はじめた自動化をどう広めるか 書籍「Fearless Change」からのヒント
はじめどころを探る自動化アセスメント(JANOG44 ここからはじめよう、運用自動化)
向き合うエンジニア
ネットワークコンフィグ分析ツール Batfish との付き合い方
Ansibleではじめるサーバー・ネットワークの自動化(2019/04版)
Ansibleではじめるサーバー・ネットワークの自動化(2019/02版)
「自動化の行き着く先は?」をうけて
Ansibleでネットワーク機器の状態確認を自動化してみよう
Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)2018/10/12

Ansible 2.8 アップデート情報 -機能追加と注意点-