Skip to content

Tektoncd pipeline to deploy the Maximo Application Suite for IBM TechZone Deployer (experimental)

License

Notifications You must be signed in to change notification settings

cloud-native-toolkit/deployer-mas-cli

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Techzone Deployer for the Maximo

This repository contains a Tekton pipelines to deploy Maximo using mas-ansible.

Pre-requisites

Deployer Cluster

An IBM Technology Zone deployer cluster is assumed to be configured with an appropriate Red Hat OpenShift version for the Maximo version you wish to deploy, with appropriate sizing. Refer to Maximo Product Documentation for more information.

A deployer cluster can be created by installing the Deployer Operator

A deployer cluster is configured with the following items:

  • ExternalSecrets operator deployed with a ClusterSecretStore configured.
  • Techzone Deployer Tekton tasks deployed (deploy YAML).
  • OpenShift GitOps configured with One Touch Provisioning ArgoCD instance, and any relevant RBAC rules.
  • OpenShift Pipelines operator deployed.
  • deployer pipelines tasks and cluster tasks

Entitlement key

If deploying on TechZone the entitlement key is provided from the TechZone Secrets Repo. If deploying in a non-techzone cluster you will need to provide an entitlement key for the pipelinerun.

Documentation for obtaining an entitlement key here: https://www.ibm.com/docs/en/cloud-paks/1.0?topic=clusters-obtaining-your-entitlement-key

Maximo License

To activate Maximo you will need a valid license key which is a text file that contains software authorizations and entitlements. This pipeline in order to run automatically will need this file to be base64 encoded and saved in a kubernetes secret.

  1. save the license file to a file locally such as license.dat.
  2. Use a tool to base64 encode the file such as "
cat license.dat | base64 > license.dat.b64
  1. copy the output into an OpenShift secret in the default namespace
oc create secret generic maximolicense --from-file=licensefile=license.dat.b64 -n default

remember the name of the secret for the pipeline run. ( in the example above "maximolicense" is the name)

Pipelines organisation

Maximo is deployed with a Tekton Pipeline that is defined in pipeline.yaml

the pipeline runs the MAS DevOps playbooks and can be modified or extended using other roles and playbooks.

Consult the documentation for MAS DevOps here

Usage

If using your own cluster

Run Deployer prep on the cluster. link: https://github.com/cloud-native-toolkit/deployer-cluster-prep/blob/main/prepare-cluster.sh

switch to version directory of choice and run these commands

oc apply -f pipeline.yaml
oc create -f pipeline-run.yaml

Known Issues

Time to install

In testing we have seen the pipeline take from 2-6 hours to progress from installation of operators to active instances of the software. please be patient.

The pipeline is fully idempotent and can be restarted as needed.

DB2 crash loop

known issues around db2 not coming up may cause problems with maximo manage installation:

if the maximo manage activation is not progressing. check to see if a pod that starts with something like inst1-masdev-manage-maxinst-* exists and view its logs. If you see messages like "invalid tablespaces", check to see if db2 is healthy. if db2u etcd pod is unhealthy or crashing, you can delete the pod to restart it.

at this point you will have to reset the db2 database with this workaround:

Go to terminal c-db2w-shared-db2u-0 in db2u namespace

su -lc '/tmp/setupdb.sh | tee /tmp/setupdb.log' db2inst1

Go to project mas-inst1-manage Delete the pod inst1-masdev-manage-maxinst-*

TLS certs

the pipeline looks for a lets-encrypt cert previously generated by upstream automation and if found uses this cert for maximo public routes. This cert may not have all maximo paths enabled by default. If you encounter a non-trusted certificate you may have to open the path in a separate browser window and accept the cert.

About

Tektoncd pipeline to deploy the Maximo Application Suite for IBM TechZone Deployer (experimental)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Shell 100.0%