NTNX>日記

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

Nutanix を Python から操作してみる投稿集。

このブログでの Nutanix CE x Python 関連投稿のまとめページです。

基本的に、投稿時は Python2 を利用しましたが、Python3 でも実行できるはずです。

※2022年9月時点までの投稿を反映してあります。

実行環境の準備

手作業で Python と requests モジュールをインストールした環境を用意すれば、以降のサンプルは実行できるはずです。

下記のように、AOS + AHV による Custom Script を利用して、VM 作成時に自動的に環境構築するともできます。

クラスタや AHV ホストの情報取得 / 操作

Prism の健全性(Health)にあるチェック項目の一覧を取得してみます。

AHV の性能情報(Stats)を取得してみます。

Nutanix クラスタのイベント情報を取得してみます。

VM の情報取得 / 操作

VM が稼働している AHV ホストを取得します。

REST API で VM を操作するには、VM の UUID が必要になるケースが多いので、あらかじめ取得しておきます。

VM を起動 / 停止してみます。

VM の IP アドレスを取得してみます。

VM の vNIC の情報を、いろいろな形式で出力してみます。

ちなみに、Python から REST API をコールするときによく利用される requests モジュールは、CVM にはデフォルトでインストールされています。ただし CVM にスクリプトを配置するのは基本的に NG です。

取得した VM の情報をもとに、pandas で HTML を生成してみます。

既存の VM の持つ vDisk から、イメージ サービスに DISK イメージを登録します。

VM のスナップショットを取得します。

VM スナップショットの一覧を取得します。

関連ソリューション

保護ドメイン(Protection Domain)によるスナップショットを取得します。こちらは VM 単位ではなく、VM や Volume Group のグループ単位で取得できるスナップショットです。

Nutanix Flow の検疫機能で、VM をネットワーク から遮断します。

処理内容は Quarantine: Default カテゴリ(という Nutanix のタグのようなもの)を VM に付与するだけです。

以上。

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