2.14. 例: Python を使用した仮想マシンの作成

仮想マシンを作成するには、いくつかの手順を実行する必要があります。第 1 のステップ (以下に説明) は、仮想マシンオブジェクト自体を作成する手順です。

例2.13 Python を使用した仮想マシンの作成

以下の Python の例は、vm1 という名前の仮想マシンを作成します。この仮想マシンの要件は以下のとおりです。
  • 512 MB のメモリーが割り当てられていること (バイト単位で表示)。
    vm_memory = 512 * 1024 * 1024
  • Default クラスターにアタッチされ、その結果 Default データセンターにもアタッチされていること。
    vm_cluster = api.clusters.get(name="Default")
  • デフォルトの Blank テンプレートをベースとしていること。
    vm_template = api.templates.get(name="Blank")
  • 仮想ハードディスクドライブから起動すること。
    vm_os = params.OperatingSystem(boot=[params.Boot(dev="hd")])
上記のオプションは、vms コレクションの add メソッドを使用して仮想マシン自体を作成する前に、仮想マシンパラメーターオブジェクトに組み込みます。
from ovirtsdk.api import API
from ovirtsdk.xml import params

try:
    api = API (url="https://HOST",
               username="USER@DOMAIN",
               password="PASS",
               ca_file="ca.crt")

    vm_name = "vm1"
    vm_memory = 512 * 1024 * 1024
    vm_cluster = api.clusters.get(name="Default")
    vm_template = api.templates.get(name="Blank")
    vm_os = params.OperatingSystem(boot=[params.Boot(dev="hd")])

    vm_params = params.VM(name=vm_name,
                         memory=vm_memory,
                         cluster=vm_cluster,
                         template=vm_template,
                         os=vm_os)

    try:
        api.vms.add(vm=vm_params)
        print "Virtual machine '%s' added." % vm_name
    except Exception as ex:
        print "Adding virtual machine '%s' failed: %s" % (vm_name, ex)

    api.disconnect()

except Exception as ex:
    print "Unexpected error: %s" % ex
add 要求が成功した場合には、スクリプトにより以下のような出力が表示されます。
Virtual machine 'vm1' added.