うさラボ

お勉強と備忘録

[Ansible] expectモジュールでNW機器へのアクセスを試みる

Ansible Advent Calendar 2023の17日目の記事です。 qiita.com 概要 Ansibleを使いたいけどTelnetしか対応していないんだよね~ 踏み台アクセスってできる? といったAnsible使う上では中々の無茶ぶりを要求されることがあります(あります) Ansibleは基本的…

[Ansible] running-configをいい感じに比較をしたい(NetworkConfigを使う)

Ansible Advent Calendar 2023 10日目の記事です qiita.com 概要 Ansibleでネットワーク機器に設定をするとき、設定後に事前に用意した想定コンフィグと比較したいときがあります。 iosのshow runは、スペースの個数で階層を表していて、単純に差分を出すだ…

所属するグループ内に失敗したホストがあれば処理スキップしたい

Ansible Advent Calendar 2023 9日目の記事です。 qiita.com やりたいこと 拠点に所属する機器に対して作業をするとき同拠点内の機器でエラーがあったとき ほかの機器の後続スキップさせたいので考えてみました。 機器1と機器8で何かしらの処理が失敗すると…

AWXで作成したテキストファイルをZipに固めて手元に持ってきたい

Ansible Advent Calendar 2023の7日目の記事です。 qiita.com やりたいこと AWXで何か処理を実行した際、ログなどをテキストとして保存したいときがあります。(あります) 基本は、debugモジュールなどで実行結果に表示させればログは残せます、機器がたくさ…

Ansibleでリスト内辞書のデータをIPアドレス順にソートしたい

Ansible Advent Calendar 2023の4日目の記事です。 qiita.com 概要 リスト内辞書に定義されたIPアドレスの情報をKeyにしてソートしたかったのでやり方を考えてみました。 例えば下記のようなデータです destination: - ip: 10.0.1.1 name: 宛先2 - ip: 2.0.1…

ansible.utilsコレクションのフィルタ(keep_keys/remove_keys/replace_keys)を試す

この記事はアドベントカレンダーの20日目の記事です qiita.com はじめに 最近showコマンドの結果をパースして、パースした結果をこねくり回すことが増えてきました。 そんな中で、特定のKeyのみを残す、特定のKeyを削除する必要があり自作フィルタを使ってい…

Ansibleのカスタムフィルターを作る

この記事はエーピーコミュニケーションズ Advent Calendar 2022の16日目の記事です qiita.com やりたいこと Xmasといったらサンタですね。 大人になってからというものサンタにあっていません。 豊富なモジュールやフィルタがあるAnsibleでも サンタに会える…

え!!AnsibleでRouteのdiffを!?できらぁ!

2021Ansible Advent Calendar21日目の記事です qiita.com RoutingのDiffを取りたい ansibleでNW機器の設定変更を行った前後のルートの差分を見たい。こんな時どうしていますか? 取得した結果をシンプルに比較してしまうと、ルートのアップタイムが差分とし…

TTPでパース後の要素が一つだけでもリスト形式にする

usage-automate.hatenablog.com こちらの記事で、わからなかった下記について実装方法が分かったので書き残します パース後の要素が2個以上ある場合は自動的にリストになるようです。 要素が1個の場合リストにならないため、パース後に呼び出す際に注意が必…

ansible-navigator入門

ansible-navigatorとは ansible-navigator は、インベントリ、プレイブック、コレクションなどのAnsibleコンテンツを作成、確認、トラブルシューティングするためのコマンドベースのツールです。 今回は公式ドキュメントを参考に入門してみました ansible-na…

NW機器SSH/Telnet接続PythonライブラリのScrapliを試してみた

エーピーコミュニケーションズ Advent Calendar 2021 11日目の記事です qiita.com Scrapliとは ネットワーク機器へTelnetまたはSSHの接続するためのPythonライブラリです。 特徴としては、 簡単に始められる 速い 開発が簡単 拡張性がある(プラグ可能) トラ…

GitlabRunnerインストールしてGitlabCIを始める

この記事はGitLab Advent Calendar 2021の10日目の記事です qiita.com やりたかったこと 自動化関連の仕事を始めて、 AnsibleのPlaybookを管理するのにGitlabを利用することが増えてきました。 ただ、GitlabCIはあまり利用できていなかったので、勉強もかね…

作成したtemplateをntc-templatesにPRする

こちらは エーピーコミュニケーションズ Advent Calendar 2021 4日目の記事です qiita.com はじめに 今年の個人的な目標はOSS参加でした。 結果的に数件ですがの活動ができました。 直近に実施したntc-templatesの追加について実施した内容をまとめてみまし…

TTP(Text Template Paser)入門

やりたかったこと 前回、ntc-templateの自作に入門したので今回は同じ内容を別のパーサーで試してみます。 やることはshow ip nat translationsのパースです。 公式ドキュメント ttp.readthedocs.io Github github.com 参考にさせていただいたブログ zaki-hm…

ntc-template自作入門

ntc-templateにほしいパーサーがなかったので自作入門してみました。 やりたかったこと show ip nat translationsを実行したときに想定通りのStaticNATのエントリーが見たい 準備 環境 python Python 3.9.6 ライブラリ textfsm==1.1.2 ntc-templates==2.1.0 …

ansible-builderとansible-runnerを試してみた

はじめに anible-runnerとansible-builderは名前こそ聞いたことがあったが触ったことがありませんでした。 Pythonのスクリプトからansibleを動かしたいなと考えたときに、ansible-runnerが使えるという情報をいただいたので入門してみました。 まずは手始め…

AnsibleでNetboxを触るときのTIPS

Netboxのおさらい IPAM機能(IP/PREFIX/VLAN/VRF)とDCIM機能(Device/Rack/Power/Cable) を兼ねそろえたOSSのWebツール できることは以下 IPアドレス管理(IPAM) -IPネットワークとアドレス、VRF、およびVLAN 機器ラック-グループおよびサイトごとに整理 デバ…

AnsibleのXMLモジュールお試ししてみた

XMLモジュールお試ししたい NW機器は何かとXMLを使うことがあります (ACIやPaloaltoなど) お勉強がてらにAnsibleでXMLを操作を試してみます xmlのファイルから対象の情報を抜き取ることがゴールです。 下準備 collectionのダウンロード community.general 2.…

genie dqのcustom_filter自作してみた

ansible.utils.cli_parseで出力した辞書から任意のkeyだったりvalueだったりを取り出すのにgenieのdqを使ってみたくなりました 実装するには自分でcustom_filter作るしかなかったので試してみました Dqの説明は以下 公式ドキュメント https://pubhub.devnetc…

ネットワークリソースモジュールで遊んでみる

ネットワークリソースモジュールを有効活用したい ansible v2.9で追加されたネットワークリソースモジュールですが、いままでろくに使ったことがありませんでした。 少し時間ができたので、いろいろと試してみました。 ネットワークリソースモジュールとは …

CiscoACIのvzAny設定をAnsibleで一気に作る

vzAnyの設定がしたい、したことないからしたい そんなことを考えながら日々生き抜いていました。 なのでやりました、ホントはrole化してもっと自由に組み合わせられるように作るべきなんですが、めんどくさかったです。(意志弱め) Playbook作成前に、手動で…

CMLでUbuntu触る時初期セットアップはEDIT CONFIGでcloud-initを使うと非常に楽

CMLで構築してるいるときにあった小ネタvol.3 [備忘録]CMLでUbuntu触る時初期セットアップはEDIT CONFIGでcloud-initを使うと非常に楽write_files: ファイル内容上書き(yamlなのでインデント注意)runcmd: でコマンドを書いたら起動時に実行してくれる(注意点…

CML-PのUbuntuでSSHにつまづいた

CMLで構築してるいるときにあった小ネタvol.2 CMLで立てたUbuntuがiosにSSHできなかったときにごちゃごちゃやっていたことの備忘録 検証環境を作成時に、マネジメントアクセス用でUbuntuを作成しました。 SSHの設定を終えて、IOSvにSSHしようとしたとき下記…

CML-P Breakout-toolの使い方

CMLで構築してるいるときにあった小ネタvol.1 Breakout-toolは、ラボ環境で動作しているデバイスのコンソールポートへの接続性を提供する機能です。 イメージ図 Breakout-toolの使い方の話 CMLのBreakout-tool非常に良い! pic.twitter.com/TFnlwIIWfu— うさ…

Cisco Certified DevNet Associate 合格体験記

Cisco Certified DevNet Associate 取得しました 2020年中になんとかDevNetの資格が欲しい!と思っていたので年内ギリギリで取得して来ました! 参考になるかわかりませんが自分がやった準備を書き残したいと思います ちなみに、825点合格で825点でした(ギリ…

考えるのが嫌なのでIPアドレス計算ツール作ってみました

192.168.99.43/28のネットワークアドレスってなんだっけ IPアドレスをパッとみたときにネットワークアドレスとか利用IPなどを頭の中で計算することってありませんか? 私はよくやっていて、その度に念のためググって確認しようってなっていました。 そこでPy…

Microsoft Azure AZ-104取得しました

AZ-104合格できました 私がした勉強方法を紹介したいと思います。 少しでも参考になるとこがあれば幸いです 自分の知識レベル AZ-900は合格 業務でAzureはいっさい触ってない やったこと 速習Azure Administratorを一気読みしました。 試験の内容がまとまっ…

pyATS/genieを組み込んだスクリプト作成してみた

本記事はエーピーコミュニケーションズ Advent Calendar 2020の11日目の記事です。 qiita.com pyATSについて pyATSはCisco社製のテスト自動化ソリューションです。 pythonで書かれたOSSです。 細い情報は以下も参考にしていただければと思います。 インスト…

pyATS shellの実行

pyATS shell これまでpyATSのインストールとTestbedファイルの作成を実施してきました pyATS インストール編 - うさラボ pyATS Testbed作成 - うさラボ shellコマンドを実行することでpythonの対話型インタプリンタが起動しpyATSの機能を利用することができ…

pyATS Testbed作成

Testbedファイルとは pyATS/Genieを利用するにはTestbedと呼ばれる、宛先の情報をまとめたYAMLファイルを作成する必要があります。 作り方 私の知っている限りTestbedにはいくつかの作り方があります。 手でかく コマンドから生成する 今回はpyats create te…