Ansible
本エントリは「Ansible Advent Calendar 2025」の18日目のエントリです。 今回はおそろしく速いシリーズじゃないです。 EEカスタムイメージのビルドについては、GitHub Actionsを使った自動ビルドと、AWSのCodeDeployを使った自動ビルドは以前試してみてたけ…
本エントリは「Ansible Advent Calendar 2025」の17日目のエントリです。 IDの採番という業務でありがちだけど割とマニアックな処理を実装してみたけれど、13日目の穴埋めに投下したエントリに続いて速度ネタになってしまった(笑) やりたいこと 何が難しい?…
本エントリは「Ansible Advent Calendar 2025」の13日目のエントリです。 ちなみにEmacs育ちなのでCtrl-a/e/n/pなどの基本的なカーソル移動は(bashでも使うので)当然、Ctrl-x 4 aでChangelogドキュメントの自動作成など、たいていの操作は(脳は忘れてるけど)…
2025.12.16:AWXの場合を追記 AAP(Ansible Automation Platform)のAutomation Controller標準機能の設定で(Container Registryの認証情報でSSL検証をオフにしておけば)できると思っていたら実はできなかったので、回避策について調べてみた。 結論としては、…
Ansible Builderを使ったイメージビルドでAutomation Hub(console.redhat.com)のコレクションをインストールする場合の定義ファイルについて。 条件として、各定義ファイル内に認証情報を記述せずに実行時に外部から指定し、バージョン管理対象のファイルに…
手順をあまりよくわかっていなかったのでまとめた。 認証設定 インストール 参考 EEのイメージビルドする場合 認証設定 ansible.cfgに記載する。 以下はパブリックアクセスできるAnsible Galaxyと、Automation Hubを併用する場合。 [galaxy] server_list = r…
AAP 2.5からControllerとPlatform Gatewayに分かれた関係で、ユーザー作成周りの処理(エンドポイント)に変更があり、以前までのモジュールだとAAP 2.5に対しては正常に動作しなくなっている。 結論としては、「組織」「チーム」「ユーザー」に関する操作はan…
何を今頃という感じもあるけど、ansible-core 2.11で split フィルターが導入されている。 それ以前(2.10以前)はPythonのsplit()組み込み関数を文字列変数に使うしかなかったので、よりAnsibleっぽい書き方ができるようになっている。 docs.ansible.com フィ…
おそらくpipxやuvを完全に理解したらもっと良い構成にできるかもしれないけど、今はこれが精一杯。 ※ 2025.12.13追記:uv連携バージョンを以下にアップしました。 zaki-hmkc.hatenablog.com miseで直接ansibleやansible-coreをインストールできるけど、依存…
以前まとめた以下の「テンプレートの作成」をAnsibleで自動化する、という話。 zaki-hmkc.hatenablog.com 作業するのは年に数回なんでいつも心温まる手作業だったけど、コマンドの実行回数が6回くらいあってさすがに回を重ねるとダルくなってきたため、シェ…
AWX/AAP上にジョブテンプレートのスケジュールを定義するこんなplaybook - name: create schedule awx.awx.schedule: name: sample job template schedule unified_job_template: sample job template rrule: "{{ query('awx.awx.schedule_rruleset', start_…
NetBoxのダイナミックインベントリは以前さわったときに使い方を以下にざっくりまとめてた。 zaki-hmkc.hatenablog.com 今回はインベントリファイルというより接続情報の書き方についておさらい。 基本的な書き方 環境変数を使った外部からの変数指定 AWX/AA…
以前まとめた以下の「[AWX / AAP] ジョブの実行をリモートのKubernetesクラスタで行う」内容はwebのUIで手動で設定するものだったが、本記事ではこの設定操作をplaybookで自動化する方法についてのメモ。 zaki-hmkc.hatenablog.com 大きな流れとしては以下の…
Ansibleでroot権限でタスクを実行したい場合はbecomeキーワードを使えばいいが、本質的にはこの仕組みは任意のユーザー権限でタスクを実行するもの。 root権限で処理されるのは、いくつかの関連パラメタを省略するとデフォルトでroot権限で動くようになって…
Ansibleでタスクを実行するリモートホストで追加のPythonパッケージが必要な場合に、プレイの中でまずpipでパッケージを入れるタスクを実行した上で依存パッケージが必要なタスク実行を一気通貫で処理する、というもの。 ありがちな例としては、ローカルホス…
AnsibleのCommunity.GeneralコレクションにはProxmoxVEを操作するためにモジュールがいくつか含まれており、これを使ってVMを作ったり、作成済みテンプレートからクローンしたりできる。 特にクラウドイメージを使ったVMのクローンにおける追加パッケージイ…
お題:以下の内容のテキストを出力したい。 {{ username }} {{ password }} Jinja2で変数参照する際は、{{ 変数名 }} と記述するため、{はそのままでは出力することはできません。 2通りの方法があるのでそのやり方についてメモ。 詳細はJinja2のEscapingの…
Ansibleクックブックの「2-3-3 パスワードをハッシュ化する」にも載っているpassword_hashフィルターで発生したエラーについて簡単にまとめ。 docs.ansible.com Ansible10 (ansible-core 2.17)の場合 Ansible9 (ansible-core 2.16)の場合 どういうこと? 環…
先日AAP/AWXの通知機能でSlack連携をまとめたので、ついでにPlaybookのタスクから任意のメッセージを通知する方法について。 使うモジュールは以下 docs.ansible.com たとえばAAP/AWX構築Playbookで資材内にSlackのトークンを持っているのであれば、ついでに…
AAP(Controller)とAWXには「通知」の機能の一つ(連携先の一つ)としてSlackにジョブの起動・終了(成功・失敗)等を通知することができる。 大まかな流れは以下の通り。 Slackに投稿用botを用意しトークンを作成 作成したトークンを使ってAWX/AAPに通知リソース…
最近AAPのインストーラーの新しいバージョンをダウンロードしようとしたら、見慣れない「Tech Preview: Ansible Automation Platform 2.4 Containerized Setup」というインストーラが(日付を見る限り1月の時点ですでに)あったので試してみた。 access.redhat…
原因 現在標準のquay.io/sclorg/postgresql-15-c9s:latestはUID 26で動くので、「UID 26のユーザーがRead/Writeできない領域のボリュームへのバックアップ」が失敗する。 例えば↓のような「rootか特定のUIDでないと書き込めないNFSサーバー領域」とかね。 ro…
プライベートではGitHub Actions使ったEEの自動ビルドを1年前に試したけど、業務だとCodeCommit環境を使ってたりするので、せっかくなのでAWSのサービスを使ったビルド環境を試してみた。 初めに軽く検索した感じだと、CodeBuildではコンテナで処理がされる…
2024.04.11追記 forum.ansible.com AWX 24.2.0とAWX Operator 2.15.0がリリースされ、GitHub Container Registryにしかなかったarm64版awxイメージがquay.ioからもpullできるようになりました。 image repository tag awx-operator quay.io/ansible/awx-oper…
2年前にKubernetesで動くAWXをarmアーキテクチャのホストで動かそうとした際には、armプラットフォーム用のコンテナイメージが何一つ用意されてなく全部自前でビルドしてた。が、2024年現在、状況が結構変わってかなり簡単になってたので、今時点でどうすれ…
Terraformでインフラをプロビジョニングしたあとに上物に対してAnsibleで何か(アプリをインストールしたりデータを投入したり)処理をするようなことが多いので、AnsibleからTerraformを実行するようにして一発で処理できるようにするにはどうするか実装を確…
ロギング設定にログアグリゲーターを指定して、リモートのsyslogへジョブの実行履歴を転送してみます。 通常AWX・AAPではDBに記録されたジョブの実行履歴などはスケジュールのCleanup Job Scheduleで設定された期限が過ぎたら削除されるので、基本的にはUIで…
AAPやAWXでジョブ実行に必要なExecution Environments(EE)を作るために通常はAnsible Builderを使ってコンテナイメージをビルドするが、要件を満たせばDockerfileを直接書いて自前でビルドしても動くのでは…と思ったので確認してみた。 結論としては、以下が…
本エントリは「エーピーコミュニケーションズ Advent Calendar 2023」の24日目のエントリです。クリスマスイブは一切関係ないネタです。 Ansible Automation PlatformのAutomation Controller(旧Ansible Tower / 以下AAP)やAWXはGUIでAnsibleを実行すること…
本エントリは、Ansible Advent Calendar 2023の14日目の記事です。煽られて(?)即席で書き上げました。 昨年共著で出版させていただいたAnsibleクックブックでは紙面の都合 * で掲載しなかった、kubernetesコネクションプラグインについて簡単に使い方の例を…