Slide 11
Slide 11 text
壁3:実行後結果の分析
- block:
- telnet:
commands: show diff run start
delegate_to: localhost
register: r
- set_fact:
_stdout: “{{ r.stdout }}”
_diff: “{ % if stdout %}差分あり{%
else %}差分無し{% endif %}”
_result: “{{ ‘NG’ if r.failed else ‘OK’ }}”
rescue:
- set_fact:
_result: ‘NG’
host, address, result, 差分
{% for host in ansible_play_hosts -%}
{% set inventory=host %}
{% set
address=hostvars[host][‘ansible_host
’] %}
{% set
result=hostvars[host][‘_result’] %}
{% set diff=hostvars[host][‘_diff’] %}
{{ inventory }},{{ address }},{{ result }},
{{ diff }}
{% endfor %}
・何も出力が無ければ差分が無いので、その結果を格納する変数を定義
・コマンドの実行の成否を確認するための変数も用意
・使用モジュール: block, set_fact, telnet
host address 疎通結果 差分
host1 1.1.1.1 OK 差分あ
り
host2 2.2.2.2 NG -
host3 3.3.3.3 OK 差分無
し
・
・
・
レポート(CSVファイル)
・1,000台分の実行ログを辿るのは無理
☞インベントリグループごとに、疎通可否/差分の有無の結果をまとめたCSVレポートを作成した