てくなべ (tekunabe)

ansible / network automation / 学習メモ

2018-01-01から1年間の記事一覧

netmiko と TextFSM を利用してネットワーク機器の show コマンド結果をパースする

■ はじめに ネットワーク自動化 Python ライブラリ netmiko では、状態表示のための show コマンドや、設定変更のコマンドを実行できます。 TextFSM というパーサーと連携して、 show コマンド結果を パース して扱う事ができます。 パースされた Junos の s…

GitHub 対応オンライン IDE「GitPod」の Docker 環境をカスタマイズする

■ GitPod とは GitPod は GitHub のリポジトリを扱えるブラウザIDEです。わざわざ手元に git clone するほどでもないけれど、GitHub 標準のエディタでは寂しい時ときに便利です。無料プランで毎月100時間利用できます。 www.gitpod.io www.ksakae1216.com Gi…

[Python] venv で作成した仮想環境を --clear オプションで初期状態にクリアする

python -m venv --clear 対象の仮想環境ディレクトリ

[Azure] Azure Functions 2.0 の Function を VS Code でローカルデバッグしてから Azure へ発行する

■ はじめに Azure Functions は、Azure のサーバーレスサービスです。2018年9月に Azure Functions 2.0 が一般提供 (GA)されました。 azure.microsoft.com C# や JavaScript、Python(プレビュー)などの言語に対応していて、ローカルでのデバッグも可能です…

[VS Code] デフォルトで読み込む venv/virtualenv 環境のパス

■ はじめに VisualStudio Code (以下、VS Code)は Python の仮想環境 venv/vitualenv にも対応しています。特に設定で指定しなくても特定のディレクトリ配下の仮想環境を読み込みます。この記事ではそのパスの確認をします。 環境 macOS High Sierra 10.13.6…

[Python] pyenv と pipenv による python 仮想環境を構築する(CentOS 7 ほぼ初期状態から)

■ はじめに Python の仮想環境は、いままで virtualenv/venv のみ利用していたのですが 「2018年のPythonプロジェクトのはじめかた」という記事を見て、pyenv や pipenv 試してみようと思いました。 この記事では、準備、仮想環境の作成と復元を試したときの…

2018年の個人的ふりかえり(アウトプット編)

はじめに 今年は社外での発表やブログなどのアウトプットを強化してきました。 あとで自分が見たときに「お~」と言ってみたいのでリストにしてみます。(参考: 去年2017年版) だいぶ Ansible が多いです。 はじめに ■ 2018年発表スライド Ansible 関連 ネ…

2018年の個人的ふりかえり(越境編)

はじめに 2018年は私にとっての越境の年でした。 今までは越境という言葉はあまり使いませんでした。 しかし、今年「カイゼン・ジャーニー たった1人からはじめて、「越境」するチームをつくるまで」という本に出会い、各種イベントに参加したり、コミュニテ…

はじめて自社のアドベントカレンダーを企画したらアウトプッターが集まった話

はじめに 2018年、自社ではじめてアドベントカレンダーを企画し、枠をすべて埋めた形で無事に終了しました。 埋まった qiita.com この記事では、企画の経緯や感じたことなどをまとめたいと思います。 ※ アドベントカレンダーは本来、クリスマスまでの期間に…

[Ansible] 公式 lint ツール、ansible-lint 4.0.0 リリース。新しいドキュメントサイトやデフォルトルール追加など

■ はじめに Ansible Playbook の 書式をチェックする lint ツール ansilbe-lint のバージョン 4.0.0 が 2018/12/18 にリリースされました。 以下 changelog から引用 New documentation site docs.ansible.com/ansible-lint Additional default rules for an…

[Ansible] ios_config モジュールの backup オプションによるバックアップで意図しないバックアップファイルが削除されるバグについて (Ansible 2.7.5 現在)

■ はじめに Ansible には Cisco IOS ネットワーク機器に設定変更コマンドを実行する ios_config モジュールがあります。 ios_config モジュールには、backup という、設定変更前のコンフィグを事前に Ansible 側に保存するオプションがあります。 デフォルト…

[Ansible] ios_config モジュールの src で指定するファイルの内容には正しいインデントが必要

これは Ansible Blogger 2018 (sponsored by Red Hat) Advent Calendar 2018 の22日目の記事です。 ■ はじめに Ansible には、 Cisco IOS ネットワーク機器に対して設定変更コマンドを実行できる ios_config モジュールがあります。 ios_config モジュール…

[Bolt] エージェントレスなインフラ自動化ツール「Puppet Bolt」かんたんチュートリアル

■ はじめに Puppet Bolt はエージェントレスなインフラ自動化ツール Ansible や Chef などとよく比較される Puppet という構成管理ツールがあります。 Puppet といえばエージェント型のイメージがありますが、2018年10月にエージェントレス型の別ツール「Pup…

[nornir] 指定できるプラットフォーム名(ios / junos / eos / vyos など)

■ はじめに Python 製自動化フレームワークライブラリ nornir は、ネットワーク機器への接続に、 NAPALM や netmiko をデフォルトで利用できます。 接続の際のコネクションパラメーターとして、どのプラットフォームに接続するかを示す platform ( nornir 1.…

[Ansible] AWX から Cisco IOS と Juniper Junos を操作する

■ はじめに Ansible には GUI 付きの Ansible Tower という製品があります。そのアップストリーム版 OSS にあたるものとして AWX があります。 AWXのダッシュボード画面 この記事では、AWX から IOS と Junos の機器に対して簡単な操作(show versionの実行…

Arista EOS の検証用コンテナ版「cEOS-lab」の環境構築手順(1台編)

これは Network engineering Advent Calendar 2018 の17日目の記事です。 ■ はじめに Arista EOS には、コンテナ版の「cEOS」という製品があります。この cEOS の検証用として無償の「cEOS-lab」というものがあります。 2018年11月に開催された Red Hat Foru…

[Ansible] group_vars 配下にグループ名の「ディレクトリ」を用意すると複数の変数ファイルをまとめられる

■ はじめに 例えば、グループ名が junos の場合、 gourp_vars/junos.yml のような ファイルを用意して、グループ共通で利用する変数を定義すできます。このとき、ファイル名はグループ名(ここでは junos)を含む形式に固定されます。 応用的なやり方として、g…

[Ansible] 2018年のAnsible ネットワークモジュールのアップデートまとめ(詳細版)

これは Ansible Advent Calendar 2018 の15日目の記事です。 ■ はじめに 2018年、Ansible は 2.5、2.6、2.7 とバージョンアップを重ねてきました。ネットワーク関連では、新規対応プラットフォームやモジュールの追加の他にも、ネットワークモジュール用コネ…

[Ansible] ansible-playbook コマンドの -e (--extra-vars) オプションは変数ファイル名も指定できる

-e (--extra-vars) オプションとは ansible-playbook コマンドには、-e(または --extra-bars) という、extra vars(一番優先される変数の種類)を指定するオプションがあります。複数指定する場合は、複数の -e オプションを使用します。 ansible-playbook…

[Ansible] Playbook Debugger でタスク変数の値を変更してもタスクに反映されない現象について

■ はじめに Ansible には Playbook Debugger という、Playbook 実行時に変数の値を確認、変更などできる機能があります。 参考 Playbook Debugger 使えばきっと一目置かれるAnsibleのちょっと高度な機能 Ansible の Playbook Debugger を常に起動させる方法…

[Ansible] ios_config モジュールはデフォルトでは copy run start しない

■ デフォルトでは copy run start によるコンフィグ保存をしない Ansible には、Cisco IOS ネットワーク機器に対して設定変更などができる ios_config モジュールがあります。 lines オプションなどを利用して実行したいコマンドを指定します。 使用例 - nam…

Ansibleもくもく会を誘致して自社会場で開催した話

■ はじめに 2018/12/10 に弊社を会場として「Ansibleもくもく会 2018.12 ネットワーク編 in エーピーコミュニケーションズ」を開催しました。 ansible-users.connpass.com Ansibleもくもく会は、Ansible ユーザー会というコミュニティ主催とするハンズオンの…

トップエスイーセミナー「Infrastructure as Code によるITインフラの継続的改善」に参加してきました

iac

■ はじめに 2018/12/07 に開催された、トップエスイーセミナー「Infrastructure as Code によるITインフラの継続的改善」に参加してきました。 トップエスイーセミナーとは 社会人エンジニア向けにソフトウェア工学の教育を提供しているトップエスイーが開催…

[Ansible] null コールバックプラグインをためしてみた

はじめに:コールバックプラグインとは Ansible には コールバックプラグインという仕組みがあり、たとえば json コールバックプラグインを利用すると、ansible-playbook 実行結果の表示は JSON に変更できます。 Ansible 2.5 から null コールバックプラグ…

[Batfish] allinone イメージの Jupyter Notebook から自前のコンフィグディレクトリを利用可能にする方法

これは Batfish Advent Calendar 2018 の8日目の記事です。 ■ はじめに ネットワークコンフィグ分析ツール Batfish には公式 Docker イメージが2つあります。 イメージ1: batfish/batfish batfish 本体の イメージ イメージ2: batfish/allinone batfish 本体…

ネットワークエンジニアがはじめてプルリクを出した話(Ansible)

これは DevLOVE Advent Calendar 2018 の 6日目の記事です。 はじめに DevLOVE のコンセプトは以前は以下の2つでした。 開発の楽しさを発見しよう。広げよう。 開発の現場を前進させよう。 今年は 3つめが追加されました。 自分から越境しよう。 越境とは何…

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

これは Batfish Advent Calendar 2018 の6日目の記事です。 ネットワーク機器のコンフィグ解析ツール Batfish には、重複したインターフェースのIPアドレスを検出する機能があります。 以前は、Cisco IOS のコンフィグを対象に試しました。 tekunabe.hatenab…

[Batfish] ネットワーク名とスナップショット名の関係

これは Batfish Advent Calendar 2018 の2日目の記事です。 ■ はじめに ネットワークコンフィグ解析ツール Batfish は、ネットワーク機器のコンフィグファイルなどを読み込んで、 ACL や経路などの妥当性をチェックできます。 読み込みの際に、ネットワーク…

[Batfish/Ansible] Batfish と Ansible によるネットワークコンフィグ事前検証のウェビナーのまとめ

これは Batfish Advent Calendar 2018 の1日目の記事です。 先日、Ansible と Batfish を使ったネットワークコンフィグの事前検証についてのウェビナーがあり、Ansible 公式サイトに動画も公開されました。 この記事では、動画の内容のまとめと補足をしたい…

[Ansible] グループ変数を活用したネットワーク機器への Syslog サーバー追加

この記事は、Software Design 2018年12月号 の 特集1「[超速]入門 Ansible」内の「第3章:Ansibleでネットワーク作業も自動化」(以下、基本編)の続きです。 ソフトウェアデザイン 2018年12月号作者: 中島倫明,横地晃,齊藤秀喜,楠正憲,三廻部大,鷲北賢,くつ…