Overview

Skill Level: Intermediate

Intermediate

This recipe is detailed out to give some of the installation issues any developers / administrator might face.

Ingredients

Persons to have basic understanding of OpenShift installation steps like "OC Login (token)' and unix commands.

We are using acronymn MAS for Maximo App Suite and the learnings are shared based on experiences of installation across different versions.

This installation details are related to MAS 8.3

Disclaimer :--> I am in the process of publishing all possible issues i have faced during installation. This is not yet 100%. Publishing the content as of now to make it as avaible to people to whar ever the extent it help in the current situation

Step-by-step

  1. Basic Understanding of Openshift

    Installation of Maximo on OpenShift needs one to understand some of the basic parts of OpenShift like

    1) Cluster, 2) Namespace, 3) Pods, 4) Storage Classes, 5) Persistent Volume, 6) Persistent Volume Claims, 7) Operators, 8) Secrets & 9) Config Maps

     

    Some of the basic tools needed before installation

    1) yum install dos2unix  (This is needed to convert some of the mongo-db files)

    2) yum install java (To ensure latest version of Java is installed)

    3) yum install docker (Docker is key for installation of images).

     

    Docker Login –> Developers needs to have docker account, please create a login acccount with personal id.

    https://hub.docker.com –> Sign-in

    at Unix Terminal use the command docker login and ensure indivdual is able to login

     

    MAS 8.3 Installation Links :-  https://www.ibm.com/docs/en/mas83/8.3.0

     

    Important –> It is important first to check that right “STORAGE” classes are available, in IBM Cloud environment there is ibmc* blocks are available. In IBM Internal Fyre environment, rook-ceph blocks are available. By default rook-ceph blocks are not available in fyre environment and it has to be manually created before starting any installation.

    Fyre environment needs 2 storage blocks to be checked.

    1) rook-ceph block storage –> Steps to create rook-ceph storage block in fyre –> rook-ceph github

    2) Open shift Container Storage –> OCS storage

    3) nfs storage –> NFS Storage

    4) Nfs Client Provisoner –> NFS Client Provisioner

  2. Mongo-DB Setup and related changes

    Installation of Mongo-db is a very key part to start with Pre-Requisites of MAS installation.

    Did try with latest version of Mongo-db i.e. 4.x, had some issues in terms of connecting to database. Hence reverted to Mongo 3.6.x version. As per the product offering, Mongo db of version 3.6.x works well. Relevant installable can be obtained in the below mentioned and follow the steps. Steps are quite well define.

    https://github.com/ibm-watson-iot/iot-docs/blob/master/mongodb/README.md

    To ensure that proper storage class is well defined.

    If needed create a test pod to check if PVC (Persistent Volume Claim) are getting “Bound” before actual Mongo-db is started

    IMPORTANT –> Post installation please note down the mongo credentials. This will be used for MAS Setup.

    Issue’s faced –> Unable to connect to Mongo post installation.

    Ans: Sometimes simple mongo command won’t work, you need to use below command and this will connect to mongo database

    oc exec -it mongo-0 — bash

    mongo “mongodb://mongo.mongo.svc.cluster.local:27017/?replicaSet=rs0” -u admin (Usually admin) –password <<PASSWORD>> –authenticationDatabase admin –ssl –sslAllowInvalidCertificates

    show databases

    Other Possible issue:

    1) Login Permission issue –> Open install.sh in the installable folder, check for (oc whoami), if needed try to replace with id (Which has admin privileges) and re-try running insall.sh

    2) To ensure security key is generated before running docker image build

    3) Ensure certificate/openssl.cnf is edited and DNS4.0 entry is made

    E.g.:- DNS.4 = image-registry-openshift-image-registry.apps.maximo82.os.fyre.ibm.com

  3. Kafka Setup and related challenges

    Kafka Setup, Basic guidelines –> Kafka Setup Link https://github.com/ibm-watson-iot/iot-docs/tree/master/kafka

    Kakfa is usually setup using Strimzi Operator.

    Strimzi Operator not available –> In some cases, it is possible that Strimzi Operator would have not been loaded into OpenShift Cluster. To check and fix it, please try below steps

    1) Check for Communit Operator and Certified Operator running in “Openshift-Marketplace” project / namespace. If they are running, please check log files to ensure all the relevant operator are downloaded. In case some of the operators are not downloaded. Follow below steps

    • Increase the number of secods from 30/60 to 90/120 in YAML file of both the operators. https://access.redhat.com/solutions/5388381
    • Save the yaml file and re-load
    • Delete the Pods with new YAML file changes. New Pods will get created and it will take some time to download all the relevant operators.
    • Go to “Operator Hub” and check for the total number of ITEMS downloaded at the right side of the screen, It should have increased from current number to new number, approximately about 480 items should be downloaded if everything goes fine.

    Commands to check for Certified / Communicator Operator

    oc get co –> To check all are running and in true state

    oc get pods -n openshift-marketplace –> There should be 5 pods running as 1/1 status

  4. Cloud Pak 4 Data Installation and challenges

    Installation of CP4D is very important. Components installed as part of CP4D is db2wh (db2 Warehouse), DMC (Data Management Console), WSL (Watson Studio), WML (Watson Machine Learning Libraries) & Spark (Only if required)

    Pre-Requisites :- To ensure enough vCPU’s are available, enough memory & storages are available.

    In Fyre environment getting nfs storage properly defined is important.

    In IBM Cloud we can use ibmc-gold-gid or any other storage blocks that are available.

    For CP4d 3.5 download need to ensure right entries are made into repo.yaml file. Please have entitlement key entered in “repo.yaml” file and keep namespace empty. leave rest of the details as is.

    Before starting any module of CP4d, please ensure below command is run to get right admin privileges

    ./cpd-cli adm –assembly lite -r repo.yaml –namespace <<Namespace Name>> –-apply

    Possible Issues faced

    1) Binding of PVC Claims to Storage, please check that storage classes are properly defined and provided in cpd-cli command.

     

  5. Behaviour Analytics Setup (BAS)

    Installation of BAS is a required component for MAS 8.3 and above. BAS can be downloaded from BAS Link.

    Possible Issues faced

    1) Script might ask for OC client version 4.3 & above even if you might OC client of higher version. In that case, please comment “#OCCCVersion” in BAS_Installation.sh file and continue installation

    2) Editing “cr.properties” file is important. DO NOT give any special characters, Start with Capital letters of namespace etc for namespace or project name in the properties. Try to keep user-id and password as simple as possible. Do not complicate

    3) If we face any API or Grafana issue, try un-installing the services and re-install. If we see further issue, first thing to check is the resources availability on “Cluster” and memory capacity

  6. Maximo App suite (Core) Setup

    Setting up MAS Core is very first task in the installation process. Mentioning the right <Project Name / Namespace> is very key. 

    In case of re-installation, deletion of <<NAMESPACE / PROJECT NAME for MAS CORE & IoT>> is not easy. Hence it is important to choose the right name for project is important.

    MAS software can be downloaded from IBM Partner world. Also to get <<ENTITLEMENT KEY>> from partner world as it is key for installation

    Important Pre-requisites to Check before Installation of MAS

    1) Mongo-db is up and running. Please run some basic commands to check mongo db is up and running. Simple connection to mongo-db is working fine. Installation of Right version of Mongo-Db is very important as major “METADATA” related to MAS is stored in mongo-db

    2) Validation / Setup of Kafka either using “Strimzi” or “Redhat OpenShift AMQ Operator”. Both works fine. Setting up the Storage class is very key to get Kafka installed and working

    Installation approximately takes any where between 20-40+ minutes, it is important to ensure all pods are running fine, Storage classes are well defined and Check for vCPU and Memory availability

    Possible Issues faced

    1) To ensure at any given point of time, there is always only one “default” storage class mentioned in OCP cluster. If there is more than one, install script errors out

    2) To record and key the output of install.sh command, mainly the username and password as it is very key for Initial MAS Setup

    Post Installation, there will be 5 pods which says they are in the creation stage in MAS-<NM>-CORE. These pods will be change to state of running once MAS Initial Setup is completed. So it is key to complete Initial Steps from the Browser

  7. MAS IoT Setup

    Setting up MAS IoT is the first step as part of overall MAS configuration.

    Dependencies –> Configuration details of mongo-db, BAS and Kafka. To ensure right configuration details are captured and saved. Any wrong entries leads to lots of installation challenges and it is not easy to reverse the installation

    To ensure “core-api” pod is installed successfully without any errors. Check for events & logs tabs for errors.

    Possible Issues faced

    1) Core-API not starting or installed properly –> First try to delete the existing pod and see creation of new pod will resolve the issue by itself, If not, then we need to look into logs to identify the issue and resolved

    2) db2wh parameters expects one to mention “sslConnection=true” and other parameters in latest CP4D installation. To ensure right database name is provided as against display name. Right port number e.g. “30717” is provided, looks for port number related to SSL connection

    3) Blank screens appearing while trying to opening MAS application –> To check for certificates being “accepted” while trying to open the application. Further to it, if the issue still exists, go to console/Network tab of the browser and check if any of the responses are giving “ERROR” codes

    API-Error_Screenshot

  8. MAS Monitor Setup

Join The Discussion