IBM Support

IBM Maximo Application Suite - Migrate Maximo Application Suite from User Data Services (UDS) to Data Reporter Operator (DRO)

How To


Summary

This document provides the needed information to migrate Maximo Application Suite from User Data Services (UDS) to Data Reporter Operator (DRO).
IBM User Data Services (UDS) will be completely removed by June 2024 and it will be replaced by IBM Data Reporter Operator (DRO), resulting in a lower operational footprint.

Objective

Migrate IBM Maximo Application Suite from User Data Services (UDS) to Data Reporter Operator (DRO).

Steps

Migrating to IBM Data Reporter Operator (DRO

      IBM Maximo Application Suite supports IBM DRO with February's 2024 ibm-maximo-catalog release.

      We recommend to migrate to DRO right away using February's  ibm-maximo-catalog as it includes tools to assist with this migration.
      If you don't plan to migrate, there is no functional impact on IBM Maximo Application Suite, as MAS will still continue to run but it will no longer be sending usage and metering data to IBM. Users will be responsible to manually report these metrics to IBM. 

     IBM Data Reporter Operator (DRO) is a lightweight alternative to UDS that accepts events and transforms them into reports submitted to the Data Service of the IBM Metrics Operator. The Metric operator captures and sends these reports to IBM.

IBM Data Reporter Operator (DRO) installation overview

     There are three ways to install, configure and use DRO:

       1.  Using the MAS CLI tool
       2.  Using Ansible roles
       3.  Manually user actions.

Note: MAS CLI provides a mechanism to choose DRO when installing MAS.

1. Install, configure and use DRO via MAS CLI tool

     1a: Use MAS CLI for new MAS installations

     For a new MAS instance creation, mas install via MAS CLI will install UDS by default. If you wish to install DRO instead, set export UDS_ACTION=install-dro. The install and configuration is fully automated, and no additional steps are required.

Related documentation: https://ibm-mas.github.io/cli/guides/install

    1b: Use MAS CLI for existing MAS installations: DRO migration utility [supported versions of MAS: 8.10.x and 8.11.x]

     A fully automated migration to DRO can be performed using the MAS CLI. Run mas update and follow the on-screen prompts. The utility will perform validation tests to ensure the cluster is compatible with DRO migration. The following criteria must be met:
     - A valid running UDS installation.
    - Catalog Version chosen on mas update must be February 2024.
    - All MAS instances must be either 8.10.x or 8.11.x.
    - Available MAS instances must be configured with a UDS local on the cluster.

 If these criteria are met, and UDS exists locally, UDS will first be uninstalled. DRO will then be installed and a BASCFG CR’s containing DRO configurations will be applied in the RedHat OpenSfhit cluster to ensure all MAS instances are switched over to use DRO.

MAS instances with remote UDS configurations are not supported in the automated DRO migration utility. In these cases, it is recommended that the Ansible roles should be used to install and configure DRO.

Related documentation: https://ibm-mas.github.io/cli/guides/update/

2. Install via Ansible Roles

The MAS Ansible Devops collection provides a role called dro to automate and configure DRO on MAS. DRO can co-exist along with UDS, or your can choose to install DRO and then uninstall UDS.

  2a: First install DRO and configure MAS with 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 perform stem 2b.

ansible-playbook playbooks/run_role.yml


  2b. Uninstall UDS if it exists.

export ROLE_NAME='uds'
export UDS_ACTION=uninstall

cd ansible-devops/ibm/mas_devops
ansible-playbook playbooks/run_role.yml

DRO_STORAGE_CLASS is an optional field, ansible-playbook by default will determine a suitable storage class and use it if OCP is running on IBM Cloud, AWS or Azure. if you wish to use a custom storage class, update DRO_STORAGE_CLASS with a suitable name.

Related documentation: https://ibm-mas.github.io/ansible-devops/roles/dro/

3. Manual installation

    In order to manually install DRO on your OCP cluster without the help of MAS CLI or the MAS Ansible Devops Collection , follow the instructions provided on the RedHat Marketplace github repo’s README : https://github.com/redhat-marketplace/redhat-marketplace-operator/blob/develop/datareporter/v2/README.md#usage

Once DRO is manually installed, use the following steps to Configure MAS to connect to the DRO instance:
- Login to OCP console as a Administrator
- Navigate to Adminstration → Custom Resource Defination and search for BASCFG
- Click into BASCFG and choose the Instances Tab
- Look for a BASCFG instance related to your environment, if you have one already, reuse the same name on the sample bascfg.yml below and execute the below oc commands to apply the bascfg configuration on MAS
- If the cluster has multiple MAS instances, repeat the same steps with each of the mas_instance_id’s

OC commands to apply the bascfg CR

oc login 
oc project mas-{{ mas_instance_id }}-core
oc apply -f bascfg.yml 

Sample for bascfg.yml

A Sample of bascfg.yml has been provided below. Insert valid values for all fields surrounded by {{ }}. For more information on these fields and how to get them refer to https://ibm-mas.github.io/ansible-devops/roles/dro/#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 }}

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB59","label":"Sustainability Software"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSRHPA","label":"IBM Maximo Application Suite"},"ARM Category":[{"code":"a8m3p000000hAeeAAE","label":"Maximo Application Suite-\u003ECore"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
29 April 2024

UID

ibm17129971