ansible
はじめに git の設定を行う git config コマンドに相当する git_config モジュールがあります。 というより、最近存在を知りました。簡単な例ですが、まとめます。 動作環境 ansible 2.9.14 Playbook git config --global user.email sakana@example.com git…
はじめに ansbile-galaxy コマンドは role や collection のインストールなどを行います。 デフォルトでは、Ansible Galaxyを参照します。 設定を変更することで、Automation Hub (レッドハット社提供の配布サービス) に変更できます。 ansible.tower collec…
はじめに 2020/12/26 に、YouTube Live で「つまずき Ansible 【Part24】2020年のふりかえり」という配信をしました。 tekunabe.connpass.com 普段は実際に作業しながら(ときには)エラーと戦って進めるシリーズです。が、今回は2020年最後ということで、今…
はじめに ネットワークモジュールを中心に使っていると、ターゲットノードではなくコントロールノード(Ansible実行サーバー)の Python を利用することが多いです。 あくまで個人の主観ですが、Ansible 自体の実行環境としての Python (ansible_playbook_py…
はじめに ternary フィルターは、対象の値が true か false かに応じて別の値を返します。 Jinja2 の if をいれる必要はありません。 この記事では、簡単なサンプルでご紹介します。 環境 ansible 2.9.14 true か false か この2値で分ける方法です。 Playbo…
はじめに group_by モジュールは、Playbook 実行中に動的にグループ化できます。 用途は色々考えられますが、この記事では、複数台の Cisco IOS 機器のバージョンを収集した上で、特定のバージョン飲みを対象とする Play を実行する例をご紹介します。 環境 …
これは、Ansible Advent Calendar 2020 (Adventar版) の 25日目の記事です。 はじめに ターゲットノードにログインするのではなく、Ansible コントロールロードからなにか処理(APIを叩くなど)をする場合、connection: local や delegate_to をあわせて指定…
これは、Ansible Advent Calendar 2020 (Adventar版) の 23日目の記事です。 はじめに YAML のマッピング(ディクショナリ)の書き方は、大きく分けて、ブロックスタイルとフロースタイルの 2つあります。 ブロックスタイルで書くケースで書くことが多いかと…
これは、Ansible Advent Calendar 2020 (Adventar版) の 22日目の記事です。 はじめに pip install ansible で Ansible 2.10 をインストールすると、2.9 まで標準で含まれたモジュールに概ね相当する Collection がセットでインストールされます。 Python の…
これは Ansible Advent Calendar 2020 (Qiita版) の 21日目の記事です。 ■ はじめに Ansible には callback plugin という仕組みがあり、結果出力の形式を変更できます。 JSON Callback Plugin もあり、Playbook の実行結果を JSON で得て、jq などと組み合…
これは、Ansible Advent Calendar 2020 (Adventar版) の 21日目の記事です。 はじめに Ansible には、ping モジュールという接続確認モジュールがあります。 コントロールノードからターゲットノードへの SSH 接続 + Python 実行までを確認します(ICMPでは…
これは、Ansible Advent Calendar 2020(Adventor版)の20日目の記事です。 はじめに 少しタイトルがわかりにくいかもしれませんが、例えばこうです。 abc という文字列を 3回繰り返し abcabcabc にする [1, 2, 3] というリストを 3回繰り返し [1, 2, 3, 1, 2,…
はじめに 2020/12/19 に、YouTube Live で「つまずき Ansible 【Part23】AWX をコマンドなどで操作する」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 今回は、AWX を画面以外で操作する方法を扱いしました。 …
これは、Ansible Advent Calendar 2020 (Qiita版)の19日目の記事です。 はじめに Ansible には Cisco ACI の操作にも対応していて、モジュールが多数あります。 参考 Cisco ACI Guide aci_* モジュール一覧 内部的には APIC の API を利用しますが、httpapi …
これは Ansible Advent Calendar 2020 (Adventar版) の 14日目の記事です。 はじめに 現在、コミュニティ版としての 最新安定版は Ansible 2.10 系です。 もともとのロードマップでは、Ansible 2.10 系 の次は Ansible 2.11 系でした。ですが先月、2.10 系の…
はじめに 2020/12/13 に、YouTube Live で「つまずき Ansible 【Part22】AWX 16.0.0 を試す」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、先日 リリースされた AWX 16.0.0 を…
はじめに 2020/12/12 に、YouTube Live で「つまずき Ansible 【Part21】ansible.utils collection を試す」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、先日 1.0.0 になった…
かっこいい はじめに AWX 16.0.0 がリリースされました。CHANGELOG はこちら 以前から、ui_next というコードネーム?で UI の刷新が進められていましたが、AWX 16.0.0 でついにリリースされたようです。 早速触ってみて、AWX 15.0.0 との比較の観点でツイー…
これは Ansible Advent Calendar 2020 (Adventar版) の 8日目の記事です。 はじめに Ansible ではループ処理する際に、with_sequence や range によって、連番を生成できます。 たとえば、user1、user2....user99 のようにユーザーを作成したいときに便利で…
はじめに 現在、Python パッケージとしての Ansible の最新版は Ansible 2.10 系です。 そのため、単に pip install ansible を実行すると 2.10 系がインストールされます。 しかし、2.10 では多くのモジュールが Collection として別リポジトリの管理となっ…
はじめに Ansible Tower 3.8.0 がリリースされました。 リリースノートから個人的に気になった追加点、変更点をあげます。(詳細まだ追いきれておらず、独り言のような箇所もあります) 全体的には、組織内で content(≒ collection?) を管理する運用を支援…
はじめに 2020/11/10 開催の Ansible もくもく会は、はじめて Windows 編が登場しました。 普段はメンターで参加しているのですが、今回は Windows 編に普通の参加者として参加しました。 ansible-users.connpass.com 教材と環境 コンテンツはこちら(翻訳あ…
はじめに Playbook には、Play 単位、Task 単位など様々な単位でタグを付けることができます。タグを付けることで、Playbook 実行時に指定したタグが付いたタスクのみ実行する、といった制御ができるようになります。 タグを活用していくと「このタグを指定…
はじめに Ansible 2.10 から、Collection による モジュール類の配布が本格化し、2.9 までの多くのモジュール類は Collection に移行しました。 参考: Ansible 2.10 と Collection これに関連して、Python のパッケージとしては ansible と、ansible-base に…
はじめに Playbook 内で、Ansible Tower サーバー内の /tmp ディレクトリ内のファイルを読み込もうとしたところ、ファイルが見つからないエラーが発生しました。 "message": "Could not find or access '/tmp/hoge/fuga.yml' on the Ansible Controller.\nIf…
はじめに こちらの記事で紹介した方法で、ホスト側に カスタム venv を作って ansible をインストールし、awx_task コンテナにマウントさせてジョブテンプレートを実行したとろころ、以下のようなエラーが発生しました。 エラー 環境 AWX 15.0 エラー詳細 エ…
はじめに 2020/10/24 に、YouTube Live で「つまずき Ansible 【Part20】VSCodeでいい感じにansible-lintしたい」という配信をしました。 実際に作業しながら(ときには)エラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、今回は、Playook…
Ansible 2.10 のリリースに合わせて、公式ドキュメントの一部で、ページ構成ごと変わるような変更がありました。 代表的なのは「Best Practice」というページです(2.9 版ドキュメントはこちら)、このページには Directory Layoutや、Alternative Directory…
はじめに Ansible には、Ansible Tower や AWX の情報を取得したり、設定を行うモジュールが多数あります。 docs.ansible.com バージョンを追うごとに増えていて、対応範囲が広がっていますが、それでもまだのものもあります。 そんなときに便利そうなのが、…
はじめに 2020/10/17 に、YouTube Live で「つまずき Ansible 【Part19】モジュールのコードをデバッグしたい」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、ANSIBLE_KEEP_REMOTE_FILES の…