Importing an as-a-Service Fabric

Describes the steps to import an as-a-service fabric into the global namespace.

Considerations for Importing an as-a-Service Fabric

An as-a-service fabric is a fabric that exists as part of a global namespace and was created using the Create fabric functionality of the Data Fabric UI. From any as-a-service fabric, you can import another as-a-service fabric into the global namespace by using the Import fabric command.

A fabric can belong to only one global namespace at a time. Thus, the act of importing an as-a-service 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 Resources card of the Home page.

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 an as-a-Service 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 Import fabric. The Import fabric menu appears.
  3. Specify the current Name of the fabric to be imported. Do not change the name of the fabric to be imported.
  4. Specify the Public IP address of the APIserver of the fabric to be imported.
  5. Specify the port of the APIserver for the fabric to be imported.
  6. Click Import.
  7. 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.
  8. Complete the following tasks for the new fabric: