Importing a Fabric

Describes the steps to import a fabric into the global namespace.

Considerations for Importing a Fabric

When you are logged in to a fabric by using the <keyword conkeyref="mapr_vars/PN_dfui">, you can import another fabric into the global namespace.

A fabric can belong to only one global namespace at a time. Thus, the act of importing a fabric necessarily removes the fabric from the global namespace to which it currently belongs.

To view the current list of fabrics in your global namespace, display the Table view or Graph view on the All Resources page of the Data Fabric UI.

Note these considerations:
  • Only fabrics configured for SSO can be imported.
  • To import a fabric, you must be an SSO user and have Fabric Manager or Fabric User credentials.
  • You can only import one fabric at a time.
  • You must have a consumption license for each new fabric that you import.

Preparing to Import a Fabric

  1. On the fabric that you plan to import, stop Keycloak:
    1. Use the following command to identify the host running the mapr-keycloak service:
      maprcli node list -columns svc
      In the command output, look for a host that shows keycloak in the service column. If no host shows the mapr-keycloak service in the service column, go to step 2.
    2. Stop the mapr-keycloak service:
      maprcli node services -name keycloak -action stop -nodes -json
  2. On the fabric that you plan to import, reset the SSO information:
    1. Reset the SSO configuration:
      maprcli cluster resetssoconf -json
    2. Restart the mapr-apiserver services on the fabric hosts:
      maprcli node services -name apiserver -action restart -nodes host1,host2 -json
  3. Use the following command to disable the pbs.master role for the fabric to be imported:
    maprcli config save -values {cldb.pbs.global.master:0} -json
    If any security policies have been created on the fabric to be imported, they must be manually re-created on the importing fabric after the import operation is completed. To re-create the policies, refer to Administering Security Policies.
  4. On the cluster to be imported, create a tar ball of the fabric directory:
    /opt/mapr/installer/ezdfaas/deployments/<cluster-name>
  5. Copy the contents of the tar ball to the importing cluster's /opt/mapr/installer/ezdfaas/deployments directory. Extract the contents, and be sure to delete the .tar file:
  6. Obtain the SSO configuration from the importing fabric, and configure it on the fabric to be imported:
    1. Use the following command to fetch the SSO parameters from the importing fabric:
      maprcli cluster getssoconf -json
      For example:
      maprcli cluster getssoconf -json
      {
      "timestamp":1699432649586,
      "timeofday":"2023-11-08 12:37:29.586 GMT-0800 AM",
      "status":"OK",
      "total":1,
      "data":[
      {
      "issuerendpoint":"https://<hostname>:443/realms/master",
      "providername":"keycloak",
      "clientid":"edf-client",
      "clientsecret":"<secret>"
      }
      ]
      }
    2. Obtain the SSO certificate from the importing fabric's /opt/mapr/keycloak/conf/.crt, and use it to set the SSO configuration information for the fabric to be imported. Use the following command:
      maprcli cluster setssoconf -issuerendpoint "https://:8443/realms/TestReallm" -providername keycloak -clientid edf-client -clientsecret <secret> -certfile -json
    3. Restart the mapr-apiserver services.
      maprcli node services -name apiserver -action restart -nodes host1,host2 -json
    4. Wait for a minute to ensure that the SSO configuration is active, then try signing in to the UI:
      https://<apiserver>:8443/app/dfui
      You should be redirected to the Keycloak sign-in screen.
  7. Use the Data Fabric UI to complete the Import operation as described in the next section.

Completing the Import Operation by Using the Data Fabric UI

Use the following steps to complete the import operation:
  1. Log on to the Data Fabric UI as a Fabric Manager.
  2. Click the All Resources icon on the left panel.
  3. Click the Actions dropdown.
  4. Click Import fabric. The Import fabric menu appears.
  5. Specify the current Name of the fabric to be imported. Do not change the name of the fabric to be imported.
  6. Specify the Public IP address of the API server of the fabric to be imported.
  7. Specify the port of the APIserver for the fabric to be imported.
  8. Click Import.
  9. Once the Import operation is finished, ensure that the imported fabric is part of a cluster group and the fabric is listed as part of the global namespace.