検索

2.16. 例:Python を使用した ISO イメージの仮想マシンへのアタッチ

download PDF
新しく作成された仮想マシンにゲストオペレーティングシステムのインストールを開始するには、オペレーティングシステムのインストールメディアを含む ISO ファイルを割り当てる必要があります。

例2.15 ISO イメージの特定

ISO イメージは、ISO ストレージドメインにアタッチされた ファイル コレクションにあります。この例では、ISO ストレージドメイン上の files コレクションの内容を一覧表示します。
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")

    sd = api.storagedomains.get(name="iso1")
    iso = sd.files.list()

    for i in iso:
        print "%s" % i.get_name()
		
except Exception as ex:
    print "Unexpected error: %s" % ex
成功すると、スクリプトは files コレクションにある各ファイルで以下のようなエントリーを出力します。
RHEL6.3-Server-x86_64-DVD1.iso
ISO ドメインのファイルは、ファイルの id 属性と name 属性を一意に付ける必要があるため、共有されている必要があることに注意してください。

例2.16 Python を使用した仮想マシンへの ISO イメージのアタッチ

この Python の例では、RHEL6.3-Server-x86_64-DVD1.iso ISO イメージファイルを vm1 仮想マシンに割り当てます。イメージファイルが特定されると、仮想マシンの cdroms コレクションの 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")

    sd = api.storagedomains.get(name="iso1")

    cd_iso = sd.files.get(name="RHEL6.3-Server-x86_64-DVD1.iso")
    cd_vm = api.vms.get(name="vm1")
    cd_params = params.CdRom(file=cd_iso)

    try:
        cd_vm.cdroms.add(cd_params)
        print "Attached CD to '%s'." % cd_vm.get_name()
    except Exception as ex:
        print "Failed to attach CD to '%s': %s" % (cd_vm.get_name(), ex)

    api.disconnect()

except Exception as ex:
    print "Unexpected error: %s" % ex
追加 要求に成功すると、スクリプトにより以下が出力されます。
Attached CD to 'vm1'.
注記
この手順では、ステータスが Down の仮想マシンに ISO イメージをアタッチします。Up ステータスの仮想マシンに ISO をアタッチするには、2 番目の try ステートメントを以下のように変更します。
try:
	cdrom=cd_vm.cdroms.get(id="00000000-0000-0000-0000-000000000000")
	cdrom.set_file(cd_iso)
	cdrom.update(current=True)
	print "Attached CD to '%s'." % cd_vm.get_name()
except:
	print "Failed to attach CD to '%s': %s" % (cd_vm.get_name(), ex)

例2.17 Python を使用した仮想マシンからの CD-ROM の取り出し

仮想マシンの cdrom コレクションから ISO を取り出します。
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")

    sd = api.storagedomains.get(name="iso1")
    vm = api.vms.get(name="vm1")

    try:
        vm.cdroms.get(id="00000000-0000-0000-0000-000000000000").delete()
        print "Removed CD from '%s'." % vm.get_name()
    except Exception as ex:
        print "Failed to remove CD from '%s': %s" % (vm.get_name(), ex)

    api.disconnect()

except Exception as ex:
    print "Unexpected error: %s" % ex
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.