てくなべ (tekunabe)

ansible / network automation / 学習メモ

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

[Ansible] つまずきながら進める Ansible 【Part3】ふりかえり

はじめに 2020/05/30 に、YouTube Live でつまずいきながら進める Ansible 【Part3】という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 前回までは、Ansible のインストールとインベントリファイルの作成…

[Ansible] ios_config モジュールで save_when: modified 指定時に常に changed になる原因

はじめに Cisco IOS 機器に設定コンフィグを流し込む、ios_config モジュールには、コンフィグの保存(copy running-config startup-config)する条件を指定する、save_whenをいうオプションがあります。 ここで、modified を指定すると「running-config と …

[Ansible/AWX] ジョブテンプレートやワークフロージョブテンプレートを一括削除するワンライナー

はじめに awx コマンドを利用すると、API を通じて Ansible Tower / AWX 上の 様々な操作ができます。 少し組み合わせて、ジョブテンプレートやワークフロージョブテンプレートを一括削除するワンライナーをご紹介します。 awx コマンドのインストールや接続…

[Ansible] コマンド版で使用している Playbook を Ansible Tower / AWX に載せる前にチェックしたいポイント

はじめに Ansible Tower / AWX は、GUI からジョブという実行単位を経由して、Playbook を実行します。 そのため、CLI からの対話的な操作は受け付けられません。 Ansible Tower / AWX に載せる前に他の方法に変える必要があります。 vars_prompt による対話…

[Ansible] つまずきながら進める Ansible 【Part2】ふりかえり

はじめに 2020/05/23 に、YouTube Live でつまずいきながら進める Ansible 【Part2】という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 前回の Part1(動画、ふりかえりブログ)では、Ansible のインストール、インベントリファ…

[Ansible] Ansible Tower 3.7.0 でワークフローノード作成モジュール(awx.awx.tower_workflow_job_template_node)が使えるようになった

はじめに 先日、Ansible Tower 3.7 がリリースされました。 ワークフロージョブテンプレートに対して、ワークフローノードを定義する awx.awx.tower_workflow_job_template_node が、Asnible Tower 3.6 系に対しては使えなかったのですが、3.7 に試したら使…

[Ansible] 特定バージョンの collection をインストールするには

基本コマンド collection をインストールするコマンドは ansible-galaxy collection install です。 たとえば、cisco.ios であれば以下のとおりです。 ansible-galaxy collection install cisco.ios この場合、最新の安定版リリースがインストールされます。…

AWS 上の Cisco CSR1000V インスタンスにユーザーデータを指定する

はじめに AWS で EC2 インスタンス起動時にスクリプト実行させるユーザーデータという機能があります。 サーバーが対象であれば、普通にスクリプトを書くようにコマンドを羅列すればよいわけですが、仮想ルーターなどの仮想アプライアンスの場合は、個別の指…

[Ansible] 変数優先順位の「20. role (and include_role) params」とは何なのか

はじめに Ansible は、様々な場所に変数を定義できます。便利な半面、優先順位がどうだったか混乱してしまうこともあります。 調べたいときに確認するのが、以下の公式ドキュメントのページです。 docs.ansible.com この中で、20. role (and include_role) p…

[Ansible/AWX] AWX コマンドで git プロジェクトを更新する

はじめに 先日以下のツイートを拝見しました。煩わしさ同感です。 1.新規playbookをリポジトリに追加 → 2.プロジェクト同期 → 3.ジョブテンプレートで新規playbookを選択としたい場合に、2.で同期しないとplaybook選択するプルダウンに新規playbookが出てこ…

VS Code でうっかり作業中のターミナルを終了しないための設定("terminal.integrated.confirmOnExit": "always")

はじめに VS Code には統合ターミナルという機能があり、一画面の中で何かを書いたりターミナル作業したりできて便利です。私もかなりの頻度で利用します。 ただ、ワークスペースの切り替えたりするときに、うっかり作業中のターミナルを終了されてしまい「…

[Ansible] つまずきながら進める Ansible 【Part1】ふりかえり

はじめに 2020/05/16 に、YouTube Live でつまずいきながら進める Ansible 【Part1】という配信をしました。 実際に作業しながらエラーと戦ってすすめるものです。 とりあえず目指したのは以下のアンケートで一番多かった、show コマンドの結果をファイルで…

BGP Unnumbered で遊んでみた

はじめに 2020/05/09 に、YouTube Live で「BGP Unnumbered で遊んでみた」というお話させていただきました。 BGP Unnumbered は インターフェースや BGP ネイバーの IPアドレス設定が不要な BGP の設定方法です。 IPv6 や RFC 5549 の仕組みが活用されてい…

CML-P (VIRL2) のインストールと基本機能

はじめに 2020/05/13 に、CML-Personal (VIRL2) のインストールと基本機能について、YouTube Live でお話させていただきました。 CML-Personal は、Cisco 公式のバーチャルラボ環境のソフトウェアで、仮想アプライアンス(.ova)として提供されます。IOS、IO…

[Ansible] エスケープされた JSON を正しくディクショナリにする from_json フィルター

はじめに Ansible では、結果が JSON になるタスクを実行すると、(少なくとも表示上は)エスケープされた JSON が返ってくることがあります。 この場合、構造化データのように見えて文字列なので、ディクショナリ(構造化データ)として正しく扱えません。 …

[Ansible] nclu モジュールでエラー「Error in pending config. You may want to view `net pending` on this target.」発生時はbecomeを確認

はじめに Ansible には Cumulus Linux のネットワーク管理コマンドツール nclu を扱う nclu モジュールがあります。 先日、試しに使ってみたところ以下のエラーになりました。 Error in pending config. You may want to view `net pending` on this target.…