てくなべ (tekunabe)

ansible / network automation / 学習メモ

2018-10-01から1ヶ月間の記事一覧

[Batfish] 重複したインターフェースのIPアドレスを検出する(Cisco IOS編)

ネットワーク機器のコンフィグ解析ツール Batfish には、重複したインターフェースのIPアドレスを検出する機能があります。 Batfish の Python ライブラリpybatfish でいう ipOwners() に、パラメータ duplicatesOnly=True を与えたときの動作です。 以下に…

[Batfish] SRX(Junos)上の評価されないポリシーを検出する

はじめに ネットワーク機器のコンフィグ解析ツール Batfish には、読み込んだコンフィグのルーターのACLや、ファイアウォールのポリシーの中から、評価されないポリシーを検出する機能があります。 Batfish の Python ライブラリpybatfish でいう filterLine…

[Batfish] 単体の Docker イメージと pybatfish の環境構築方法

■ Batfish 公式の 2つの Docker イメージ Batfish には公式 Docker イメージが2つあります。 イメージ1: batfish/batfish batfish 本体の イメージ イメージ2: batfish/allinone batfish 本体と かんたんにお試しできる Jupyter Notebook とサンプルコンフィ…

[Batfish] ネットワーク機器のコンフィグを読み込んでルーティングなどの様々な検証ができるツール「Batfish」の紹介

■ Batfish とは: 実機に接続することなくコンフィグを検証 Batfish は、ネットワーク機器のコンフィグの様々な検証ができるツールです。 実機に接続する必要はありません。 準備したコンフィグファイルを読み込んでパースし、解析して内部でネットワーク機器…

【Ansible】ios_config モジュールでべき等性を考慮せずにコンフィグを投入する方法(match: none)

■ match オプション を none にするとべき等性を考慮しない Ansible には、Cisco IOS 機器にコンフィグ投入などができる ios_config というモジュールがあります。 このモジュールはデフォルトで、べき等性を保とうとする仕様になっています。 大まかな流れ…

【Ansible】ios_config モジュールで特権ユーザーにもかかわらず operation requires privilege escalation が発生する不具合について(2.7.1で修正)

■ 現象: 特権ユーザーにもかかわらずエラーに 特定条件下で、Ansible の ios_config モジュール使用時に、特権ユーザーを利用しているにもかかわらず、operation requires privilege escalation というエラーが表示され、Playbook の処理が中断されてしまう…

RED HAT ANSIBLE NETWORK AUTOMATION のアップデート情報(翻訳)

この翻訳記事は Ansible 公式ブログである THE INSIDE PLAYBOOK の記事、RED HAT ANSIBLE NETWORK AUTOMATION UPDATESを、筆者であるSean Cavanaughさん及びRed Hat の許可を得て翻訳したものです。 先日、今まで最大の AnsibleFest は成功を収めました。Ans…

[nornir] Python 製自動化フレームワーク「nornir」かんたんチュートリアル(Ansibleと比較しながら)

※2018/12/18 更新: nornir 2.0.0 リリース に伴い、全面的に 2.0.0 対応に更新しました。 ■ nornir とは nornir は、Python 製の新しい自動化フレームワークです。 netmiko や NAPALM も取り込んでいるため、ネットワーク機器にも対応しています。 この記事…

「インストラクショナルデザイン―教師のためのルールブック」個人的まとめ

教育資料や発表資料を、分かりやすく、効果的なものにするヒントになるかと思い「インストラクショナルデザイン―教師のためのルールブック」という本を読みました。 インストラクショナルデザイン―教師のためのルールブック作者: 島宗理出版社/メーカー: 米…

ネットワーク自動化 Python ライブラリ NAPALM 2.3.3 リリース、公式 Docker イメージ追加など

■ NAPALM 2.3.3 リリース github.com 2018/10/15 にネットワーク自動化 Python ライブラリである NAPALM 2.3.3がリリースされました。詳細は 2.3.3 CHNGELOG に記載があります。 この記事では、個人的に気になった Docker イメージの追加と、モックの利用法…

#ssmjp 2018/10 で「Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)」という発表をしました

■ Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき) 2018/10/12 開催の #ssmjp 2018/10 で「Ansibleではじめるサーバー・ネットワークの自動化 (Ansible2.7情報つき)」という発表をさせていだきました。 Ansibleではじめるサーバ…

【Ansible】データから「select * from users where name="hoge"」的な抽出ができる selectattr

SQL の where 句のように ディクショナリのリストから抽出するには selectattr を利用 以下のようなディクショナリのリストがあるとします。DBにおけるテーブルのデータのような構造です。 users: - name: yamada age: 42 - name: tanaka age: 26 - name: su…

【Ansible】pip モジュールでバージョン指定しながら複数のパッケージを指定できるようになった(Ansible 2.7新機能)

■ Ansible 2.7 で pip モジュールの name オプションで、バージョン指定しながら複数のパッケージを指定できるように Ansible の pip モジュールでは、これまで name オプションの値をリストで指定すると、pip install pkgA pkgB pkgC のように、複数のパッ…

「エンジニアの知的生産術」個人的まとめ

エンジニアの知的生産術 ──効率的に学び、整理し、アウトプットする (WEB+DB PRESS plusシリーズ)作者: 西尾泰和出版社/メーカー: 技術評論社発売日: 2018/08/10メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 「エンジニアの知的生産…

[Ansible] The invalid attribute in Playbook causes error by default in Ansible 2.7

(日本語版はこちら) Sample playbook - hosts: localhost gather_facts: no tasks: - name: invalid attribute test debug: msg: test xxxxx: yyyy # invalid attribute In Ansible version >= 2.6: WARNING $ ansible-playbook -i localhost, attr.yml [WAR…

【Ansible】ホストに到達不能だった状態を無視する ignore_unreachable について(Ansible 2.7 新機能)

■ はじめに Ansible 2.7 で、ターゲットホストに到達不能の状態を無視する ignore_unreachable キーワードが追加されました。 changelog New keyword ignore_unreachable for plays and blocks. Allows ignoring tasks that fail due to unreachable hosts, …

【Ansible】Ansible 2.7 からデフォルトで無効なタスク属性があるとエラーになる

(English version) はじめに 以下の例のように、Playbook 内に無効な属性が指定されいる場合のデフォルトの挙動が Ansible 2.7 で変更されました。 - hosts: localhost gather_facts: no tasks: - name: invalid attribute test debug: msg: test xxxxx: yyy…

【Ansible】Ansible 2.7 リリース、Mikrotik RouterOS などに対応。マルチベンダー対応コマンドモジュールの登場など、ネットワーク対応も強化

■ 1. はじめに 2018/10/04 に Ansible 2.7 がリリースされました。 pip install ansible で 2.7.0.0 がインストールされます。 Changelog https://github.com/ansible/ansible/blob/stable-2.7/changelogs/CHANGELOG-v2.7.rst#v2-7-0 ネットワーク対応につい…

【Ansible】Ansible 2.7 で追加されたネットワークモジュールのリスト(rc4)

Ansible 2.7 で追加されたネットワークモジュールのリスト(rc4版)です。 aci_interface_policy_ospf - Manage OSPF interface policies (ospf:IfPol) bigip_appsvcs_extension - Manage application service deployments bigip_cli_alias - Manage CLI ali…