Red Hat JBoss Fuse 6.1 Cloud Deployment Guide



Similar documents
Red Hat JBoss A-MQ 6.2 Cloud Deployment Guide

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

Red Hat CloudForms 3.2 NetApp Storage Integration Guide

Red Hat Cloud Infrastructure 5 Release Notes

Red Hat CloudForms 3.1 Management Engine 5.3 OpenShift Enterprise Deployment Guide

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

Red Hat Enterprise Virtualization 3.6- Beta Java SDK Guide

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

JBoss Developer Studio 6.0

Red Hat JBoss Fuse 6.1 Cloud Computing with Fabric

Red Hat Enterprise Linux OpenStack Platform 7 OpenStack Data Processing

Red Hat Subscription Management All Subscription Docs Quick Registration for RHEL

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

Red Hat Enterprise Linux 7 High Availability Add-On Overview

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

Red Hat JBoss Fuse 6.2 Management Console User Guide

The future of middleware: enterprise application integration and Fuse

RED HAT JBOSS FUSE. An open source enterprise service bus

Red Hat Customer Portal Current Customer Portal Subscription Management

Red Hat JBoss Data Virtualization 6.1 Migration Guide

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

OnCommand Performance Manager 1.1

Red Hat Directory Server 8.2 Using the Directory Server Console

XenClient Enterprise Synchronizer Installation Guide

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

Red Hat JBoss Developer Studio 8.0 Start Developing

Fuse ESB Enterprise Installation Guide

Introduction to Mobile Access Gateway Installation

JBoss Operations Network 3.1 Deploying Applications and Content

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

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

Novell Access Manager

QuickStart Guide for Managing Mobile Devices. Version 9.2

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

REQUIREMENTS AND INSTALLATION OF THE NEFSIS DEDICATED SERVER

Configuration Guide. BES12 Cloud

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

JAMF Software Server Installation Guide for Linux. Version 8.6

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

BlackBerry Enterprise Service 10. Version: Configuration Guide

Synchronizer Installation

Installing and Configuring vcloud Connector

Red Hat JBoss Developer Studio 4.1 Smooks Developer Tools Reference Guide

Web Sites, Virtual Machines, Service Management Portal and Service Management API Beta Installation Guide

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

Red Hat Enterprise Linux 7 Virtualization Security Guide

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

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

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

IBM Cloud Manager with OpenStack

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

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

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

Installing and Configuring Adobe LiveCycle 9.5 Connector for Microsoft SharePoint

OpenShift Dedicated 3.1 Architecture

Getting Started Guide

Red Hat Network Satellite Client Configuration Guide

QuickStart Guide for Mobile Device Management. Version 8.6

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

RED HAT JBOSS FUSE. A lightweight, flexible integration platform

JAMF Software Server Installation Guide for Windows. Version 8.6

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

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

QuickStart Guide for Mobile Device Management

Configuration Guide BES12. Version 12.3

SOA Software API Gateway Appliance 7.1.x Administration Guide

TIBCO Runtime Agent Domain Utility User s Guide Software Release November 2012

IBM Security QRadar Vulnerability Manager Version User Guide

RED HAT JBOSS FUSE COMPARED WITH ORACLE SERVICE BUS

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

VMware vcenter Log Insight Getting Started Guide

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

Sophos Mobile Control Installation guide. Product version: 3.5

Acronis and Acronis Secure Zone are registered trademarks of Acronis International GmbH.

Windows Azure Pack Installation and Initial Configuration

F-Secure Messaging Security Gateway. Deployment Guide

Using The Hortonworks Virtual Sandbox

Enterprise Manager. Version 6.2. Installation Guide

JBoss Developer Studio 4.1

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

Jfokus PaaS Hands-On Lab

Configuration Guide BES12. Version 12.2

Parallels Plesk Automation

Configuration Guide. BlackBerry Enterprise Service 12. Version 12.0

Acronis Storage Gateway

Setting Up a Unisphere Management Station for the VNX Series P/N Revision A01 January 5, 2010

Sophos Mobile Control Installation guide. Product version: 3.6

ESET SHARED LOCAL CACHE

StreamServe Persuasion SP5 StreamStudio

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

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

Copyright Pivotal Software Inc, of 351

Crystal Reports Installation Guide



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

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

VMware Identity Manager Connector Installation and Configuration

vcloud Director User's Guide

Transcription:

Red Hat JBoss Fuse 6.1 Cloud Deployment Guide Use JBoss Fuse for xpaas to deploy Fuse containers in an OpenShift Enterprise cloud JBoss A-MQ Docs Team

Red Hat JBoss Fuse 6.1 Cloud Deployment Guide Use JBoss Fuse for xpaas to deploy Fuse containers in an OpenShift Enterprise cloud JBoss A-MQ Docs Team Co ntent Services fuse- do cs- suppo rt@redhat.co m

Legal Notice Copyright 2013 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 Fuse Fabric cloud APIs to provision, configure, and deploy applicatio ns into clo ud enviro nments.

T able of Cont ent s Table of Contents. CHAPT...... ER... 1.. O. PENSHIFT.......... O. NLINE............................................................. 3.......... 1.1. O VERVIEW 3 1.2. CREATE AN O PENSHIFT O NLINE ACCO UNT 3 1.3. CREATE THE JBO SS FUSE CARTRIDG E 4 1.4. G ET STARTED WITH THE FUSE MANAG EMENT CO NSO LE 6. CHAPT...... ER... 2.. O. PENSHIFT.......... ENT.... ERPRISE.......................................................... 7.......... 2.1. O VERVIEW 7 2.2. MINIMUM G EAR REQ UIREMENTS 7 2.3. G ETTING STARTED 9 2.4. PO RT CO NFIG URATIO N 13 2.5. FUSE BUILDER CARTRIDG E 16 2.6. FABRIC MANAG EMENT 18 2.7. HIG H AVAILABILITY 20 2.8. UPG RADING THE JBO SS FUSE CARTRIDG E 21 1

Red Hat JBoss Fuse 6.1 Cloud Deployment G uide 2

CHAPT ER 1. O PENSHIFT O NLINE CHAPTER 1. OPENSHIFT ONLINE Abstract This section explains how to get started in the cloud with OpenShift Online and Red Hat JBoss Fuse fabric technology. 1.1. OVERVIEW Basic t echnologies OpenShift Online deployment 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 Online to deploy JBoss Fuse. Red Hat JBoss Fuse 6.1. In this tutorial we use version 6.1 of JBoss Fuse with fabric from the public GitHub repository. JBoss Fuse also includes the OSGi container, profiles, and Java dependencies. 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 Fuse cartridge hosts the JBoss Fuse application and runs the Fuse Management Console container. Each additional container that you create in JBoss Fuse appears as an application on the OpenShift Appl i cati o ns page. Fuse Management Console After you create the JBoss Fuse 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 Fuse cartridge. 1.2. CREAT E AN OPENSHIFT ONLINE ACCOUNT Signing up 3

Red Hat JBoss Fuse 6.1 Cloud Deployment G uide To sign up for an OpenShift account, navigate to the OpenShift Web site at https://www.openshift.com and follow the sign-up instructions. If you already have a Red Hat Customer Portal account, you can sign-in with the same credentials. Public, privat e, and communit y PaaS You can choose to build and host a limited number of applications on the public cloud for free with O penshi ft O nl i ne. You can also subscribe to additional applications, services and support. If you want to build and host applications on a private cloud or datacenter, you can request an evaluation for O penshi ft Enterpri se. You can also contribute to the OpenShift upstream community with OpenShift Origin, in which you can contribute to the code, report bugs, and extend the OpenShift capabilities. 1.3. CREAT E T HE JBOSS FUSE CART RIDGE Choosing t he met hod t o creat e t he JBoss Fuse cart ridge In this tutorial, we will create a simple JBoss Fuse cartridge with OpenShift Online. In OpenShift Online, you can choose one of the following methods to create the JBoss Fuse cartridge: Q uickstart Deploys the JBoss Fuse cartridge directly in the public cloud based on a GitHub repository from the Red Hat JBoss Fuse development team. Use this template as a developer preview tool for development environments. Create Application Creates an application based on properties that you define, such as the programming language and the source code repository. Use this page if you want to create the cartridge based on your own source code, such as JBoss Fuse components that you already use and want to deploy to the cloud. RHC Command Line Tool Deploys the JBoss Fuse cartridge from the command line in the same way as you deploy the cartridge with the Quickstart. Use this tool to specify additional parameters, such as a custom Zookeeper password. Make sure you have the OpenShift RHC Client tools installed. For installation instructions, see the installation page at the following address: https://www.openshift.com/developers/rhc-client-toolsinstall 4

CHAPT ER 1. O PENSHIFT O NLINE Warning If you do not specify a custom Z ookeeper password, JBoss Fuse auto-generates a password. Make sure to note the password string, otherwise you cannot log in to the Fuse Management Console. You cannot restore or change your password after you create the JBoss Fuse cartridge on OpenShift. Creat ing t he JBoss Fuse cart ridge wit h t he Quickst art 1. Navigate to the JBoss Fuse Enterprise Service Bus page in the OpenShift D eveloper Center at the following address:https://www.openshift.com/developers/jboss-fuse 2. Click the D EP LO Y NO W link. The C o nfi g ure the appl i cati o n page opens and auto-fills application type based on the JBoss Fuse 6.1 Quickstart. 3. Specify the properties of the application to create, such as the application name. If this is the first time that you create an OpenShift application, enter the name of the domain. OpenShift verifies that the names are available and creates the public URL from the names you enter. 4. Click the C reate Appl i cati o n button. OpenShift clones the code from the Quickstart and from any other repository that you specify and creates the application on the cloud. After the application is available, OpenShift shows the public URL and user credentials to use when you access the Fuse Management Console. Creat ing t he JBoss Fuse cart ridge from t he Creat e Applicat ion page 1. Navigate to the C reate Appl i cati o n page in the OpenShift Developer Center at the following address:https://openshift.redhat.com/app/console/application_types 2. Scroll to the C o d e Anythi ng section and enter the following JBoss Fuse cartridge URL: https://raw.github.com/jboss-fuse/fuse-openshiftcartridge/master/metadata/manifest.yml 3. Click Next and specify the properties of the application to create, such as the application name. If this is the first time that you create an OpenShift application, enter the name of the domain. OpenShift verifies that the names are available and creates the public URL from the application name and the domain name. 4. Click the C reate Appl i cati o n button. OpenShift clones the code from the Quickstart and from any other repository that you specify and creates the application on the cloud. After the application is available, OpenShift shows the public URL and user credentials to use when you access the Fuse Management Console. Creat ing t he JBoss Fuse cart ridge from t he RHC command line t ool 5

Red Hat JBoss Fuse 6.1 Cloud Deployment G uide To create the JBoss Fuse cartridge from the RHC command line tool, Run the create-app command in the following format: rhc create-app <application_name> <cartridge_repository_url> For example, to create the same simple JBoss Fuse cartridge as the Quickstart, run the following command: rhc create-app fuse https://raw.github.com/jboss-fuse/fuse-openshiftcartridge/master/metadata/manifest.yml You can specify a custom Zookeeper password to use when you log in to the Fuse Management Console. To specify the custom password, run the command in the following format: rhc create-app -e OPENSHIFT_FUSE_ZOOKEEPER_PASSWORD=<password> <application_name> <cartridge_repository_url> The command line shows the progress of the cartridge. After the application is available, the command line shows the same information as the Quickstart, such as the public URL and user credentials. 1.4. GET ST ART ED WIT H T HE FUSE MANAGEMENT CONSOLE Accessing t he Fuse Management Console After you create the JBoss Fuse cartridge, use the public URL to access the Fuse Management Console. The URL is based on the application name and the domain name you specify when you create the JBoss Fuse cartridge. To log in to the management console, you use the admin user name and either the autogenerated password or the custom password you specify. Creat ing and managing addit ional cont ainers By default, the JBoss Fuse application includes one container. The name of the container is the name of the application. You can create additional containers from the management console. Each container you create also appears as an OpenShift application. For more information about how to use the Fuse Management Console, see the Management Console User Guide. 6

CHAPT ER 2. O PENSHIFT ENT ERPRISE CHAPTER 2. OPENSHIFT ENTERPRISE Abstract This section explains how to get started in the cloud with OpenShift Enterprise and Red Hat JBoss Fuse. 2.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 Fuse. Red Hat JBoss Fuse 6.1. In this tutorial we use version 6.1 of JBoss Fuse. 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 Fuse cartridge hosts the JBoss Fuse application and runs the Fuse Management Console container. Each additional container that you create in JBoss Fuse appears as an application on the OpenShift Appl i cati o ns page. Fuse Management Console After you create the JBoss Fuse 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 Fuse cartridge. 2.2. MINIMUM GEAR REQUIREMENT S This section describes the resource requirements for the JBoss Fuse 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. 7

Red Hat JBoss Fuse 6.1 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 8

CHAPT ER 2. 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 2.3. GET T ING ST ART ED This section describes how to configure your OpenShift Enterprise environment and install JBoss Fuse. 2.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 Fuse 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 Fuse 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. 9

Red Hat JBoss Fuse 6.1 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. For example: 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. 2.3.2. Inst all t he JBoss Fuse Cart ridge on OpenShift Ent erprise This section describes how to install the JBoss Fuse 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 Fuse applications on that node. The JBoss Fuse 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. 10

CHAPT ER 2. O PENSHIFT ENT ERPRISE 1. D ownload the advisory that contains the JBoss Fuse 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 2.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 11

Red Hat JBoss Fuse 6.1 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. 2.3.4. Creat e t he JBoss Fuse Applicat ion You create the JBoss Fuse 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. Cho o sing t he xpaas gear pro file When you create the JBoss Fuse 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> fuse-6.1.1 -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. 2.3.5. Deploy Quickst art s This section describes how to deploy a JBoss Fuse 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 must run the command with additional options to ensure that the quickstart builds with the correct configuration. For general information about each quickstart, see the readme file located in the directory of each quickstart. 1. In the OpenShift Enterprise server, run the command to build the quickstart in the following format: mvn clean deploy -Dfuseserver=http://${user}:${password}@ ${fuse-server-host} The following example shows the command with the user name, password, and host properties: 12

CHAPT ER 2. O PENSHIFT ENT ERPRISE mvn clean deploy -Dfuse-server=http://admin:bU-zZTWSHscl@ fusedemo.openshift.example.com 2. Start the JBoss Fuse application and run the following command in the JBoss Fuse console: osgi:install -s mvn:org.jboss.quickstarts.fuse/cbr/6.1.1.redhat- 412 2.4. PORT CONFIGURAT ION This section describes how to configure, map, and assign ports when you want to connect to the JBoss Fuse application. 2.4.1. Choosing SSL or Non-SSL Port s When you deploy your JBoss Fuse 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 Fuse 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 Fuse 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 13

Red Hat JBoss Fuse 6.1 Cloud Deployment G uide AMQ P 1. 0 2305 MQ T T 3. 1 2306 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 Fuse 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 Fuse cartridge, run one of the following commands: $echo $echo $echo $echo ${OPENSHIFT_FUSE_OPENWIRE_PROXY_PORT} ${OPENSHIFT_FUSE_MQTT_PROXY_PORT} ${OPENSHIFT_FUSE_AMQP_PROXY_PORT} ${OPENSHIFT_FUSE_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 2.4.2. Port Binding Some Camel components and CXF endpoints must bind to specific ports to enable client connections. When you configure the JBoss Fuse 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 14

CHAPT ER 2. O PENSHIFT ENT ERPRISE app3. po rt Note If you deploy an ActiveMQ container, the app1. po rt system property is reserved for the container. 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} 2.4.3. Public Port Mapping The JBoss Fuse 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 Fuse 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: 15

Red Hat JBoss Fuse 6.1 Cloud Deployment G uide /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 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 2.5. FUSE BUILDER CART RIDGE Overview The Fuse Builder cartridge builds the Maven repository of a JBoss Fuse application, and rebuilds the repository each time you update any of the repository artifacts. 16

CHAPT ER 2. O PENSHIFT ENT ERPRISE This cartridge provides an HTTP connection to the repository that you can use to connect to the repository from all nodes that run JBoss Fuse applications. When you deploy JBoss Fuse 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. 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 Fuse cartridge. When you install this cartridge, note the following guidelines: You must deploy at least one JBoss Fuse 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 Fuse applicat ion In each JBoss Fuse 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: 17

Red Hat JBoss Fuse 6.1 Cloud Deployment G uide /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. The URL pattern must be in one of the following formats: http: //${app-d ns}/repo https: //${user}: ${passwo rd }@ ${app-d ns} 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: 2.6. FABRIC MANAGEMENT The JBoss Fuse 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 Fuse, 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 Fuse on OpenShift Enterprise. ZooKeeper server runs only on the first JBoss Fuse application 18 The first JBoss Fuse application that you create contains the Z ookeeper server instance with which each subsequent authenticates. The Z ookeeper instance includes the user credentials and the environment variables required to run the

CHAPT ER 2. O PENSHIFT ENT ERPRISE 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 Z ookeeper credentials must be identical in all JBoss Fuse 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 Fuse 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 Fuse 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 Fuse on OpenShift Enterprise: controller-jon-server/ controller-rhq-agent/ controller-tomcat/ controller-wildfly docker gateway-haproxy gateway-http gateway-mq 19

Red Hat JBoss Fuse 6.1 Cloud Deployment G uide 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 The O penshift Enterprise G it repository is not used by the JBoss Fuse cartridge Normally, when you deploy an application, OpneShift Enterprise creates a Git repository with the source code of the application. However, JBoss Fuse 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. 2.7. HIGH AVAILABILIT Y This section describes how to configure a JBoss Fuse application cluster in a single OpenShift Enterprise domain. How clust ering works in t he OpenShift Ent erprise domain When you deploy multiple JBoss Fuse 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 Fuse applications. 20

CHAPT ER 2. 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 Fuse supports management of multiple applications in an ensemble. However, when you deploy the JBoss Fuse 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 Fuse application and create an external Z ookeeper ensemble to manage the JBoss Fuse instances that run in the OpenShift Enterprise domain. Aut o-scaling OpenShift Enterprise supports auto-scaling of applications based on HTTP traffic. However, the JBoss Fuse cartridge does not use HTTP to process data. Therefore, you cannot configure auto-scaling for the JBoss Fuse cartridge. 2.8. UPGRADING T HE JBOSS FUSE CART RIDGE You upgrade the JBoss Fuse cartridge in the same way that you apply asynchronous updates to other OpenShift Enterprise components. The JBoss Fuse 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-fuse 2. Restart each node with the following command: service ruby193-mcollective restart 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 Fuse applications, upgrade the applications with the following commands: 21

Red Hat JBoss Fuse 6.1 Cloud Deployment G uide 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. 22