2.10. 例:Python を使用した NFS ISO ストレージの作成
仮想マシンを作成するには、ゲストオペレーティングシステムのインストールメディアを提供できる必要があります。Red Hat Virtualization 環境では、インストールメディアを ISO ストレージドメインに保存します。
注記
この例で提供されるコードは、リモート NFS 共有が Red Hat Virtualization で使用するために事前設定されていることを前提としています。使用するための NFS 共有の準備の詳細については、Red Hat Virtualization 『Administration Guide』 を参照してください。
例2.9 Python を使用した NFS ISO ストレージの作成
この Python の例では、NFS ISO ドメインを
storagedomains
コレクションに追加します。Python に NFS ストレージドメインを追加すると、いくつかの手順に分類できます。
- Datacenter コレクションの
get
メソッドを使用して、ストレージをアタッチする必要のあるデータセンターを特定します。dc = api.datacenters.get( name="Default" )
- ホストコレクションの
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
コレクションから取得したデータセンターオブジェクト。host
コレクションから取得したホストオブジェクト。- 追加されるストレージドメインのタイプ (
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" % ex
add
メソッド呼び出しに成功すると、スクリプトが出力されます。
Storage Domain 'iso1' added (789814a7-7b90-4a39-a1fd-f6a98cc915d8).