2020-01-01から1年間の記事一覧
はじめに 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 の…
はじめに このブログでも何度か触れましたが、Ansible 2.10 から Python のパッケージとしては、ansible と ansible-base の2つができました。 ansible-base は基本機能と約70の標準モジュールです。ansible は ansible-base と、元標準モジュール相当の col…
はじめに 以前の記事で、NetBox にカスタムリンクを作成する方法をご紹介しました。 tekunabe.hatenablog.jp この中で、Text や URL の項目では、オブジェクトの名前などの情報を参照できることに触れました。 画面内の説明には Reference the object as {{ …
はじめに NetBox には、各オブジェクトの画面ごとにカスタムリンクを作成できます。 netbox.readthedocs.io カスタムリンク 他のシステムへのリンクも作成できます。また、リンクやテキストにはオブジェクトの名前やJinja2構文を使って動的に変えることもで…
はじめに 2020/10/10 に、YouTube Live で「つまずき Ansible 【Part18】boolean と仲良くなりたい」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、when や assert などで特にする boolean …
はじめに NetBox には Device や Rack などの様々な管理単位のオブジェクトがあります。Django の Model で定義されいるようなので、その Model を図に出力できたら面白いなと思いました。 調べてみると、やり方がありました。 hideharaaws.hatenablog.com d…
はじめに 2020/09/26 に、YouTube Live で「つまずき Ansible 【Part17】Ansible 2.10 まわり」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、2020/09/22 にリリースされたの Asnible 2.10.0…
はじめに Ansible で、リストの中の各要素に対して一律でなにかの処理をして、別の要素を生成したいときがあります、 Python の内包表記でリストを生成するイメージです。 全く同じというわけではないのですが、map フィルターを利用すると近いことが少しで…
はじめに Ansible には、値が期待したした条件を満たすかどうかをチェック assert モジュールがあります(標準モジュール)。 基本的には、assert 結果が fail だとその時点で Playbook の処理が中止されます。 一方で、1つ fail しただけで止めるのではなく…
はじめに 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 2.10.0 がリリースされる予定です。 2.10 から collection 前提の運用が始まり、ansible を取り巻くパッケージは 2つになりました。 標準モジュールのみのパッケージを ansible-base 、 ansible-base に加えて各種コレクションを…
はじめに 2020/09/20 に、YouTube Live で「つまずき Ansible 【Part16】モジュールの指定をFQCN表記に移行する」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、Asnible 2.10 と Collection …
はじめに Playbook 内で利用する collection のモジュールを利用する際、モジュール名を FQCN(例:cisco.ios.ios_config)で指定するほか、collections ディレクティブでまとめて指定することもできます。 現時点(2020/09/20)の最新版のドキュメントには、以…
はじめに Ansible 2.10 から、多くのモジュールやプラグインなどが Collection へ移行しました。 collection は cisco.ios のようなドット区切りの名前空間が設けられます。その中のモジュールを利用する場合は、cisco.ios.ios_configのように指定します。こ…
はじめに gather_facts のデフォルトは true です。つまり、各種システム情報はデフォルトで収集されます。 実際のところは、お決まりのように gather_facts: false を指定して無効にするケースのほうが多いのではないでしょうか。 デフォルトの挙動は DEFAU…
はじめに Collection は ansible-galaxy collection install コマンドでインストールします。 ただし、現状はアップデートするための専用オプションはありません(issueはopen)。また、すでに同名の collection がインストールされている この記事では -f …
はじめに Ansible 2.10 で Collection 運用が本格的に始まったことにより、本体側にも新しい仕組みができました。 わりと重要そうだけど埋もれそうな情報として以下の2点のリンクを掲載ます。 Ansible2.9までにあったモジュールを装飾なし表記(FQCNでない)…
はじめに Ansible 2.10 あたりから、本格的に Collection によるモジュールなどの配布、運用がはじまりました。 docs.ansible.com 各モジュールやフィルターなどは、名前空間が設けられました。 たとえば、ios_config モジュールであれば、名前空間を含める…
はじめに Ansible 2.10 で path_join というフィルターが追加されました。(対応PR) Python の os.path.join のように、与えられた文字列のリストを、ディレクトリの階層、ファイル名として扱い、/ を必要に応じて補いながら連結してくれます。 通常の文字…
はじめに 2020/09/12 に、YouTube Live で「つまずき Ansible 【Part15】cli_parse モジュールで構造化データを取得する」という配信をしました。 実際に作業しながらエラーと戦って進めるシリーズです。 tekunabe.connpass.com 今回は、ansible.netcommon c…
はじめに NetBox はオープンソースの IPAM、DCIM です。 github.com たとえば、ネットワーク機器の情報を登録して、インターフェースへ IP アドレスを登録したりできます。 デフォルトでも様々な設定項目がありますが、必要に応じて追加できます。それがカス…
はじめに Playbook 内で新たに変数を定義する set_fact というモジュールがあります。 固定で簡単な値だったらよいのですが、動的に値を設定する場合は中身を確認したくなります。 そんなとき、debug モジュールで新たにタスクを作らなくても ansible-playbo…
はじめに 2020/08/26-28 に沖縄県那覇市とオンラインで開催された JANOG46 Meeting in Okinawa に参加、登壇してきました。 新型コロナウィルスの影響により、延期と開催形態(現地&オンライン)の変更を余儀なくされましたが、無事に開催されて本当に良か…