てくなべ (tekunabe)

ansible / network automation / 学習メモ

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

[Ansible] 文字列にキャストして連結する演算子 ~

はじめに ~ は、文字列を連結する演算子です。 文字列の連結というと + でいいのでは?と思った方もいるかも知れません。(私もそうでした) + の場合は、型によって挙動が異なります(数字の場合は足し算)。 一方で ~ は、数字が与えられても文字列にキャ…

[Ansible] Jinja2 の select フィルターでリストから特定の型の要素を抽出する

はじめに Ansible が内部で利用しているテンプレートエンジン Jinja2 には select というフィルターがあります。(逆は reject) これまでは、Jinja2 公式ドキュメントの例のように、条件と一致する要素を抽出するものだと思っていました。 あるとき「指定…

[Ansible] 「つまずき Ansible 【Part14】ネットワーク機器のshowコマンドログ収集」ふりかえり

はじめに 2020/08/22 に、YouTube Live で「つまずき Ansible 【Part14】ネットワーク機器のshowコマンドログ収集」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、Cisco のネットワーク機器…

[Ansible] 「つまずき Ansible 【Part13】ansible-base 2.10.0 の changelog を眺める」ふりかえり

はじめに 2020/08/15 に、YouTube Live で「つまずき Ansible 【Part13】ansible-base 2.10.0 の changelog を眺める」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、デモではなく、ansible-…

[Ansible] 「つまずき Ansible 【Part12】実行順序などの制御」ふりかえり

はじめに 2020/08/08 に、YouTube Live で「つまずき Ansible 【Part12】実行順序などの制御」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、forksや、order など、実行の方式や順序などに関…

[Ansible] IPv4/v6アドレスをホストとして利用可能かどうか assert でチェックする

はじめに Ansible には、ipaddr という、IPv4/v6アドレスを扱う便利なフィルターがあります。 この記事では、与えられたIPv4/v6アドレス(プレフィックス数付き)が、ホストとして利用可能なアドレス かどうかassert するサンプルをご紹介します。 動作確認…

[Ansible] 「つまずき Ansible 【Part11】トラブルシューティング手法を試す」ふりかえり

はじめに 2020/08/01 に、YouTube Live で「つまずき Ansible 【Part11】トラブルシューティング手法を試す」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、July Tech Festa 2020 や Cloud O…

無償版 ESXi への vCenter(VCSA 7.0)の デプロイが Stage1 の 80% から進まない

はじめに タイトルオチですがまとめておきます。 この手の作業は初めてだったのですが、多くの人が通り道のようですね・・。 環境 ESXi 7.0.0b VMware vCenter Server Appliance 7.0 現象 vCenter Server Appliance 7.0 を GUI でデプロイしおうとしたところ…

[Ansible] 「AnsibleでA10 Thunder のADC機能を設定しよう!(基礎編)」に参加させていただきました

はじめに 2020/07/28 に A10ネットワークス株式会社さん主催の「【リモート勉強会】第2回:AnsibleでA10 Thunder のADC機能を設定しよう!(基礎編)」に参加させていただきました。 www.a10networks.co.jp 第1回が好評だっため、同じ内容で再度開催された…

Intel NUC 上の ESXi 7.0 に BUFFALO の USB NIC を認識させる

はじめに 先日、第10世代 Intel NUC を購入して ESXi 7.0b をインストールしました。 第10世代 Intel NUC NUC10I7FNH を買いました - てくなべ (tekunabe) 第10世代 Intel NUC への ESXi 7.0b のインストールと初期設定 - てくなべ (tekunabe) ESXi 7.0b 物…

ネットワーク自動化の勉強って何やればよい?

はじめに なんとなく興味を持って、業務としても携わっているネットワーク自動化ですが、なにをべんきょうすればよいの?と聞かれたときのために自分なりの方法をまとめておきます。 (ここにあげげたことをすべて私がマスターしているわけではありません・…

[Ansible] 記号類をURLエンコードする urlencode()

はじめに @ や などをURLエンコード(%40 や %20)したいと思い、Ansible の Filter のページ を参照しましたが、それらしいフィルターはありませでした。 ならばと思って、Jinja2 のドキュメントを見ると urlencode() というフィルターがありました。 この…

自動化に適したプログラマブルなホスト名を考える

はじめに ホスト名の付け方には、視認性や区別のしやすさ向上等の目的で、様々な工夫をされているかと思います。 自動化を前提と場合に、何か考慮するべき点があるか考えてみたのまとめます。 多く分けて以下の 2点です。 機械的に読み込みやすくしておく 機…

[Ansible] 「つまずき Ansible 【Part10】インベントリーのあれこれ」ふりかえり

はじめに 2020/07/11 に、YouTube Live で「つまずき Ansible 【Part10】インベントリーのあれこれ」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、インベントリ関する TIPS 的なことをご紹…

第10世代 Intel NUC への ESXi 7.0b のインストールと初期設定

先日購入したIntel NUC の NUC10I7FNH に、ESXi 7.0b をインストールしました。自分が行った手順を作業記録としてまとます。 【目次】 ■ カスタムイメージの作成(ESXi 7.0b + NIC ドライバ) 資材のダウンロード PowerCLI のインストール イメージの作成 ■ …

第10世代 Intel NUC NUC10I7FNH を買いました

nuc

はじめに 最近このブログの出張版としてやっている YouTube Live では、一つのマシンで CML-P や VirtualBox、それから配信ソフトである OBS Studio をいっぺんに利用することが多くあります。 メモリ 16GB の MacBook Pro を利用しているのですが、だんだん…

Ansibleについて語る会【ビヨンド勉強会#25】に参加、登壇させていただきました

はじめに 2020/07/08 に開催された Ansibleについて語る会【ビヨンド勉強会#25】 にリモート参加、登壇させていただきました。 beyondjapan.connpass.com togetter.com 発表の内容などを簡単にまとめます。 主催のビヨンドさんと勉強会について 「サーバーの…

[Ansible] 「つまずき Ansible 【Part9】Ansible Tower か AWX」ふりかえり

はじめに 2020/07/04 に、YouTube Live で「つまずき Ansible 【Part9】Ansible Tower か AWX」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、こまで作ったインベントリファイルやPlaybookな…

[Ansible] eos_command モジュールで show コマンドの結果を JSON で取得する

はじめに Arista EOS のネットワーク機器向けに、主に show コマンドを実行する eos_command というモジュールがあります。 このモジュールでは、コマンドの実行結果を JSON 形式でも取得できます。 簡単なサンプルでご紹介します。 試した限り コネクション…

[Ansible] 明示的なグループに所属しないホストが暗黙的に所属する ungrouped グループ

はじめに Ansible には、all と ungrouped というデフォルトで定義されたグループがあります。 all はすべてのホストが所属するグループです。 一方で、 ungrouped は、明示的なグループに所属さないホストが暗黙的に所属するグループです。 言葉では少しわ…

GitLab の WebIDE が開かないときの対処(external_url の修正)

はじめに GitLab には、Web ブラウザ上でファイルの修正などができる WebIDE という機能があります。 先日、WebIDE を開くためのボタンを押してもガワだけ表示されて、中身が表示されないような現象で出くわしました。 この記事では、現象と対処を簡単にまと…

[Ansible] 通常時は実行せず、タグが指定されたときのみタスクを実行する

はじめに Playbook には タグ機能があり、ansible-playbook コマンドから特定のタグを持ったタスクのみ実行できます。 タグの中には、いくつか特別なものがあります。 never タグをつけたタスクは、通常時は無視されます。他のタグをあわせて付けると、その…

[Ansible] 「つまずき Ansible 【Part8】Collection を使う」ふりかえり

はじめに 2020/06/27 に、YouTube Live で「つまずき Ansible 【Part8】Collection を使う」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、Collectionのインストールと、Collection のモジュ…

[Ansible] 「つまずき Ansible 【Part7】Ansible 2.10.0b1 でずっこける」ふりかえり

はじめに 2020/06/21 に、YouTube Live で「つまずき Ansible 【Part7】Ansible 2.10.0b1 でずっこける」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、前日リリースされた Ansible 2.10.0b1…

[Ansible] cisco.ios collection 0.0.3 リリース、ACL や OSPF などのモジュールなどが追加

はじめに 追加モジュール cisco.ios.ios_acl_interfaces cisco.ios.ios_acls cisco.ios.ios_ospfv2 cisco.ios.ios_static_routes これらモジュールを利用するには? おわりに はじめに Ansible は、Ansible 本体の標準モジュールの他に、Collection という形…

[Ansible] 「つまずき Ansible 【Part6】Juniper Junos に何かしてみる」ふりかえり

はじめに 2020/06/20 に、YouTube Live で「[つまずき Ansible 【Part6】Juniper Junos に何かしてみる(https://www.youtube.com/watch?v=jJedVzaGDRU)」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.co…

[Ansible] user01、user02・・のように数値を任意の桁数にゼロパディングする

はじめに なにか連番を生成する際に、user1、user2・・user10 ではなく、user01、user02・・のように 特定の桁数でゼロパディングしたいことはないでしょうか。 Jinja2 の filter でフォーマットするのが便利です。 動作確認環境 Ansible 2.9.9 Jinja2 2.11.…

CentOS 8.2 で dnf install python38 すると Python 3.8 がインストールできる

はじめに Red Hat Enterprise Linux 8.2 リリースノートに、yum install python38 で Python 3.8 がするっとインストールできる旨の記述をみかけました。 access.redhat.com 新しいモジュール python38 が導入されました。 先日、CentOS 8.2 もリリースされ…

[Ansible] Network Resource Module で実際に実行されるコマンドを確認する方法

はじめに Ansible のネットワークモジュールの中には、コンフィグを直接指定しないタイプのものがあります。 中でも Ansible 2.9 から追加された Network Resource Module の機能は強力です。 とはいえ、ネットワークエンジニアとしては「実際どういうコマン…

[nornir] NETCONF で Cisco IOS XE 機器のコンフィグや状態の情報を取得する

はじめに Python 製自動化フレームワーク nornir は、接続方法として netmikoや、NAPALM の他に、NETCONF にも対応しています。 この記事では NETCONF 経由で、Cisco IOS XE 機器の runnin-config、インターフェース、ルーティングテーブを取得するサンプル…