Red Hat JBoss A-MQ 6.2 Cloud Deployment Guide



Similar documents
Red Hat JBoss Fuse 6.1 Cloud Deployment Guide

Red Hat CloudForms 3.2 NetApp Storage Integration Guide

Red Hat Cloud Infrastructure 5 Release Notes

Red Hat Customer Portal 1 Managing User Access to the Red Hat Customer Portal and the Red Hat Network Application

Red Hat CloudForms 3.1 Management Engine 5.3 OpenShift Enterprise Deployment Guide

Red Hat Cloud Infrastructure 5 Introduction to Red Hat Cloud Infrastructure Architecture

Red Hat Enterprise Virtualization 3.6- Beta Java SDK Guide

Red Hat JBoss Core Services Apache HTTP Server 2.4 Apache HTTP Server Installation Guide

JBoss Developer Studio 6.0

Red Hat Enterprise Linux OpenStack Platform 7 OpenStack Data Processing

Red Hat JBoss Fuse 6.1 Cloud Computing with Fabric

Red Hat JBoss BPM Suite 6.1 IBM WebSphere Installation and Configuration Guide

Red Hat Enterprise Linux 7 High Availability Add-On Overview

Red Hat Cloud Infrastructure 6 Getting Started with the Red Hat Cloud Infrastructure Unified Installer

Red Hat Subscription Management All Subscription Docs Quick Registration for RHEL

Red Hat JBoss Fuse 6.2 Management Console User Guide

The future of middleware: enterprise application integration and Fuse

Red Hat JBoss Data Virtualization 6.1 Migration Guide

RED HAT JBOSS FUSE. An open source enterprise service bus

Red Hat Customer Portal Current Customer Portal Subscription Management

Red Hat JBoss Overview Intelligent Integrated Enterprise!!!! Blaine Mincey Sr. Middleware Solutions Architect

Red Hat Enterprise Linux OpenStack Platform 7 Back Up and Restore Red Hat Enterprise Linux OpenStack Platform

Red Hat JBoss Developer Studio 8.0 Start Developing

Red Hat OpenStack Platform 8 DNS-as-a-Service Guide

Introduction to Mobile Access Gateway Installation

JAMF Software Server Installation and Configuration Guide for Linux. Version 9.2

Red Hat Cloud Infrastructure 4 Quick Start for Red Hat Enterprise Virtualization and Red Hat CloudForms

OnCommand Performance Manager 1.1

JBoss Operations Network 3.1 Deploying Applications and Content

Installing and Configuring Adobe LiveCycle 9.5 Connector for Microsoft SharePoint

Novell Access Manager

OpenShift Dedicated 3.1 Architecture

Red Hat Enterprise Linux 7 Virtualization Security Guide

Product Manual. MDM On Premise Installation Version 8.1. Last Updated: 06/07/15

Red Hat Enterprise Linux 7 High Availability Add-On Administration. Configuring and Managing the High Availability Add-On

Fuse ESB Enterprise Installation Guide

Red Hat Directory Server 8.2 Using the Directory Server Console

OpenShift Enterprise PaaS by Red Hat. Andrey Markelov RHCA Red Hat, Presales Solution Architect

XenClient Enterprise Synchronizer Installation Guide

Sophos Mobile Control Installation guide. Product version: 3.5

BlackBerry Enterprise Service 10. Version: Configuration Guide

RED HAT JBOSS FUSE. A lightweight, flexible integration platform

JAMF Software Server Installation and Configuration Guide for OS X. Version 9.2

Sophos Mobile Control Installation guide. Product version: 3.6

IBM Cloud Manager with OpenStack

JAMF Software Server Installation and Configuration Guide for Linux. Version 9.0

REQUIREMENTS AND INSTALLATION OF THE NEFSIS DEDICATED SERVER

DESLock+ Basic Setup Guide Version 1.20, rev: June 9th 2014

Red Hat JBoss Developer Studio 4.1 Smooks Developer Tools Reference Guide

StreamServe Persuasion SP5 StreamStudio

Getting Started Guide

The Compatible One Application and Platform Service 1 (COAPS) API User Guide

Configuring Secure Socket Layer (SSL) for use with BPM 7.5.x

How To Manage A Server On A Jboss Application Platform (Jboss)

QuickStart Guide for Managing Mobile Devices. Version 9.2

JAMF Software Server Installation and Configuration Guide for Windows. Version 9.3

JAMF Software Server Installation Guide for Linux. Version 8.6

Connection Broker Managing User Connections to Workstations, Blades, VDI, and more. Security Review

Oracle Exam 1z0-102 Oracle Weblogic Server 11g: System Administration I Version: 9.0 [ Total Questions: 111 ]

Enterprise Manager. Version 6.2. Installation Guide

JBoss Operations Network 3.1 How to Manage JBoss Servers with JBoss ON

Eucalyptus User Console Guide

IBM Security QRadar Vulnerability Manager Version User Guide

Acronis Storage Gateway

JAMF Software Server Installation and Configuration Guide for OS X. Version 9.0

Red Hat Enterprise Linux OpenStack Platform 6 Deploying OpenStack: Enterprise Environments (Red Hat Enterprise Linux OpenStack Platform Installer)

Brekeke SIP Server Version 3 Using a Third-Party Database Tutorial Brekeke Software, Inc.

Red Hat Network Satellite 5.4 Installation Guide. Red Hat Network Satellite

Synchronizer Installation

An Oracle White Paper September Oracle WebLogic Server 12c on Microsoft Windows Azure

User Manual. Onsight Management Suite Version 5.1. Another Innovation by Librestream

Using The Hortonworks Virtual Sandbox

Red Hat Network Satellite Client Configuration Guide

Configuration Guide. BES12 Cloud

Red Hat Enterprise Virtualization 3.0 User Portal Guide. Accessing and Using Virtual Machines from the User Portal Edition 1

Red Hat Enterprise Linux OpenStack Platform 7 Users and Identity Management Guide

Filr 2.0 Administration Guide. April 2016

Copyright 2013, 3CX Ltd.

Red Hat Developer Toolset 1.1

TIBCO Spotfire Statistics Services Installation and Administration

PingFederate. Identity Menu Builder. User Guide. Version 1.0

ESET SHARED LOCAL CACHE

Connection Broker Managing User Connections to Workstations and Blades, OpenStack Clouds, VDI, and more. Security Review

Chris Rosen, Technical Product Manager for IBM Containers, Lin Sun, Senior Software Engineer for IBM Containers,

DevOps. Josh Preston Solutions Architect Stardate

OnCommand Performance Manager 1.1

Consolidated Monitoring, Analysis and Automated Remediation For Hybrid IT Infrastructures. Goliath Performance Monitor Installation Guide v11.

Mobile Device Management Version 8. Last updated:

Copyright Pivotal Software Inc, of 351

Secure Agent Quick Start for Windows

DESlock+ Basic Setup Guide ENTERPRISE SERVER ESSENTIAL/STANDARD/PRO

Install Cacti Network Monitoring Tool on CentOS 6.4 / RHEL 6.4 / Scientific Linux 6.4

Oracle EXAM - 1Z Oracle Weblogic Server 11g: System Administration I. Buy Full Product.

About the VM-Series Firewall

Security Guide Release 7.3

Building a Continuous Integration Pipeline with Docker

OpenShift on you own cloud. Troy Dawson OpenShift Engineer, Red Hat November 1, 2013

Transcription:

Red Hat JBoss A-MQ 6.2 Cloud Deployment Guide Centrally configure and provision assets in the cloud JBoss A-MQ Docs Team

Red Hat JBoss A-MQ 6.2 Cloud Deployment Guide Centrally configure and provision assets in the cloud JBoss A-MQ Docs Team Co ntent Services fuse- do cs- suppo rt@redhat.co m

Legal Notice Copyright 2015 Red Hat. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC- BY- SA is available at http://creativeco mmo ns.o rg/licenses/by- sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other co untries. Linux is the registered trademark of Linus Torvalds in the United States and other countries. Java is a registered trademark o f Oracle and/o r its affiliates. XFS is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/o r o ther co untries. MySQL is a registered trademark of MySQL AB in the United States, the European Union and o ther co untries. Node.js is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project. The OpenStack Wo rd Mark and OpenStack Lo go are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endo rsed o r spo nso red by the OpenStack Fo undatio n, o r the OpenStack co mmunity. All o ther trademarks are the pro perty o f their respective o wners. Abstract This guide describes how to use the JBoss A-MQ Fabric cloud APIs to provision, configure, and deplo y applicatio ns into clo ud enviro nments.

T able of Cont ent s Table of Contents. CHAPT...... ER... 1.. O. PENSHIFT.......... ENT.... ERPRISE.......................................................... 3.......... 1.1. O VERVIEW 3 1.2. MINIMUM G EAR REQ UIREMENTS 3 1.3. G ETTING STARTED 5 1.4. PO RT CO NFIG URATIO N 9 1.5. FUSE BUILDER CARTRIDG E 12 1.6. FABRIC MANAG EMENT 14 1.7. HIG H AVAILABILITY 16 1.8. UPG RADING THE JBO SS A-MQ CARTRIDG E 17 1

Red Hat JBoss A- MQ 6.2 Cloud Deployment G uide 2

CHAPT ER 1. O PENSHIFT ENT ERPRISE CHAPTER 1. OPENSHIFT ENTERPRISE Abstract This section explains how to get started in the cloud with OpenShift Enterprise and Red Hat JBoss A-MQ. 1.1. OVERVIEW Basic t echnologies This OpenShift Enterprise tutorial is based on the following technology stack: OpenShift Platform as a Service (PaaS). Red Hat' s OpenShift PaaS provides developers with the capability to develop, host, and scale applications in a cloud environment. You can choose a public, private, or hybrid cloud environment. In this tutorial we use OpenShift Enterprise to deploy JBoss A-MQ. Red Hat JBoss A-MQ 6.2. In this tutorial we use version 6.2 of JBoss A-MQ. OpenShift applicat ions OpenShift is an open source PaaS that enables you to develop, deploy and host applications in a cloud environment. Before you build an application, you create a cartridge that hosts your application code and dependencies. You can choose a QuickStart cartridge, upload your own source code, or link to source code from a public repository. The default JBoss A-MQ cartridge hosts the JBoss A-MQ application and runs the Fuse Management Console container. Each additional container that you create in JBoss A-MQ appears as an application on the OpenShift Appl i cati o ns page. Fuse Management Console After you create the JBoss A-MQ cartridge, you receive a URL based on the OpenShift application information that you provided. Use this URL to open the Fuse Management Console. The management console shows information about all containers, fabrics, and dependencies for the JBoss A-MQ cartridge. 1.2. MINIMUM GEAR REQUIREMENT S This section describes the resource requirements for the JBoss A-MQ cartridge. When you install new OpenShift nodes, you can choose the preconfigured xpaas gear profile. If you configure existing nodes, you use the xpaas gear profile from the file that OpenShift provides. 3

Red Hat JBoss A- MQ 6.2 Cloud Deployment G uide To view the full property descriptions and additional information about the xpaas gear profile, see the following file: /etc/o penshi ft/reso urce_l i mi ts. co nf. xpaas. m3. xl arg e For general information about how to configure gears on OpenShift Enterprise, see the section Gear Profiles in the OpenShift Enterprise documentation. Basic gear propert ies The following table lists a summary of the basic gear properties and values to set when you want to use an xpaas cartridge: Propert y Value no d e_p ro file xp aas q uo ta_b lo cks 52428 8 0 max_active_g ears 50 no _o verco mmit_active false limits_no p ro c 2142 cp u_shares 128 cp u_cfs_q uo ta_us 20 0 0 0 0 memo ry_limits_in_b ytes 10 737418 24 memo ry_memsw_limit_in_b ytes 16 10 6 12736 memo ry_mo ve_charg e_at_immig rate 1 memo ry_o o m_co ntro l 1 max_active_g ears 50 Addit ional gear propert ies The following table lists additional properties and alternate values for some of the gear properties to use when the gear is throttled, frozen, thawed, or boosted: T emplat e Propert y Value Thro ttle cp u_shares 128 4

CHAPT ER 1. O PENSHIFT ENT ERPRISE T emplat e Propert y Value cp u_cfs_q uo ta_us 10 0 0 0 0 ap p ly_p erio d 120 ap p ly_p ercent 30 resto re_p ercent 70 Freeze freezer_state FRO ZEN Thaw freezer_state THAWED Bo o st cp u_shares 256 cp u_cfs_q uo ta_us 40 0 0 0 0 1.3. GET T ING ST ART ED This section describes how to configure your OpenShift Enterprise environment and install JBoss A-MQ. 1.3.1. Inst all t he xpaas Gear Profile on OpenShift Ent erprise Nodes This section describes how to configure OpenShift Enterprise nodes to support JBoss A-MQ gear profiles after you install each node. Alternatively, you can specify the xpaas profile when you install each new node to configure the new node with the required gear properties. Note You must install the xpaas gear profile on each node where you intend to deploy the JBoss A-MQ cartridge. The nodes cannot be associated with districts or contain other gears. 1. Edit the /etc/o penshi ft/reso urce_l i mi ts. co nf file. Replace the contents of the file with the contents of the /etc/o penshi ft/reso urce_l i mi ts. co nf. xpaas. m3. xl arg e file. To prevent memory overcommit, set the maximum number of gears in the max_acti ve_g ears property to the number of gears that the node can support. The number of active gears needs to reflect the available RAM and disk space of the node. 5

Red Hat JBoss A- MQ 6.2 Cloud Deployment G uide 2. Edit the /etc/o penshi ft/no d e. co nf file. Add the following property: P O R T S_P ER _USER = 15 Add the following value to the O P ENSHIFT _FR O NT END _HT T P _P LUG INS property: openshift-origin-frontend-haproxy-sni-proxy 3. In the /etc/o penshi ft/no d e-pl ug i ns. d /o penshi ft-o ri g i n-fro ntend - hapro xy-sni -pro xy. co nf file, update the list of the P R O XY _P O R T S property to include ten ports as follows: PROXY_PORTS="2303,2304,2305,2306,2307,2308,2309,2310,2311,2312" 4. Configure your firewall to allow TCP/SSL traffic through the ports that you specified in the P R O XY _P O R T S property. For example, if you use the /etc/sysco nfi g /i ptabl es to manage your firewall configuration, add the following line before the last instance of the -A INP UT rule: -A INPUT -m state --state NEW -m tcp -p tcp --dport <port_number>:<port_number> -j ACCEPT The following example shows the port configuration for the ports numbered 2303 to 2313: -A INPUT -m state --state NEW -m tcp -p tcp --dport 2303:2312 -j ACCEPT After you edit this file, run the servi ce i ptabl es rel o ad command to apply the change. 5. Restart the o penshi ft-sni -pro xy service. 1.3.2. Inst all t he JBoss A-MQ Cart ridge on OpenShift Ent erprise This section describes how to install the JBoss A-MQ cartridge on OpenShift Enterprise. You must install the cartridge on each node in your OpenShift Enterprise domain, regardless of whether you intend to deploy JBoss A-MQ applications on that node. The JBoss A-MQ cartridges is shipped as an RPM package in an erratum that you apply in the same way that you apply asynchronous errata updates to OpenShift Enterprise. For general information about OpenShift errata updates, see the Asynchronous Errata Updates section of the OpenShift Enterprise documentation. 6

CHAPT ER 1. O PENSHIFT ENT ERPRISE 1. D ownload the advisory that contains the JBoss A-MQ cartridge. See the OpenShift Enterprise 2 General Advisories page on the Red Hat Customer Portal for a list of all OpenShift Enterprise 2 errata. 2. On each node, install the cartridge RPM package with yum in the same way you install other OpenShift Enterprise components. 3. Restart each node with the following command: service ruby193-mcollective restart 1.3.3. Configure t he OpenShift Ent erprise Broker t o Support xpaas Gears This section describes how to add the xpaas gear profiles to the OpenShift Enterprise broker and how to create a district for the gear size. For general information on districts in the OpenShift Enterprise broker, see the Managing D istricts section in the OpenShift Enterprise D eployment Guide and Capacity Planning and D istricts section in the OpenShift Enterprise Administration Guide. 1. On the OpenShift Enterprise broker, import the installed cartridges with the following command: oo-admin-ctl-cartridge -c import-profile --activate 2. Edit the /etc/o penshi ft/bro ker. co nf file. Add the value xpaas to the VALID_GEAR_SIZ ES property. Add the value xpaas to the D EFAULT_GEAR_CAPABILITIES property. You must restart the o penshi ft-bro ker service after you edit this file. 3. Run the following commands: oo-admin-ctl-user -c -l <user_name> --addgearsiz e xpaas Grants existing OpenShift Enterprise users permissions to create xpaas gears. oo-admin-ctl-district -c create -n <district_name> -p xpaas Creates a district for the xpaas nodes. oo-admin-ctl-district -c remove-capacity -n <district_name> -s 4 000 7

Red Hat JBoss A- MQ 6.2 Cloud Deployment G uide Sets the district capacity to a maximum of 2,000 gears. oo-admin-ctl-district -c add-node -n <district_name> -i <node_hostname> Adds the xpaas nodes to the district. 1.3.4. Creat e t he JBoss A-MQ Applicat ion You create the JBoss A-MQ application from the OpenShift Enterprise management console or from the command line, in the same way that you create other applications on the node. For general information on how to create applications in OpenShift Enterprise, see the Creating an Application section in the OpenShift Enterprise documentation. After succussful creation of A-MQ Application, the terminal displays information for the newly created application. You can use the provided URL to access A-MQ web-based admin console. Enter the login credentials that are provided to you after the application creation. Cho o sing t he xpaas gear pro file When you create the JBoss A-MQ application, make sure to specify the xpaas gear profile: If you create the application from the command line, include the -g xpaas option in the command. For example: rhc create-app <app_name> amq-6.2.0 -g xpaas If you create the application from the OpenShift Enterprise management console, choose xp aas from the G ear Si ze drop-down list. 1.3.5. Deploy Quickst art s This section describes how to deploy a JBoss A-MQ quickstart to run in the OpenShift Enterprise domain. Normally, you run the mvn cl ean i nstal l command to build the quickstart. However, in the OpenShift Enterprise domain, you can deploy the quickstart by assigning the quickstart profile to the container. For example, the profile for cbr quickstart is located at: /hawti o /i nd ex. html #/wi ki /branch/1. 0 /vi ew/fabri c/pro fi l es/exampl e/q u i ckstarts/cbr. pro fi l e After you assign the cbr profile, the C amel tab will be activated. You can view the quickstart attributes by clicking Camel tab. The Lo g s tab will show the messages related to cbr quickstart. For more information regarding Profiles, see Management Console User Guide. 8

CHAPT ER 1. O PENSHIFT ENT ERPRISE 1.4. PORT CONFIGURAT ION This section describes how to configure, map, and assign ports when you want to connect to the JBoss A-MQ application. 1.4.1. Choosing SSL or Non-SSL Port s When you deploy your JBoss A-MQ application you can choose to use an SSL connection or non-ssl connection. SSL connection This connection uses static predefined ports to connect to the JBoss A-MQ application. SSL connections are slower than non-ssl connections due to processing overhead at run-time, but you can determine the port number to use at run-time when you first install the application. Non-SSL connection This connection uses a dynamic port number that OpenShift Enterprise allocates based on the available ports when you install the JBoss A-MQ application. After you install the application, you must determine which port numbers the clients need to use to connect to the application. Co nfiguring an SSL co nnect io n 1. In the ActiveMQ JMS client, specify the SSL port number in the Acti vemq C o nnecti o nfacto ry property. By default, the following port numbers are available for SSL connections: O penwi re ST O MP 2303 2304 AMQ P 1. 0 2305 MQ T T 3. 1 2306 9

Red Hat JBoss A- MQ 6.2 Cloud Deployment G uide 2. Copy the contents of the self-signed public server certificate to a file named server. crt and store the file in your local machine. You can access the certificate with the URL that appears when you first install the JBoss A-MQ application, or from the default profile directory in the Wiki tab of the Fuse Management Console. 3. Run the following command to create a Java keystore that imports the certificate: $ keytool -importcert -keystore my.jks -storepass password \ -file server.crt -noprompt 4. Configure the JVM to use the keystore when the client connects to the application: $ java -Djavax.net.ssl.trustStore=my.jks... Co nfiguring a no n-ssl co nnect io n 1. After you install the JBoss A-MQ cartridge, run one of the following commands: $echo $echo $echo $echo ${OPENSHIFT_AMQ_OPENWIRE_PROXY_PORT} ${OPENSHIFT_AMQ_MQTT_PROXY_PORT} ${OPENSHIFT_AMQ_AMQP_PROXY_PORT} ${OPENSHIFT_AMQ_STOMP_PROXY_PORT} 2. Specify the port number that the broker returns in the connection URL. For example: tcp://amq-demo.openshift.example.com:63373 1.4.2. Port Binding Some Camel components and CXF endpoints must bind to specific ports to enable client connections. When you configure the JBoss A-MQ cartridge you must bind components such as camel-netty to these ports. You can use the following system properties variables to bind components to private ports: app1. po rt app2. po rt app3. po rt Note If you deploy an ActiveMQ container, the app1. po rt system property is reserved for the container. 10

CHAPT ER 1. O PENSHIFT ENT ERPRISE You specify the port system property in the connection properties with the following format: ${bind.address}:${system_property} To bind a component to a public port, you use the following connection address format: ${publichostname}:${app1.public.port} 1.4.3. Public Port Mapping The JBoss A-MQ cartridge includes the PublicPortMapper tool that translates private ports in CXF endpoint addresses to public ports. This tool ensures that users can connect to the JBoss A-MQ application from outside the OpenShift Enterprise domain without exposing the private ports that CXF requires to run. The following CXF components use the PublicPortMapper tool: i o. fabri c8. cxf. reg i stry. Fabri cc xfr eg i strati o nhand l er This handler uses the PublicPortMapper tool to translate CXF endpoint addresses. The tool maps the port for each endpoint based on the ad d ress property of the jaxws: server element: <jaxws:server id="service1" serviceclass="io.fabric8.demo.cxf.hello" address="http://$[bind.address]:$[app1.port]/server/server1"> The following example shows the source address of a CXF endpoint: http://127.2.123.129:3001/server/server1 The following example shows the translated external URL: http://app-domain.openshift.com:47106/server/server1 The tool writes the translated address to one of the following Z ookeeper paths: /fabri c/reg i stry/cl usters/api s/rest/{name}/{versi o n}/{co ntai ne r} /fabri c/reg i stry/cl usters/api s/ws/{name}/{versi o n}/{co ntai ner } i o. fabri c8. cxf. Fabri clo ad Bal ancerfeature This feature uses the PublicPortMapper tool to translate the addresses of all endpoints in the cluster. The tool maps the ports based on the list of addresses in the 11

Red Hat JBoss A- MQ 6.2 Cloud Deployment G uide endpoints in the cluster. The tool maps the ports based on the list of addresses in the g ro up array property of the feature. Each time the jaxws: server component starts, the i o. fabri c8. cxf. Fabri cserverli stener service retrieves the addresses from all active endpoints and stores the addresses in the group property. The feature then invokes the PublicPortMapper tool to translate the addresses to external connection URLs. The tool writes the addresses to the following Z ookeeper path: /fabric/cxf/endpoints/<path-configured-for- FabricLoadBalancerFeature> i o. fabri c8. camel. Fabri cp ubl i sherend po i nt This endpoint uses the PublicPortMapper tool to translate the address of the listener based on the fro m uri property of the i o. fabri c8. camel. Fabri cc o mpo nent route. The following example shows the source address of a Jetty listener: <from uri="fabric-camel:cluster:jetty:http://0.0.0.0: [[port]]/fabric"/> The tool writes the translated address to the following Z ookeeper path: /fabric/clusters/fabric/registry/camel/endpoints/cluster/<cluster _instance_number> The following example shows the translated address: http://fuse0-test.openshift.example.com:40257/fabric 1.5. FUSE BUILDER CART RIDGE Overview The Fuse Builder cartridge builds the Maven repository of a JBoss A-MQ application, and rebuilds the repository each time you update any of the repository artifacts. This cartridge provides an HTTP connection to the repository that you can use to connect to the repository from all nodes that run JBoss A-MQ applications. When you deploy JBoss A-MQ applications in a high availability configuration, you can specify this cartridge as the remote Maven repository to ensure that the master and slave nodes can always access the Maven artifacts. 12

CHAPT ER 1. O PENSHIFT ENT ERPRISE Inst alling t he cart ridge The Fuse Builder cartridge is shipped as an RPM package. You install the cartridge in the same way that you install the JBoss A-MQ cartridge. When you install this cartridge, note the following guidelines: You must deploy at least one JBoss A-MQ cartridge in the OpenShift Enterprise domain before you install and deploy this cartridge. You must install this cartridge on every node in the OpenShift Enterprise domain. You can install this cartridge with any gear profile. Configuring securit y Before you begin to use the Fuse Builder cartridge, you must specify which users can download the artifacts from the Maven repository. 1. Clone the cartridge Git repository to your development machine. 2. In the. o penshi ft/co nfi g directory of the cloned repository, open the httpd. co nf file and uncomment the security section. 3. Run the following command to create a password file in the. o penshi ft/co nfi g directory: htpasswd -cb passwords <USERNAME> <PASSWORD> 4. Commit and push the new password file and the edited httpd. co nf file to the remote repository. Adding t he Maven reposit ory t o t he JBoss A-MQ applicat ion In each JBoss A-MQ application that you want to connect with the Maven repository, add the repository address to the default profile. If you use the Fuse Management Console, you access the default profile with the following path: /hawtio/index.html#/wiki/branch/<version_number>/view/fabric/profiles/ default.profile/io.fabric8.agent.properties You add the repository URL to the list of Maven repositories in the o rg. o ps4 j. pax. url. mvn. repo si to ri es property. 13

Red Hat JBoss A- MQ 6.2 Cloud Deployment G uide The URL pattern must be in one of the following formats: http: //${app-d ns}/repo https: //${user}: ${passwo rd }@ ${app-d ns} Note For more information on how to edit the Fabric8 profile, see Fabric Guide Deploying t he cart ridge in a high availabilit y environment When you deploy this cartridge in an application cluster, note the following guildelines: The Fuse Builder cartridge supports auto-scaling. When you deploy this cartridge in an application cluster, specify auto-scaling to a minimum of 3 gears. In case of node failure, you must manually change the Jolokia URL in the \fusebui l d er\etc\setti ng s. xml file to connect to the active node. You specify the URL in the following property: <fabric8.jolokiaurl>http://[host_name]:8181/jolokia</fabric8.joloki aurl> 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 Z ookeeper server instance with which each subsequent application authenticates. The Z ookeeper instance includes the user credentials and the environment variables required to run the applications in a fabric. 14

CHAPT ER 1. O PENSHIFT ENT ERPRISE 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 Z ookeeper credentials must be identical in all JBoss A-MQ instances that run in the same domain. You define the ZooKeeper password in the O P ENSHIFT _FUSE_ZO O KEEP ER _P ASSWO R D 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 UD P network traffic routing. However, UD P 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 15

Red Hat JBoss A- MQ 6.2 Cloud Deployment G uide 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 O penshift Enterprise G it repository is not used by the JBoss A-MQ cartridge Normally, when you deploy an application, OpenShift 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. 1.7. HIGH AVAILABILIT Y This section describes how to configure a JBoss A-MQ application cluster in a single OpenShift Enterprise domain. How clust ering works in t he OpenShift Ent erprise domain When you deploy multiple JBoss A-MQ instances in a single OpenShift Enterprise domain, the first application that you create acts as the master node of the cluster. Each subsequent application that you create acts as a slave node. Gear profile configurat ion To prevent the master and slave applications from deploying on the same OpenShift Enterprise node, you must assign different a different gear profile to each set of nodes on which you deploy the JBoss A-MQ applications. 16

CHAPT ER 1. O PENSHIFT ENT ERPRISE The gear profile properties do not need to be unique. You can assign the same gear profile to multiple master nodes or multiple slave nodes. ZooKeeper ensemble server requirement s JBoss A-MQ supports management of multiple applications in an ensemble. However, when you deploy the JBoss A-MQ applications in OpenShift Enterprise, the Z ookeeper server runs inside the master application. Therefore, you cannot create ensembles of multiple applications. To manage multiple applications in an ensemble, you must deploy a standalone JBoss A- MQ application and create an external Z ookeeper ensemble to manage the JBoss A-MQ instances that run in the OpenShift Enterprise domain. Note For more information, see Fabric Guide Dat a st orage and management The JBoss A-MQ application cluster must use JDBC Master Slave to store and manage the data in the cluster. Aut o-scaling OpenShift Enterprise supports auto-scaling of applications based on HTTP traffic. However, the JBoss A-MQ cartridge does not use HTTP to process data. Therefore, you cannot configure auto-scaling for the JBoss A-MQ cartridge. 1.8. UPGRADING T HE JBOSS A-MQ CART RIDGE You upgrade the JBoss A-MQ cartridge in the same way that you apply asynchronous updates to other OpenShift Enterprise components. The JBoss A-MQ RPM package includes a Z IP package with the upgraded components. For general information about OpenShift upgrades, see the Asynchronous Errata Updates section of the OpenShift Enterprise documentation. 1. Install the RPM package on every node in the OpenShift Enterprise domain with the following command: yum update openshift-origin-cartridge-amq 2. Restart each node with the following command: service ruby193-mcollective restart 17

Red Hat JBoss A- MQ 6.2 Cloud Deployment G uide 3. On the OpenShift Enterprise broker, import the upgraded cartridge with the following commands: oo-admin-ctl-cartridge -c import-profile --activate oo-admin-ctl-cartridge -c migrate 4. On each xpaas node that runs JBoss A-MQ applications, upgrade the applications with the following commands: oo-admin-upgrade upgrade-node --version <OSE_version_number> The upgrade process applies the updated bundles to the relevant profiles and restarts all of the containers that run in the fabric. 18