pyvmomiでVMクローンをする際にLinux Prepを実行してみる


pyvmomiでVMのクローンを以前はやってみましたが、今回はLinux Prepを加えたクローンするスクリプトを作ってみました。

実行環境

項目 バージョン
vCenter 6.5.0 ビルド 4602587
pyvmomi 6.5.0.2017.5.post1
python 3.4.5

検証方針

  • centos という仮想マシンを元に TEST という仮想マシンを作成する。
  • クローン先は esxi-03.local というホストを指定します。
  • クローンタスク完了後に TEST の状態を確認して設定した内容に間違いが無いか調べます。

Linux Prepについて

VMwareのLinux Prepを使うことで、クローン時にホスト名やネットワーク設定を同時に行うことが可能です。

ソース

ここでは Network settings. にネットワーク設定をしています。
以下は、クローンでLinux Prepを実行するスクリプト例です。

処理の流れは以下のようになっています。
スクリプトで一時的にカスタマイズ仕様を作ってクローンメソッドに食わせています。

  • LinuxPrepを作成
    • ホスト名やたいむゾーンを設定するオブジェクト
  • customizationIPSettingsを作成
    • ネットワークを設定するオブジェクト
  • RelocateSpecを作成
    • 仮想マシンの移動先を設定するオブジェクト
  • CloneSpecを作成
    • 仮想マシンのクローン仕様を設定するオブジェクト
  • クローン処理実行
  • 実行したクローン処理のタスクを確認
  • クローン処理の結果を出力

実行

(1) スクリプトを実行してみます。

問題なく終了したら success が表示されます。

(2) クローンした仮想マシンにログインしてホスト名やネットワーク設定が出来ていることを確認します。

問題なく設定されていました 🙂
vNICが複数ある場合は設定を customization_spec.nicSettingMap の配列に数分入れる必要があります。

Leave a Reply

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)