1.6. Fabric Management
The JBoss A-MQ cartridge deploys and runs applications in a fabric. The fabric runs in the OpenShift Enterprise domain and manages all the applications that you create in that domain.
Make sure to note the following guidelines when you manage applications with fabric in an OpenShift Enterprise domain:
- Child containers are not supported
- When you create child containers in JBoss A-MQ, the containers inherit ports from the parent containers. However, OpenShift Enterprise applications must bind to specific ports. Therefore, you cannot create child containers in the EJBoss A-MQ on OpenShift Enterprise.
- ZooKeeper server runs only on the first JBoss A-MQ application
- The first JBoss A-MQ application that you create contains the ZooKeeper server instance with which each subsequent authenticates. The ZooKeeper instance includes the user credentials and the environment variables required to run the applications in a fabric.When you create subsequent applications, make sure to note the following guidelines:
- The primary application in the domain must be running when you create or start subsequent applications.
- The ZooKeeper credentials must be identical in all JBoss A-MQ instances that run in the same domain. You define the ZooKeeper password in the
OPENSHIFT_FUSE_ZOOKEEPER_PASSWORD
property of the cartridge. - If you want to delete the primary application, you must delete all the subsequent applications first.
- UDP connections are not supported
- Some Camel components require UDP network traffic routing. However, UDP is not supported in the JBoss A-MQ cartridge.
- Secured shared file systems are not supported
- Normally, you can restrict access to shared file systems such as NFS based on user ID. However, when you run JBoss A-MQ on OpenShift Enterprise, the user ID is dynamically generated at run-time. Therefore, you cannot configure the shared file system to restrict access based on user ID.
- Some profiles are not supported
- The following profiles are not supported when you run JBoss A-MQ on OpenShift Enterprise:
- controller-jon-server/
- controller-rhq-agent/
- controller-tomcat/
- controller-wildfly
- docker
- gateway-haproxy
- gateway-http
- gateway-mq
- hadoop-base
- hadoop-datanode
- hadoop-namenode
- jboss-brms-controller-tomcat
- jboss-brms-controller-wildfly
- jboss-brms-feature-workbench
- jboss-brms-feature-workbench.openshift
- openshift-aerogear-pushserver
- openshift-jbossews.1
- openshift-jbossews.2
In addition to the unsupported profiles, it is recommended not to deploy non-ActiveMQ profiles in your JBoss A-MQ application. - The OpenShift Enterprise Git repository is not used by the JBoss A-MQ cartridge
- Normally, when you deploy an application, OpneShift Enterprise creates a Git repository with the source code of the application. However, JBoss A-MQ with fabric creates a standalone Git repository that stores all of the profiles and configuration files. Therefore, the cartridge does not use the Git repository that OpenShift Enterprise creates for the application.