10.7. サブコレクション

10.7.1. ネットワークのサブコレクション

10.7.1.1. ネットワークのサブコレクション

クラスターに関連付けられるネットワークは networks サブコレクションで表現します。1 クラスター内のホストはすべて、これらの関連付けられたネットワークに接続します。
クラスターの network サブコレクションの表現は、以下の追加要素を除いては、標準の network リソースと同じです。

表10.4 追加のネットワーク要素

要素タイプ説明プロパティー
cluster id=リレーションシップネットワークがメンバーとなっているクラスターへの参照
requiredブール値必須または任意のネットワークステータスを定義します。 
displayブール値表示ネットワークステータスを定義します。後方互換性を維持するために使用されます。 
usages複合型ネットワークの usage 要素セットを定義します。ユーザーはこのレベルでネットワークを VM および DISPLAY ネットワークとして定義できます。 
API ユーザーは、標準の REST メソッドを使用して networks サブコレクションを操作します。ネットワーク id または name の参照を networks サブコレクションに POST することにより、そのネットワークはクラスターに関連付けられます。

例10.6 クラスターへのネットワークリソースの関連付け

POST /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/networks HTTP/1.1
Accept: application/xml
Content-Type: application/xml

<network id="da05ac09-00be-45a1-b0b5-4a6a2438665f">
    <name>ovirtmgmt</name>
</network>

HTTP/1.1 201 Created
Location: http://{host}/clusters/99408929-82cf-4dc7-a532-9d998063fa95/networks/da05ac09-00be-45a1-b0b5-4a6a2438665f
Content-Type: application/xml

<network id="da05ac09-00be-45a1-b0b5-4a6a2438665f"
  href="/api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/networks/
  da05ac09-00be-45a1-b0b5-4a6a2438665f">
    <name>ovirtmgmt</name>
    <status>
        <state>operational</state>
    </status>
    <description>Display Network</description>
    <cluster id="99408929-82cf-4dc7-a532-9d998063fa95"
      href="/api/clusters/99408929-82cf-4dc7-a532-9d998063fa95"/>
    <data_center id="d70d5e2d-b8ad-494a-a4d2-c7a5631073c4"
      href="/api/datacenters/d70d5e2d-b8ad-494a-a4d2-c7a5631073c4"/>
    <required>true</required>
    <usages>
        <usage>VM</usage>
    </usages>
</network>
PUT 要求を使用してリソースを更新します。

例10.7 ディスプレイネットワークステータスの設定

PUT /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/networks/da05ac09-00be-45a1-b0b5-4a6a2438665f HTTP/1.1
Accept: application/xml
Content-Type: application/xml

<network>
    <required>false</required>
    <usages>
        <usage>VM</usage>
        <usage>DISPLAY</usage>
    </usages>
</network>
PUT 要求を使用して必須または任意のネットワークステータスを設定し、required 要素のブール値 (true または false) を指定します。

例10.8 任意ネットワークステータスの設定

PUT /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/networks/da05ac09-00be-45a1-b0b5-4a6a2438665f HTTP/1.1
Accept: application/xml
Content-Type: application/xml

<network>
    <required>false</required>
</network>
関連付けは、コレクション内の該当する要素に対する DELETE 要求で削除します。

例10.9 クラスターからのネットワーク関連付けの削除

DELETE /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/networks/da05ac09-00be-45a1-b0b5-4a6a2438665f HTTP/1.1

HTTP/1.1 204 No Content

10.7.2. ストレージボリュームのサブコレクション

10.7.2.1. Red Hat Gluster Storage ボリュームのサブコレクション

Red Hat Enterprise Virtualization では、Red Hat Gluster Storage ボリュームを作成および管理できます。Red Hat Gluster Storage ボリュームは、クラスターに関連付けられ、glustervolumes サブコレクションで表されます。
glustervolumes サブコレクション内の Red Hat Gluster Storage ボリュームリソースの表現は、以下の要素を使用して定義されます。

表10.5 Gluster ボリュームの要素

要素タイプ説明プロパティー
volume_type列挙型ボリュームタイプを定義します。ボリュームタイプのリストについては、capabilities コレクションを参照してください。
bricksリレーションシップRed Hat Gluster Storage ブリックのサブコレクションです。新規ボリュームを作成する場合は、このクラスターで作成および管理するために brick 要素のセットが要求で必要です。Red Hat Gluster Storage サーバーの server_id およびブリックディレクトリーの brick_dir 要素が必要となります。
transport_types複合型ボリューム transport_type 要素のセットを定義します。利用可能なトランスポートタイプのリストについては、capabilities コレクションを参照してください。
replica_count整数複製ボリュームのファイルレプリケーション数を定義します。
stripe_count整数ストライプボリュームのストライプ数を定義します。
options複合型追加の Red Hat Gluster Storage option 要素のセットです。各 option には、オプションの namevalue が含まれます。

例10.10 Red Hat Gluster Storage ボリュームの XML 表現

<gluster_volume id="99408929-82cf-4dc7-a532-9d998063fa95"
  href="/api/clusters/99408929-82cf-4dc7-a532-9d998063fa95
  /glustervolume/e199f877-900a-4e30-8114-8e3177f47651">
    <name>GlusterVolume1</name>
    <link rel="bricks"
      href="/api/clusters/99408929-82cf-4dc7-a532-9d998063fa95
      /glustervolume/e199f877-900a-4e30-8114-8e3177f47651/bricks"/>
    <volume_type>DISTRIBUTED_REPLICATE</volume_type>
    <transport_types>
        <transport_type>TCP</transport_type>
    </transport_types>
    <replica_count>2</replica_count>
    <stripe_count>1</stripe_count>
    <options>
        <option>
            <name>cluster.min-free-disk</name>
            <value>536870912</value>
        </option>
    </options>   
</gluster_volume>
POST 要求で必要な namevolume_type、および bricks をサブコレクションに送信して Red Hat Gluster Storage ボリュームを作成します。

例10.11 Red Hat Gluster Storage ボリュームの作成

POST /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/glustervolumes HTTP/1.1
Accept: application/xml
Content-Type: application/xml

<gluster_volume>
    <name>GlusterVolume1</name>
    <volume_type>DISTRIBUTED_REPLICATE</volume_type>
    <bricks>
        <brick>
            <server_id>server1</server_id>
            <brick_dir>/exp1</brick_dir>
        </brick>
    <bricks>
</gluster_volume>
DELETE 要求を使用して Red Hat Gluster Storage ボリュームを削除します。

例10.12 Red Hat Gluster Storage ボリュームの削除

DELETE /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/glustervolumes/e199f877-900a-4e30-8114-8e3177f47651 HTTP/1.1

HTTP/1.1 204 No Content

重要

glustervolumes サブコレクション内のリソースは更新できません。

10.7.2.2. ブリックサブコレクション

glustervolumes サブコレクションには、独自の bricks サブコレクションが格納されおり、Red Hat Gluster Storage ボリューム内の個々のブリックを定義します。GET 要求に関する追加の情報は、All-Content: true ヘッダーを使用して取得することができます。
ボリュームの bricks サブコレクションの表現は、以下の要素を使用して定義されます。

表10.6 ブリックの要素

要素タイプ説明プロパティー
server_id文字列Red Hat Gluster Storage サーバーへの参照
brick_dir文字列Red Hat Gluster Storage サーバーのブリックディレクトリーを定義します。
replica_count整数ボリューム内のブリックのファイルレプリケーション数を定義します。
stripe_count整数ボリューム内のブリックのストライプ数を定義します。
POST 要求で必要な server_id および brick_dir をサブコレクションに対して送信して新規ブリックを作成します。

例10.13 ブリックの追加

POST /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/glustervolumes/e199f877-900a-4e30-8114-8e3177f47651/bricks HTTP/1.1
Accept: application/xml
Content-Type: application/xml

<brick>
    <server_id>server1</server_id>
    <brick_dir>/exp1</brick_dir>
</brick>
DELETE 要求でブリックを削除します。

例10.14 ブリックの削除

DELETE /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/glustervolumes/e199f877-900a-4e30-8114-8e3177f47651/bricks/0a473ebe-01d2-444d-8f58-f565a436b8eb HTTP/1.1

HTTP/1.1 204 No Content

重要

bricks サブコレクション内のリソースは更新できません。

10.7.2.3. アクション

10.7.2.3.1. start アクション
start アクションは、Gluster ボリュームを使用できる状態にします。

例10.15 ボリュームの起動

POST /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/glustervolumes/e199f877-900a-4e30-8114-8e3177f47651/start HTTP/1.1
Accept: application/xml
Content-Type: application/xml

<action/>
オプションの force ブール値要素を使用して、稼働しているボリュームに対して操作を強制的に実行します。これは、稼働しているボリュームで無効なブリックプロセスを開始する場合に役に立ちます。
10.7.2.3.2. stop アクション
stop アクションは Gluster ボリュームを非アクティブ化します。

例10.16 ボリュームの停止

POST /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/glustervolumes/e199f877-900a-4e30-8114-8e3177f47651/stop HTTP/1.1
Accept: application/xml
Content-Type: application/xml

<action/>
stop アクションを強制するには、オプションの force ブール要素を使用します。
10.7.2.3.3. setOption アクション
setOption アクションは、ボリュームのオプションを設定します。

例10.17 オプションの設定

POST /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/glustervolumes/e199f877-900a-4e30-8114-8e3177f47651/setoption HTTP/1.1
Accept: application/xml
Content-Type: application/xml

<action>
    <option>
        <name>cluster.min-free-disk</name>
        <value>536870912</value>
    </option>
</action>
10.7.2.3.4. resetOption アクション
resetOption アクションは、ボリュームのオプションをリセットします。

例10.18 オプションのリセット

POST /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/glustervolumes/e199f877-900a-4e30-8114-8e3177f47651/resetoption HTTP/1.1
Accept: application/xml
Content-Type: application/xml

<action>
        <option>
            <name>cluster.min-free-disk</name>
        </option>
</action>
10.7.2.3.5. resetAllOptions アクション
resetAllOptions アクションは、ボリュームの全オプションをリセットします。

例10.19 全オプションのリセット

POST /api/clusters/99408929-82cf-4dc7-a532-9d998063fa95/glustervolumes/e199f877-900a-4e30-8114-8e3177f47651/resetalloptions HTTP/1.1
Accept: application/xml
Content-Type: application/xml

<action/>

10.7.3. アフィニティーグループのサブコレクション

10.7.3.1. アフィニティーグループのサブコレクション

affinitygroups サブコレクション内の仮想マシンアフィニティーグループリソースの表現は、以下の要素を使用して定義されます。

表10.7 アフィニティーグループの要素

要素タイプ説明プロパティー
name文字列プレーンテキスト形式の人間が判読できるアフィニティーグループ名
clusterリレーションシップアフィニティーグループの適用先のクラスターへの参照 
positiveブール値: true または falseアフィニティーグループがアフィニティーグループに所属する仮想マシンに対して、ポジティブ、ネガティブいずれのアフィニティーを適用するか指定します。 
enforcingブール値: true または falseアフィニティーグループにおけるアフィニティーの強制で、アフィニティーグループに所属する仮想マシンに適用する際にハードまたはソフトのいずれを使用するかを指定します。 

例10.20 仮想マシンのアフィニティーグループの XML 表現

<affinity_group href="/api/clusters/00000000-0000-0000-0000-000000000000/affinitygroups/00000000-0000-0000-0000-000000000000" id="00000000-0000-0000-0000-000000000000">
  <name>AF_GROUP_001</name>
  <cluster href="/api/clusters/00000000-0000-0000-0000-000000000000"
    id="00000000-0000-0000-0000-000000000000"/>
  <positive>true</positive>
  <enforcing>true</enforcing>
</affinity_group>
必要な name 属性を指定して POST 要求を使用して仮想マシンのアフィニティーグループを作成します。

例10.21 仮想マシンのアフィニティーグループの作成

POST https://XX.XX.XX.XX/api/clusters/00000000-0000-0000-0000-000000000000/affinitygroups HTTP/1.1
Accept: application/xml
Content-Type: application/xml

<affinity_group>
  <name>AF_GROUP_001</name>
  <positive>true</positive>
  <enforcing>true</enforcing>
</affinity_group>
DELETE 要求で仮想マシンのアフィニティーグループを削除します。

例10.22 仮想マシンのアフィニティーグループの削除

DELETE https://XX.XX.XX.XX/api/clusters/00000000-0000-0000-0000-000000000000/affinitygroups/00000000-0000-0000-0000-000000000000 HTTP/1.1

HTTP/1.1 204 No Content