Virtual SAN の HCL を JSON で取得する
はじめに
VMware の Hardware Compatibility List (HCL) はかなり大量なデータとなってきています。某 EMC 社の接続ガイドには及ばないまでもそれはもうかなりの量です。また、Virtual SAN では、SCSI Controller、NVMe デバイス、SSD、HDD といった各コンポーネントの認証もあり、さらに HCL を複雑にしています。
実際には、各コンポーネントを組み合わせて構成すると「世界に一つだけの、貴方だけのための VSAN」ができあがってしまうため、Virtual SAN Ready Node の構成を選択するのをお勧めします。
実はこの HCL、JSON で取得することができます。
JSON の URL
Virtual SAN Health Check Plugin という Virtual SAN の構成や状況のヘルスチェックを行えるツールが vSphere/vCenter 6.0U1 から標準装備となっています。このツールには Virtual SAN を構成する ESXi ホストのハードウェアが HCL に準拠しているかどうかを確認する機能があります。そのツールの機能の一つに HCL に準拠しているかどうかを確認するために、VMware のサイトから最新の HCL のリストをダウンロードして ESXi ホストと比較する機能があります。つまり、HCL は VMware のサイトからダウンロード出来るわけです。
http://partnerweb.vmware.com/service/vsan/all.json
この URL は Virtual SAN Health Check Plugin Guide に記載があります。
コマンド例
実際に JSON をダウンロードして加工するコマンドを実行してみます。
% curl http://partnerweb.vmware.com/service/vsan/all.json | python -m json.tool > all.json
% cat all.json | jq '.data.ssd[] | select(.vendor == "SanDisk")'
python -m json.tool で整形しています。その後 jq コマンドで SanDisk 製のフラッシュデバイスのリストを抜き取っています。
閑話休題
Virtual SAN 以外の HCL の JSON はないのか?と思うかも知れません。まだ公になっていませんが、URL を色々変更して ゲヘゲヘ してくださいませ。