The instructions in this section are optional for TKGI users because the steps are automated in TKGI.

The first step in the Manager to Policy migration process is to migrate the NSX resources that are shared among clusters such as Logical Routers, IP blocks and pools, NsGroups, and so on. These NSX resources are created by the user. They are specified in the mp2p-user-spec YAML manually by the user when migrating vanilla Kubernetes clusters. They cannot be specified in TKGI as they are auto-inferred. They are specified in the VMware NSX-T Tile under MP to Policy Migration config pane in Ops Manager in TAS.

In TKGI and vanilla Kubernetes cluster migration, Shared Resources are migrated to Policy with a policy ID that is derived from their display names in the following way:
  • Each space (' ') literal is replaced with underscore ('_')
  • Each forward slash ('/') is replaced with underscore ('_')
  • If the display name has only periods (for example, '.', '.....', etc.) it is prepended with one underscore ('_')
Examples:
  • "mp display name" becomes policy id: "mp_display_name"
  • "mp display/name" becomes policy id: "mp_display_name"
  • "....." becomes policy id: "_....."

So you must ensure that all the NSX resources that you created have unique display names.

In TAS, Shared Resources are migrated to Policy with a policy ID that is same as the MP ID.

NOTE: After migrating a Vanilla Kubernetes cluster, update the ncp.ini based on the above rules wherever the config reads the ID of the NSX resource.

How to specify shared resources in user-spec YAML

While migrating a vanilla Kubernetes cluster, you can edit scripts/user-spec.yaml if you are running NCP 4.1.0 or earlier. Otherwise, use the config map nsx-ncp-migrate-mp2p-user-spec to specify which user-created NSX resources should be migrated. You can specify:
  • The resource using either display_name or ID in the Manager API. If the resource is not found in Manager API, it is ignored.
  • The IP-Allocations to be imported for any IP Pool in the user-spec.yaml under "ip-allocations". Two scenarios:
    1. With custom IpPoolAllocations from this IpPool

      If you have created some IpAllocations manually, please specify them under here. Key is the allocation_id of the IpPoolAllocation and value is its expected policy ID. Do not import any other resources such as IpBlock, Tier0, etc. with it. Once they are imported, run the script again to import shared resources but as specified in step 2 below.

    2. Without custom IpPoolAllocations from this IpPool (default)

      Do not edit/specify ip-allocations under any IpPool and add all the other resources like IpBlock, Tier0, etc in the spec to be imported.

  • Static routes and router ports to be imported for a tier 1 router.

    Do not change the `key` and `value` identifier in the spec, but only their assigned values. `Key` is the manager ID and value is the expected policy ID.

See Sample user-spec.yaml to see the list of NSX resources that can be specified and how to specify them.

Steps to import only shared resources

NCP 4.1.1 or Earlier

  1. Fill in the appropriate information in config.yaml and set import_shared_resources_only to True. See Sample user-spec.yaml.
  2. Fill in the shared resources info in user-spec.yaml. See Sample user-spec.yaml.
  3. Run the mp_to_policy_importer using either the config file or command line arguments. For example:
    python3 mp_to_policy_importer.py --config-file config.yaml

NCP 4.1.2 or Later

  1. Fill in the shared resources info in nsx-ncp-migrate-mp2p-user-spec config map. See Sample user-spec.yaml.
  2. Do not specify any Kubernetes cluster name under the key "k8s-clusters".
  3. Apply the file migrate-mp2p-job.yaml to run the migration job.
Follow these steps on the OpsManager UI:
  1. Navigate to the MP to Policy Migration config pane.
  2. Specify the NSX resources to be migrated.
  3. Enable the checkbox Migrate only manually created NSX resources. If this option is selected, then NCP created NSX resources for this foundation will not be migrated to Policy.
  4. Select the radio button Perform Migration to NSX Policy. All user-specified NSX resources specified in this configuration pane and NCP-created NSX resources are migrated to Policy. This is done by deploying a new VM in the VMware-NSX-T deployment and running an errand on it.
  5. Click Save.
  6. Click Installation Dashboard.
  7. Click Review Pending Changes.
  8. Under VMware NSX-T Tile Errands, enable Perform MP2P Migration.
  9. Click Apply Changes.