VMware vSphere6のvSphere APIをPython script (pyvmomi)で実行する

前回の記事「VMware vSphere 6のVMDirectPath I/OデバイスがPowerCLIでVMに追加できない」にて掲載しました、PowerCLIで仮想マシンに正しくPCIデバイスを正しく接続できない問題について対応する一環として、vSphere APIを実行するpython library(pyvmomi)の使い方について解説します。

スポンサーリンク

1. pyvmomiのインストール

ここでは、Bash on Ubuntu on Windows10で検証を行うため、Ubuntu 14.04ベースでの環境構築コマンドを記載します。手順については、pyvmomiのGithubサイトにあるREADMEをベースに記載しています。

まず、python-pipパッケージのインストールと、pipを使ったpyvmomiのインストールを行います。インストール後に念のためpipでインストールされたpyvmomiのバージョンを確認します。

2. pyvmomiを使ったvSphere API操作

pyvmomiはPythonのScriptでvSphere APIを実行するためのライブラリです。そのため、実行するためにはPythonのScriptが必要になります。ここでは、Github上にあるサンプルスクリプトを利用するところまで実行します。

VMwareが提供するGithubリポジトリに「pyvmomi-community-samples」があります。こちらをダウンロードし、実行してみます。

ダウンロードしたら、試しにgetallvms.pyを実行してみます。引数の確認のため、最初に-hをつけて実行し、次に必要な引数を渡します。ここでは、1VMだけが存在するホストに対して実行します。

無事にESXiホスト上の仮想マシンの情報を取得することが出来ました。

以上で、pyvmomiのインストールとサンプルスクリプトによる動作確認が完了しました。次回は、このpyvmomiと、こちらのGISTに掲載されたPCIデバイス接続スクリプトを使って、VM DirectPath I/Oをscriptから設定することにチャレンジします。