FAQs
Manage FAQs
-
What are the benefits of moving to OpenShift?
Some of the benefits are:
- Portability between cloud/on-prem environments
- Faster deployment compared to the traditional deployment model
- More robust, resilient, high availability, and elasticity through containerization and container orchestration
- Consistency per the operator model, repeatable deployment
- Capabilities for automating and streamlining the development process
-
Do the operators need special configuration?
Operators do not need any special configuration - their actions are driven by the CR (Custom Resource). Operators are the backbone of the automation in OpenShift/Kubernetes. The operator's configuration is provided by the administrator via the MAS/Manage admin UI. Behind the scenes, this UI updates the CR (which can also be manually changed). The operators run as pods in the OCP cluster.
-
What is the purpose of the ingress controller?
Ingress controller is OpenShift/Kubernetes way of exposing the service endpoint and load balancing to your applications.
-
Can you elaborate on the IBM container registry (icr.io)?
All IBM products’ images are stored there. The images are accessible if you purchased the product thus obtain an entitlement key. The entitlement key is to be provided when installing MAS, and the MAS and other application operators use this entitlement key to pull the images from icr.io.
-
Are there options for organizations that are on windows or only options to provision new RHEL envs/move to cloud?
Windows is not supported. The provided link is for setting up a development environment: https://www.ibm.com/docs/en/maximo-manage/continuous-delivery?topic=administering-local-maximo-manage-development-environments. You have the option to run it on bare metal or in VSphere. Additionally, for more information, refer to: https://docs.openshift.com/container-platform/4.7/installing/index.html#supported-platforms-for-openshift-clusters_ocp-installation-overview
-
Are there any limitations to moving to OpenShift?
- Potentially more hardware is needed for smaller installations.
- Short term learning curve (like any new technology).
-
Are there specific requirements for a multi-tenancy environment?
Multi-Tenant Manage is not yet supported in MAS.
-
Does OpenShift allow dynamic scaling?
Yes, but MAS does not fully support it yet.
-
Is the hypervisor something IBM provides or is that open source?
There are different hypervisor products. IBM does not provide any hypervisor.
-
What environment changes require application outages for users?
Any change that requires the pods to go down. This is similar to today with when you need to restart the JVM. For example, applying a new custom archive with your customization.
-
What databases are supported?.
All three databases (DB2,Oracle and SQL server) are supported for Manage.
-
What Industry Solution/Add-ons are supported?
All Industry Solutions/Add-ons are supported. Scheduler, Calibration, and Linear are now all included in base Manage. Life Sciences is covered via Calibration.
-
What languages are supported?
All 23 languages are supported.
-
Are Oracle and SAP integrations supported?
Yes, Oracle and SAP integrations are supported.
-
What are the supported authentication methods in MAS?
The following authentication methods are supported:
- Local IDP (username/password registered in Mongo DB)
- LDAP
- SAML
Authentication Methods: https://www.ibm.com/docs/en/mas-cd/continuous-delivery?topic=configuring-authentication-methods
-
What authentication is needed for inbound HTTP/SOAP/REST-based integration to Manage?
API Key authentication is required for inbound HTTP/SOAP-based integration to Manage. The API Key can be generated from the Manage administration app. The HTTP request header must include the API Key. For REST-based integration, you can use OIDC as well as an API key for authentication.
-
What is the replacement of SI bus?
Liberty JMS server, as well as Kafka community edition or any other supported JMS provider, are supported. Liberty JMS is available as a bundle from MAS config UI for any MAS Manage deployment.
-
Is RMI supported?
RMI is no longer supported. We recommend customers to leverage Maximo REST APIs instead of RMI.
RMI to Rest API: https://ibm.box.com/s/5956jxr78i1bpihsvtrzub4wfb19p8o0
-
Is BIRT reporting supported?
Yes, BIRT is supported. Your reports will be moved automatically with the database upgrade.
-
How does one restart the Manage server (other than deleting pods or restarting pods)?
You can start and stop Manage server using the new tools-api.
-
Stop the Maximo Manage pods
-
Start the Maximo Manage pods.
Start/stop and more administration APIs: https://www.ibm.com/docs/en/maximo-manage/continuous-delivery?topic=reference-apis-administrative-utilities
-
-
Can we achieve the multiple JVMs functionality (in Maximo v7.x) for different Maximo Manage entities (UI, Cron, Reporting, MIF) and segregate the functionality accordingly?
The Manage application can be deployed with different server bundles (workloads) for processing and isolation needs. The table below shows the different server bundles types:
Bundle Server Type Description all This bundle type contains all the code. ui This bundle type contains UI and supporting code.
It is the interface for accessing Manage application.mea This bundle exposes the enterprise web services API. report This bundle contains the code that is needed to enable
BIRT Report Only Server (BROS). Used to separate out
the work load that is related for execution of reports that
are submitted from the Manage UI.cron This bundle contains the code that is needed to run
Manage cron tasks.standalonejms This bundle is for Liberty Server JMS messaging, used by
Manage Integration Framework as the default JMS provider. -
How to deploy a custom Java class?
The custom Java classes need to be packaged as a customization archive. A customization archive is a zip file and its structure is the same as the Maximo/SMP folder structure. It can include Java classes, XML, and database scripts. You need to follow the product.xml standard for customization. A customization archive is specified as part of the Manage CR spec (via the Manage deployment UI) so that the build process can include it. It can be accessed through the HTTP(s) or FTP(s) endpoint. Multiple customization archives are supported.
-
How do we access the System.Out logs for Maximo?
Manage server logs are written to the standard output. You can view the logs from the OpenShift console.
- Go to your OpenShift console, navigate to the Workload/Pods menu, Select your Manage project.
- Check your Liberty server pods. Select the server pod to view log.
You can also use toolsapi to upload and retrieve logs using S3 storage.
-
How can we run integrity checker?
You can also use toolsapi to run integrity checker.
-
How can we integrate Cognos with MAS?
Cognos entitlement is included with MAS 8.10.
-
How is LDAP configured in MAS?
MAS uses WebSphere Liberty to synchronize with LDAP. Liberty provides a SCIM API for MAS to consume the data from LDAP repositories into the MAS user registry. MAS pushes users/groups to Manage from MAS repository using user sync process.
LDAP configuration: https://www.ibm.com/docs/en/mas-cd/continuous-delivery?topic=identity-ldap-user-registry-synchronization
-
How is the SMTP server configured?
SMTP server is configured in MAS using the MAS Admin UI.
SMTP configuration: https://www.ibm.com/docs/en/mas-cd/continuous-delivery?topic=configuring-smtp-server
-
How can certificates be applied?
Cerificates can be applied via the MAS Admin UI.
Certificate configuration: https://www.ibm.com/docs/en/mas-cd/continuous-delivery?topic=migrating-using-certificates
-
What is the upgrade process?
Upgrade Process: https://www.ibm.com/docs/en/mas-cd/continuous-delivery?topic=upgrading-from-maximo-asset-management-maximo-manage
-
Are the Maximo users moved to MAS after upgrade?
Yes, the Maximo users will have an entry created in MAS from the existing Maximo (7.6.1.2+) system during the upgrade execution.
Migrated Users: https://www.ibm.com/docs/en/mas-cd/continuous-delivery?topic=migrating-managing-users-post-upgrade
-
What are the EAM to Manage gaps?
The following features/functionality are not supported yet, but are in the roadmap:
Functional gaps - E-Signature password should match with login password (LDAP/Local user) - Configuration of login page and common header - User Self registration - Guest User - Allow LDAP synch mapping configuration - Ability to add unsupported language - Barcode font support - Archiving guidance - Configurable Email template for user management - Force user logout or similar - Ability to run custom metadata classes report
Authentication - OpenID support in addition to SAML - Support multiple LDAPs - Local user security controls parity
Platform - Z Linux support - Power support
Anywhere Migration - Calibration - Inventory - Transfer, Picking/Staging
Bug Fixes
-
How do I apply bug fixes?
-
Patches are periodically released with APAR fixes. It can be applied using the MAS Admin UI manually or automatically if you have subscribed.
-
LA(one-off) fixes can be applied using the customization archive process.
-
-
What is the rollback process when a patch fails at the app layer or the db layer
The rollback process include:
-
Roll back the configuration, which is the Manage Workspace CR and its associated secrets in the OpenShift Manage namespace. The old image can be regenerated by the operator, or the old build can be specified to have the deployment revert back toa previous state.
-
Restore the database. (Same as 7.6)
A new back-up and restore instruction document will be delivered in Manage 8.4.
-
Useful Links
Upgrading from IBM Maximo Enterprise Asset Management to IBM Maximo Manage: https://www.ibm.com/docs/en/maximo-manage/continuous-delivery?topic=manage-integration#concept_ecy_3dv_5tb
Maximo Application Suite: https://www.ibm.com/docs/en/mas-cd/continuous-delivery?topic=configuring
Terminology
Term | Description | Used For |
---|---|---|
Admission Webhook | Admission webhooks are HTTP callbacks that receive admission requests and do something with them. |
We are using them to control the product matrix as part of the deployment process(eg cannot install both HSE and Oil & Gas). |
Ansible | Ansible is an open-source software provisioning, configuration management, and application-deployment tool enabling infrastructure as code. |
Used for deploying pods |
ConfigMap | Config maps hold configuration data for pods to consume. This is similar to a property file. |
Internally generated from CR |
CR (Custom Resource) |
A resource implemented through the Kubernetes Custom Resource Definition API. A resource is an endpoint in the Kubernetes API that stores a collection of API objects of a certain kind; for example, the built-in pod's resource contains a collection of Pod objects. A custom resource is distinct from the built-in Kubernetes resources, such as the pod and service resources. Every CR is part of an API group. |
Manage CRs: * ManageApp * ManageWorkspace * ManageBuild * ManageDeployment * ManageAppStatus * ManageServerBundles * BuildDataInterpreter (for ACM) |
CRD (Custom Resource Definition) |
Create a custom resource definition to define a new custom resource. CRD is to CR as XSD is to XML. |
Manage CRs: * ManageApp * ManageWorkspace * ManageBuild * ManageDeployment * ManageAppStatus * ManageServerBundles * BuildDataInterpreter (for ACM) |
EFK (Elastic search, FluentD, Kibana) |
The EFK stack is a modified version of the ELK stack and is comprised of: * Elasticsearch: An object store where all logs are stored. * Fluentd: Gathers logs from nodes and feeds them to Elasticsearch. * Kibana: A web UI for Elasticsearch. Once deployed in a cluster, the stack aggregates logs from all nodes and projects into Elasticsearch, and provides a Kibana UI to view any logs. Cluster administrators can view all logs, but application developers can only view logs for projects they have permission to view. The stack components communicate securely. |
Used for Log Analysis |
Entitled Registry | Where IBM stores the images for download and use in MAS | This is where we keep binaries that will be used to build an image. |
Image | An image is a binary that includes all of the requirements for running a single container, as well as metadata describing its needs and capabilities. |
This is what is deployed as Manage, Monitor, Assist, etc. |
Kafka | Apache Kafka is a framework implementation of a software bus using stream-processing. |
It is a pre-req for Monitor. For Manage, it is an option that can be used as a JMS queue alternative. |
Kubernetes aka K8s | Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services. |
Maintains the "cluster" |
MAS (Maximo Application Suite) |
The main entry point for working with the Maximo applications (Manage, Assist, etc) |
|
Manage | Formerly Maximo EAM | |
MongoDB | A NoSQL database - a document database, which means it stores data in JSON-like documents. |
MAS user and license metric information is stored here |
Namespace/Project | Kubernetes provides a partitioning of the resources it manages into non-overlapping sets called namespaces |
In MAS, there is a namespace for Manage, a namespace for Assist, etc. In the future, there can be multiple instances of an application(eg Manage) per namespace. |
OCP (OpenShift Container Platform) |
An on-premises platform as a service built around Docker containers orchestrated and managed by Kubernetes |
Manages the MAS cluster |
OIDC (Open ID Connect) |
A simple identity layer on top of the OAuth 2.0 protocol | Used for authentication between MAS and Manage |
OIDP (Open ID Provider) |
An identity provider, or OpenID provider (OP) is a service that specializes in registering OpenID URLs or XRIs. |
Used for authentication between MAS and Manage |
Operator | Operators are software extensions to Kubernetes that make use of custom resources to manage applications and their components. |
Processing within MAS |
Persistent Volume | A PersistentVolume (PV) is similar to drive mapping. This API object captures the details of the implementation of the storage, be that NFS, iSCSI, or a cloud-provider-specific storage system. |
In Manage we use PV to map with attached docs or other places where similar access is needed. |
Pods | Pods are the smallest, most basic deployable objects in Kubernetes. A pod represents a single instance of a running process in your cluster. Pods contain one or more containers, such as Docker containers. When a pod runs multiple containers, the containers are managed as a single entity and share the Pod's resources. |
Deploying a Maximo "server" |
RHEL (RedHat Enterprise Linux) |
Red Hat Enterprise Linux (RHEL) is a Linux-based operating system from Red Hat designed for businesses. RHEL can work on desktops, on servers, in hypervisors or in the cloud. Red Hat and its community- supported counterpart, Fedora,is among the most widely used Linux distributions in the world. |
|
RHCOS (RedHat Core Operating System) |
The version of RHEL that comes as part of OCP | If you are installing on bare metal, then this is the operating system being used |
Route | An OpenShift route is a way to expose a service by giving it an externally- reachable hostname like www.example.com. A defined route and the endpoints identified by its service can be consumed by a router to provide named connectivity that allows external clients to reach your applications. |
Replacement of IHS in EAM. The route plus the service is used for external access. |
SCIM (System for Cross-domain Identity Management) |
A set of standardized HTTP endpoints for searching, updating, and deleting user records using JSON formatted data. It also includes standards and guidelines to define how user data should be formatted and sent from an Identity provider to an application (and vice-versa) |
Internally used for LDAP processing between MAS and Manage via WAS Liberty |
Scratch Image | A non-runnable image that is used to build the final image. | Each Industry Solution, Add-On and Customization package is a scratch image that is combined with the base Manage image to create the finally deployed image in MAS |
Service Bindings | A way to create a Kubernetes-wide specification for communicating service secrets to applications in an automated way. |
|
Service Bundle/workload | Part of the CR/CRD definition in regards to the various Manage server types | Denotes type and number of Manage pods - UI, Cron, MEA, Report, All, etc |
SLS (Suite License Server) |
This is the server that process AppPoints | AppPoints |
UBI (Universal Base Image) |
A vehicle for building and delivering certified containers and operators | Used as a base for creating the Manage image(s). Manage uses the RedHat UBI and Liberty UBI. |
Watches | An operator subscription to the create/change/delete event of certain OCP resources. These are specifid in watches.yaml and used internally only. |
Allows for processing new selections of deployment (for example, add a language) |
Workspace | An aggregation of namespaces used to create a MAS sub-instance. In 8.5 and earlier there is always only one workspace. In the future, within MAS one could define different workspaces. |
Similar to Namespace, but this is for MAS as a whole. Each workspace could have a different configuration. This would be useful for sharing a MAS instance between dev and QA environments. |
YAML (YAML Aint Markup Language) |
YAML is a human-readable data-serialization language. It is commonly used for configuration files and in applications where data is being stored or transmitted. |
Used to define CRDs/CRs |