5.87.14. setupnetworks POST
この方法は、ホストのネットワークインターフェイスの設定を変更するために使用されます。
たとえば、3 つのネットワークインターフェイス eth0、eth1、および eth2 を持つホストがあり、eth0 および eth1 を使用して新しいボンディングを設定し、その上に VLAN を配置するとします。簡単なシェルスクリプトと curl コマンドライン HTTP クライアントを使用すると、以下のように実行できます。
#!/bin/sh -ex
url="https://engine.example.com/ovirt-engine/api"
user="admin@internal"
password="..."
curl \
--verbose \
--cacert /etc/pki/ovirt-engine/ca.pem \
--user "${user}:${password}" \
--request POST \
--header "Version: 4" \
--header "Content-Type: application/xml" \
--header "Accept: application/xml" \
--data '
<action>
<modified_bonds>
<host_nic>
<name>bond0</name>
<bonding>
<options>
<option>
<name>mode</name>
<value>4</value>
</option>
<option>
<name>miimon</name>
<value>100</value>
</option>
</options>
<slaves>
<host_nic>
<name>eth1</name>
</host_nic>
<host_nic>
<name>eth2</name>
</host_nic>
</slaves>
</bonding>
</host_nic>
</modified_bonds>
<modified_network_attachments>
<network_attachment>
<network>
<name>myvlan</name>
</network>
<host_nic>
<name>bond0</name>
</host_nic>
<ip_address_assignments>
<assignment_method>static</assignment_method>
<ip_address_assignment>
<ip>
<address>192.168.122.10</address>
<netmask>255.255.255.0</netmask>
</ip>
</ip_address_assignment>
</ip_address_assignments>
</network_attachment>
</modified_network_attachments>
</action>
' \
"${url}/hosts/1ff7a191-2f3b-4eff-812b-9f91a30c3acc/setupnetworks"
これは API のバージョン 4 で有効であることに注意してください。以前のバージョンでは、一部の要素は XML 要素ではなく XML 属性として表されていました。特に、options と ip 要素は次のように表されました。
<options name="mode" value="4"/>
<options name="miimon" value="100"/>
<ip address="192.168.122.10" netmask="255.255.255.0"/>
Python SDK を使用すると、以下のコードでも同じことができます。
host.setupnetworks(
params.Action(
modified_bonds=params.HostNics(
host_nic=[
params.HostNIC(
name="bond0",
bonding=params.Bonding(
options=params.Options(
option=[
params.Option(name="mode", value="4"),
params.Option(name="miimon", value="100"),
],
),
slaves=params.Slaves(
host_nic=[
params.HostNIC(name="eth1"),
params.HostNIC(name="eth2"),
],
),
),
),
],
),
modified_network_attachments=params.NetworkAttachments(
network_attachment=[
params.NetworkAttachment(
network=params.Network(name="myvlan"),
host_nic=params.HostNIC(name="bond0"),
ip_address_assignments=params.IpAddressAssignments(
ip_address_assignment=[
params.IpAddressAssignment(
assignment_method="static",
ip=params.IP(
address="192.168.122.10",
netmask="255.255.255.0",
),
),
],
),
),
],
),
),
)
ネットワーク設定がホストに保存されていること、およびホストの再起動時に適用されることを確認するには、commitnetconfig を呼び出すことを忘れないでください。
| Name | タイプ | 方向 | 概要 |
|---|---|---|---|
|
| In | アクションを非同期で実行する必要があるかどうかを示します。 | |
|
| In | ||
|
| In | ||
|
| In | ||
|
| In | ||
|
| In | ||
|
| In | ||
|
| In | ||
|
| In | ||
|
| In |