start のアクションは、停止、シャットダウン、またはサスペンドされている仮想マシンを起動します。
例15.46 仮想マシンを起動するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/start HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/start HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
起動のアクションでは、vm
要素をパラメーターとして指定できます。vm
要素が指定された場合は、仮想マシンは指定された要素の値を使用します (起動時のシステム設定よりも優先されます)。REST API で vm
要素を指定して start アクションを使用する操作は、管理ポータルやユーザーポータルで 1 回実行 ウィンドウを使用する操作と同じです。これらの設定は、ユーザーが仮想マシンが停止するまで維持されます。たとえば、このような要素には os
、domain
、placement_policy
、cdroms
、stateless
、display type
などが挙げられます。
例15.47 上書きされたパラメーターを使用して仮想マシンを起動するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/start HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<pause>true</pause>
<vm>
<stateless>true</stateless>
<display>
<type>spice</type>
</display>
<os>
<boot dev="cdrom"/>
</os>
<cdroms>
<cdrom>
<file id="windows-xp.iso"/>
</cdrom>
</cdroms>
<floppies>
<floppy>
<file id="virtio-win_x86.vfd"/>
</floppy>
</floppies>
<domain>
<name>domain.example.com</name>
<user>
<user_name>domain_user</user_name>
<password>domain_password</password>
</user>
</domain>
<placement_policy>
<host id="02447ac6-bcba-448d-ba2b-f0f453544ed2"/>
</placement_policy>
</vm>
</action>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/start HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<pause>true</pause>
<vm>
<stateless>true</stateless>
<display>
<type>spice</type>
</display>
<os>
<boot dev="cdrom"/>
</os>
<cdroms>
<cdrom>
<file id="windows-xp.iso"/>
</cdrom>
</cdroms>
<floppies>
<floppy>
<file id="virtio-win_x86.vfd"/>
</floppy>
</floppies>
<domain>
<name>domain.example.com</name>
<user>
<user_name>domain_user</user_name>
<password>domain_password</password>
</user>
</domain>
<placement_policy>
<host id="02447ac6-bcba-448d-ba2b-f0f453544ed2"/>
</placement_policy>
</vm>
</action>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
Cloud-Init は、仮想マシンの初期設定を自動化するツールです。このツールを使用して、ホスト名、ネットワークインターフェース、DNS サービス、承認キーの構成やユーザー名およびパスワードの設定を行います。また、custom_script
タグを使用して、起動時に仮想マシンで実行するカスタムスクリプトを指定することも可能です。
cloud-init
要素は、cloud-init パッケージがインストールされた仮想マシンを起動する際にだけ使用できます。cloud-init
要素を使用する場合は、initialization
要素内にあっても cloud-init
要素外の要素は無視されます。
例15.48 Cloud-Init を使用した仮想マシン起動アクション
以下の例では、Cloud-Init ツールを使用して仮想マシンの起動し、ホスト名の設定、root パスワードの変更、eth0
インターフェースの静的 IP の設定、DNS の設定、root
ユーザーの SSH キーの追加を行う方法が記述されています。
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/start HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<vm>
<initialization>
<cloud_init>
<host>
<address>MyHost.MyDomain.com</address>
</host>
<users>
<user>
<user_name>root</user_name>
<password>p@55w0rd!</password>
</user>
</users>
<network_configuration>
<nics>
<nic>
<name>eth0</name>
<boot_protocol>static</boot_protocol>
<network>
<ip address="192.168.122.31" netmask="255.255.255.0" gateway="192.168.122.1"/>
</network>
<on_boot>true</on_boot>
</nic>
</nics>
<dns>
<servers>
<host>
<address>192.168.122.1</address>
</host>
</servers>
<search_domains>
<host>
<address>MyDomain.com</address>
</host>
</search_domains>
</dns>
</network_configuration>
<authorized_keys>
<authorized_key>
<user>
<user_name>root</user_name>
</user>
<key>ssh-rsa AAAAB3Nza[...]75zkdD root@MyDomain.com</key>
</authorized_key>
</authorized_keys>
</cloud_init>
<custom_script><![CDATA[your script]]></custom_script>
</initialization>
</vm>
</action>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/start HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<vm>
<initialization>
<cloud_init>
<host>
<address>MyHost.MyDomain.com</address>
</host>
<users>
<user>
<user_name>root</user_name>
<password>p@55w0rd!</password>
</user>
</users>
<network_configuration>
<nics>
<nic>
<name>eth0</name>
<boot_protocol>static</boot_protocol>
<network>
<ip address="192.168.122.31" netmask="255.255.255.0" gateway="192.168.122.1"/>
</network>
<on_boot>true</on_boot>
</nic>
</nics>
<dns>
<servers>
<host>
<address>192.168.122.1</address>
</host>
</servers>
<search_domains>
<host>
<address>MyDomain.com</address>
</host>
</search_domains>
</dns>
</network_configuration>
<authorized_keys>
<authorized_key>
<user>
<user_name>root</user_name>
</user>
<key>ssh-rsa AAAAB3Nza[...]75zkdD root@MyDomain.com</key>
</authorized_key>
</authorized_keys>
</cloud_init>
<custom_script><![CDATA[your script]]></custom_script>
</initialization>
</vm>
</action>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
stop のアクションは、仮想マシンの電源を強制的に切断します。
例15.49 仮想マシンを停止するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/stop HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/stop HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
shutdown のアクションは、シャットダウン要求を仮想マシンに送信します。
例15.50 仮想マシンにシャットダウン要求を送信するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/shutdown HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/shutdown HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
suspend のアクションは、仮想マシンの状態をディスクに保存してから仮想マシンを停止します。サスペンドされた仮想マシンを起動して仮想マシンの状態を復元するには、start アクションを使用します。
例15.51 仮想マシンの状態を保存してそのマシンを一時停止するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/suspend HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/suspend HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
reboot アクションは仮想マシンに再起動要求を送信します。
例15.52 仮想マシンに再起動要求を送信するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/reboot HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/reboot HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
logon アクションは、ユーザーが Red Hat Enterprise Virtualization 環境外のコンソールから仮想マシンにアクセスできるようにします。
このアクションは、rhevm-guest-agent-gdm-plugin と rhevm-guest-agent-pam-module のパッケージがインストールされており、ovirt-guest-agent
サービスが仮想マシンで稼働されている状態でなければなりません。
ユーザーは、外部のコンソールから仮想マシンにアクセスするには、その仮想マシンの適切なパーミッションが必要です。
例15.53 仮想マシンへのログイン
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/logon HTTP/1.1
Content-Type: application/json
Content-Length: 2
{}
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/logon HTTP/1.1
Content-Type: application/json
Content-Length: 2
{}
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
detach のアクションは、仮想マシンをプールからデタッチします。
例15.54 仮想マシンをデタッチするアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/detach HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/detach HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
migrate のアクションは、仮想マシンを別の物理ホストに移行します。Red Hat Enterprise Virtualization Manager は、デフォルトのホストを移行先として自動的に選択するので、移行先 host
の要素はオプションとなっています。API ユーザーが特定の host
を必要とする場合は、id
または name
いずれかのパラメーターでホストを指定することができます。
例15.55 別のホストに仮想マシンを移行するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/migrate HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<host id="2ab5e1da-b726-4274-bbf7-0a42b16a0fc3"/>
</action>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/migrate HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<host id="2ab5e1da-b726-4274-bbf7-0a42b16a0fc3"/>
</action>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
cancel migration のアクションは、他の物理ホストへの仮想マシン移行を停止します。
例15.56 他のホストへの仮想マシン移行をキャンセルするアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/cancelmigration HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/cancelmigration HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
エクスポート操作では、仮想マシンが export
ストレージドメインにエクスポートされます。エクスポート先のストレージドメインは、storage_domain
参照で指定する必要があります。
エクスポートのアクションは、同じ名前の仮想マシンがエクスポート先のドメインに存在する場合に、操作が失敗したことを報告します。この動作を変更して、既存の仮想マシンを上書きするには、exclusive
パラメーターを true
に設定します。
仮想マシンのスナップショットが、エクスポートされた仮想マシンに含まれない場合は、discard_snapshots
パラメーターを true
に設定します。
例15.57 仮想マシンをエクスポートストレージドメインにエクスポートするアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/export HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<storage_domain>
<name>export1</name>
</storage_domain>
<exclusive>true</exclusive>
<discard_snapshots>true</discard_snapshots>
</action>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/export HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<storage_domain>
<name>export1</name>
</storage_domain>
<exclusive>true</exclusive>
<discard_snapshots>true</discard_snapshots>
</action>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
ticket のアクションは、仮想マシンのディスプレイにアクセスするための、時間的制約のある認証トークンを生成します。クライアント提供の action
には、オプションで ticket
表現が含まれ、value
(トークンの文字列が特定の形式を取る必要がある場合) および/または expiry
時間 (分単位) が指定されます。いずれの場合も、応答には使用している実際のチケットの値と有効期限が記載されます。
例15.58 仮想マシンの認証トークンを生成するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/ticket HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<ticket>
<expiry>120</expiry>
</ticket>
</action>
200 OK
Content-Type: application/xml
<action id="94e07552-14ba-4c27-8ce6-2cc75190d3ef"
href="/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/ticket/
94e07552-14ba-4c27-8ce6-2cc75190d3ef">
<status>
<state>complete</state>
</status>
<ticket>
<value>5c7CSzK8Sw41</value>
<expiry>120</expiry>
</ticket>
<link rel="parent"
href="/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720"/>
<link rel="replay"
href="/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/ticket"/>
</action>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/ticket HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<ticket>
<expiry>120</expiry>
</ticket>
</action>
200 OK
Content-Type: application/xml
<action id="94e07552-14ba-4c27-8ce6-2cc75190d3ef"
href="/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/ticket/
94e07552-14ba-4c27-8ce6-2cc75190d3ef">
<status>
<state>complete</state>
</status>
<ticket>
<value>5c7CSzK8Sw41</value>
<expiry>120</expiry>
</ticket>
<link rel="parent"
href="/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720"/>
<link rel="replay"
href="/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/ticket"/>
</action>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
障害のある仮想マシンを強制的に削除するには、force
のアクションを使用します。このアクションには DELETE
メソッドが必要です。要求の本文には force
パラメーターを true
に設定した action
表現を記載します。本文内の XML 表現を処理するには、要求に Content-type: application/xml
ヘッダーを追加する必要もあります。
例15.59 仮想マシンに対する強制削除のアクション
DELETE /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720 HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<force>true</force>
</action>
DELETE /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720 HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<force>true</force>
</action>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
freezefilesystems
アクションは、実行中の仮想マシンのライブスナップショットを作成する際に、QEMU ゲストエージェントを使用して仮想マシンのファイルシステムをフリーズします。通常、これは Manager で自動的に行われますが、OpenStack Volume (Cinder) ディスクを使用する仮想マシンには、REST API で手動で実行する必要があります。
ゲストのオペレーティングシステム上のファイルシステムをフリーズすることでスナップショットの一貫性を保ちます。スナップショットの作成が完了すると、ゲストのファイルシステムを解凍する必要があります。OpenStack Volume ディスクを使用しない仮想マシンでは、REST API を使用して手動でフリーズおよび解凍アクションを呼び出すこともできます。これは、スナップショットのプロセス中に失敗した場合などに有用な場合があります。
例15.60 仮想マシンのファイルシステムをフリーズするアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/freezefilesystems HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/freezefilesystems HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
thawfilesystems
アクションは、実行中の仮想マシンのライブスナップショットを作成する際に、QEMU ゲストエージェントを使用して仮想マシンのファイルシステムを解凍します。通常、これは Manager で自動的に行われますが、OpenStack Volume (Cinder) ディスクを使用する仮想マシンには、REST API で手動で実行する必要があります。
ゲストのオペレーティングシステム上のファイルシステムをフリーズすることでスナップショットの一貫性を保ちます。スナップショットの作成が完了すると、ゲストのファイルシステムを解凍する必要があります。OpenStack Volume ディスクを使用しない仮想マシンでは、REST API を使用して手動でフリーズおよび解凍アクションを呼び出すこともできます。これは、スナップショットのプロセス中に失敗した場合などに有用な場合があります。たとえば、仮想マシンの解凍中に応答がなくなった場合には、手動でもう一度解凍操作を実行することができます。手動でこの操作を行わない場合には仮想マシンの応答がない状態が継続されます。
例15.61 仮想マシンのファイルシステムを解凍するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/thawfilesystems HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/thawfilesystems HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow