Bug 1288923 - [DOCS] [xPaaS] Document how to use the mesh configuration for A-MQ
Summary: [DOCS] [xPaaS] Document how to use the mesh configuration for A-MQ
Keywords:
Status: NEW
Alias: None
Product: Red Hat xPaaS
Classification: Red Hat
Component: Documentation
Version: unspecified
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
Assignee: nshendye
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-12-07 02:35 UTC by Vikram Goyal
Modified: 2023-05-15 19:01 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Vikram Goyal 2015-12-07 02:35:41 UTC
In the A-MQ docs section about high availability and scalability [1], we need to document how to use the mesh configuration so that a network of brokers can be deployed.

Background thread on openshift-sme list: http://post-office.corp.redhat.com/archives/openshift-sme/2015-November/msg00880.html

GitHub Issue created: [2] (now closed).

The information to help with this (via email from Tomas Schlosser). Please also contact him at tschloss for any help with QE:

-- Start Forward --

Hello everyone,
yes, we have tested (and continue to do so) the mesh configuration with persistent setup. I can help Richard with debugging his environment, but I would need to get a bit more info.

I need:
- version of OpenShift
- version of templates
- version of docker image
- exact way of standing up A-MQ instance (from template - which? or through custom deploymentConfig - could I see it, please? or some other way?)

My initial guess is that you are missing mesh configuration options that are required:
- AMQ_MESH_SERVICE_NAME
- AMQ_MESH_DISCOVERY_TYPE (image jboss-amq-6/amq62-openshift only)
- AMQ_MESH_SERVICE_NAMESPACE (image jboss-amq-6/amq62-openshift only)

These environment variables are not in amq-persistent templates for a good reason. When you use persistent setup with A-MQ, you should not scale such pod, because it could share the persistent volume and cause issues when trying to get lock on shared kahadb store. Only way to create scaled persistent brokers is to create a few distinct brokers that all belong to the same service and use the deploymentConfig to set environment variables for clustering.

List of OpenShift resources:
service with selector cluster: my-cluster (e.g. amq-tcp pointing to port 61616)
persistentVolumeClaim named broker1-store
deploymentconfig with name broker1 using persistentVolumeClaim named broker1-store with label cluster: my-cluster
persistentVolumeClaim named broker2-store
deploymentconfig with name broker2 using persistentVolumeClaim named broker2-store with label cluster: my-cluster

Deployment configs would contain following environment variables:
- AMQ_MESH_SERVICE_NAME: amq-tcp
- AMQ_MESH_DISCOVERY_TYPE: kube
- AMQ_MESH_SERVICE_NAMESPACE: my-project

This setup is hard to scale, but we don't support scaling down anyway (data will be lost) and scaling through usual OpenShift way is blocked by OpenShift's inability to share storage (or provide new persistentVolumeClaims for every replica).

-- End Forward --

[1] https://docs.openshift.com/enterprise/3.1/using_images/xpaas_images/a_mq.html#high-availability-and-scalability

[2] GH Issue: https://github.com/openshift/openshift-docs/issues/1272


Note You need to log in before you can comment on or make changes to this bug.