Nutanix CEでAnsibleのDynamic Inventoryを試す
はじめに
この記事はNutanix Advent Calendar 2018の16日目の記事です。
Nutanix CE に対して、 Ansible の Dynamic Inventory を試してみます。
登場人物の整理
| なまえ | とくちょう |
|---|---|
| Nutanix CE | HCIを提供、Community Editionで無償評価可能 |
| Ansible | 構成管理ツール |
| Ansible Dynamic Inventory | 仮想環境、クラウドなどと連携し、管理対象ホストを動的に取得する |
本記事ではNutanix CEにおけるDynamic Inventory機能について記載する。
触ってみる
Nutanix CE の REST API 一覧
Nutanix CE のREST APIは以下のリンクから参照できる。

アドレスは
https://<PRISMのFQDN>:9440/api/nutanix/v2/api_explorer/index.html
アクセスすると、REST API Explorer Live!が表示され、GUI から簡単に REST API を発行できる。

Nutanix CE 上の VM 一覧を取得する API
REST API Explorer Live!では以下の情報が表示される。

/vms/に対して GET メソッドを用いることで VM 一覧が取得できる。
以下はREST API Explorer Live!から/vms/をクリックした画面となる。

Try it out!をクリックすることで REST API 発行時の動作を確認できる。
IPアドレスの情報を取得する際には include_vm_nic_config に true を指定する必要がある。(※ 赤枠箇所)

ループで取り出して、Developing dynamic inventoryのフォーマットに整形する。

ご参考
Nutanix Communityの記事にNutanix dynamic inventory script for Ansibleがある。
Nutanix external inventory script for Ansibleを紹介した記事であるが、ライセンスが明記されていないため自己責任で。
ansible-playbookを実行する
以上

