はじめに
Ansible のプレイブックの実行結果にめちゃくちゃシンプルなタイムスタンプを表示するだけのコールバックプラグイン community.general.timestamp
をリリースしました。
簡単に使い方を紹介します。
続きを読むAnsible のプレイブックの実行結果にめちゃくちゃシンプルなタイムスタンプを表示するだけのコールバックプラグイン community.general.timestamp
をリリースしました。
簡単に使い方を紹介します。
続きを読む前回のエントリ で、vSphere に古くから実装されている API である vSphere Web Services API(SOAP API)の触り方を紹介しました。その中で、Virtual Infrastructure JSON API にひとことだけ触れています。
SOAP API を(広義の)REST API のように触れる Virtual Infrastructure JSON API も vCenter Server 8.0 U1 以降が必要で、まだまだ一般的ではありません。
vSphere Web Services API(SOAP API)の触り方 | kurokobo.com
Virtual Infrastructure JSON API(VI/JSON API)は、vCenter Server 8.0 U1 で追加された新しい API で、ひとことで雑に表現するなら、従来の SOAP API の REST API 版 です。
本エントリでは、まだ日本語ではほとんど情報がないこの新しい API について、実例とともに簡単に紹介します。
なお、vSphere の REST API といえば vSphere Automation API が一般的ですが、VI/JSON API はこれとはまったく別物 です。
続きを読むvSphere 環境をコマンドライン環境や何らかのスクリプトから操作するとき、典型的には PowerCLI や govmomi、pyVmomi、VMware vSphere Automation SDK などのツールがよく利用されますが、こうしたツールを使わずに API を直接触れる と、vSphere に実装された新機能をリリースと同時に使い始められ てたいへん便利です。実際、vSphere vMotion Notifications がリリースされたときも、ツールが更新されるまでは、API を直接触る 以外にそれを試す手段がありませんでした。
vSphere の API には、古くからある SOAP API(vSphere Web Services API)と新しい REST API(vSphere Automation API)の大きく二つがあります。操作が簡単なのは間違いなく REST API ですが、SOAP API でしか行えない操作もたくさんあり、また、SOAP API を(広義の)REST API のように触れる Virtual Infrastructure JSON API も vCenter Server 8.0 U1 以降が必要で、まだまだ一般的ではありません。
したがって現状では、昔ながらの SOAP API こそ が、極論、大抵のことはどうにかできる API であると言えます。そこでこのエントリでは、SOAP API(vSphere Web Services API)を直接触る方法 を実例と共に紹介します。
なお、コマンド例は curl と PowerShell で紹介 していますが、結局は HTTP で XML をやりとりするだけなので、お作法さえわかれば他の HTTP クライアントでももちろん利用できます。また、SOAP API は Managed Object Browser(MOB)でも操作できますが、Web ブラウザでの操作であり自動化には向かないため、今回は取り上げません。
続きを読むAWX の Automation Mesh を構成する機能として、過去に紹介した Execution Node に加えて、Hop Node と Mesh Ingress が最近のリリースで追加されました。
関連する情報は AWX のドキュメント や AWX Operator のドキュメント にもまとまっていますが、本エントリでは Mesh Ingress を中心にこれらの新機能を簡単に紹介します。
続きを読むAnsible でよくある困りごとのひとつとして、タスクのログに複数行の文字列が含まれるとき、以下のように人間の眼にはやさしくない表示になることが挙げられます。改行がエスケープシーケンスとして表示されるためです。
...
TASK [Referring undefined variable] ********************************************
fatal: [localhost]: FAILED! => {"msg": "The task includes an option with an unde
fined variable. The error was: 'undefined_variable' is undefined. 'undefined_var
iable' is undefined\n\nThe error appears to be in '/runner/project/demo.yaml': l
ine 20, column 7, but may\nbe elsewhere in the file depending on the exact synta
x problem.\n\nThe offending line appears to be:\n\n\n - name: Referring undef
ined variable\n ^ here\n"}
...
この対策として、改行が改行として表示されるように 出力を YAML 形式にする 方法がよく知られています。本エントリ公開時点では、次の二つの方法が一般的です。
ansible.cfg
の callback_result_format
(または環境変数 ANSIBLE_CALLBACK_RESULT_FORMAT
)に yaml
を指定するcommunity.genral
のコールバックプラグイン yaml
を利用する
ansible.cfg
の stdout_callback
(または環境変数 ANSIBLE_STDOUT_CALLBACK
)に community.general.yaml
を指定する一方で、同じ困りごとは AWX でも発生しますが、AWX で同じ対策を試みても意外と素直にいきません。
先日、これに関する質問が Ansible Community Forum に寄せられ ました。フォーラムでもぼくから回答済みですが、本エントリでは、AWX でジョブのログを YAML 形式で出力させる方法を改めて日本語で簡単に紹介します。
続きを読むEDA Server のデプロイ方法として、公式のデプロイメントガイド では Docker Compose と Minikube が案内されています。
その一方で、ひっそりと EDA Server Operator が公開されています。これは、EDA Server をデプロイするための Operator です。
まだ開発中であり、前述のデプロイメントガイドに記載もないことから、完全にサポートされている手段とはまったく言えませんが、本エントリではこれを用いた EDA Server のデプロイと、その後の AWX との連携を、Kubernetes 上での EDA Server の動きを含めて簡単に紹介します。
なお、この Operator の名称は EDA Controller Operator が正しいような気もしており、中の方々の意見を聞く意味も兼ねて Issue と PR を作っていますが、今のところ何ら確証はないので、本エントリでは現時点のドキュメントに従って EDA Server Operator と表記しています。
本エントリ中で利用しているファイルは、GitHub のリポジトリ にも配置しています。
公式のデプロイメントガイド が更新され、推奨されるデプロイ方式が Operator になりました。
当初、一貫してツール名称を EDA Controller と表記していましたが、アップストリーム版は EDA Server であり、EDA Controller は Ansible Automation Platform に含まれる製品版の名称 とのこと なので、タイトルと本文を修正しました。
Operator の名称も EDA Server Operator で 正しい ようです。
続きを読む先日リリースされた Veeam Backup & Replication 12 で、バックアップサーバの構成データベースとしてバンドルされている RDBMS が、従来の Microsoft SQL Server Express から PostgreSQL に変更 されました。新規インストール時は、デフォルトで PostgreSQL が一緒に導入されます。
If you do not prepare a database engine in advance, Veeam Backup & Replication will automatically install PostgreSQL 15.1 locally on the backup server.
Before You Begin – User Guide for VMware vSphere
SQL Server はそもそもバンドルされなくなったため、事前に自分で用意しない限り選択できません。
[For PostgreSQL] You can use an already installed PostgreSQL instance or install a new one.
Step 8. Specify Database Engine and Instance – User Guide for VMware vSphere
…
[For Microsoft SQL Server] You can use an already installed Microsoft SQL Server database only.
一方で、11 から 12 にアップグレードする場合は、構成データベースは SQL Server のまま変更されません。SQL Server も引き続きサポートされるため、そのままでも何ら問題はありませんが、もし PostgreSQL を使いたい場合 は、アップグレード後に自分で移行 する必要があります。
ちょうど自宅ラボに眠っている 11 の環境があり、NFR ライセンス を使って興味半分でアップグレードしたので、本エントリでは、Veeam Backup & Replication 12 の構成データベースを SQL Server から PostgreSQL に移行する流れを、ごく簡単に紹介します。
続きを読む先日、Ansible Builder がメジャバージョンアップし、3.0.0 がリリースされました。
Ansible Builder は 本ブログでも過去に取り上げています が、設定ファイルで記述する内容に大きめの変更が入っているため、本エントリで改めて簡単に紹介します。
続きを読むAutoMuteUs の 7.3
がリリースされました。このバージョンでは、AutoMuteUs のデータベース内の自ギルドに関するデータを CSV 形式でダウンロードできる機能 が追加されています。
データベース内のデータとは、簡単にいえば 戦績の集計の元ネタ です。過去の全ゲームの参加者や色や勝敗や勝因 だけでなく、各ゲームの時系列 も取得できるため、何らかの分析をしたい場合にはよい情報源にできそうです。
一方で、ダウンロードできるのは本当に データベースの中身そのもの なので、正規化された表がそのまま出力されますし、内部的な ID も ID のままで、手がかりがないと読みにくい状態です。
そこで本エントリでは、簡単にコマンドの使い方を紹介するとともに、CSV の中身の見方も簡単に説明します。
続きを読むAnsible Automation Platform(AAP)の Automation Mesh では、Execution Node と Hop Node を含んだ複雑なメッシュネットワークを構成できます。一方で AWX では、Kubernetes を使ったデプロイの場合、Hop Node を利用できないため、構成できるトポロジはスター型がせいぜいです。
とはいえ、前回のエントリ で確認したとおり、Hop Node は単なる Receptor のノード にすぎません。また、Kubernetes ではなく Docker Compose を使った開発用の構成 であれば Hop Node を含んだデプロイも行えることからもわかるように、Hop Node を扱う機能自体は内包されています。
そこで本エントリでは、Kuberentes 上の AWX で、Hop Node を含んだマルチホップの Automation Mesh を構築 します。技術的には Hop Node を Windows で構成する ことも可能です。
なお、紹介している内容は公式にはサポートされていない強引なハック なので、真似する場合は自己責任でお願いします。本当は、素直に Hop Node が公式にサポートされるまで待つほうが賢明 です。
続きを読む