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 |