管理器到策略导入过程的第一步是导入共享资源,例如路由器、IP 块和池、NS 组等。

在策略模式下,NCP 仅接受其 ncp.ini 中的 NSX 资源的策略 ID。共享资源将以策略 ID 的形式从管理器导入策略,策略 ID 从其显示名称派生,方法如下:
  • 每个空格(“ ”)文本都将替换为下划线(“_”)
  • 每个正斜杠(“/”)都将替换为下划线(“_”)
  • 如果显示名称只包含句点(例如,“.”、“.....”等),则将在其前面附加一个下划线(“_”)
示例:
  • “mp display name”将变为策略 ID:“mp_display_name”
  • “mp display/name”将变为策略 ID:“mp_display_name”
  • “.....”将变为策略 ID:“_.....”

必须确保您创建的所有 NSX 资源都具有唯一的显示名称。

如果需要,在配置中显示 NSX 资源 ID 的位置根据上述规则更新 ncp.ini。

编辑 user-spec.yaml

您必须编辑 user-spec.yaml 以指定将导入的资源。您可以指定:
  • 管理器 API 中使用 display_name 或 ID 的资源。如果在管理器 API 中找不到该资源,则会将其忽略。
  • 要在 user-spec.yaml 的“ip-allocations”下为任何 IP 池导入的 IP-Allocations。有两种场景:
    1. 此 IpPool 中具有自定义 IpPoolAllocations

      如果您已手动创建一些 IpAllocations,请在此 IpPool 下指定它们。键是 IpPoolAllocation 的 allocation_id,值是其预期策略 ID。请勿随 IpPool 导入任何其他资源,如 IpBlock、Tier-0 等。导入后,再次运行脚本以导入 shared_resources,但要按照下面步骤 2 中指定的内容进行操作。

    2. 此 IpPool 中没有自定义 IpPoolAllocations(默认)

      请勿在任何 IpPool 下编辑/指定 ip-allocations,也不要在要导入的规范中添加所有其他资源,如 IpBlock,Tier-0 等

  • 要为 Tier-1 路由器导入的静态路由和路由器端口。

    请勿更改规范中的“键”和“值”标识符,而只更改其所分配的值。“键”是管理器 ID,值是预期的策略 ID。

请参阅资源规范顺序以了解应如何在 user-spec.yaml 中指定共享资源。

导入共享资源的步骤

  1. config.yaml 中填写相应的信息,并将 import_shared_resources_only 设置为 True。请参见config.yaml 示例
  2. user-spec.yaml 中填写共享资源信息。请参见user-spec.yaml 示例
  3. 使用配置文件或命令行参数运行 mp_to_policy_importer。例如:

    python3 mp_to_policy_importer.py --config-file config.yaml