Migrating Maximo Application Suite from User Data Services to Data Reporter Operator

As an IBM® Maximo® Application Suite administrator, configure the IBM Data Reporter Operator (DRO) to collect and process metrics for licensing compliance. New and existing Maximo Application Suite users can install or migrate to DRO by using the IBM Maximo Application Suite command line interface (CLI), ansible role, or manually.

Procedure

  • Installing with CLI
    The Maximo Application Suite CLI provides a mechanism to choose DRO when you install the Maximo Application Suite.
    • New DRO installation

      Run the mas install command with export UDS_ACTION=install-dro. The CLI installs UDS by default. The installation and configuration is automated, and no additional steps are required.

      docker run -ti --pull always quay.io/ibmmas/cli mas install export UDS_ACTION=install-dro

      For more information, see Maximo Application Suite CLI installation.

    • Migrating from UDS to DRO

      You can automate DRO migration with the CLI by running the mas update command. The utility runs the following validation tests to make sure that the cluster is compatible for DRO migration.

      • All Maximo Application Suite instances must be either 8.10.x or 8.11.x
      • Available Maximo Application Suite instances must be configured with a UDS local on the cluster.
      • UDS is installed locally and running
      • The mas update command must have the catalog version set to February 2024

      If these criteria are met, UDS and DRO are installed. The BASCFG CR’s containing DRO configurations are applied on the Red Hat® OpenShift® cluster to use DRO on all Maximo Application Suite instances.

      For more information, see Maximo Application Suite CLI update.

      Note: Maximo Application Suite instances with remote UDS configurations are not supported in the automated DRO migration utility. In these cases, use ansible roles to install and configure DRO.
  • Install DRO with ansible role

    Run the ansible role dro to automate and configure DRO. DRO can co-exist along with UDS, or your can install and configure DRO and then uninstall UDS.

    Install and configure DRO

    export IBM_ENTITLEMENT_KEY=<Your IBM entitlement Key>
    export DRO_CONTACT_EMAIL=xxx@xxx.com
    export DRO_CONTACT_FIRSTNAME=xxx
    export DRO_CONTACT_LASTNAME=xxx
    export MAS_CONFIG_DIR=<path to masconfig dir>
    export MAS_INSTANCE_ID=<your_instance_id>
    export ROLE_NAME='dro'
    export DRO_ACTION=install-dro
    export DRO_STORAGE_CLASS=<your_ocp_storageclass> # optional field, can be used when using custom storage classes
    export DRO_MIGRATION=true # optional field, if set will also uninstall UDS.
    
    ansible-playbook playbooks/run_role.yml
    • MAS_CONFIG_DIR is an empty directory on your machine where the ansible role stores temporary files during the installation or migration process.
    • DRO_STORAGE_CLASS is an optional field. If Red Hat OpenShift Container Platform is running on IBM Cloud® , Amazon Web Services, or Microsoft Azure, the ansible playbook by default determines a suitable storage class and uses it. You can also use a custom storage class and update DRO_STORAGE_CLASS with a suitable name.
    • When you set DRO_MIGRATION to True, the ansible role installs and configures DRO on multiple instances of Maximo Application Suite and uninstalls UDS.

    For more information, see Data Reporter Operator role.

  • Installing manually
    Follow the instructions in the README file on the Red Hat Marketplace GitHub repository.
    After the DRO is installed, follow these steps to configure Maximo Application Suite to connect to the DRO instance.
    1. Login to Red Hat OpenShift Container Platform as an administrator.
    2. Search for BASCFG in Administration > Custom Resource Definition.
    3. Open the BASCFG file and select the Instances tab.
    4. Look for a BASCFG instance that is related to your environment. If you have one already, reuse the same name on the following sample bascfg.yml and run the following oc commands to apply the bascfg configuration on Maximo Application Suite.
      oc login 
      oc project mas-{{ mas_instance_id }}-core
      oc apply -f bascfg.yml 

      Sample bascfg.yaml file. Insert valid values for all fields surrounded by double braces ({{ }}). For more information, see Role Variables - BASCfg Generation.

      
      -\\-\\-
      apiVersion: v1
      kind: Secret
      type: opaque
      metadata:
        name: dro-apikey
        namespace: "mas-{{ mas_instance_id }}-core"
      stringData:
        api_key: "{{ dro_api_key }}"
      -\\-\\-
      apiVersion: config.mas.ibm.com/v1
      kind: BasCfg
      metadata:
        name: "{{ mas_instance_id }}-bas-system"
        namespace: "mas-{{ mas_instance_id }}-core"
        labels:
          mas.ibm.com/configScope: system
          mas.ibm.com/instanceId: "{{ mas_instance_id }}"
      spec:
        displayName: DRO {{ mas_instance_id }}
        config:
          url: "{{ dro_endpoint_url }}"
          contact:
            email: "{{ dro_contact.email }}"
            firstName: "{{ dro_contact.first_name }}"
            lastName: "{{ dro_contact.last_name }}"
          credentials:
            secretName: dro-apikey
        certificates: 
          - alias: {{ insert your Certificate alias name }}
            crt: |
              {{ dro_certs }}
    Note: If the cluster has multiple Maximo Application Suite instances, repeat the steps with each of the mas_instance_ids.