Preparing storage

Prepare storage, including the required persistent volumes (PVs) and persistent volume claim (PVCs) for the operator, IBM Business Automation Navigator, IBM Content Cortex, Intelligent Task Prioritization, Java™ Message Service (JMS), and IBM Business Automation Workflow.

Procedure

  1. If you haven't done it already, prepare storage for the operator by following the instructions in Preparing a namespace for the operator.
  2. Prepare storage for Application Engine, by following the instructions in Optional: Implementing storage.
  3. Prepare storage for IBM Business Automation Navigator, by following the instructions in Creating volumes and folders for deployment on Kubernetes.
    Important: The value for the baw_configuration[x].case.network_shared_directory_pvc (the persistent volume claim (PVC) name for the case network shared directory) parameter in the custom resource must be set to the same value as the IBM Business Automation Navigator pvc_for_icn_pluginstore parameter.
  4. Prepare storage for IBM Content Cortex, by following the instructions in Configuring storage for the content services environment.
  5. Prepare storage for Intelligent Task Prioritization.
    Note: This step does not apply to stand-alone Business Automation Workflow.
    The Intelligent Task Prioritization feature requires a PV to be created before you can deploy. You have the following options, depending on whether your Kubernetes environment supports dynamic provisioning.
    • Option 1: If your environment supports dynamic provisioning:

      Enable dynamic provisioning by setting baml_configuration.intelligent_task_prioritization.storage.use_dynamic_provisioning to true. The trained model files will use shared_configuration.storage_configuration.sc_fast_file_storage_classname in the PV and the log file will use shared_configuration.storage_configuration.sc_medium_file_storage_classname in the PV.

    • Option 2: If your environment does not support dynamic provisioning:

      Disable dynamic provisioning by setting baml_configuration.intelligent_task_prioritization.storage.use_dynamic_provisioning to false. Then, create two PVs and PVCs manually and set baml_configuration.intelligent_task_prioritization.storage.existing_pvc_for_logstore to the name of the log PVC and baml_configuration.intelligent_task_prioritization.storage.existing_pvc_for_trained_pipelines to the name of the trained pipelines PVC in the custom resource file.

  6. Prepare storage for Workforce Insights.
    Note: This step doesn't apply to stand-alone Business Automation Workflow.
    The Workforce Insights feature requires a PV to be created before you can deploy. You have the following options, depending on whether your Kubernetes environment supports dynamic provisioning.
    • Option 1: If your environment supports dynamic provisioning:

      Enable dynamic provisioning by setting baml_configuration.workforce_insights.storage.use_dynamic_provisioning to true. The log file will use shared_configuration.storage_configuration.sc_medium_file_storage_classname in the PV.

    • Option 2: If your environment does not support dynamic provisioning:

      Disable dynamic provisioning by setting baml_configuration.workforce_insights.storage.use_dynamic_provisioning to false. Then, create two PVs and PVCs manually and set baml_configuration.workforce_insights.storage.existing_pvc_for_logstore to the name of the log PVC in the custom resource file.

  7. Prepare storage for the Java Message Service (JMS).
    The JMS component requires a PV to be created before you can deploy. You have the following options, depending on whether your Kubernetes environment supports dynamic provisioning.
    • Option 1: If your environment supports dynamic provisioning:

      Enable dynamic provisioning by setting baw_configuration[x].jms.storage.use_dynamic_provisioning to true and provide the storage class name of baw_configuration[x].jms.storage.storage_class in the custom resource file.

    • Option 2: If your environment does not support dynamic provisioning:

      Disable dynamic provisioning by setting baw_configuration[x].jms.storage.use_dynamic_provisioning to false. Then, create a PV manually and set baw_configuration[x].jms.storage.storage_class in the custom resource file to the value of the storageClassName property of your PV.

      After you create a PV that refers to a special storage class name (the storage class name does not need to exist in Kubernetes), the operator then creates a volume claim template with the workflow server stateful set and gets Kubernetes to create a PVC with the given storage class. The Kubernetes PVC is then bound to the PV that you created. Other statically-bound volumes have an extra parameter for the PV name, but for JMS it is done implicitly using the storage class name.

  8. Prepare storage for Business Automation Workflow.
    The Business Automation Workflow component requires a PV to be created before you can deploy. You have the following options, depending on whether your Kubernetes environment supports dynamic provisioning.
    • Option 1: If your environment supports dynamic provisioning:

      Enable dynamic provisioning by setting baw_configuration[x].storage.use_dynamic_provisioning to true. The dump file will use shared_configuration.storage_configuration.sc_slow_file_storage_classname in the PV and the log file will use shared_configuration.storage_configuration.sc_medium_file_storage_classname in the PV.

    • Option 2: If your environment does not support dynamic provisioning:

      Disable dynamic provisioning by setting baw_configuration[x].storage.use_dynamic_provisioning to false. Then, create the required PVs and PVCs manually and set baw_configuration[x].storage.existing_pvc_for_logstore to the name of the log PVC and baw_configuration[x].storage.existing_pvc_for_dumpstore to the name of the dump PVC in the custom resource file. Also set baw_configuration[x].storage.existing_pvc_for_filestore to the name of the file PVC.

What to do next

There are optional steps you can do next.