てくなべ (tekunabe)

ansible / network automation / 学習メモ

2020-06-01から1ヶ月間の記事一覧

[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、インターフェース、ルーティングテーブを取得するサンプル…

[Ansible] 「つまずき Ansible 【Part5】Arista EOS に何かしてみる」ふりかえり

はじめに 2020/06/13 に、YouTube Live で「つまずき Ansible 【Part5】Arista EOS に何かしてみる」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、Arista EOS の機器(cEOS-lab) への接続…

[Ansible] netconf_get モジュールで Cisco IOS XE の情報を NETCONF で取得する

はじめに 以前、restconf_get モジュールで Cisco IOS XE のインターフェース情報を取得してみる という記事で、Ansible で RESTCONF 経由で情報取得する Playbook をご紹介しました。 この記事では RESTCONF ではく、netconf_get モジュールでCisco IOS XE …

[Ansible] 変数名に使える文字

利用できない変数名を利用しようとしてハマったことはありませんでしょうか。 私はあります。 変数名に使える文字は公式ドキュメントに掲載されています。一度目を通しておくと、ハマらなくて済みそうです。 docs.ansible.com 上記は devel ブランチのドキュ…

[Ansible] 変数名を参照する際に "{{ varname }}" のようにクォーテーションで囲う理由

はじめに 2020/06/09 開催の【リモート開催】Ansibleもくもく会 (サーバ編 & NW編)2020.06 にメンターとして参加させていただきました。 いただいた質問の中に、変数名の参照の際にダブルクォーテーションで囲う場合と囲わない場合があるが必須?というも…

[Ansible] 「つまずき Ansible 【Part4】インターフェースとOSPFの設定」ふりかえり

はじめに 2020/06/06 に、YouTube Live で「つまずき Ansible 【Part4】インターフェースとOSPFの設定」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、Cisco IOS の機器に、インターフェース…

CML(VIRL2)のエラー「 Failed to start node XX: Unable to define node (Unable to clone image)」の対処

エラー内容 CML でラボ上に機器を追加して起動すると以下のエラーに遭遇しました。 Failed to start node XX: Unable to define node (Unable to clone image) XX はcsr1000v-0 などのノード名です。 エラーのポップアップ エラーのログ 原因 各種機器のイメ…

直前に実行したコマンドの最後の引数を取得する方法3つ

はじめに よく忘れてしまうのですが、直前に実行したコマンドの最後の引数を取得する方法があります。 例えば、 mkdir hoge したあとに、hoge に cd したい時に便利です。 最近、tiwtter でいくつか方法があることを知りました。 忘れる自信があるので書き留…