5.87.14. setupnetworks POST


此方法用于更改主机的网络接口的配置。

例如,假设您有一个具有三个网络接口 eth0、eth1eth2 的主机,并且您想要使用 eth 0eth 1 配置新绑定,并将 VLAN 放置到其中。使用简单的 shell 脚本和 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 元素表示。特别是 optionsip 元素,如下所示:

<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

表 5.280. 参数概述
名称类型方向概述

async

布尔值

In

指明是否应异步执行该操作。

check_connectivity

布尔值

In

 

connectivity_timeout

整数

In

 

modified_bonds

HostNic[]

In

 

modified_labels

NetworkLabel[]

In

 

modified_network_attachments

NetworkAttachment[]

In

 

removed_bonds

HostNic[]

In

 

removed_labels

NetworkLabel[]

In

 

removed_network_attachments

NetworkAttachment[]

In

 

synchronized_network_attachments

NetworkAttachment[]

In

 
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.