マネージャからポリシーへのインポート プロセスでは、まず最初に、ルーター、IP ブロックとプール、NsGroups などの共有リソースをインポートします。

ポリシー モードの NCP は、ncp.ini の NSX リソースのポリシー ID を受け入れるだけです。共有リソースは、次のように表示名から派生したポリシー ID を使用して、マネージャからポリシーにインポートされます。
  • スペース「 」はアンダースコア「_」に代わります。
  • スラッシュ「/」はアンダースコア「_」に代わります。
  • ピリオドのみの表示名(「.」、「.....」など)は、名前の先頭に 1 個のアンダースコア「_」が付きます。
例:
  • 「mp display name」のポリシー ID は「mp_display_name」になります。
  • 「mp display/name」のポリシー ID は「mp_display_name」になります。
  • 「.....」のポリシー ID は「_.....」になります。

作成したすべての NSX リソースに一意の表示名が生成されるようにする必要があります。

必要であれば、上記のルールを参考にして、ncp.ini で NSX リソース ID に関連する箇所を更新します。

user-spec.yaml の編集

user-spec.yaml を編集して、インポートするリソースを指定する必要があります。次のものを指定できます。
  • マネージャ API で display_name または ID のいずれかを使用するリソース。マネージャ API で見つからないリソースは無視されます。
  • 任意の IP プールにインポートされる IP 割り当て。user-spec.yaml の ip-allocations に指定します。2 つのシナリオ:
    1. この IpPool のカスタム IpPoolAllocations を使用する

      IpAllocations を手動で作成した場合は、ここで指定してください。キーは IpPoolAllocation の allocation_id、値は想定されるポリシー ID です。IpBlock、Tier-0 などのその他のリソースはインポートしないでください。インポートが完了したら、次の手順 2 のようにスクリプトを再度実行して shared_resources をインポートします。

    2. この IpPool のカスタム IpPoolAllocations を使用しない(デフォルト)

      IpPool で ip-allocations の編集または指定を行いません。インポートする仕様には、IpBlock、Tier-0 などの他のすべてのリソースを追加します。

  • Tier-1 ルーターにインポートされるスタティック ルートとルーター ポート。

    仕様で key と value の識別子は変更しません。割り当てられた値のみを変更します。Key はマネージャ ID で、値は想定されるポリシー ID です。

user-spec.yaml に共有リソースを指定する方法については、リソースの指定順序を参照してください。

共有リソースのインポート手順

  1. config.yaml に必要な情報を入力し、import_shared_resources_onlyTrue に設定します。config.yaml のサンプル を参照してください。
  2. user-spec.yaml に共有リソースの情報を入力します。user-spec.yaml のサンプル を参照してください。
  3. 構成ファイルまたはコマンドライン引数を使用して mp_to_policy_importer を実行します。次はその例です。

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