Skip to main contentIntegration   Learning Hub

IBM MQ Uniform Clusters Demo


1 - Review Demo Scenario

DEMO OVERVIEW
Scenario overviewUniform clusters are a specific pattern of an IBM MQ cluster that provides a highly available and horizontally scaled small collection of queue managers. These queue managers are configured almost identically, so that an application can interact with them as a single group.

This demo will walk you through the deployment process of a MQ Uniform Cluster where each queue manager uses the Native HA functionality to provide high availability. 
Demo productsCloud Pak for Integration (IBM MQ)
Demo capabilitiesMessage Queue; Uniform Clusters;
Demo intro slidesDownload the Introduction and Overview slides here.
Demo scriptThis demo script has multiple tasks that each have multiple steps. In each step, you have the details about what you need to do (Actions), what you can say while delivering this demo step (Narration), and what diagrams and screenshots you will see.

This demo script is a suggestion, and you are welcome to customize based on your sales opportunity. Most importantly, practice this demo in advance. If the demo seems easy for you to execute, the customer will focus on the content. If it seems difficult for you to execute, the customer will focus on your delivery.
PrerequisitesYou need to have installed in your machine:
- oc CLI v4.6+.
- github CLI
- Bash Shell

- JAVA v8+

And you also need an account in the folllowing email service to configure your CP4I environment:
- mailtrap
Demo authorsJoel Gomez and Rafael Osorio
How to get supportContact rosorio@br.ibm.com or joel.gomez@us.ibm.com regarding issues with running this demo use case or installing the Cloud Pak for Integration.

Open a support case at IBM Technology Zone Help regarding issues with reserving and provisioning Tech Zone environments.

2 - OpenShift Installation

IBM Cloud Pak for Integration brings together IBM’s market-leading middleware capabilities to support a broad range of integration styles and use cases. With powerful deployment, lifecycle management, and production services running on Red Hat OpenShift, it enables clients to leverage the latest agile integration practices, simplify the management of their integration architecture, and reduce cost. Cloud Pak for Integration demands an OpenShift cluster.

Follow the steps below to provision a Red Hat OpenShift Container Platform cluster on VMware on IBM Cloud.

2.1 To request an OpenShift Cluster on VMware on IBM Cloud, go here and complete the form with the follow details.

FieldValue
PurposeIf you are doing the L4 course, select Practice/Self Enablement.
If you are delivering a PoC, select:Proof-of-Technology and inform the Sales opportunity.
Purpose DescriptionIf you are doing the L3 course, enter: MQ L3 Course.
If you are delivering a POC, enter the PoC details.
Preferred GeographyYou are welcome to select the preferred Geography
ocp install 1
FieldValue
OpenShift Version4.16
StorageODF - 2 TB
Worker Node Count5
Worker Node Flavor16 vCPU x 64 GB - 100 GB ephemeral storage
ocp install new 1 2

2.2 Agree with the TechZone Terms and Conditions (A) and click Submit (B). ocp install 2

2.3 You will receive an email confirming the instance is provisioning. ocp install 3

2.4 You will receive a second email once the environment is provisioned. You should expect this to take between 30 and 120 minutes. Now the status update changed to Ready. Click on Reservation ID to open the details page of your new reservation environment. ocp install 4

2.5 Copy your Cluster Admin Username (A) and Cluster Admin Password (B). Copy the OCP Console link (C). ocp install 5


3 - Access your OpenShift cluster and install the command line

In this section, you access your OpenShift cluster and install the OpenShift command line tool.

3.1 In a Browser, open the OCP Console link and paste the Cluster Admin Username (A) and Password (B) copied in the previous step and click Log in (C). oc cli 1

3.2 Great, you are almost ready for the demo. Last but not least important, let’s copy login command to access the cluster by CLI. On the top right, click your username (A) and select Copy login command (B). oc cli 2

3.3 Click Display Token. oc cli 3

3.4 Copy the Log in with this token command and paste on a terminal window. oc cli 4

oc cli 4 2

That is it! Now you are ready for the Cloud Pak for Integration installation. Take a breath and let’s start to install the Pak.


4 - Clone Repositories

To use this guide you will need to clone the demo repo to your workstation. Let’s do it now!

4.1 Open a terminal window and run the command below.

git clone https://github.com/gomezrjo/cp4i-demo-yl.git

4.2 Open the cp4i-demo-yl folder.

cd cp4i-demo-yl

5 - Set Context

Based on where you have deployed your OCP cluster you will need to set up some environment variables to inform the installation script about your environment. Let’s do it here!

5.1 First, you need to define an environment variable to inform CP4I version.

export CP4I_VER=16.1.0

5.2 Now let’s set the OCP type based on the storage classes in your cluster.

export OCP_TYPE=ODF

Note: If you are using ROKS cluster, use export OCP_TYPE=ROKS.

5.3 Set mailtap credentials.

export MAILTRAP_USER=<my-mailtrap-user>
export MAILTRAP_PWD=<my-mailtrap-pwd>

5.4 If you have provisioned your OCP cluster in Tech Zone you can use the following script to set the proper default storage class.

scripts/99-odf-tkz-set-scs.sh

5.5 Your cluster will also need access to pull the container software required to deploy the Cloud Pak. Your Entitlement Key is used to grant access. You can download you entitlement key from My IBM. Click Copy. set context 5

5.6 The IBM Entitled Registry contains software images for the capabilities in IBM Cloud Pak® for Integration. To allow the Cloud Pak for Integration operators to automatically pull those software images, you must first obtain your entitlement key, then add your entitlement key in a pull secret. Replace the my-key with your IBM entitlement key.

export ENT_KEY=<my-key>

5.7 Now, you need a namespace where you will deploy the different capabilities.

scripts/02a-cp4i-ns-key-config.sh

6 - Install Foundational Services

The IBM Cloud Pak foundational services operator is no longer installed automatically. Install this operator manually if you need to create an instance that uses identity and access management. That is exactly, what you will do in this section.

6.1 First we need to have a certificate manager, otherwise, the IBM Cloud Pak foundational services operator installation will not complete. Let’s do it!

oc apply -f resources/00-cert-manager-namespace.yaml
oc apply -f resources/00-cert-manager-operatorgroup.yaml
oc apply -f resources/00-cert-manager-subscription.yaml

Confirm the subscription has been completed successfully before moving to the next step running the following command.

SUB_NAME=$(oc get deployment cert-manager-operator-controller-manager -n cert-manager-operator --ignore-not-found -o jsonpath='{.metadata.labels.olm\.owner}');if [ ! -z "$SUB_NAME" ]; then oc get csv/$SUB_NAME -n cert-manager-operator --ignore-not-found -o jsonpath='{.status.phase}';fi;echo

Wait for a response of Succeeded.

6.2 Install the Postgress SQL Catalog Source.

oc apply -f catalog-sources/${CP4I_VER}/01-postgress-sql-catalog-source.yaml

Confirm the catalog source has been deployed successfully before moving to the next step running the following command.

oc get pods -n openshift-marketplace | grep postgresql

Wait for a response of READY.

6.3 Install the Common Services Catalog source.

oc apply -f catalog-sources/${CP4I_VER}/02-common-services-catalog-source.yaml

Confirm the catalog source has been deployed successfully before moving to the next step running the following command.

oc get catalogsources opencloud-operators -n openshift-marketplace -o jsonpath='{.status.connectionState.lastObservedState}';echo

Wait for a response of READY.

6.4 Create the Common Services namespace.

oc new-project ibm-common-services

6.5 Install the Foundational Services operator (former Common Services).

oc apply -f subscriptions/${CP4I_VER}/00-common-service-subscription.yaml

Confirm the operator has been deployed successfully before moving to the next step running the following command.

SUB_NAME=$(oc get deployment/ibm-common-service-operator -n openshift-operators --ignore-not-found -o jsonpath='{.metadata.labels.olm\.owner}');if [ ! -z "$SUB_NAME" ]; then oc get csv/$SUB_NAME --ignore-not-found -o jsonpath='{.status.phase}';fi;echo

Wait for a response of Succeeded.


7 - Deploy the Platform UI

Deploying the Platform UI allows you to deploy and manage instances from a central location.

7.1 First, let’s install Platform UI Catalog source.

oc apply -f catalog-sources/${CP4I_VER}/03-platform-navigator-catalog-source.yaml

Confirm the catalog source has been deployed successfully before moving to the next step running the following command.

oc get catalogsources ibm-integration-platform-navigator-catalog -n openshift-marketplace -o jsonpath='{.status.connectionState.lastObservedState}';echo

Wait for a response of READY.

7.2 Install the Platform UI Operator.

oc apply -f subscriptions/${CP4I_VER}/01-platform-navigator-subscription.yaml

Confirm the operator has been deployed successfully before moving to the next step running the following command.

SUB_NAME=$(oc get deployment ibm-integration-platform-navigator-operator -n openshift-operators --ignore-not-found -o jsonpath='{.metadata.labels.olm\.owner}');if [ ! -z "$SUB_NAME" ]; then oc get csv/$SUB_NAME --ignore-not-found -o jsonpath='{.status.phase}';fi;echo

Wait for a response of Succeeded.

7.3 Deploy a Platform UI instance.

oc apply -f instances/${CP4I_VER}/common/01-platform-navigator-instance.yaml

Confirm the instance has been deployed successfully before moving to the next step running the following command.

oc get platformnavigator cp4i-navigator -n tools -o jsonpath='{.status.conditions[0].type}';echo

Wait for a response of READY.

7.4 Once the Platform UI instance is up and running get the access info.

scripts/03b-cp4i-access-info.sh

7.5 Open the Platform UI URL and log in. Note the password is temporary and you will be required to change it. Take note of your new password, you will use it multiple times. platform ui 8

Record the credentials to a notepad for reference later.

7.6 Open the Platform UI URL with a web browser and log in. Note the password is temporary and you will be required to change it. Take note of your new password, as you will use it multiple times throughout the lab. platform ui 9


8 - Deploy the Enterprise Messaging (MQ)

8.1 Install the Enterprise Messaging (MQ) Catalog Source.

oc apply -f catalog-sources/${CP4I_VER}/09-mq-catalog-source.yaml

Confirm the catalog source has been deployed successfully before moving to the next step running the following command.

oc get catalogsources ibmmq-operator-catalogsource -n openshift-marketplace -o jsonpath='{.status.connectionState.lastObservedState}';echo

Wait for a response of READY.

8.2 Install the MQ Operator.

oc apply -f subscriptions/${CP4I_VER}/06-mq-subscription.yaml

Confirm the operator has been deployed successfully before moving to the next step running the following command.

SUB_NAME=$(oc get deployment ibm-mq-operator -n openshift-operators --ignore-not-found -o jsonpath='{.metadata.labels.olm\.owner}');if [ ! -z "$SUB_NAME" ]; then oc get csv/$SUB_NAME --ignore-not-found -o jsonpath='{.status.phase}';fi;echo

Wait for a response of Succeeded.

8.3 Set MQ namespace environment variable.

export MQ_NAMESPACE=cp4i-mq

8.4 Create certificates and extra route.

scripts/10a-qmgr-pre-config.sh

8.5 Create configmap with MQ configuration.

oc apply -f resources/03c-qmgr-mqsc-config.yaml

8.6 Deploy MQ Queue Manager instance.

scripts/10b-qmgr-inst-deploy.sh

Confirm the instance has been deployed successfully before moving to the next step running the following command.

oc get queuemanager qmgr-demo -n tools -o jsonpath='{.status.phase}';echo

Wait for a response of Running.

8.7 Create CCDT.

scripts/10c-qmgr-post-config.sh

9 - Copy the JAR file

For demo purposes we have created the application for you. The application is the file jmsproducer-jgr-demo.jar, and it is available in the extra folder. You are welcome to copy to another folder in your demo machine.

Another possibility is to follow the steps below to download the jar file again.

9.1 Open the URL below.

https://github.com/ibm-integration/learninghub/blob/main/static/jmsproducer-jgr-demo.jar

9.2 Then click on the Download raw file icon. copy jar 2

You will use this JAR file during your demonstration.

Great! You are ready to present the demo!  Take a breath and happy selling!