てくなべ (tekunabe)

ansible / network automation / 学習メモ

ansible

[Ansible] 「つまずき Ansible 【Part23】AWX をコマンドなどで操作する」ふりかえり

はじめに 2020/12/19 に、YouTube Live で「つまずき Ansible 【Part23】AWX をコマンドなどで操作する」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 今回は、AWX を画面以外で操作する方法を扱いしました。 …

[Ansible] ACI モジュールの認証情報を環境変数で指定してPlaybookをすっきりさせる

これは、Ansible Advent Calendar 2020 (Qiita版)の19日目の記事です。 はじめに Ansible には Cisco ACI の操作にも対応していて、モジュールが多数あります。 参考 Cisco ACI Guide aci_* モジュール一覧 内部的には APIC の API を利用しますが、httpapi …

[Ansible] Ansible 2.10 の次は 3.0.0 (Community Package として)

これは Ansible Advent Calendar 2020 (Adventar版) の 14日目の記事です。 はじめに 現在、コミュニティ版としての 最新安定版は Ansible 2.10 系です。 もともとのロードマップでは、Ansible 2.10 系 の次は Ansible 2.11 系でした。ですが先月、2.10 系の…

[Ansible] 「つまずき Ansible 【Part22】AWX 16.0.0 を試す」ふりかえり

はじめに 2020/12/13 に、YouTube Live で「つまずき Ansible 【Part22】AWX 16.0.0 を試す」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、先日 リリースされた AWX 16.0.0 を…

[Ansible] 「つまずき Ansible 【Part21】ansible.utils collection を試す」ふりかえり

はじめに 2020/12/12 に、YouTube Live で「つまずき Ansible 【Part21】ansible.utils collection を試す」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、先日 1.0.0 になった…

[Ansible] UI が新しくなった AWX 16.0.0 ちょっと触ってみた

かっこいい はじめに AWX 16.0.0 がリリースされました。CHANGELOG はこちら 以前から、ui_next というコードネーム?で UI の刷新が進められていましたが、AWX 16.0.0 でついにリリースされたようです。 早速触ってみて、AWX 15.0.0 との比較の観点でツイー…

[Ansible] 複数の範囲の連番でループする(例: 101 〜 105, 201 〜 205)

これは Ansible Advent Calendar 2020 (Adventar版) の 8日目の記事です。 はじめに Ansible ではループ処理する際に、with_sequence や range によって、連番を生成できます。 たとえば、user1、user2....user99 のようにユーザーを作成したいときに便利で…

[Ansible] pip であえて Ansible 2.9 系の最新版をインストールする

はじめに 現在、Python パッケージとしての Ansible の最新版は Ansible 2.10 系です。 そのため、単に pip install ansible を実行すると 2.10 系がインストールされます。 しかし、2.10 では多くのモジュールが Collection として別リポジトリの管理となっ…

[Ansible] Ansible Tower 3.8.0 リリース、Automation Hub が同梱に

はじめに Ansible Tower 3.8.0 がリリースされました。 リリースノートから個人的に気になった追加点、変更点をあげます。(詳細まだ追いきれておらず、独り言のような箇所もあります) 全体的には、組織内で content(≒ collection?) を管理する運用を支援…

[Ansible] もくもく会の Windows編 に挑戦

はじめに 2020/11/10 開催の Ansible もくもく会は、はじめて Windows 編が登場しました。 普段はメンターで参加しているのですが、今回は Windows 編に普通の参加者として参加しました。 ansible-users.connpass.com 教材と環境 コンテンツはこちら(翻訳あ…

[Ansible] タグ指定時にどのタスクが実行されるか事前に確認する(-t と --list-tasks の併用)

はじめに Playbook には、Play 単位、Task 単位など様々な単位でタグを付けることができます。タグを付けることで、Playbook 実行時に指定したタグが付いたタスクのみ実行する、といった制御ができるようになります。 タグを活用していくと「このタグを指定…

[ansible] 2.10 では pip uninstall ansible でアインストールしても ansible 基本機能と標準モジュールは残る

はじめに Ansible 2.10 から、Collection による モジュール類の配布が本格化し、2.9 までの多くのモジュール類は Collection に移行しました。 参考: Ansible 2.10 と Collection これに関連して、Python のパッケージとしては ansible と、ansible-base に…

[Ansible] Ansible Tower で実行する Playbook が外部ファイルを参照できないときは「ジョブの分離の有効化」設定を確認

はじめに Playbook 内で、Ansible Tower サーバー内の /tmp ディレクトリ内のファイルを読み込もうとしたところ、ファイルが見つからないエラーが発生しました。 "message": "Could not find or access '/tmp/hoge/fuga.yml' on the Ansible Controller.\nIf…

[Ansible/AWX] カスタム venv でジョブ実行時 ansible-playbook コマンドが No such file or directory のエラーになる

はじめに こちらの記事で紹介した方法で、ホスト側に カスタム venv を作って ansible をインストールし、awx_task コンテナにマウントさせてジョブテンプレートを実行したとろころ、以下のようなエラーが発生しました。 エラー 環境 AWX 15.0 エラー詳細 エ…

[Ansible] 「つまずき Ansible 【Part20】VSCodeでいい感じにansible-lintしたい」ふりかえり

はじめに 2020/10/24 に、YouTube Live で「つまずき Ansible 【Part20】VSCodeでいい感じにansible-lintしたい」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、今回は、Playook…

[Ansible] Best Practice に記載されていた Directory Layout は Sample Ansible setup へ移動した

Ansible 2.10 のリリースに合わせて、公式ドキュメントの一部で、ページ構成ごと変わるような変更がありました。 代表的なのは「Best Practice」というページです(2.9 版ドキュメントはこちら)、このページには Directory Layoutや、Alternative Directory…

[Ansible] Ansible Tower / AWX の API で情報取得する汎用 lookup plugin の tower_api

はじめに Ansible には、Ansible Tower や AWX の情報を取得したり、設定を行うモジュールが多数あります。 docs.ansible.com バージョンを追うごとに増えていて、対応範囲が広がっていますが、それでもまだのものもあります。 そんなときに便利そうなのが、…

[Ansible] 「つまずき Ansible 【Part19】モジュールのコードをデバッグしたい」ふりかえり

はじめに 2020/10/17 に、YouTube Live で「つまずき Ansible 【Part19】モジュールのコードをデバッグしたい」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、ANSIBLE_KEEP_REMOTE_FILES の…

[Ansible] Ansible 2.10 で pip install ansible --upgarade するとセットの collection もアップグレードされる

はじめに このブログでも何度か触れましたが、Ansible 2.10 から Python のパッケージとしては、ansible と ansible-base の2つができました。 ansible-base は基本機能と約70の標準モジュールです。ansible は ansible-base と、元標準モジュール相当の col…

[Ansible] 「つまずき Ansible 【Part18】boolean と仲良くなりたい」ふりかえり

はじめに 2020/10/10 に、YouTube Live で「つまずき Ansible 【Part18】boolean と仲良くなりたい」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、when や assert などで特にする boolean …

[Ansible] 「つまずき Ansible 【Part17】ansible 2.10 まわり」ふりかえり

はじめに 2020/09/26 に、YouTube Live で「つまずき Ansible 【Part17】Ansible 2.10 まわり」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、2020/09/22 にリリースされたの Asnible 2.10.0…

[Ansible] 複数の assert を一通り実施したあとで全結果を再 assert する

はじめに Ansible には、値が期待したした条件を満たすかどうかをチェック assert モジュールがあります(標準モジュール)。 基本的には、assert 結果が fail だとその時点で Playbook の処理が中止されます。 一方で、1つ fail しただけで止めるのではなく…

[Ansible] ansible 2.10.0 で ini のインベントリファイルのansible_becomeのbool値解釈が修正された

はじめに ini ファイル形式のインベントリファイルで指定された ansible_become 変数の値の解釈が ansible 2.10.0 で修正されました。 changelog The ansible_become value was not being treated as a boolean value when set in an INI format inventory f…

[Ansible] ansible 2.10.0 が ansible-base 2.10.1 ベースである経緯を探る

はじめに まもなく ansible 2.10.0 がリリースされる予定です。 2.10 から collection 前提の運用が始まり、ansible を取り巻くパッケージは 2つになりました。 標準モジュールのみのパッケージを ansible-base 、 ansible-base に加えて各種コレクションを…

[Ansible] 「つまずき Ansible 【Part16】モジュールの指定をFQCN表記に移行する」ふりかえり

はじめに 2020/09/20 に、YouTube Live で「つまずき Ansible 【Part16】モジュールの指定をFQCN表記に移行する」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、Asnible 2.10 と Collection …

[Ansible] role 単位で collections を指定する

はじめに Playbook 内で利用する collection のモジュールを利用する際、モジュール名を FQCN(例:cisco.ios.ios_config)で指定するほか、collections ディレクティブでまとめて指定することもできます。 現時点(2020/09/20)の最新版のドキュメントには、以…

[Ansible] モジュールの指定などを FQCN 表記に移行する手順

はじめに Ansible 2.10 から、多くのモジュールやプラグインなどが Collection へ移行しました。 collection は cisco.ios のようなドット区切りの名前空間が設けられます。その中のモジュールを利用する場合は、cisco.ios.ios_configのように指定します。こ…

[Ansible] デフォルトを gather_facts: false 扱いにする

はじめに gather_facts のデフォルトは true です。つまり、各種システム情報はデフォルトで収集されます。 実際のところは、お決まりのように gather_facts: false を指定して無効にするケースのほうが多いのではないでしょうか。 デフォルトの挙動は DEFAU…

[Ansible] collection のアップデートやバージョン指定の再インストール方法

はじめに Collection は ansible-galaxy collection install コマンドでインストールします。 ただし、現状はアップデートするための専用オプションはありません(issueはopen)。また、すでに同名の collection がインストールされている この記事では -f …

[Ansible] FQCN へのリダイレクト定義とansible とセットの collection の定義

はじめに Ansible 2.10 で Collection 運用が本格的に始まったことにより、本体側にも新しい仕組みができました。 わりと重要そうだけど埋もれそうな情報として以下の2点のリンクを掲載ます。 Ansible2.9までにあったモジュールを装飾なし表記(FQCNでない)…