てくなべ (tekunabe)

ansible / network / automation / StackStorm

フィードバックがないというフィードバック

フィードバックがほしい ブログや登壇などのアウトプットをする理由のひとつが、フィードバックが得られることです。 わかりやすかった 自分も始めてめてみようと思った 内容が薄い もっと別のことを聞きたかった こられはすべてフィードバックですので、次…

Ansible Night in Nagoya 2019.02 に参加と登壇してきました

■ はじめに 【祝】初名古屋開催! 2019/02/15 に名古屋で「Ansible Night in Nagoya 2019.02」が開催されました。 Ansible ユーザー会によるこのイベントは、これまで東京、大阪、福岡で開催されてきましたが、今回ははじめての名古屋開催となりました。 ans…

[Ansible] INI形式の変数定義では yes や true は 文字列、True は boolean

■ はじめに いままで INI 形式のインベントリファイル内での変数は ansible_host くらいしか定義してなかったので気が付かったのですが、boolean の値を定義する場合は YAML とは異なる事情があるようです。 ansibleで変数に入れたyes/noの扱いに苦しんだ - …

[Ansible] デフォルトから変更されている設定項目を確認する方法(ansible-config dump --only-changed)

はじめに Ansible には ansible-config という、設定項目を表示するコマンドがあります。 ansible-config dump --only-changed のように、dumpサブコマンドと --only-changed オプションを付けて実行すると、デフォルトから変更されている設定項目のみを表示…

ネットワーク設定自動化に利用するインプット形式の分類(範囲、処理形式、表現形式別)

はじめに ネットワーク機器の設定変更を自動化するあたって考慮するポイントの1つは、設定情報のインプットをどのような形式にするかです。 設定情報のインプット形式は? たとえば、機器が解釈できるコマンドを直接インプットする方法もあれば、パラメータ…

ネットワーク自動化しにくい機器(TELNET/WebUI/踏み台の向こう)

はじめに netmiko、NAPALM、Ansible のように、既存のネットワークを自動化できるOSSが増えてきました。 それでもやはり、自動化しやすい機器としにくい機器があるなと考えています。 この記事では機器使用面、環境面含めてそれぞれれまとめます。 (当たり…

JANOG43 レポートその3【ハッカソン編】スタッフ兼参加者として

はじめに ハッカソン風景 2019/01/23-25 に山梨県甲府市のコラニー文化ホール(山梨県立県民文化ホール)で開催された JANOG43 Meeting in Yamanashi に参加してきました。(ハッカソンは1/22) 本ブログでは、3回に分けてレポートします。 その1 参加編 そ…

JANOG43 レポートその2【登壇編】自動化の行き着く先は?

はじめに 自動化の行き着く先は? 2019/01/23-25 に山梨県甲府市のコラニー文化ホール(山梨県立県民文化ホール)で開催された JANOG43 Meeting in Yamanashi に参加してきました。(ハッカソンは1/22) 本ブログでは、3回に分けてレポートします。 その1 参…

JANOG43 レポートその1【参加編】

はじめに 開会宣言 2019/01/23-25 に山梨県甲府市のコラニー文化ホール(山梨県立県民文化ホール)で開催された JANOG43 Meeting in Yamanashi に参加してきました。(ハッカソンは1/22) 本ブログでは、3回に分けてレポートします。 その1 参加編(本記事)…

「Ansibleもくもく会 2019.01 ネットワーク編 in 富士通」にメンターとして参加しました

はじめに 2019/01/ に Ansible のハンズオンイベント「Ansibleもくもく会 2019.01 ネットワーク編 in 富士通」が、 富士通ソリューションスクエア PLYで開催されました。 ansible-users.connpass.com 本イベントに、メンターとして参加させていただいたので…

ネットワークのテスト自動化に利用できそうなツールまとめ

はじめに サーバーのテスト自動化といえば、 Serverspec や Testinfra 、infrataster などが有名ですが、ネットワークのテスト自動化については、みんなが口をそろえて名前を出すものがないような印象です。一方で、リスクの観点から設定変更の自動化より先…

[Ansible] Junos の設定投入後に commit せずに candidate config を取得する

■ はじめに Ansible は、Juniper Junos のネットワーク機器に対応していて、情報の取得や設定変更ができます。 Junos は設定投入後に commit することによって、実際の動作に反映されます。設定変更の流れの中で、commit 前の candidate config を確認したい…

Visual Studio Code の拡張をはじめて作ったときの流れ

■ はじめに Visual Studio Code の拡張をはじめて作りました。(自分向け) marketplace.visualstudio.com この記事では、経緯や作る過程などをまとめます。 ■ 経緯 このブログもそうなのですが、Markdown を書くことがよくあります。1つ個人的な悩みがある…

ネットワーク自動化ツールの選定ポイント(Ansible、Netmiko、NAPALM、Nornir)

はじめに 近年、ネットワーク機器への作業を自動化するOSS のツールやライブラリが増えてきています。この記事では、こんな観点でツールを検討するのが良いのでは、という自分の案をまとめてみます。 例示するツールとしては、Python で実装されている Ansib…

Juniper 機器が検証できるリモートラボサービス「Juniper vLabs」の利用方法

■ はじめに: Juniper vLabs とは Juniper vLabs とは、Juniper の仮想ネットワーク機器を検証用途でリモートから利用できる、無料のラボサービス(現在BETA版)です。非常にありがたいサービスです。 用意されたトポロジの中から、利用したトポロジを予約す…

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

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

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の実行…