Deploying IBM Fusion services using CLI

Use the instructions to deploy the IBM Fusion services using the command-line interface (CLI).

Procedure

  1. Log in to the OpenShift® terminal using the following command.
    oc login --token=${TOKEN_VALUE} --server=${SERVER_NAME}
  2. Follow the steps to deploy the IBM Fusion services:
    Global Data Platform
    Important: This procedure applies to configuring the Global Data Platform service on Red Hat® OpenShift Container Platform version 4.20 or earlier. On version 4.21 or later, the Global Data Platform service is not available as a separate service and must be configured as part of Fusion Data Foundation. For more information, see Fusion Data Foundation service with Global Data Platform.
    1. Create the YAML to deploy the Global Data Platform.
      cat << EOF > accept_license.yaml
      apiVersion: prereq.isf.ibm.com/v1
      kind: SpectrumFusion
      metadata:
        name: spectrumfusion
        namespace: ibm-spectrum-fusion-ns
      spec:
        GlobalDataPlatform: 
          Enable: true
      EOF
    2. Run the following command to apply the YAML.
      oc apply -f accept_license.yaml
    3. Run the following command to check the Global Data Platform installation status.
      oc get spectrumfusion -n ibm-spectrum-fusion-ns -o json
      Sample output:
       "status": {
                      "GlobalDataPlatformStatus": {
                          "ServiceEnabled": true,
                          "health": "Healthy",
                          "installStatus": "Completed",
                          "installStatusMessage": "IBM Storage Scale installation is succeeded",
                          "installStatusMessageCode": "BMYSS0003",
                          "isCRCRendered": false,
                          "isDeployable": true,
                          "isMachineConfigRendered": false,
                          "isSupported": true,
                          "isUpgradeFailed": false,
                          "isUpgradeInProgress": false,
                          "maxAvailableVersion": "5.2.1.1",
                          "progressPercentage": 100,
                          "upgradeAvailable": false,
                          "version": "5.2.1.1"
                      }
      
    Data Foundation
    1. Create the YAML to deploy the Data Foundation.
      cat << EOF > deploy_odf.yaml
      apiVersion: service.isf.ibm.com/v1
      kind: FusionServiceInstance
      metadata:
        name:  odfmanager
        namespace: ibm-spectrum-fusion-ns
      spec:
        creator: User
        doInstall: true
        parameters:
        - name: namespace
          provided: false
          value: openshift-storage
        - name: creator
          provided: false
          value: Fusion
        - name: backingStorageType
          provided: true
          value: Local
        - name: autoUpgrade
          provided: false
          value: "true"
        - name: enableLVMStorage
          provided: true
          value: "false"
        serviceDefinition: data-foundation-service
        triggerUpdate: false
      EOF
      Note: In the CR, provide a supported backingStorageType based on your platform.

      For more information about platform support, see Platform support table in the About the task section of Installing Fusion Data Foundation.

      In the CR, the valid input for backingStorageType > Value are Dynamic, Local, or External. Ensure that you capitalize the first letter of the value.
    2. Run the following command to apply the YAML.
      oc apply -f deploy_odf.yaml
      Sample output:
      fusionserviceinstance.service.isf.ibm.com/odfmanager created
    3. Run the following command to verify whether the Data Foundation service is installed.
      oc get FusionServiceInstance odfmanager -o json -n ibm-spectrum-fusion-ns
      Sample output:
      "installStatus": {
                  "progressPercentage": 50,
                  "retryOnFailure": false,
                  "status": "Installing"
              }
    IBM Data Cataloging
    1. Create the YAML to deploy the IBM Data Cataloging.
      cat << EOF > deploy_datacataloging.yaml
      apiVersion: service.isf.ibm.com/v1
      kind: FusionServiceInstance
      metadata:
        name:  data-cataloging-service-instance
        namespace: custom-ns
      spec:
        parameters:
          - name: namespace
            provided: false
            value: custom-ibm-data-cataloging
          - name: rwx_storage_class
            provided: true
            value: ocs-storagecluster-cephfs
          - name: doInstall
            provided: true
            value: 'true'
          - name: license
            provided: true
            value: '{"accept": true}'
          - name: affinity
            provided: false
            value: '{"nodeAffinity":{"requiredDuringSchedulingIgnoredDuringExecution":{"nodeSelectorTerms":[{"matchExpressions":[{"key":"nvidia.com/gpu","operator":"NotIn","values":["Exists"]},{"key":"nvidia.com/gpu.present","operator":"NotIn","values":["true"]},{"key":"gpu.isf.ibm.com","operator":"DoesNotExist"}]}]}}}'
        serviceDefinition: data-cataloging-service-definition
        triggerUpdate: false
        doInstall: true
        enabled: true
      EOF
      Important: Ensure that you replace the STORAGE_CLASS details with the correct value.
    2. Run the following command to apply the YAML.
      oc apply -f deploy_datacataloging.yaml
    3. Run the following command to verify whether the IBM Data Cataloging service is installed.
      oc get FusionServiceInstance data-cataloging-service-instance -o json -n ibm-spectrum-fusion-ns
    Backup & Restore
    Backup & Restore server:
    1. Create the YAML to deploy the Backup & Restore server.
      cat << EOF > deploy_bnrserver.yaml
      apiVersion: service.isf.ibm.com/v1
      kind: FusionServiceInstance
      metadata:
        name: ibm-backup-restore-service-instance
        namespace: ibm-spectrum-fusion-ns
      spec:
        parameters:
          - name: namespace
            provided: false
            value: ibm-backup-restore
          - name: storageClass
            provided: true
            value: $STORAGE_CLASS$ 
          - name: doInstall
            provided: false
            value: 'true'
        serviceDefinition: ibm-backup-restore-service
        triggerUpdate: false
        doInstall: true
        enabled: true
      EOF
      Important:
      • Ensure that you replace the STORAGE_CLASS details with the correct value.
      • The Backup & Restore namespace must be less than 23 characters or shorter.
      • Ensure that the Backup & Restore namespace must not be same namespace where base IBM Fusion is installed.
    2. Run the following command to apply the YAML.
      oc apply -f deploy_bnrserver.yaml
    3. Run the following command to verify whether the Backup & Restore server is installed.
      oc get FusionServiceInstance ibm-backup-restore-service-instance -o json -n ibm-spectrum-fusion-ns
    Backup & Restore agent:
    1. Important:
      • The Backup & Restore namespace must be less than 23 characters or shorter.
      • Ensure that the Backup & Restore namespace must not be same namespace where base IBM Fusion is installed.
      • Ensure that you create a secret and connection with instance CR to install the Backup & Restore service.
      • Ensure that the Backup & Restore server is installed on another cluster and generate the connection-token from that cluster.
      • Ensure that you replace the apiserver, bootstrapToken, STORAGE_CLASS, and hubClusterName details with the correct values.
      Create the YAML to deploy the Backup & Restore agent.
      cat << EOF > deploy_bnragent.yaml
      apiVersion: v1
      kind: Secret
      metadata:
        name: init-655759e819
        namespace: ibm-spectrum-fusion-ns
      stringData:
        apiserver: $apiserver$
        bootstrapToken: $bootstrapToken$
      ---
      apiVersion: application.isf.ibm.com/v1
      kind: Connection
      metadata:
        name: connection-655759e819
        namespace: ibm-spectrum-fusion-ns
      spec:
        remoteCluster:
          apiEndpoint: $apiserver$
          initSecretName: init-655759e819
          connectionOperatorNamespace: ibm-spectrum-fusion-ns
      ---
      apiVersion: service.isf.ibm.com/v1
      kind: FusionServiceInstance
      metadata:
        name: ibm-backup-restore-agent-service-instance
        namespace: ibm-spectrum-fusion-ns
      spec:
        parameters:
        - name: namespace
          provided: false
          value: ibm-backup-restore
        - name: storageClass
          provided: true
          value: $STORAGE_CLASS$
        - name: hubEndPointURL
          provided: true
          value: $apiserver$
        - name: hubClusterName
          provided: true
          value: $hubClusterName$
        - name: connectionName
          provided: true
          value: connection-655759e819
        - name: doInstall
          provided: true
          value: "true"
        serviceDefinition: ibm-backup-restore-agent-service
        triggerUpdate: false
        doInstall: true
      EOF
    2. Run the following command to apply the YAML.
      oc apply -f deploy_bnragent.yaml
    3. Run the following command to verify whether the Backup & Restore agent is installed.
      oc get FusionServiceInstance ibm-backup-restore-agent-service-instance -o json -n ibm-spectrum-fusion-ns