5.87.14. setupnetworks POST
此方法用于更改主机的网络接口的配置。
例如,假设您有一个具有三个网络接口 eth0、eth1
和 eth2
的主机,并且您想要使用 eth
配置新绑定,并将 VLAN 放置到其中。使用简单的 shell 脚本和 0
和 eth
1curl
命令行 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。
名称 | 类型 | 方向 | 概述 |
---|---|---|---|
| In | 指明是否应异步执行该操作。 | |
| In | ||
| In | ||
| In | ||
| In | ||
| In | ||
| In | ||
| In | ||
| In | ||
| In |