Red Hat Training

A Red Hat training course is available for Red Hat Fuse

Using the Management Console

Red Hat JBoss Fuse

Managing your environment from the Web

Red Hat

Version 6.0
13 Oct 2017

Abstract

This guide describes the management console Web interface.

Chapter 1. Accessing the Management Console

Abstract

The management console runs in a browser and can be connected to using its Web address. You will need a user name and password to connect to the fabric and use the console.

Overview

The management console runs in most modern browsers. The management console is accessed through a port on the server to which the management console server is deployed. The console will provide a view of the fabric to which the management console server is connected.
Once connected to the console, you will need credentials to log-in and view the fabric being managed.

Deploy and launch the management console

Since JBoss Fuse 6.0, the management console is provided as a standard component of the JBoss Fuse product. There is no need to download it separately. It can be enabled at any time by installing the fabric-webui Karaf feature.
To deploy and launch the management console:
  1. If you have not already created a Fabric server ensemble, create it now, as follows:
    1. If you have not already done so, define one or more user accounts by editing the etc/users.properties file, following the instructions in that file to create one or more entries.
    2. Start up the JBoss Fuse container, by opening a new command prompt and entering the following command:
      ./bin/fuse
    3. Create a new Fuse fabric (which consists of a single Fabric Server, by default). Enter the following command in the JBoss Fuse container console:
      JBossFuse:karaf@root> fabric:create
      Note
      If you did not define any user accounts in etc/users.properties prior to running this command, you will now be prompted to create one new account by providing a username and a password.
  2. Install the fabric-webui feature by adding it to the fabric profile. Enter the following console command:
    JBossFuse:karaf@root> profile-edit --features fabric-webui fabric
  3. Because you have just modified the profile installed on the current container, the fabric agent automatically restarts the container with the new profile configuration. You should see some output like the following at the console window:
    JBossFuse:karaf@root> profile-edit --features fabric-webui fabric
    log4j:WARN No appenders could be found for logger (org.ops4j.pax.web.pax-web-runtime).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    ^M
          _ ____                  ______
         | |  _ \                |  ____|             
         | | |_) | ___  ___ ___  | |__ _   _ ___  ___
     _   | |  _ < / _ \/ __/ __| |  __| | | / __|/ _ \
    | |__| | |_) | (_) \__ \__ \ | |  | |_| \__ \  __/
     \____/|____/ \___/|___/___/ |_|   \__,_|___/\___|
    
      JBoss Fuse (6.0.0.redhat-024)
      http://www.redhat.com/products/jbossenterprisemiddleware/fuse/
    
    Hit '<tab>' for a list of available commands
    and '[cmd] --help' for help on a specific command.
    Hit '<ctrl-d>' or 'osgi:shutdown' to shutdown JBoss Fuse.
    
    JBossFuse:karaf@root>
  4. The management console is now installed and running in the current container.

Access the management console from your browser

To access the management console:
  1. Enter the management console's Web address into your browser's address field.
    The address uses the syntax shown in Example 1.1, “Console Address”.

    Example 1.1. Console Address

    http://hostName:8181
    The default port value is 8181, as shown, but it can optionally be customized by editing the management console's configuration.
  2. In the Username field, enter your user name.
  3. In the Password field, enter your password.
  4. Click Log In.
    You will be logged into the management console and placed on the Containers page.

Part I. Working with Containers

Abstract

Containers are deployed into the fabric and configured using profiles. There are several different types of containers that can be deployed. Some are used to manage the fabric while others host applications.
Containers are managed from the Containers page. You access this page by selecting Containers from the main menu.
The Containers page lists all of the containers deployed into the fabric. Using the controls on the Fuse Container Instances page you can mange the profiles deployed to a container, see details about each container, and start/stop containers.

Chapter 2. The Containers Page

Abstract

The Containers page is the home page for managing the containers in a fabric.

Overview

Containers are managed from the Containers page. You access this page by selecting Containers from the main menu.
The Containers page lists all of the containers deployed into the fabric. It also provides buttons to manage the containers. It is broken down into three areas:
  • Controls—buttons that allow you to edit and view details about the individual containers
  • Container List—lists all of the containers deployed into the fabric
  • Container Summary—shows basic information about the container selected in the container list

Controls

The controls are located across the top of the page. They consist of several buttons:
  • Create Fuse Container—creates a new managed container in the fabric
  • Migrate Containers—change one or more containers to a new profile version
  • Stop—stops the selected container
  • Start—starts the selected container
  • Delete—delete the selected container
    Important
    Deleting a container not only removes it from the fabric, it also removes all of the data and binary artifacts associated with the container from its host.
  • Add Profiles—add configuration profiles to the selected container
    Important
    The new profiles are immediately loaded into the live container.
  • Details—opens the Container Details page for the selected container

Container List

Lists all of the containers in the fabric. For each container the list displays:
  • the container's name
  • if the container is active and successfully provisioned
  • the profile version the container is using

Container Summary

Provides basic details for the selected container. This information includes:
  • the container's name
  • the container's status
  • the container's profile revision
  • the container's profiles
  • the container's location
  • the container's provision status
  • the container's CPU usage
  • the free memory
  • the container's heap usage

Chapter 3. Creating a Container

Abstract

There are several ways to create a new container. The way in which you create the container depends on where the container will be located and the features you want the container to do.
When you add a container to a fabric, you are given the option to create one of the following container types:
  • child container—a container that is collocated with a parent container
    Note
    Child containers require less application code to be downloaded to the host machine. The child container uses the same container binary as its parent container.
  • remote root container—a container located on a remote host that is capable of spawning child containers
    Important
    Creating a root container requires that the host machine have ssh enabled.
  • cloud-managed Fuse container—a root container that is hosted on a cloud infrastructure
    Note
    The management console uses the jCloud library to access the cloud infrastructure.
You must also decide if the new container is going to be a registry server for the fabric.
Important
Registry servers should not be placed in child containers and should not host any other services such as a message broker or business application.

3.1. Creating a Child Container

Abstract

A child container is created using the infrastructure put in place by a root container and is collocated with its parent container.

Overview

If you have a Fuse container deployed onto a remote host you can use that container to create more containers on the host. This saves you from needing to use ssh. It also minimizes the amount of code needed to be downloaded over the network.
The child container uses the same binaries and root folder as the parent container. The child's data is stored in a separate data folder from the root container and the other child containers spawned by the root container. While the child container uses the same underlying binary files as the root container, it runs in its own JVM.
The only limitations on a child container are:
  • it cannot be used to spawn other child containers
  • it is deleted along with its parent container

Procedure

To create a child container:
  1. Select Containers from the main menu.
    The Containers page opens.
  2. Click Create Fuse Container.
    The Create Fuse Container page opens.
  3. In the Name field, enter a name for the new container.
  4. If you want to make the new container a registry server check Make container a distributed registry server.
    Important
    It is not advisable to make a child container a registry server. Registry servers should be run on separate hosts from other containers to maintain the integrity of the fabric.
  5. If you want to pass any special flags to the container's JVM:
    1. Check JVM Options.
    2. Enter the options to pass to the JVM in the field next to the check box.
  6. If you need to use a Maven proxy to access the repository containing your Fuse artifacts, check the Maven Proxy URL field and enter the URL for your Maven proxy.
  7. If you want to create multiple instances of the container, enter a number greater than one in the Count field.
    When you create multiple containers the container's number is appended to the value specified in the Name field.
  8. Select how the container will report its IP address to other containers from the options in the Resolver drop-down list.
    The options are:
    Local Hostname
    When a requests for the container's location are made, the container's local hostname is returned.
    Local IP
    When a requests for the container's location are made, the container's local IP address is returned.
    Public Hostname
    When a requests for the container's location are made, the container's public hostname address is returned.
    Public IP
    When a requests for the container's location are made, the container's public IP address is returned.
  9. Click Next.
    The Select profiles to install on the container page opens.
  10. Select the version of profiles you want to use for provisioning the container.
    The value of this drop down defaults to the value set on the Profiles page.
  11. Select one or more profiles to deploy to the container.
  12. Click Next.
    The Select the type of container page opens.
  13. Select Child container.
  14. Click Next.
    The Select a parent for the child container page opens.
  15. Select the root container that will be the parent for the new container.
  16. Click Finish.
    The wizard closes and the new container will appear in the list of containers. Initially the Active indicator may be red, but should turn green shortly after adding it. The Provisioned indicator may also show gray bars, but should turn green when the specified profiles are fully provisioned.

3.2. Creating a Root Container

Abstract

A creating a root container involves using SSH to log into a remote host, downloading the required binaries from a Maven repository, and installing the container on the host.

Overview

Creating a remote root container installs a new Fuse container on a remote host using SSH. The management console will attempt to establish an SSH connection with the remote host using the provided user credentials. Once it is connected it will run a script that downloads the binary files required to install a Fuse container, installs the container in the user's home folder, starts the container, and provisions all of the specified profiles.
In order for this action to work the remote host must have SSH installed and active. The specified user must also have permissions to install the required files on the host's file system.
Important
You cannot install remote root containers on Windows machines using the management console.

Procedure

To create a remote root container:
  1. Select Containers from the main menu.
    The Containers page opens.
  2. Click Create Fuse Container.
    The Create Fuse Container page opens.
  3. In the Name field, enter a name for the new container.
  4. If you want to make the new container a registry server check Make container a distributed registry server.
    Important
    It is recommended that if you create a registry server that you do not deploy any other services into the container.
  5. If you want to pass any special flags to the container's JVM:
    1. Check JVM Options.
    2. Enter the options to pass to the JVM in the field next to the check box.
  6. If you need to use a Maven proxy to access the repository containing your Fuse artifacts, check the Maven Proxy URL field and enter the URL for your Maven proxy.
  7. If you want to create multiple instances of the container, enter a number greater than one in the Count field.
    When you create multiple containers the container's number is appended to the value specified in the Name field.
  8. Select how the container will report its IP address to other containers from the options in the Resolver drop-down list.
    The options are:
    Local Hostname
    When a requests for the container's location are made, the container's local hostname is returned.
    Local IP
    When a requests for the container's location are made, the container's local IP address is returned.
    Public Hostname
    When a requests for the container's location are made, the container's public hostname address is returned.
    Public IP
    When a requests for the container's location are made, the container's public IP address is returned.
  9. Click Next.
    The Select profiles to install on the container page opens.
  10. Select the version of profiles you want to use for provisioning the container.
    The value of this drop down defaults to the value set on the Profiles page.
  11. Select one or more profiles to deploy to the container.
  12. Click Next.
    The Select the type of container page opens.
  13. Select Remote root container.
  14. Click Next.
    The SSH Server Configuration page opens.
  15. In the Hostname field, enter the DNS name, or IP address, for the host onto which the container will be deployed.
  16. If your SSH configuration doesn't use the default port, enter the proper port in the Port field.
  17. In the Username field, enter the name of the user that is used to create the container.
    Important
    The user must have permissions to write files to the host's file system.
  18. Enter the authentication credentials for accessing the remote host.
    • If you are using a private key to authenticate:
      1. Check the Private Key File box.
      2. Enter the full path to the private key file.
        Note
        This is the private key for the machine from which the user is accessing the management console.
    • If you are using a password to authenticate, enter the user's password in the Password field.
  19. Click Next.
    The second SSH Server Configuration page opens.
  20. If you want to use a directory other than the default provided, enter the full path to the deployment directory in the Path field.
    The default path is the user's home folder.
  21. If you want to retry the SSH login more than once, enter the number of retries in the Number of retries field.
  22. If you want to use a different retry delay than one second, enter the new retry delay in the Retry delay field.
  23. Click Finish.
    The wizard closes and the new container will appear in the list of containers. Initially the Active indicator may be red, but should turn green shortly after adding it. The Provisioned indicator may also show gray bars, but should turn green when the specified profiles are fully provisioned.

3.3. Creating a Container in the Cloud

Abstract

Creating a root container in the cloud uses jCloud to connect to your cloud service, create a new server instance, and install a container on the new server.

Overview

Creating a container in the cloud installs a new Fuse container on a server instance in your cloud. The management console will do the following:
  1. Connect to your cloud service.
  2. Create a new server instance in the cloud.
  3. Download the binary files required to install a Fuse container.
  4. Install the container in the user's home folder.
  5. Start the container and provision all of the specified profiles.
Important
Before you can create a container in the cloud, you must install a cloud service as described in Section 7.2, “Adding a Cloud Provider”.

Procedure

To create a remote root container:
  1. Select Containers from the main menu.
    The Containers page opens.
  2. Click Create Fuse Container.
    The Create Fuse Container page opens.
  3. In the Name field, enter a name for the new container.
  4. If you want to make the new container a registry server check Make container a distributed registry server.
    Important
    It is recommended that if you create a registry server that you do not deploy any other services into the container.
  5. If you want to pass any special flags to the container's JVM:
    1. Check JVM Options.
    2. Enter the options to pass to the JVM in the field next to the check box.
  6. If you need to use a Maven proxy to access the repository containing your Fuse artifacts, check the Maven Proxy URL field and enter the URL for your Maven proxy.
  7. If you want to create multiple instances of the container enter a number greater than one in the Count field.
    When you create multiple containers the container's number is appended to the value specified in the Name field.
  8. Select how the container will report its IP address to other containers from the options in the Resolver drop-down list.
    The options are:
    Local Hostname
    When a requests for the container's location are made, the container's local hostname is returned.
    Local IP
    When a requests for the container's location are made, the container's local IP address is returned.
    Public Hostname
    When a requests for the container's location are made, the container's public hostname address is returned.
    Public IP
    When a requests for the container's location are made, the container's public IP address is returned.
    Important
    Cloud containers that use Local IP or Local Hostmane will not be accessible to containers that do not reside in the same cloud provider.
  9. Click Next.
    The Select profiles to install on the container page opens.
  10. Select the version of profiles you want to use for provisioning the container.
    The value of this drop down defaults to the value set on the Profiles page.
  11. Select one or more profiles to deploy to the container.
  12. Click Next.
    The Select the type of container page opens.
  13. Select Cloud-managed Fuse container.
    Important
    If you have not initiated a cloud service provider in the Cloud tab, this option will not be visible.
  14. Click Next.
    The Cloud Service Configuration page opens.
  15. Select your cloud service from the Cloud Provider drop-down list.
  16. Select a size for the new server instance from the Instance Type drop-down list.
  17. In the Instance Selection section, choose if you want to configure the new server instance by operating system or by image ID.
  18. Click Next.
    The second Cloud Service Configuration page opens.
  19. Configure the server instance that will be created.
    If you are configuring the server instance by operating system:
    1. In the OS Family field, select the operating system the server will use.
    2. In the OS Version field, select the version of the operating system the server will use.
    If you are configuring the server instance by ID and location:
    1. In the Image ID field, enter the ID of the image to use when instantiating the virtual machine.
    2. In the Location ID field, enter the ID of the location where the new server instance will be deployed.
  20. Click Next.
    The second Cloud Service Configuration page opens.
  21. In the User Account field, enter the name of the user used to install the new container on the new server instance.
    The specified user will be created on the new server instance and granted the required permissions to install the container.
  22. If the specified user does not have administrative privileges on the cloud image, check the User does not have administrative access box.
  23. Enter an optional image owner in the Image Owner field.
  24. Enter an optional group tag in the Group Tag field.
  25. Click Finish.
    The wizard closes and the new container will appear in the list of containers. Initially the Active indicator may be red, but should turn green shortly after adding it. The Provisioned indicator may also show gray bars, but should turn green when the specified profiles are fully provisioned.

Chapter 4. Changing a Container's Configuration

Abstract

Adding and deleting profiles changes the configuration of a container.
A container is defined by the profiles deployed into it. A profile can tell the container:
  • what bundles to load
  • how to configure its runtime
A container can have one or more profiles active at a time.
To configure a container you add profiles to and delete profiles from a container.

4.1. Adding a Profile to a Container

Abstract

You add profiles to a container from either the container instances page or the container's detail page.

Overview

You can add profiles to a container from one of two places:
  • the Containers page
  • the container's details page
When a profile is added to a container all of the bundles and configuration defined in the profile are added to the container. Any required bundles are downloaded from the repositories known to the container.
Important
The changes are made immediately.

Container instance page

To add a profile to a container from the Containers page:
  1. Select Containers from the main menu.
    The Containers page opens.
  2. Select a container from the list.
  3. Click Add Profiles.
    The Add Profiles to Container dialog opens.
  4. Select one or more profiles from the list.
  5. Click Add.
    The dialog closes and the new profiles are added to container's summary information. The container's provisioning status may change to indicate that new artifacts specified in the profiles are being provisioned.

Container detail page

To add a profile to a container from a container's detail page:
  1. Click Add Profiles.
    The Add Profiles to Container dialog opens.
  2. Select one or more profiles from the list.
  3. Click Add.
    The dialog closes and the new profiles are added to container's profile list. The container's provisioning status may change to indicate that new artifacts specified in the profiles are being provisioned.

4.2. Deleting a Profile from a Container

Abstract

You delete profiles from a container from either the container instances page or the container's detail page.

Overview

You can delete profiles from a container in one of two places:
  • the Containers page
  • the container's details page
When a profile is deleted from a container all of the bundles and configuration defined in the profile are removed from the container.
Important
The changes take place immediately.

Container instance page

To delete a profile from a container on the Containers page:
  1. Select Containers from the main menu.
    The Containers page opens.
  2. Select a container from the list.
    A summary of the container's details is listed on the right side of the page.
  3. Locate the Profiles entry in the container's summary.
    All of the profiles deployed to the container are listed with a large X to the right of the profile's name.
  4. Click the X to the right of the profile you want to delete.
    A confirmation dialog opens.
  5. Click Yes.
    The profile will be removed from the list and deleted from the container.

Container detail page

To delete a profile from a container on a container's detail page:
  1. Locate the Profiles table in the upper left hand corner of the page.
    All of the profiles deployed to the container are listed with a large X to the right of the profile's name.
  2. Click the X to the right of the profile you want to delete.
    A confirmation dialog opens.
  3. Click Yes.
    The profile will be removed from the list and deleted from the container.

4.3. Migrating a Container to a New Profile Version

Abstract

You delete profiles from a container from either the container instances page or the container's detail page.

Overview

Profiles are stored in versions and when a container is created it is associated with a version from which it draws profiles. When you want to make changes to the containers in a fabric, one way to do so is to create a new profile version and modify the profiles and then migrate the containers to the new version. This provides two benefits:
  • You can slowly roll out changes to the fabric by migrating small groups of containers at a time.
  • You can quickly revert containers back to their original configuration by migrating back to the original version.
Important
The new profile version is immediately loaded into the live container(s).

Procedure

To migrate one, or more, containers to a new profile version:
  1. Select Containers from the main menu.
    The Containers page opens.
  2. Click Migrate Containers.
    The Migrate Containers page opens.
  3. Select the containers to migrate from the left hand table.
  4. Select the version to migrate to which the containers will be migrated from the right hand table.
  5. Click Apply.
    You are returned to the Containers page and the selected containers are using the new profile version.

Chapter 5. Monitoring a Container

Abstract

The management console can provide a lot of runtime information about a container including system usage, OSGi details, and specific details for some applications and services.
The Containers page provides you with a basic summary of a container and the runtime resources it is using. To get a full picture of the status of a container you need to access the container's detail page.
To access a container's detail page:
  1. Select Containers from the main menu.
    The Containers page opens.
  2. Select a container from the list.
  3. Click Details.
    The container's detail page opens.

5.1. The Container Details Page

Abstract

A container's details page provides a low-level view of a container's runtime status. It also provides a way to get details about OSGi packaging and other runtime services.

Overview

A container's details page provides a great deal of information about the container including:
  • the container's name and status
  • the profiles deployed to the container
  • the container's runtime environment
  • the runtime resource's being used by the container
The details page also provides you access to pages that show details about the OSGi bundles deployed into the container. The details page can also provide access to details about the some of the applications deployed into the container.

Profiles

Information about the profiles deployed into the container are shown in the upper left of the page.
The profiles are listed in the Profiles table. All of the profiles that are deployed to the container are listed with an X button that can be used to delete the profile from the container.
Above the Profiles table is the Add Profiles button. This button allows you to deploy new profiles to the container.

Runtime environment

Below the Profiles, table details about the container's runtime are listed. The details include:
  • the container's process ID
  • the JVM in which the container is running
  • the number of classes loaded by the container
  • the amount of CPU time used by the container
  • the container's up time
  • the host's processor architecture
  • the host's operating system
  • the number of available CPU cores
  • the average load on the host's CPU(s)
    Note
    On Windows the JVM returns -1 for the load average.

Container information

The upper right of the screen displays basic information about the container including:
  • the container's name
  • the container's runtime status
  • the container's provisioning status
Above the container's information are a set of buttons that will display details about specific parts of the container's runtime. These buttons can include:
  • OSGi Details—shows the OSGi bundles and OSGi services deployed to the container
  • Fuse MQ Details—shows detailed information for monitoring the health of a message broker
  • Camel Details—shows detailed information for monitoring the routes running in the container

Container resources

The lower right of the page displays details about the system resources being used by the container. The monitored resources include:
  • CPU usage
  • the physical memory
  • the swap space
  • the heap memory
  • the file descriptors
  • the threads

Related topics

Section 5.2, “Viewing a Container's OSGi Details”
Section 5.3, “Monitoring the Message Brokers in a Container”
the section called “Container detail page”
the section called “Container detail page”

5.2. Viewing a Container's OSGi Details

Revision History
09/05/12
Rewrote to reflect the UI redesign in 1.0.2

Abstract

The management console monitors the bundles installed in a container and allows you to monitor their status and inspect other information regarding the bundles.

Overview

The OSGi details page shows a searchable list of the OSGi bundles deployed into a container. You can select any bundle in the list to get detailed information about a specific bundle.

Bundle list

The list of bundles on the OSGi pages displays all of the OSGi bundles installed in the container. The list includes the following details:
  • the bundle's ID
  • the bundle's name
  • the bundle's version
  • the bundle's lifecycle state
Selecting a bundle displays opens a new page that lists details about the bundle.
Important
The bundles list does not display Fuse Application Bundles(FABs). It will list the OSGi bundles that are deployed when a FAB's manifest is resolved.

Bundle details

When a bundle is selected from the list of bundles a page listing the bundles details opens. The page displays the following details about the bundle:
  • ID
  • Symbolic Name
  • Version
  • Imported Packages
  • Exported Packages
  • Manifest Headers
  • Exported Services
For each OSGi service the bundle exports, the page includes the following service details:
  • the service's ID
  • the object classes available from the service
  • the IDs of the bundles using the service
  • the service's properties

5.3. Monitoring the Message Brokers in a Container

Abstract

The broker details page allows you to monitor all of the brokers deployed into a container.
The broker details page for a container allows you to monitor the brokers that are deployed into a container. The information about the brokers is broken down into five discreet pages:
  • the broker summary page
  • the network connector details page
  • the queue details page
  • the topic details page
  • the subscription details page
The broker summary page is the main page for monitoring the brokers. The details pages are available when a broker is selected from the list. The pages that become available depend on the broker's configuration.

5.3.1. Viewing a Summary of the Brokers

Abstract

The broker summary page list all of the brokers deployed into a container and an overview of its health.

Overview

The broker details page for a container is the main page for monitoring the brokers. It lists all of the message brokers deployed in the container. In addition it will show basic information about a selected broker instance. From this page you can drill down into pages that provide more detailed information about any of the brokers.

The broker list

The list of brokers shows the following details:
  • the name of the broker
  • the number of producers connected to the broker
  • the number of messages posted to destinations on the broker
  • the number of consumers connected to the broker
  • the number of messages consumed by clients connected the broker

Individual broker information

Selecting one of the brokers from the list shows additional details about the selected broker including:
  • the version of message broker
  • the URL clients can use to connect to the broker
  • the amount of system memory allocated to the broker
  • the percentage of the allocated system memory used by the broker
  • the space allocated for the persistence store
  • the percentage of the allocated space used by the persistence store
  • the location of the broker's data directory

Drilling down

When a broker is selected from the list, any of the following buttons may appear:
  • Network Connectors—opens a new page containing details about the network connectors configured on the broker
  • Queues—opens a new page containing details about the queues managed by the broker
  • Topics—opens a new page containing details about the topics managed by the broker
  • Active/Inactive Subscriptions—opens a new page containing details about the subscriptions being managed by the broker

Related topics

Section 5.3.2, “Monitoring a Message Broker's Queues”
Section 5.3.3, “Monitoring a Message Broker's Topics”

5.3.2. Monitoring a Message Broker's Queues

Abstract

The queue details page provides statistics about the health of the message queues being managed by a broker.

Overview

A broker's queue details page lists all of the queues managed by a broker. For each broker in the list it will also display detailed metrics for the queue.

Queue list

The left hand list shows all of the queues managed by the broker. In addition to the queue's name, the list displays the following information:
  • the number of producers attached to the queue
  • the number of messages sent to the queue
  • the number of consumers attached to the queue
  • the number of messages consumed from the queue

Queue details

Selecting one of the queues from the list will display additional details on the right side of the page. These details include:
  • the amount of memory allocated for the queue
  • the percentage of the allocated memory in use
  • the maximum amount of time, in milliseconds, a message stayed on the queue
  • the minimum amount of time, in milliseconds, a message stayed on the queue
  • the average amount of time, in milliseconds, a message stayed on the queue
  • the number of messages in the queue that have been consumed, but not acknowledged
  • the number of messages that have been dispatched to, but not acknowledged, by consumers
  • the amount of memory allocated to the queue's cursor
  • the percentage of the allocated memory in use by the cursor
  • the status of the cursor
  • the number of messages in the cursor
  • if message are being buffered
  • if message cashing is enabled
  • if producer flow control is active

5.3.3. Monitoring a Message Broker's Topics

Abstract

The topic details page provides statistics about the health of the message topics being managed by a broker.

Overview

A broker's queue details page lists all of the queues managed by a broker. For each broker in the list it will also display detailed metrics for the queue.

Topic list

The left hand list shows all of the topics managed by the broker.

Topic details

Selecting one of the topics from the list will display additional details on the right of the page. These details include:
  • the amount of memory allocated for the topic
  • the percentage of the allocated memory in use
  • the maximum amount of time, in milliseconds, a message stayed on the topic
  • the minimum amount of time, in milliseconds, a message stayed on the topic
  • the average amount of time, in milliseconds, a message stayed on the topic
  • the number of messages published to the topic
  • the number of messages consumed from the topic
  • the number of messages in the topic that have been consumed, but not acknowledged
  • the number of messages that have been dispatched to, but not acknowledged, by consumers
  • the maximum number of messages that can be paged
  • if message caching enabled
  • if producer flow control is active

5.3.4. Monitoring a Message Broker's Subscriptions

Abstract

The subscription details page provides statistics about the health of the message topics being managed by a broker.

Overview

The subscription details for a broker are broken up according to if the subscription is currently active. The broker details page will have separate buttons for active subscriptions and inactive subscriptions.
A broker's subscription details page lists all of the subscriptions managed by a broker. For each broker in the list it will also display detailed metrics for the subscription.

Topic list

The left hand list shows subscriptions managed by the broker.

Topic details

Selecting one of the subscriptions from the list will display additional details on the right of the page. These details include:
  • the client ID used when the subscription was created
  • the connection ID
  • the subscription's ID
  • the session ID of the consumer if it is active
  • the number of messages that have been consumed
  • the number of messages currently being actively pushed to the consumer
  • the number of messages waiting in the pending queue to be consumed
  • the number of messages waiting in the dispatch queue to be consumed
  • the number of messages that have been dispatched to, but not acknowledged, by the consumer
  • the total number of messages that have been dispatched to the consumer
  • the amount of memory allocated to the queue's cursor
  • the percentage of the allocated memory in use by the cursor
  • the status of the cursor
  • the number of messages in the cursor
  • if the consumer will try to recover all of the messages it missed due to a broker failure
  • if the consumer is considered slow by the broker
  • if locally set messages are filtered out

Chapter 6. Deleting a Container

Abstract

Deleting a container removes the container's records from the fabric's runtime registry. It also deletes the container's data and runtime artifacts from the container's host.

Overview

A container creates artifacts in two locations:
  • the fabric registry
  • the container host's file system
When you delete one of the containers from a fabric you delete the container's artifacts from both locations. The entries for the container are removed from the runtime registry. The container and all of its data are also removed from the container host's file system.
Important
If you delete a container that has children, you will also delete its children.

Procedure

To delete a container:
  1. Select Containers from the main menu.
    The Containers page opens.
  2. Select a container from the list.
    Note
    You will not be able to delete any of the ensemble containers.
  3. Click Delete.
    A confirmation dialog opens.
  4. Click Yes.
    The confirmation dialog closes and the container disappears from the container list.

Part II. Managing Cloud Services

Abstract

The Clouds tab is where you can manage your cloud services. A cloud service is the interface through which you manage a cloud deployment. Depending on your cloud platform, the management console will use either a proprietary connection or an API to work with your cloud assets.
The Cloud tab is for managing your cloud services. It allows you to:
  • add/remove cloud service accounts
  • see which cloud services you have accounts with
  • see the images you have deployed into each cloud service
Note
If you do not have any cloud providers service, the tab only shows a Add Cloud Provider button.
The management console supports a wide variety of cloud platforms including:
  • Amazon EC2
  • Rackspace US
  • Rackspace UK
In addition, the management console can use cloud service APIs to interact with cloud platforms.

Chapter 7. Creating a Cloud Service

Revision History
11/26/12
Removed add procedure to separate section and added section for installing cloud provider packages.

Abstract

Before you can use the management console to work with cloud instances, you must install the interface for accessing your cloud service and supply your credentials for accessing the service. The management console allows you to add one account for each of the supported cloud services.
Before the Cloud tab can work with a cloud service, it needs you to:
  1. Install the service's interface into the management console container.
  2. Add the credentials for accessing the service.
Once you have added the credentials for you account two things happen:
  • you will be able to see and manage of the instances running in the cloud service
  • you will be able to select the cloud service as an option when creating cloud-based containers

7.1. Installing a Cloud Service Interface

Overview

The management console only comes set up with the basic features required to support interacting with cloud services. To work with a specific cloud service, you will need to install the required features into the management console container(s).
Adding cloud services to the management console container(s) is done by adding the features to one of the profiles that specify what is deployed into the container. The easiest way to do this is to modify the fmc profile. The fmc profile is the profile the specifies the management console specific features into a Fuse Container. Alternatively, you could create a new profile that loads the cloud service interfaces and apply it to the management console container(s).

Adding a cloud service interface to the fmc profile

To add a cloud service interface:
  1. Select the Profiles tab.
  2. Select the desired profile version from the Versions list.
  3. Select the fmc profile from the Profiles list.
    The fmc profile's detail page opens.
  4. Select the Features tab.
    The profile's feature details panel appears. For details about the Features tab see Section 19.6, “Editing a Profile's Features”.
  5. Scroll down until the Available Features section of the panel is in view.
  6. Select mvn:org.jclouds.karaf/jclouds_karaf/1.5.3_1/xml/features from the Repositories list.
  7. Click the + to the right of the cloud service interfaces you wish to work with.
    The + will disappear and the feature is added to the Installed Features list. The features are immediately installed into all the management console containers in the fabric.

Related topics

Part III, “Working with Configuration Profiles”

7.2. Adding a Cloud Provider

Overview

When you add a cloud provider to the management console, you are using one of the installed cloud service interfaces to connect to an account on the cloud service.

Procedure

To add a cloud provider:
  1. Select the Cloud tab.
  2. Click Add Provider.
  3. Select the cloud service from the list on left.
  4. In the Name field, enter an alias for the cloud provider.
  5. In the Identity field enter the ID credential for logging into the cloud service.
    The type of value entered in the Identity field depends upon the cloud service being used. Some examples include:
    Amazon EC2 Access Key Id
    Rackspace Username
  6. In the Credential field enter the access key for logging into the cloud service.
    The type of value entered in the Credential field depends upon the cloud service being used. Some examples include:
    Amazon EC2 Secret Access Key
    Rackspace API Key
  7. If you are using a cloud service API to connect to your cloud, enter the endpoint used by the API in the Endpoint field.
  8. Click Add.

Chapter 8. Removing a Cloud Provider

Abstract

When you are finished working with your cloud provider, you can remove it from the cloud tab and the container creation options.

Overview

Deleting a cloud provider simply removes the account information from the management console. Once removed you will no longer be able to see the instances running in the cloud provider or create new containers in the cloud provider.
All of the instances in the cloud provider are left as they were before removing the provider details from the management console.

Procedure

To remove a cloud provider:
  1. Select the Cloud tab.
  2. Select the cloud provider to remove.
  3. Click Remove Provider.
  4. Confirm that you want to remove the cloud provider by clicking Yes.

Chapter 9. Managing Cloud Instances

Abstract

Once a cloud provider has been added to the management console you can see all of the instances you have deployed in the cloud. You can also start, stop, and delete them.

Overview

Once you have added a cloud provider, the management console lists all of the instances deployed in the cloud. The list includes details including:
  • its name or ID
  • its IP address
  • its state
The list also provides controls to stop/start the instance or to delete the instance.

Viewing a provider's instances

The Cloud tab is split into two columns. The left column lists the configured cloud providers. The right column lists the instances deployed to the highlighted provider. Selecting one of the providers from the left column highlights it and updates the right column to display the new providers instances.

Starting an instance

If an instance is in a suspended or stopped state pressing the resume button will start it.

Stopping an instance

If an instance is in a running state pressing the stop button will start it.

Destroying an instance

To completely remove an instance press the destroy button.

Part III. Working with Configuration Profiles

Revision History
09/04/12EMJ
Added chapters for importing and exporting versions.
09/05/12EMJ
Added chapters for importing profiles.

Abstract

Profiles contain a set of configuration data that specifies how a container is set up and the applications deployed into it. Profiles are stored as a collection called a version.
Configuration profiles, and their versions, are managed from the Profiles page. You access this page by selecting Profiles from the main menu.
The Profiles page lists all of the profile versions known to the fabric. It also lists all of the profiles in the selected version. Using the controls on the Profiles page you can mange the versions and drill down into each of the profiles.

Chapter 10. The Profiles Page

Revision History
9/4/12EMJ
Updated to reflect feature changes in 1.0.2. This includes adding the import/export buttons and removing the delete buttons.

Abstract

The Profiles page is the home page for managing configuration profiles.

Overview

Configuration profiles, and their versions, are managed from the Profiles page. You access this page by selecting Profiles from the main menu.
The Profiles page lists all of the profiles and versions available to the fabric. It also provides buttons to manage both the versions and the profiles. It is broken down into three areas:
  • Controls—buttons that allow you to edit the versions and profiles
  • Versions—lists all of the versions available to the fabric
  • Profiles—lists all of the configuration profiles in the selected version

Controls

The controls are located across the top of the page. They consist of five buttons:
  • Create Version—creates a new version bases on an existing version
  • Import Version—imports a profile version from the file system
  • Export Selected Version—exports the selected version as a ZIP file
  • Create Profile—creates a new profile in the currently selected version
  • Import Profile—imports a profile from the file system

Versions

This table lists all of the profile versions in the fabric. It details:
  • the version's name
  • how many containers are using the version
  • if it is the default version used to create new containers

Profiles

This table lists all of the profiles in the current version. The list provides the following information about the profiles:
  • the profile's name
  • the number of children the profile has
  • the number of containers using the profile
Clicking on a profile will take you to the profile's Profiles page where you can edit the profile.

Related topics

Chapter 19, Editing a Profile

Chapter 11. Creating a New Configuration Version

Abstract

Creating a new version of the configuration profiles allows you to modify one or more profiles without affecting containers running on a previous version.

Overview

All of the profiles defined for a fabric are collected in one or more versions. Creating a new version allows you to make incremental changes to your profiles without effecting all of the containers running in the fabric. A given container only has access to the profile set from a single version.
When you create a new version, all of the profiles from the parent version are copied into the new version to provide a stable, well known base. Once the new version is created, you can edit the profiles without effecting running containers. Containers must then be migrated to the new version for the profile changes to take effect.

Procedure

To create a new configuration version:
  1. Select Profiles from the main menu.
    The Profiles page opens.
  2. Click Create Version.
    The Create New Version dialog appears.
  3. In the Name field, enter a unique name for the version.
    If you leave the Name field blank, the management console will use the name of the parent version and append the next available version number, starting from 1, to the name. For example, if version brokers1 existed, the management console would create version brokers1.1.
  4. From the Parent Version list, select the version from which the new version will originate.
    By default Use most recently created version is selected.
  5. Click Create.
    The dialog will close and the new version will be listed in the Versions table.

Chapter 12. Importing a Configuration Version

Abstract

Importing a new configuration version allows you to add a pre-built set of profiles to your fabric. This can be useful when migrating to or from a test environment.

Overview

Importing a configuration version is a quick way of adding a collection of pre-built profiles into a fabric. The import process recreates the original version and all of its associated profiles exactly. This is useful for adding standardized profiles to a fabric, recreating a fabric on different hardware, and testing.
The management console imports a configuration version from a version archive containing the data needed to recreate the original profiles. The data consists of a folder for each profile in the version. Each profile folder contains at least one properties file, org.fusesource.fabric.agent.properties, that configures the container's agent to load the proper bundles. In addition, the profile folders will contain a copy of any other configuration file used by the profile.
The easiest way to generate a version archive is by exporting it using the management console. For details, see Chapter 13, Exporting a Configuration Version
When a profile version is imported, a new version is created for it. The management console will use the name of the most recently added version and increment it to the next available version. For example, if the most recent version is 1, the management console would create version 2. If the most recent version is 2.0, the management console would create version 2.1.

Procedure

To import a configuration version:
  1. Select Profiles from the main menu.
    The Profiles page opens.
  2. Click Import Version.
    The Import Version dialog appears.
  3. Click Choose File.
    A file selector will open.
  4. Select the file containing the version archive to import.
  5. Click Import.
    The dialog will close and the new version will be listed in the Versions table.

Chapter 13. Exporting a Configuration Version

Abstract

Exporting a configuration version allows you to save a set of profiles to an external file system. This is useful for creating standardize profiles and recreating a set of profiles in multiple fabrics.

Overview

The management console exports a configuration version to a version archive containing the data needed to recreate the original profiles. The data consists of a folder for each profile in the version. Each profile folder contains at least one properties file, org.fusesource.fabric.agent.properties, that configures the container's agent to load the proper bundles. In addition, the profiles folders will contain a copy of any other configuration file used by the profile.
You can reconstruct the exported version by importing the archive into a fabric using the management console's import version feature as described in Chapter 12, Importing a Configuration Version.

Procedure

To export a configuration version:
  1. Select Profiles from the main menu.
    The Profiles page opens.
  2. Select the version to export.
  3. Click Export Selected Version.
    The the version archive will be downloaded to the local file system. The archive will be named version-export.zip.

Chapter 14. Deleting Configuration Versions

Revision History
09/05/12
Modified to reflect changes in 1.0.2

Abstract

Deleting a version permanently removes the associated profiles from the fabric registry.

Overview

When you delete a version, all of the profiles in the version are removed from the fabric's registry. The copies of the profiles in the remaining versions are still available.
Note
The management console will not allow you to delete a version if any of the containers in the fabric are using it.

Procedure

To delete one or more profile versions:
  1. Select Profiles from the main menu.
    The Profiles page opens.
  2. Locate the version to be deleted from the list.
  3. Click the X to the right of the version's name.
    A confirmation dialog opens.
  4. Click Yes.
    The version is removed from the list.

Chapter 15. Setting the Default Configuration Version

Revision History
09/05/12
Modified to reflect changes in 1.0.2

Abstract

The default version is used by the management console as the default configuration version to assign to new containers.

Overview

The default version is used as the default value in the Select profiles screen's Version field. It is denoted by a green circle to the right of the version's name.

Procedure

To set the default profile version:
  1. Select Profiles from the main menu.
    The Profiles page opens.
  2. Locate the version to be made default from the list.
  3. Click the to the right of the version's name.
    turns green.

Chapter 16. Creating a New Profile

Abstract

A profile is a collection of related configuration data that can be deployed to a container. A profile can inherit from other profiles. A newly created profile will not have any of its own configuration information specified.

Overview

A profile is a collection of configuration data that is deployed to one or more containers in a fabric. It contains details about Apache Karaf features to be loaded, OSGi bundles to be loaded, settings that customize the runtime behavior, and Apache Karaf feature repositories. Profiles are additive and can inherit properties from parent profiles.
New profiles can be created from the Profiles page of the console. When a new profile is created, it contains no data. The only configuration associated with the new profile is the data inherited from its parent profiles.
Important
Parent profiles are directly linked to their children. If one of the parent profiles are changed, all of the profiles that inherit from it are also affected.

Procedure

To create a new profile:
  1. Select Profiles from the top menu.
    The Profiles page opens.
  2. From the Versions table, select a version in which to store the profile.
    Important
    The newly created profile will only exist in the version selected in the Versions table.
  3. Click Create Profile.
    The Create New Profile dialog appears.
  4. In the Name field, enter a unique name for the profile.
  5. From the Parent Profiles list, optionally select one or more profiles from which the new profile will inherit configuration.
  6. Click Create.
    The dialog will close and the new profile will be listed in the Profiles table.

Chapter 17. Importing a Profile

Abstract

Importing a profile allows you to add a pre-built profile to your fabric. This can be used for testing, disaster recovery, or enforcing standards across an organization.

Overview

Importing a profile is a fast way of adding a pre-built configuration to a fabric. The import process recreates the original profile exactly. This is useful for adding standardized profiles to a fabric, recreating a fabric on different hardware, and testing.
The management console imports a profile from a profile archive containing the data needed to recreate the original profile. The data consists of a folder for the profile. The profile's folder contains at least one properties file, org.fusesource.fabric.agent.properties, that configures the container's agent to load the proper bundles. In addition, the profile's folder will contain a copy of any other configuration file used by the profile.
The easiest way to generate a profile archive is by exporting it using the management console. For details, see Section 19.2, “Exporting a Profile”

Procedure

To import a profile:
  1. Select Profiles from the main menu.
    The Profiles page opens.
  2. From the Versions table, select a version in which to store the profile.
    Important
    The imported profile will only exist in the version selected in the Versions table.
  3. Click Import Profile.
    The Import Profile dialog appears.
  4. Click Choose File.
    A file selector will open.
  5. Select the file containing the profile archive to import.
    Important
    If you select an archive containing a copy of a profile that already exists in the fabric, the imported version will overwrite the fabric's copy.
  6. Click Import.
    The dialog will close and the new profile will be listed in the Profiles table.

Chapter 18. Deleting Profiles

Revision History
09/05/12EMJ
Updated to reflect procedure in 1.0.2
11/26/12 
updated to reflect the parent profile knowledge changes

Abstract

Deleting a profile permanently removes the associated configuration from the version.

Overview

When you delete a profile, all of the configuration in the profile is permanently removed from the registry. Because this action is destructive the management console provides safeguards against corrupting your fabric:
  • The management console will not allow you to delete a profile if any of the containers in the fabric is using it.
  • The management console will not allow you to delete a profile if any other profile inherits from it.

Procedure

To delete one or more profile versions:
  1. Select Profiles from the top menu.
    The Profiles page opens.
  2. From the Versions table, select a version from which the profile will be deleted.
    Important
    The profile will only be deleted from the version selected in the Versions table. It will remain in all other versions.
  3. Locate the profile to be deleted from the list.
  4. Click the X to the right of the profile's name.
    A confirmation dialog opens.
  5. Click Yes.
    The profile is removed from the list.

Chapter 19. Editing a Profile

Revision History
09/05/12EMJ
Added section for exporting profiles.
09/05/12EMJ
Moved procedure for selecting a profile to the first position.
09/05/12EMJ
Moved section about adding FABs to before bundles to reflect order of tabs on the UI.
11/26/12 
Added description of the abstract and locked toggles

Abstract

A profile is a collection of related configuration data that can be deployed to a container. Profiles can inherit from other profiles. It contains details about Apache Karaf features to be loaded, OSGi bundles to be loaded, settings that customize the runtime behavior, and repositories where the required artifacts are stored.
A profile is a collection of configuration data that is deployed to one or more containers in a fabric. The profile details page displays all of the data in a way that makes it easy to see and edit a profile. It has tabs for each of the following types of data:
  • Features—Apache Karaf feature specifications that define a collection of bundles, jars, and other artifacts needed to implement a set of functionality
  • Fuse Application Bundles—one or more or Fuse Application Bundles to load into a container
  • Bundles—one or more OSGi bundles to load into a container
  • Repositories—one or more URIs specifying the location from which the container can download the required artifacts
  • Config Properties—configuration properties that affect the container's runtime
  • System Properties—specifies Java system properties that are made available at the beginning of the container's boot process
  • Config Files—one or more configuration files that will be loaded by the container's OSGi admin service and applied to the services running in the container
A profile can inherit properties from parent profiles. The details page displays a list of all the profiles from which the active profile inherits. Using this list you can add and remove parent profiles.
Important
Parent profiles are directly linked to their children. If one of the parent profiles is changed, all of the profiles that inherit from it are also affected.
The details page also has two additional controls that effect how a profile can be used:
  • Locked—specifies that the profile cannot be edited.
  • Abstract—specifies that the profile cannot be deployed to a container. An abstract profile is intended for use as the parent profile for other profiles.
Warning
Editing a profile will affect any deployed container that is currently using the selected profile.

19.1. Selecting a Profile to Edit

Revision History
11/26/12
removed list of details on the details page

Abstract

Profiles are edited from the Profiles screen. Each of the tabs on the page provide access to a different section of the profile.

Overview

To edit a profile you need to select the profile from the Profiles screen. Once you click on a profile name, the Profiles screen for the profile opens.

Procedure

To select a profile:
  1. Select Profiles from the main menu.
    The Profiles page opens.
  2. From the Versions table, select a version containing the profile to be edited.
    Important
    The changes made to the profile will only exist in the version selected in the Versions table.
  3. In the Profiles table, click on the profile to edit.
    The Profiles page for the selected profile opens.

19.2. Exporting a Profile

Abstract

Exporting a profile allows you to save a profile to an external file system. This is useful for creating standardize profiles and recreating profiles in multiple fabrics.

Overview

The management console exports a profile to a profile archive containing the data needed to recreate the original profile. The data consists of a folder for the profile. The profile's folder contains at least one properties file, org.fusesource.fabric.agent.properties, that configures the container's agent to load the proper bundles. In addition, the profile's folder will contain a copy of any other configuration file used by the profile.
You can reconstruct the exported version by importing the archive into a fabric using the management console's import version feature as described in Chapter 17, Importing a Profile.

Procedure

To export a profile:
  1. Select the profile whose parents you want to change.
    The Profiles page for the selected profile opens.
  2. Click Export.
    The the profile archive will be downloaded to the local file system. The archive will be named profile.zip.

19.3. Locking a Profile

Overview

Locking a profile makes it uneditable. This is useful for situations where your environment has policies that are mandated. For example, security features are usually specified by a security team and all containers must use them.
Important
Profile locking is not tied to specific users or roles. Any user with access to the management console can lock, or unlock, a profile.

Procedure

To lock or unlock a profile:
  1. Select the profile whose parents you want to change.
    The Profiles page for the selected profile opens.
  2. Click the Locked toggle.
    The toggle switches between No and Yes.

19.4. Making a Profile Abstract

Overview

Making a profile abstract removes it from the list of profiles that can be deployed into containers. This is useful for profiles that are the basis for a group of profiles. For example, you could create a base profile for all of the message brokers in your environment. This profile is then used to create profiles that are tailored for specific message brokers.

Procedure

To make a profile abstract:
  1. Select the profile whose parents you want to change.
    The Profiles page for the selected profile opens.
  2. Click the Abstract toggle.
    The toggle switches between No and Yes.

19.5. Changing a Profile's Parent Profiles

Revision History
11/26/12
rewrote overview for clarity

Abstract

Profiles inherit properties from parent profiles. Changing the parents of a profile adds, or removes, configuration and provisioning information to the profile.

Overview

Profiles can inherit configuration data from one, or more, parent profiles. When you change the profile's parents you will alter the configuration settings imported into the profile. Adding a parent profile adds all of the new parent's information to the profile. If you subtract a parent, its information will be removed form the profile.
Warning
Changing a profile's parents will affect any deployed container that is currently using the profile.

Procedure

To change a profile's parents:
  1. Select the profile whose parents you want to change.
    The Profiles page for the selected profile opens.
  2. Click Change Parents.
    The Change Parent Profiles dialog opens.
  3. Select the new parent's for the profile.
    Note
    The profile's parents are preselected.
  4. Click Change.
    The dialog will close and the new parents will be listed in the profile's details.

19.6. Editing a Profile's Features

Revision History
09/05/12EMJ
Updated to reflect changes in 1.0.2

Abstract

Profiles contain a list of Apache Karaf features that are deployed into the container. Using the Features tab, you can add and remove features from the profile's list.

Overview

A convenient way to deploy a number of related artifacts to a container is using the Apache Karaf feature mechanism. This mechanism allows you to define a feature that consists of a number of bundles and other artifacts that can be provisioned from a known location and deployed into the container.
Fuse Fabric supports deploying Apache Karaf features into containers. Using the Features tab you can get a list of Apache Karaf features available in the feature repositories configured on the Repositories tab and add them to the profile.

Adding a feature

Warning
Adding a feature to a profile will add the feature to any deployed container that is currently using the selected profile.
To add a feature:
  1. Select the profile to which you want to add features.
    The Profiles page for the selected profile opens.
  2. Select the Features tab.
    The Features tab will be shown on the bottom of the Profiles page.
  3. Select the feature repository to scan from the Repository drop-down list.
    Note
    The list is populated using the feature repositories added to the current profile and all of the profiles from which it inherits.
    The list of available features in the repository will be listed.
  4. Locate the feature to add to the profile.
  5. Click the + to the right of the feature's name.
    The feature is added to the Installed Features list and the + no longer appears in the list of available features.

Editing a feature

Editing a feature allows you to change the name of the feature to be loaded. This will cause the feature that is currently part of the profile to be deleted and the feature with the new name to be added to the profile.
Warning
Changing a feature in a profile will change the feature on any deployed container that is currently using the selected profile.
To edit a feature:
  1. Select the profile from which you want to edit features.
    The Profiles page for the selected profile opens.
  2. Select the Features tab.
    The Features tab will be shown on the bottom of the Profiles page.
  3. Locate the feature to be edited in the Installed Features list.
  4. Click edit to the right of the feature's name.
    The field becomes editable.
  5. Edit the value.
  6. Click Save.
    The old feature is removed and the new feature is added.

Deleting a feature

Warning
Deleting a feature from a profile will remove the feature from any deployed container that is currently using the selected profile.
To delete a feature:
  1. Select the profile from which you want to delete features.
    The Profiles page for the selected profile opens.
  2. Select the Features tab.
    The Features tab will be shown on the bottom of the Profiles page.
  3. Locate the feature to be deleted in the Installed Features list.
  4. Click the X to the right of the feature's name.
    A confirmation dialog opens.
  5. Click Yes.
    The feature is removed from the list and all containers using the profile.

19.7. Editing a Profile's Fuse Application Bundles

Abstract

Containers can provision Fuse Application Bundles. Using the Fuse Application Bundles tab, you can add and remove bundles from the profile's list.

Overview

Fuse containers support a special kind of bundle called a Fuse Application Bundle(FAB). They contain special metadata that automatically resolves the bundle's dependencies and deploys them along with the bundle.
Using the Fuse Application Bundles tab you can list one or more bundles to deploy and Fuse Fabric will look at the known repositories to provision the container. You can add repositories from the Repositories tab.

Adding a FAB

Warning
Adding a FAB to a profile will add the bundle to any deployed container that is currently using the selected profile.
To add a FAB:
  1. Select the profile to which you want to add bundles.
    The Profiles page for the selected profile opens.
  2. Select the Fuse Application Bundles tab.
    The Fuse Application Bundles tab will be shown on the bottom of the Profiles page.
  3. In the Add new Fuse Application Bundles field, enter the name of the FAB to be added to the profile.
  4. Click Add.
    The new FAB will appear on the list and all containers using the profile will be updated to include the new FAB.

Editing a FAB

Editing a FAB allows you to change the name of the FAB to be loaded. This will cause the FAB that is currently part of the profile to be deleted and the FAB with the new name to be added to the profile.
Warning
Changing a FAB in a profile will change the FAB on any deployed container that is currently using the selected profile.
To edit a FAB:
  1. Select the profile from which you want to edit features.
    The Profiles page for the selected profile opens.
  2. Select the FABs tab.
    The FABs tab will be shown on the bottom of the Profiles page.
  3. Locate the FAB to be edited.
  4. Click edit to the right of the FAB's name.
    The field becomes editable.
  5. Edit the value.
  6. Click Save.
    The old FAB is removed and the new FAB is added.

Deleting a FAB

Warning
Deleting a FAB from a profile will remove the FAB from any deployed container that is currently using the selected profile.
To delete a FAB:
  1. Select the profile from which you want to delete bundles.
    The Profiles page for the selected profile opens.
  2. Select the Fuse Application Bundles tab.
    The Fuse Application Bundles tab will be shown on the bottom of the Profiles page.
  3. Locate the bundle to be deleted in the list of FAB.
  4. Click the X to the right of the FAB's name.
    A confirmation dialog opens.
  5. Click Yes.
    The FAB is removed from the list and all containers using the profile.

19.8. Editing a Profile's Bundles

Abstract

Containers can provision OSGi bundles. Using the Bundles tab, you can add and remove bundles from the profile's list.

Overview

Fuse containers are OSGi containers, so you can add functionality to them by deploying OSGi bundles into them.
Using the Bundles tab you can list one or more bundles to deploy and Fuse Fabric will look at the known repositories to provision the container. You can add repositories from the Repositories tab.

Adding a bundle

Warning
Adding a bundle to a profile will add the bundle to any deployed container that is currently using the selected profile.
To add a bundle:
  1. Select the profile to which you want to add bundles.
    The Profiles page for the selected profile opens.
  2. Select the Bundles tab.
    The Bundles tab will be shown on the bottom of the Profiles page.
  3. In the Add new bundle field, enter the name of the bundle to be added to the profile.
  4. Click Add.
    The new bundle will appear on the list and all containers using the profile will be updated to include the new bundle.

Editing a bundle

Editing a bundle allows you to change the name of the bundle to be loaded. This will cause the bundle that is currently part of the profile to be deleted and the bundle with the new name to be added to the profile.
Warning
Changing a bundle in a profile will change the bundle on any deployed container that is currently using the selected profile.
To edit a bundle:
  1. Select the profile from which you want to edit features.
    The Profiles page for the selected profile opens.
  2. Select the Bundles tab.
    The Bundles tab will be shown on the bottom of the Profiles page.
  3. Locate the bundle to be edited.
  4. Click edit to the right of the bundle's name.
    The field becomes editable.
  5. Edit the value.
  6. Click Save.
    The old bundle is removed and the new bundle is added.

Deleting a bundle

Warning
Deleting a bundle from a profile will remove the bundle from any deployed container that is currently using the selected profile.
To delete a bundle:
  1. Select the profile from which you want to delete bundles.
    The Profiles page for the selected profile opens.
  2. Select the Bundles tab.
    The Bundles tab will be shown on the bottom of the Profiles page.
  3. Locate the bundle to be deleted in the list of bundles.
  4. Click the X to the right of the bundle's name.
    A confirmation dialog opens.
  5. Click Yes.
    The bundle is removed from the list and all containers using the profile.

19.9. Editing the Repositories Available to a Profile

Abstract

Containers can download the artifacts it requires from feature repositories. Using the Repositories tab, you can add and remove repositories from the profile's list.

Overview

In order to provision the artifacts specified in a profile's containers need to be able to load them. This means that the artifacts need to be local to the container or accessible in a location from which the container can download them. Fuse containers can download artifacts from repositories that are identified in a profile.
Using the Repositories tab you can specify one or more repositories that are accessible to a container using the profile.

Adding a feature repository

To add a feature repository:
  1. Select the profile to which you want to add repositories.
    The Profiles page for the selected profile opens.
  2. Select the Repositories tab.
    The Repositories tab will be shown on the bottom of the Profiles page.
  3. In the Add new repository filed, enter the URL of the feature repository to be added to the profile.
  4. Click Add.
    The new feature repository will appear in the list and all containers using the profile will be able to use the new feature repository.

Editing a feature repository

Editing a feature repository allows you to change the name of the feature repository to be used by the container. This will cause the feature repository that is currently part of the profile to be deleted and the feature repository with the new name to be added to the profile.
Warning
Changing a feature repository in a profile will change the feature repository on any deployed container that is currently using the selected profile.
To edit a feature repository:
  1. Select the profile from which you want to edit features.
    The Profiles page for the selected profile opens.
  2. Select the Repositories tab.
    The Repositories tab will be shown on the bottom of the Profiles page.
  3. Locate the feature repository to be edited.
  4. Click edit to the right of the feature repository's name.
    The field becomes editable.
  5. Edit the value.
  6. Click Save.
    The old feature repository is removed and the new feature repository is added.

Deleting a feature repository

Warning
Deleting a feature repository from a profile will make the repository unavailable to any deployed container that is currently using the selected profile.
To delete a feature repository:
  1. Select the profile from which you want to delete repositories.
    The Profiles page for the selected profile opens.
  2. Locate the feature repository to be deleted in the list of available repositories.
  3. Click the X to the right of the repository's URL.
    A confirmation dialog opens.
  4. Click Yes.
    The feature repository is removed from the list and can no longer be used by any containers using the profile.

19.10. Editing a Profile's Configuration Properties

Overview

The container's in a fabric can be dynamically updated with new configuration information by altering configuration settings in the container's main configuration.
Using the Config Properties tab you can:
  • view all of the properties in the profile
  • add container configuration properties to the profile
  • remove container configuration properties from the profile

Adding a configuration property

Warning
Adding a configuration property to a profile will deploy the configuration change to any container that is currently using the selected profile.
To add a configuration property:
  1. Select the profile to which you want to add configuration properties.
    The Profiles page for the selected profile opens.
  2. Select the Config Properties tab.
    The Config Properties tab will be shown on the bottom of the Profiles page.
  3. In the Add new entry to config.properties field, enter the name of the new configuration property and the property's values.
  4. Click Add.
    The new configuration property will appear in the list and be deployed into any containers using the profile.

Deleting a configuration property

Warning
Deleting a configuration property from a profile will revert the configuration settings to their defaults on any container that is currently using the selected profile.
To delete a configuration property:
  1. Select the profile from which you want to delete configuration properties.
    The Profiles page for the selected profile opens.
  2. Locate the configuration property to be deleted in the list of properties.
  3. Click the X to the right of the property.
    A confirmation dialog opens.
  4. Click Yes.
    The configuration property is removed from the list and the configuration settings are reverted to defaults on all containers using the profile.

19.11. Editing a Profile's System Properties

Overview

The container's in a fabric can be updated with new Java system properties.
Using the System Properties tab you can:
  • view all of the Java system properties in the profile
  • add Java system properties to the profile
  • remove Java system properties from the profile

Adding a system property

To add a config file:
  1. Select the profile to which you want to add system properties.
    The Profiles page for the selected profile opens.
  2. Select the System Properties tab.
    The System Properties tab will be shown on the bottom of the Profiles page.
  3. In the Add new entry to system.properties field, enter the name of the new system property and the property's values.
  4. Click Add.
    The new system property will appear in the list.

Deleting a system property

To delete a system property:
  1. Select the profile from which you want to delete system properties.
    The Profiles page for the selected profile opens.
  2. Locate the system property to be deleted in the list of system property.
  3. Click the X to the right of the property.
    A confirmation dialog opens.
  4. Click Yes.
    The system property is removed from the list.

19.12. Editing a Profile's Configuration Files

Overview

The container's in a fabric can be dynamically updated with new configuration information by altering configuration settings in one or more of the configuration files the container uses. All of the configuration files are monitored by the OSGi Admin Service. When a change is pushed to a container, the OSGi Admin service loads the changes and updates the container and its services with the new information.
Using the Config Files tab you can:
  • view all of the config files in the profile
  • add config files to the profile
  • edit config files in the profile
  • remove config files from the profile

Adding a config file

Warning
Adding a config file to a profile will deploy the configuration change to any container that is currently using the selected profile.
Important
New config files are initially empty and shouldn't have any effect on a running container. The exception to this rule is when the new config file replaces a config file in a parent profile. The new file will occlude any file with same name in the parent profile.
To add a config file:
  1. Select the profile to which you want to add config files.
    The Profiles page for the selected profile opens.
  2. Select the Config Files tab.
    The Config Files tab will be shown on the bottom of the Profiles page.
  3. In the Add new config file field, enter the name of the configuration file to be added to the profile.
  4. Click Add.
    The new config file will appear in the list and be deployed into any containers using the profile.

Editing a config file

Warning
Any changes that you make to a config file update the configuration settings on any container that is currently using the selected profile.
To edit a config file:
  1. Select the profile from which you want to edit config files.
    The Profiles page for the selected profile opens.
  2. Locate the config file to be edited in the list of config files.
  3. Click the config file's name.
    A text editor with the configuration file opens.
  4. Edit the config file to contain the new settings.
  5. Click Save.
    The editor will close and all of the containers using the profile will have their configuration updated with the new settings.

Deleting a config file

Warning
Deleting a config file from a profile will revert the configuration settings to their defaults on any container that is currently using the selected profile.
To delete a config file:
  1. Select the profile from which you want to delete config files.
    The Profiles page for the selected profile opens.
  2. Locate the config file to be deleted in the list of config files.
  3. Click the X to the right of the file.
    A confirmation dialog opens.
  4. Click Yes.
    The config file is removed from the list and the configuration setting in the file are reverted to defaults on all containers using the profile.

Part IV. Patching Containers

Abstract

The Patching tab allows you to install incremental patches to the containers in a fabric.
The management console makes applying patches to your containers easy and risk-free. You upload patches to the fabric's central Maven repository, create a new profile version, and then migrate containers to the new version. If the patch causes problems, you can always roll back the containers to the non-patched version.
Patches are ZIP files that contain the artifacts needed to update a targeted set of bundles in a container. The patch file includes a .patch file that lists the contained artifacts. The artifacts are typically one or more bundles. They can, however, include configuration files and feature descriptors.
The patching process is straight forward:
  1. You get a patch file.
    • Customer support sends you a patch.
    • Customer support sends you a link to download a patch.
  2. You use the management console's Patching tab to upload the ZIP files.
  3. You apply the patches to a profile version.
    This creates a new profile version that points to the new versions of the patched bundles and repositories.
  4. You migrate one or two containers to the patched profile version to ensure that the patch does not introduce any new issues.
  5. After your are certain that the patch works, migrate the remaining containers in the fabric to the patched version.

Chapter 20. Uploading a Patch

Abstract

Uploading a patch file stores the updated artifacts in the fabric's central repository so that they can be used by the containers.

Overview

A patch file is a ZIP fie containing a .patch manifest file and one or more bundles in a repository folder. You will either be given this patch file or you will download it from Red Hat.
Before you can use the patch file to update the containers in a fabric, you need to make the updated bundles available to the containers. The management console does this by uploading them into a Fabric Ensemble's Maven repository. All of the bundles in the ensemble's Maven repository are available for use by all of the containers in the fabric.

Procedure

To upload a patch:
  1. Save the patch file to a location that is accessible from your local machine.
  2. Select the management console's Patching tab.
  3. Click the Chose File button.
  4. Using the file picker, select the patch file.
  5. Click Choose.
    The patch file's name should appear beside the Chose File button.
  6. Click the Upload button.
    The patch file will appear in the Uploaded Patches list.
You can repeat this procedure to upload numerous patch files to apply as a single update.

Chapter 21. Applying a Patch

Abstract

Applying a patch is a two step process. The first step creates a new profile version. The second step rolls the patch out to the containers.

Overview

Once a patch file is uploaded to the Fabric Ensemble's Maven repository, it can be applied to the containers in the fabric. To make it so that you can roll out the patch to controlled set of containers, and to be able to roll the patch back, applying a patch is a two step process:
  1. Apply the patch to an existing profile version.
    This creates a new profile version based on the one being patched. This ensures that none of the running containers are updated with the patch automatically.
  2. Migrate one or more containers to the patched profile version.
    This deploys the patch to running containers. It is recommended that the initial roll out of a patch is limited to a few containers. Once the patch has been proven to work, you can then migrate the remaining containers to the patched profile version,
Important
The patched bundles in the Fabric Ensemble's Maven repository will be used in place of the bundles original bundles. The original bundles, however, will still be available for use.

Procedure

To apply a patch:
  1. Select the management console's Patching tab.
  2. Upload one or more patches.
  3. From the Version to patch drop-down list, select the version to which you want to apply the patch(es).
    This is the version that will be copied and modified to use the uploaded patch(es).
  4. Click Apply Patches.
    A new profile version will be created based on the selected profile version. The selected version will be copied and any of the profiles that use bundles in the patch(es) will be modified to use the bundle version from the patch instead of the original version.
    Important
    The new profile version is not used by any of the running containers, so the changes have not been applied to any of the containers.
  5. Migrate one or more containers to the newly patched profile version.

Legal Notice

Trademark Disclaimer

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://creativecommons.org/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 countries.
Apache, ServiceMix, Camel, CXF, and ActiveMQ are trademarks of Apache Software Foundation. Any other names contained herein may be trademarks of their respective owners.

Legal Notice

Third Party Acknowledgements

One or more products in the Red Hat JBoss Fuse release includes third party components covered by licenses that require that the following documentation notices be provided:
  • JLine (http://jline.sourceforge.net) jline:jline:jar:1.0
    License: BSD (LICENSE.txt) - Copyright (c) 2002-2006, Marc Prud'hommeaux
    All rights reserved.
    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    • Neither the name of JLine nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Stax2 API (http://woodstox.codehaus.org/StAX2) org.codehaus.woodstox:stax2-api:jar:3.1.1
    Copyright (c) <YEAR>, <OWNER> All rights reserved.
    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • jibx-run - JiBX runtime (http://www.jibx.org/main-reactor/jibx-run) org.jibx:jibx-run:bundle:1.2.3
    License: BSD (http://jibx.sourceforge.net/jibx-license.html) Copyright (c) 2003-2010, Dennis M. Sosnoski.
    All rights reserved.
    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
    • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    • Neither the name of JiBX nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • JavaAssist (http://www.jboss.org/javassist) org.jboss.javassist:com.springsource.javassist:jar:3.9.0.GA:compile
  • HAPI-OSGI-Base Module (http://hl7api.sourceforge.net/hapi-osgi-base/) ca.uhn.hapi:hapi-osgi-base:bundle:1.2
    License: Mozilla Public License 1.1 (http://www.mozilla.org/MPL/MPL-1.1.txt)