11.6. 使用 API 应用静态网络配置

您可以使用 Assisted Installer API 应用静态网络配置。

先决条件

  1. 您已使用 API 创建基础架构环境,或者已使用 UI 创建集群。
  2. 在 shell 中将您的基础架构环境 ID 导出为 $INFRA_ENV_ID
  3. 您在访问 API 时具有凭证,并在 shell 中将令牌导出为 $API_TOKEN
  4. 您有带有静态网络配置的 YAML 文件,作为 server-a.yamlserver-b.yaml

流程

  1. 使用 API 请求创建一个临时文件 /tmp/request-body.txt

    ---
    jq -n --arg NMSTATE_YAML1 "$(cat server-a.yaml)" --arg NMSTATE_YAML2 "$(cat server-b.yaml)" \
    '{
      "static_network_config": [
        {
          "network_yaml": $NMSTATE_YAML1,
          "mac_interface_map": [{"mac_address": "02:00:00:2c:23:a5", "logical_nic_name": "eth0"}, {"mac_address": "02:00:00:68:73:dc", "logical_nic_name": "eth1"}]
        },
        {
          "network_yaml": $NMSTATE_YAML2,
          "mac_interface_map": [{"mac_address": "02:00:00:9f:85:eb", "logical_nic_name": "eth1"}, {"mac_address": "02:00:00:c8:be:9b", "logical_nic_name": "eth0"}]
         }
      ]
    }' >> /tmp/request-body.txt
    ---
  2. 刷新 API 令牌:

    $ source refresh-token
  3. 将请求发送到 Assisted Service API 端点:

    ---
    curl -H "Content-Type: application/json" \
    -X PATCH -d @/tmp/request-body.txt \
    -H "Authorization: Bearer ${API_TOKEN}" \
    https://api.openshift.com/api/assisted-install/v2/infra-envs/$INFRA_ENV_ID
    ---