NTNX>日記

個人的な趣味による Nutanix Community Edition 日記。Japanese のみですみません。

Nutanix CE で VM の UUID を確認してみる。(続編)

前回に引き続き、Nutanix CE で VM の UUID を確認してみます。例として VM を扱っていますが、ネットワーク UUID やディスク イメージ UUID といった、他の情報も同様に確認できます。

今回の内容です。

前回はこちら。

 

環境の準備

まず SSH 公開鍵を CVM に登録して、acli / ncli をリモートから実行できるようにしておきます。CLI をリモートが実行できるようになったことで、jq コマンドなど、CVM にはインストールされていないツールも利用しやすくなります。

 

SSH 経由の ncli 実行例

ncli で取得した情報を、SSH 実行元の Linux にある jq コマンドで加工してみます。

  • SSH 経由で実行する場合、ncli もフルパス(/home/nutanix/prism/cli/ncli)で指定します。
  • ncli の実行結果は、--json=pretty オプションで JSON 出力できます。
  • jq コマンドで、VM の名前と UUID だけ抽出 → CSV 整形 しています。
[gowatana@infra-jbox-01 ~]$ ssh -o StrictHostKeyChecking=false nutanix@lab-nxce-01.go-lab.jp /home/nutanix/prism/cli/ncli --json=pretty vm list | jq -r '.data[] | [.uuid, .vmName] | @csv'
Warning: the ECDSA host key for 'lab-nxce-01.go-lab.jp' differs from the key for the IP address '192.168.20.50'
Offending key for IP in /home/gowatana/.ssh/known_hosts:119
Matching host key in /home/gowatana/.ssh/known_hosts:354
Nutanix Controller VM
"0e13bfd5-1f7e-47d6-a666-d4e9e2f5d2f9","vm02"
"0ebf8a1c-0d5f-40e7-8129-e04b5b0c0adb","lab-web-02"
"27e4fc61-25c0-4325-bcc7-245dac7478f6","NTNX-624676c4-A-CVM"
"501fa588-042b-4d25-b5dd-21aae18b3b82","lab-web-01"
"5fc2057e-bd99-4835-9b2f-4f5512daaf6c","lab-nxpc-01"
"643193a1-a792-426a-8501-a3d874ddb457","ol8-base-01"
"bcb007fe-3594-4dc0-8f35-4ad0c5a6429a","NTNX-test-fs-01-1"
"e7a81f7d-1840-43d9-b712-bffaa01c6042","vm01"
"ee505edb-41b9-4bd4-89b5-3a492b071e4f","rhel84-base-01"

 

前回と同様に、ncli で VM の名前「lab-web-01」から UUID を取得してみます。

[gowatana@infra-jbox-01 ~]$ ssh -o StrictHostKeyChecking=false nutanix@lab-nxce-01.go-lab.jp /home/nutanix/prism/cli/ncli --json=pretty vm list name=lab-web-01 | jq -r .data[].uuid
Warning: the ECDSA host key for 'lab-nxce-01.go-lab.jp' differs from the key for the IP address '192.168.20.50'
Offending key for IP in /home/gowatana/.ssh/known_hosts:119
Matching host key in /home/gowatana/.ssh/known_hosts:354
Nutanix Controller VM
501fa588-042b-4d25-b5dd-21aae18b3b82

 

SSH 経由の acli 実行例

acli で取得した情報を、SSH 実行元の Linux にある jq コマンドで加工してみます。

  • SSH 経由で実行する場合、acli はフルパス(/usr/local/nutanix/bin/acli)で指定します。
  • acli の実行結果は、-o json オプションで JSON 出力できます。
  • jq コマンドで、VM の名前と UUID だけ抽出 → CSV 整形 しています。
  • 実行結果のうちSSH による Warning や「Nutanix Controller VM」といった部分は、標準出力ではなく標準エラー出力のようで、jq コマンドには渡されません。
[gowatana@infra-jbox-01 ~]$ ssh -o StrictHostKeyChecking=false nutanix@lab-nxce-01.go-lab.jp /usr/local/nutanix/bin/acli -o json vm.list | jq -r '.data[] | [.uuid, .name] | @csv'
Warning: the ECDSA host key for 'lab-nxce-01.go-lab.jp' differs from the key for the IP address '192.168.20.50'
Offending key for IP in /home/gowatana/.ssh/known_hosts:119
Matching host key in /home/gowatana/.ssh/known_hosts:354
Nutanix Controller VM
"bcb007fe-3594-4dc0-8f35-4ad0c5a6429a","NTNX-test-fs-01-1"
"5fc2057e-bd99-4835-9b2f-4f5512daaf6c","lab-nxpc-01"
"501fa588-042b-4d25-b5dd-21aae18b3b82","lab-web-01"
"0ebf8a1c-0d5f-40e7-8129-e04b5b0c0adb","lab-web-02"
"643193a1-a792-426a-8501-a3d874ddb457","ol8-base-01"
"ee505edb-41b9-4bd4-89b5-3a492b071e4f","rhel84-base-01"
"e7a81f7d-1840-43d9-b712-bffaa01c6042","vm01"
"0e13bfd5-1f7e-47d6-a666-d4e9e2f5d2f9","vm02"

 

前回と同様に、acli でも VM の名前「lab-web-01」から UUID を取得してみます。

[gowatana@infra-jbox-01 ~]$ ssh -o StrictHostKeyChecking=false nutanix@lab-nxce-01.go-lab.jp /usr/local/nutanix/bin/acli -o json vm.get lab-web-01 | jq -r '.data | keys[0]'
Warning: the ECDSA host key for 'lab-nxce-01.go-lab.jp' differs from the key for the IP address '192.168.20.50'
Offending key for IP in /home/gowatana/.ssh/known_hosts:119
Matching host key in /home/gowatana/.ssh/known_hosts:354
Nutanix Controller VM
501fa588-042b-4d25-b5dd-21aae18b3b82

以上。

©2021 gowatana
クリエイティブ・コモンズ・ライセンスこの 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。