Der erste Schritt beim Importieren von Managerobjekten in den Richtlinienmodus ist das Importieren von gemeinsam genutzten Ressourcen wie Routern, IP-Blöcken und -Pools, NsGroups usw.

NCP im Richtlinienmodus akzeptiert nur die Richtlinien-ID von NSX-Ressourcen in seiner ncp.ini. Gemeinsam genutzte Ressourcen werden beim Importieren von Managerobjekten in den Richtlinienmodus mit einer Richtlinien-ID importiert, die wie folgt aus den Anzeigenamen abgeleitet wird:
  • Jedes Leerzeichenliteral („ “) wird durch einen Unterstrich („_“) ersetzt.
  • Jeder Schrägstrich („/“) wird durch einen Unterstrich („_“) ersetzt.
  • Wenn der Anzeigename nur Punkte enthält (z. B. „.“, „.....“ usw.), wird ein Unterstrich („_“) vorangestellt.
Beispiele:
  • „mp display name“ wird zur Richtlinien-ID „mp_display_name“.
  • „mp display/name“ wird zur Richtlinien-ID „mp_display_name“.
  • „.....“ wird zur Richtlinien-ID „_.....“

Sie müssen sicherstellen, dass alle NSX-Ressourcen, die Sie erstellt haben, eindeutige Anzeigenamen aufweisen.

Aktualisieren Sie bei Bedarf die Datei ncp.ini basierend auf den obigen Regeln, wenn die Konfiguration die ID der NSX-Ressource liest.

Bearbeiten der user-spec.yaml

Sie müssen user-spec.yaml bearbeiten, um anzugeben, welche Ressourcen importiert werden sollen. Sie können Folgendes angeben:
  • Die Ressource, indem Sie entweder den Anzeigenamen oder die ID in der Manager-API verwenden. Wenn die Ressource in der Manager-API nicht gefunden wird, wird sie ignoriert.
  • Die zu importierenden IP-Zuteilungen für einen beliebigen IP-Pool in user-spec.yaml unter „ip-allocations“. Zwei Szenarien:
    1. Mit benutzerdefinierten IpPoolAllocations aus diesem IpPool

      Wenn Sie IP-Zuteilungen manuell erstellt haben, geben Sie diese hierunter an. Hierbei entspricht „key“ der Zuteilungs-ID der IP-Pool-Zuteilung und „value“ ist die erwartete Richtlinien-ID. Importieren Sie keine anderen Ressourcen wie IP-Blöcke, Tier-0-Router usw. zur gleichen Zeit. Nachdem die Zuteilungen importiert wurden, führen Sie das Skript erneut aus, um gemeinsam genutzte Ressourcen zu importieren, wie in Schritt 2 unten angegeben.

    2. Ohne benutzerdefinierte IP-Pool-Zuweisungen aus diesem IP-Pool (Standard)

      Bearbeiten Sie die IP-Zuteilungen nicht und geben Sie auch keine IP-Zuteilungen für irgendeinen IP-Pool an. Fügen Sie jedoch alle anderen Ressourcen wie IP-Blöcke, Tier-0-Router usw. in der Spezifikation für den Import hinzu.

  • Statische Routen und Routerports, die für einen Tier-1-Router importiert werden sollen.

    Ändern Sie nicht die Bezeichner „key“ und „value“ in der Spezifikation, sondern nur deren zugewiesene Werte. Die Angabe für „key“ ist die Manager-ID und „value“ entspricht der erwarteten Richtlinien-ID.

Unter Reihenfolge der Ressourcenspezifikation erfahren Sie, wie gemeinsam genutzte Ressourcen in user-spec.yaml angegeben werden sollten.

Schritte zum Importieren gemeinsamer Ressourcen

  1. Geben Sie die entsprechenden Informationen in config.yaml ein und legen Sie import_shared_resources_only auf True fest. Siehe Beispiel für config.yaml.
  2. Geben Sie die Informationen zu gemeinsam genutzten Ressourcen in user-spec.yaml ein. Siehe Beispiel für user-spec.yaml.
  3. Führen Sie mp_to_policy_importer aus, indem Sie entweder die Konfigurationsdatei oder Befehlszeilenargumente verwenden. Beispiel:

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