Show Table of Contents
2.10. 例: Python を使用した NFS ISO ストレージの作成
仮想マシンを作成するには、ゲストオペレーティングシステムのインストールメディアを使用可能な状態にする必要があります。Red Hat Virtualization 環境では、インストールメディアを ISO ストレージドメインに保管します。
注記
以下の例に記載したコードは、リモートの NFS 共有が Red Hat Virtualization 用に事前設定済みであることを前提としています。NFS 共有の使用準備に関する詳しい説明は、『Red Hat Virtualization 管理ガイド』を参照してください。
例2.9 Python を使用した NFS ISO ストレージの作成
以下の Python の例は、NFS の ISO ドメインを
storagedomains コレクションに追加します。Python を使用した NFS ストレージドメインの追加は以下のような手順で行います。
datacentersコレクションのgetメソッドを使用して、ストレージをアタッチする必要のあるデータセンターを特定します。dc = api.datacenters.get( name="Default" )
hostsコレクションのgetメソッドを使用して、ストレージのアタッチに使用する必要のあるホストを特定します。h = api.hosts.get(name="Atlantic")
- NFS ストレージドメインの
Storageパラメーターを定義します。以下の例では、NFS の場所に192.0.43.10/storage/isoを使用しています。s = params.Storage(address="192.0.43.10", path="/storage/iso", type_="nfs")
storagedomainsコレクションのaddメソッドを使用して、ストレージドメイン作成を要求します。Storageパラメーターに加えて、以下の情報をすべて渡す必要があります。- ストレージドメインの名前
datacentersコレクションから取得したデータセンターオブジェクトhostsコレクションから取得したホストオブジェクト- 追加するストレージドメインのタイプ (
data、iso、またはexport) - 使用するストレージフォーマット (
v1、v2、またはv3)
これらの手順を組み合わせた完全なスクリプトは以下のようになります。
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")
dc = api.datacenters.get(name="Default")
h = api.hosts.get(name="Atlantic")
s = params.Storage(address="192.0.43.10", path="/storage/iso", type_="nfs")
sd_params = params.StorageDomain(name="iso1", data_center=dc, host=h, type_="iso", storage_format="v3", storage=s)
try:
sd = api.storagedomains.add(sd_params)
print "Storage Domain '%s' added (%s)." % (sd.get_name())
except Exception as ex:
print "Adding storage domain failed: %s" % ex
api.disconnect()
except Exception as ex:
print "Unexpected error: %s" % exadd メソッド呼び出しが成功した場合は、スクリプトによって以下のような出力が表示されます。
Storage Domain 'iso1' added (789814a7-7b90-4a39-a1fd-f6a98cc915d8).

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.