JBoss Operations Network 3.1.1

3.1.1 Release Notes

for 3.1.1 updates to JBoss Operations Network

Ella Deon Lackey

Legal Notice

Copyright © 2012 Red Hat, Inc..
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
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.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack Logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
September 19, 2012

Abstract

These release notes contain important information about new features, known issues, and other technical notes available at the time that JBoss Operations Network 3.1.1 was released.
JBoss Operations Network 3.1.1 is a bug fix release which addresses numerous issues from JBoss ON 3.1.

1. Notable Changes in 3.1.1

While JBoss ON 3.1.1 is primarily a bug fix release, there have been some changes in JBoss ON functionality related to those bug fixes and that address recent security updates.

1.1. New: Agent RPMs

Agent RPMs are available through both Red Hat Network and system errata updates for Red Hat Enterprise Linux 6 systems. Using RPMs can simplify installing, configuring, and managing the agent as a system service and makes it much easier for administrators to kickstart systems or create cloud or virtual instances and configure those instances automatically for JBoss ON systems management.
More information on migrating from a JAR installation to an RPM agent and installing the agent RPMs is available in the Installation Guide.

1.2. New: PostgreSQL 9.1 Support

PostgreSQL 9.1 can be used as a backend database for the JBoss ON server, in addition to PostgreSQL 9.0 (introduced in JBoss ON 3.0) and PostgreSQL 8.2.4 and later 8.2.x versions.

1.3. Deprecated: Internet Explorer 8 Support

Internet Explorer 8 is currently a supported browser to access the JBoss ON installer and UI. However, this supported is deprecated in JBoss ON 3.1.1, meaning that its use is not recommended and support for Internet Explorer 8 will be removed in a future release of JBoss ON.

1.4. Deprecated: Augeas Plug-in for Apache Configuration Support

Editing the Apache configuration files and virtual hosts through JBoss ON is enabled on Red Hat Enterprise Linux using an Augeas lens. This Augeas lens requires the Augeas agent plug-in. The Augeas agent plug-in is deprecated in JBoss ON 3.1.1.

IMPORTANT

The Augeas plug-in is not required to monitor an Apache resource. This plug-in is only used to manage resource configuration and view and edit configuration files.

1.5. Security Fix: JBoss Web/Apache Denial of Service Vulnerability (CVE-2012-0022)

The JBoss Web version used by JBoss ON used an inefficient approach for handling parameters, which allowed remote attackers to cause a denial of service attack by increasing CPU consumption through a request that contained many parameters and parameter values.

1.6. Fix: BRMS Resource Name

BRMS resources were incorrectly identified as JBoss AS resources. With the new plug-in, BRMS resources are correctly labeled.

1.7. Fix: Password Obfuscation for Content Repository Credentials

Password obfuscation was introduced in JBoss Operations Network 3.1 for stored content providers credentials, including the credentials used to access the Red Hat Customer Portal (a default repository in JBoss ON). However, there was a problem with the way that passwords were decoded when accessing the content repository. In some cases, a valid password was not properly decoded, so connecting to the patch repository or another content repository failed.
This issue has been fixed in JBoss ON 3.1.1.
Any stored credentials for an existing content repository must be updated. The fix for this issue implements a new way to hash, store, and retrieve the obfuscated password. Existing passwords must be reset in order to apply the new obfuscation method.

2. JBoss Operations Network Prerequisites and Basic Installation

2.1. Software and Hardware Requirements

The list of supported platforms for JBoss Operations Network are listed at https://access.redhat.com/knowledge/articles/112523.
Regardless of the server or database platform, there are certain minimum requirements that must be met to install the JBoss ON server and its associated database.

Table 1. Recommended Minimum Hardware

Minimum
Memory 2 GB
Installation Directory Storage[a] 10 GB
Temporary Directory Storage 10 GB
[a] The server runs as a system user. Make sure that any system limits on user memory are set high enough to accommodate the JBoss ON server and all its data.

2.2. Installing JBoss Operations Network 3.1.1

The Installation Guide has more information on configuration databases for the JBoss ON server, upgrading servers, and other installation information. This is a quick summary of performing an initial installation.
  1. Set up a database named rhqadmin and a database user named rhqadmin. Make sure the database user has adequate permissions to perform operations on the JBoss ON database.
  2. Stop any currently running JBoss ON instances.
    serverRoot/jon-server-3.1.1.GA/bin/rhq-server.sh stop
    If the new JBoss ON server will use a database that existing JBoss ON instances are also using, then all of the existing JBoss ON instances have to be stopped. Otherwise, the installer will hang when it tries to contact the database and the database is unavailable because it is in use by another JBoss ON server.
  3. Download the server packages from the Red Hat Customer Portal.
    1. Open the Downloads tab in the top menu, and click the Downloads link under the JBoss Enterprise Middleware section.
    2. In the Product field, select the JBoss Operations Network product.
    3. Set the version to 3.1.1.
    4. Click the Download link for the base distribution and save the package to the appropriate location on the local system.
  4. Unzip the server distribution to the directory where it will be executed from. For example:
    cd /opt
    
    unzip jon-server-3.1.1.GA.zip
    This creates a jon-server-3.1.1.GA/ directory in your chosen installation root.
  5. Install any additional agent plug-ins. Plug-in packs are available for all JBoss products:
    • Enterprise Application Platform (EAP)
    • Enterprise Business Rules Management System (BRMS)
    • Data Grid (JDG)
    • Enterprise Data Services Platform (EDS-P)
    • Enterprise Data Services Platform (EDS-P)
    • Enterprise Portal Platform (EPP)
    • SOA Platform (SOA-P)
    To install a plug-in pack:
    [root@server ~]# cd /tmp
    [root@server ~]# unzip jon-plugin-pack-agent_plugin_name-3.1.1.GA.zip
    [root@server ~]# cp jon-plugin-pack-agent_plugin_name/*.jar /opt/jon/jon-server-3.1.1.GA/plugins
  6. Run the JBoss ON server:
    serverRoot/jon-server-3.1.1.GA/bin/rhq-server.sh start
  7. Open the server UI, which initially displays the JBoss ON server installer.
    http://server.example.com:7080
  8. Clicking the Click here to continue the installation link brings you to the main installer page.
  9. Go through the installer and fill in the information. Advanced settings can be exposed in the form.
    The main installer page appears different depending on the database settings.

3. Fixed Bugs in JBoss Operations Network 3.1.1

These bugs have been fixed in JBoss Operations Network 3.1.1. For a complete list of all issues addressed in JBoss Operations Network 3.1.1, search Bugzilla for bugs with a target of JON 3.1.1.

Table 2. JBoss ON 3.1.1 Fixed Bugs

Bug Number Component Description
Bugzilla 801432 Agent Attempting to ignore a resource in the discovery queue returned ConcurrentModificationException on the agent.
Bugzilla 828791 Agent If agent registration took longer than one minute (such as there was a slow network connection), than the agent plug-ins could fail to update.
Bugzilla 828938 Agent If resource plug-ins were deleted when resources of that type were in the inventory, then an agent running in the background on a system was stopped and had errors when restarting.
Bugzilla 826604 CLI If arguments used with the exec command within the JBoss ON CLI had quotation marks, the arguments were not properly parsed and the script execution failed.
Bugzilla 849779 CLI Attempting to run the retrieveBackingContent method for a new resource could fail for up to 10 minutes after the new content resource was imported into the inventory.
Bugzilla 588507 Content The displayed installation data for content deployed through JBoss ON could be very inaccurate, off by thousands of days.
Bugzilla 799163 Content Deploying an exploded archive on JBoss EAP 4 deployed a zipped archive, which made the deployed application unavailable.
Bugzilla 844673 Content There was a problem decoding obfuscated passwords used to connect to content providers like the Customer Portal. This caused connection attempts to fail, even with valid credentials.
Bugzilla 825601 Core Server CVE-2012-0022. The JBoss Web version used by JBoss ON used an inefficient approach for handling parameters, which allowed remote attackers to cause a denial of service attack by increasing CPU consumption through a request that contained many parameters and parameter values.
Bugzilla 828428 Core Server Having more than 1000 agents in the inventory for a single server could cause errors in the server log with the SQL exception ORA-01795: maximum number of expressions in a list is 1000.
Bugzilla 827633 Drift A drift detection definition could not be created with a base directory for a filesystem path which contained parentheses.
Bugzilla 832041 Drift If the initial, plug-in defined template for a resource type was deleted, no new template could be created by a user.
Bugzilla 820432
Bugzilla 841026
Groups Groups could display or include uncommitted resources in group counts as members. This included recursive groups, which could include uncommitted child resources of explicit members.
Bugzilla 826224 Groups If a compatible group were created with a description longer than 100 characters, the creation failed with the error value too long for type character.
Bugzilla 826716 Groups Only one trait can be used in a dynamic group expressions. However, if multiple traits were set, the UI returned a stack trace that the group members could not be calculated. Now, the UI properly returns an error that only one trait is allowed and does not throw a stack trace.
Bugzilla 826493 Groups Empty groups (with an UNKNOWN group availability status) were incorrectly returned in searches for groups with up, down, or disabled availability states.
Bugzilla 850229 Groups Empty groups were not listed in the Groups page, even if they were successfully created and visible in other areas of JBoss ON (such as the bundle deployment wizard).
Bugzilla 826136 Installation The password used to log into the server database (entered as part of configuring the server) was logged into the server's log in clear text.
Bugzilla 615978 Provisioning Using the Recipe option to upload a recipe file separately than the bundle archive files required that the XML in the recipe be well-formed and that all tags were explicitly closed (not the abbreviated format <tag />).
Bugzilla 828838
Bugzilla 820333
Provisioning If a new version of a bundle contained configuration properties or tokens and the original version of the bundle did not contain any configuration properties, then attempting to deploy the later version would fail. Likewise, if a new configuration property were added to a configuration file, then attempting to deploy the later bundle version with the new parameter would fail.
Bugzilla 826995 Provisioning If a bundle version was deleted, it was not properly removed from the listed bundle versions. This caused bundle deployments of newer bundle versions to throw exceptions and fail.
Bugzilla 752210 Plug-in Container New information has been added to debug messages for metric collections to help identify if a particular metric were delaying metric collections for an agent or a resource.
Bugzilla 827547 Plug-in Container When manually importing a content-backed resource, the resource ID was not properly set, which prevented the resource from being properly added to the inventory.
Bugzilla 826124 Plug-ins (Apache) If request method used with the SNMP modules for Apache was null or empty, then the module would segfault when it attempted to use the uninitialized memory. Now, the empty request is treated as an undefined protocol, and the module returns a message that the request method (null) is unsupported.
Bugzilla 834357 Plug-ins (BRMS) A BRMS resource was incorrectly identified as a JBoss AS resource.
Bugzilla 831516 Plug-ins (JBoss EAP 5) A new JMS destination can only be created by giving the required name and JNDI name, with the other values supplied by default settings. However, the defaults were not included in the create operation, so attempting to create a new JMS destination using the defaults failed.
Bugzilla 835111 Plug-ins (JBoss EAP 5) EJB2 MDB resources were always shown as down (unavailable), even if they were started and running. The availability component was not able to set the run state for the EJB2 MDB resource, so the plug-in was never able to move the resource out of an unknown or down state.
Bugzilla 837126 Plug-ins (JBoss EAP 5) If a JBoss EAP server became unstable due to OutOfMemoryError condition or other problem, the JBoss AS 5 plug-in was prevented from connecting to the server. In that case, the resource was reported as DOWN, even if it were really up. The agent then would not invoke a shutdown operation for the "down" resource, even if the resource were actually still running.
Bugzilla 848113 Plug-ins (JBoss EAP 6) When a new child was created, a discovery scan did not run immediately. This meant that the new child was undiscovered until the next scheduled discovery scan, which could be several minutes or even hours. Now, a discovery scan runs as soon as a new child is created successfully, so that it is discovered immediately.
Bugzilla 734490
Bugzilla 782506
Plug-ins (JBoss EAP 6) An edit icon appeared next to module names in the Configuration > Current > Extensions area of the EAP 6 server configuration. These properties are read-only and cannot, in fact, be edited.
Bugzilla 788487 Plug-ins (JBoss EAP 6) When manually adding a standalone server in the JBoss ON UI, rather than importing it from the discovery queue, there was an intermittent error:
The original product type discovered for this AS7 server was null, but the server is now reporting its product type is [JBoss EAP 6]
Despite the error, the resource was successfully imported and available.
Bugzilla 814298 Plug-ins (JBoss EAP 6) The JBossWeb connector configuration has a section for SSL parameters, and those settings were only valid if SSL is enabled (the secure option is selected). However, these fields were still active even if SSL were not enabled. Also, disabling and re-enabling SSL blanked all of the previous SSL configuration.
Bugzilla 814305 Plug-ins (JBoss EAP 6) The UI allowed a user to attempt to create a second JVM definition as a child to a managed server or server group. If a JVM definition already existed for a managed server or server group, then an error was returned when the user attempted to save the second JVM definition. Now, the user is prevented from creating a second definition.
Bugzilla 815305 Plug-ins (JBoss EAP 6) All child elements for an embedded HornetQ resource required a JNDI name in the configuration, but the UI did not force the JNDI name to be given when creating the children. This meant that the creation operation failed.
Bugzilla 820623 Plug-ins (JBoss EAP 6) A user can edit configuration in JBoss ON that requires a reboot of EAP 6 to take effect, but there was no indication that the reboot was required.
Bugzilla 826542 Plug-ins (JBoss EAP 6) Attempting to change the configuration for a security domain failed because the security domain properties were set in the UI as a simple list rather than a map. Because the value should have been a map, the new simple property value that was submitted did not validate.
Bugzilla 830809 Plug-ins (JBoss EAP 6) Trying to deploy content using the JBoss ON CLI to an EAP 6 resource returned a null pointer exception.
Bugzilla 831494 Plug-ins (JBoss EAP 6) Attempting to retrieve the content for a content-backed resource (such as a WAR) failed when the connection timed out.
Bugzilla 835696 Plug-ins (JBoss EAP 6 / HornetQ) Some HornetQ resource properties need to have a value of null of the property is blank, but the configuration was being sent to the server as empty. Using an empty value caused any configuration change to fail because the values couldn't be validated.
Bugzilla 835697 Plug-ins (JBoss EAP 6 / HornetQ) The value for a HornetQ path resource was always set to journal-directory, even though there are four supported values.
Bugzilla 835700 Plug-ins (JBoss EAP 6) The memory pools name property for the garbage-collector resource is read-only (with only one potential value) but was not marked as read-only in resource configuration. This meant that a user could attempt to change the configuration for the memory pools name property, but the configuration change would fail.
Bugzilla 835701 Plug-ins (JBoss EAP 6) Several EAP 6 properties were set to accept only long values and would reject configuration changes with other values, but the actual EAP 6 properties (such as retry-interval-multiplier for the HornetQ subsystem) accept decimal values. If a decimal value were read from the EAP 6 configuration, then the user was (incorrectly) prompted to change the decimal value.
Bugzilla 839552 Plug-ins (JBoss EAP 6) Attempting to change the configuration for a security domain failed with the error Received 500 (Internal Server Error) response to Operation, and the configuration remained the same. However, the configuration change was incorrectly reported as being successful.
Bugzilla 841048 Plug-ins (JBoss EAP 6) Managed servers were not discovered when a domain or host controller's name was determined at runtime instead of being specified in the host.xml configuration file. The agent log has the message Requested management resource not found: host=master, meaning it was looking for a resource with the name master rather than the host configuration name given at runtime, $(hostname).
Bugzilla 844422 Plug-ins (JBoss EAP 6) The agent incorrectly attempted to deploy resource to an EAP 6 standalone server in the deployment/ directory rather than the real deployments/ directory.
Bugzilla 846458 Plug-ins (JBoss EAP 6 / Infinispan) When creating a new cache container in the UI, all of the templates (except for the default template) had improper mode properties set, which resulted in invalid configuration when creating the cache container through the UI.
Bugzilla 847119 Plug-ins (JBoss EAP 6 / Data Source) Properties for a data source were inconsistently marked as editable or read-only in the JBoss ON UI, when they all should have been editable.
Bugzilla 847869 Plug-ins (JBoss EAP 6) The reload operation for the EAP 6 server failed with the error Credentials for plugin to connect to AS7 management interface are invalid - update Connection Settings with valid credentials, even if the credentials were correct. The problem was that the operation actually succeeded, but that the JBoss ON agent may check for the operation success while the server was still in the process of restarting, so it incorrectly assumed that the operation had failed.
Bugzilla 847876 Plug-ins (JBoss EAP 6) The profile resource incorrectly reported some configuration properties as empty, even if the default value appeared in the managed server. When a required value was incorrectly reported as missing, opening the configuration in the JBoss ON UI required the user to change the configuration.
This is actually an underlying EAP 6 problem, not a problem with the EAP 6 plug-in. The properties which were not being properly detected have been removed from the configuration to prevent spurious or unnecessary configuration changes.
Bugzilla 847865 Plug-ins (JBoss EAP 6) Both the JBoss Data Grid and the JBoss EAP 6 plug-ins can discover and create Infinispan cache resources. If both JDG and EAP 6 were installed on a system, and JBoss ON was using both the EAP 6 and JDG plug-ins, then both plug-ins would attempt to create or discover the Infinispan cache resource, regardless of the actual server parent of the cache resource. This led to unpredictable discovery behavior, including the resource not being discovered at all.
Bugzilla 852666 Plug-ins (JBoss EAP 6) EAP 6 can allow configuration either for static connectors or for the discovery group name, but they cannot be defined simultaneously. Attempting to change the configuration for one area, such as the static connectors, while the other area was defined resulted in configuration update failures.
This is actually an underlying EAP 6 problem, not a problem with the EAP 6 plug-in. The allow-direct-connections-only property for the static connector has been removed from the configuration to prevent invalid configuration changes.
Bugzilla 852648 Plug-ins (JBoss EAP 6 / HornetQ) If the connector property was unset, then it was not possible to create a connection factory or pooled connection factory resource. The server incorrectly sent a null key for the map value of the connector property. The configuration has been updated to send an actual null rather than a map with null:null set as a key value.
Bugzilla 852891 Plug-ins (JBoss EAP 6 / HornetQ) When editing certain HornetQ child resources, the configuration could be edited in a way that caused the EAP 6 server to crash and not be able to restart. Several properties (static connectors, connectors, and discovery group name) have been changed to read-only on created resources and cannot be changed once a resource is created. This prevents any changes to the resource which create an invalid configuration file.
Bugzilla 784571 UI If there were more than 200 children for a resource, not all of the children are displayed in the resource tree or refreshing the tree might have displayed a different subset of child resources.
Bugzilla 818772 UI If a user clicked quickly between two autogroup nodes in the resource tree, then the UI went into a loop and kept switching between notes in the tree.
Bugzilla 822795 UI The search filter on the Bundle pages did not work, so all bundles were listed, not only ones which matched the search string.
Bugzilla 849716 UI In Internet Explorer 8 only, attempting to upload content such as an EAR file failed at several points in the UI, including creating a new child in the inventory, uploading a bundle, and uploading an alert script.
Bugzilla 801551 Upgrade (Server) Some information about the server cannot be changed during upgrade. Some fields, such as the server name, were editable in the upgrade form which should not have been. Changing these values from the original settings caused NPEs in the server logs and the upgrade to fail.
Bugzilla 821093 Upgrade (Server) When the JBoss ON server is upgraded from 3.0 to 3.1, then the UI could return a 404 error when opening the installer page to re-install the server. The browser incorrectly cached a redirect to the old UI, server.example.com:7080/coregui. Because the coregui/ path did not exist yet, because the new server had not yet been configured, this redirect returned a 404 error.
Bugzilla 852554 Upgrade (Server) The alert condition name was null in the JBoss ON database after upgrading from JBoss ON 2.4 to 3.1.

4. Known Issues in JBoss Operations Network 3.1.1

This section contains a subset of the known issues at the time that JBoss Operations Network 3.1.1 was released. When possible, workarounds are provided.

4.1. Upgrade and Installation

When upgrading the server and installed JBoss plug-ins, there may be an error in the logs that one of the plug-in JAR files was corrupted:
2012-08-28 10:31:36,473 ERROR [org.rhq.enterprise.server.core.plugin.PluginDeploymentScanner] Scan failed. Cause: java.lang.Exception:File [/home/jon/jon-server-3.1.0.GA/jbossas/server/default/deploy/rhq.ear/rhq-downloads/rhq-plugins/hornetq-jopr-plugin-2.0.0.Final.jar] is not a valid jarfile -  it is either corrupted or file has not been fully written yet.
This appears to happen if there is an EAP instance in the inventory and several different JBoss plug-ins are installed, though it may occur in other situations.
That error prevents the other updated plug-ins deployed in the JBoss ON server's plugins/ directory from being picked up.
If that error occurs, simply restart the JBoss ON server again. All of the plug-ins will be successfully deployed after restarting another time.
If the installer is not bound to 0.0.0.0 when setting up a server, then it does not set all of the required connection properties. Specifically, the installer does not set the java.rmi.server.hostname parameter to the real value, and it uses the default of 0.0.0.0. This parameter must be set to the real IP address of the server by manually editing the rhq-server.properties file.
Automatic upgrades of agents on Windows appear to fail. Two conditions must be true for automatic upgrade of agents to work on Windows:
  • The agent must be installed and running as a Windows service.
  • No Windows Explorer window can be open to any agent subdirectory. Windows sets a lock on directories when they are open, which blocks the upgrade process.
When starting a server while agents are running, the server may log servlet errors in the logs. This is because the remoting (communications) classes are loaded early in the startup sequence, before the server is completely started. This causes some communications interruptions until the server is completely started. These errors can be ignored.
If a JBoss ON server was added to the resource inventory, the old JBoss ON server resource must be deleted from the inventory after upgrade. The old resource entry is unusable after upgrade.
Null pointer exceptions for the org.apache.catalina.connector.CoyoteAdapter service are returned when the JBoss ON 3.1.1 server is first installed. These errors are harmless and can be ignored. Installation will complete successfully, and both the server and the GUI will start and run properly.
The installer shows non-replaced {} properties.

4.2. JBoss EAP 6 Resources

The tracking bug for all resolved and open issues related to the EAP 6 plug-in for JBoss ON 3.1.1 is Bugzilla 707223.
  • The first time that a reload is run on an EAP 6 resource after the resource is imported into the inventory, an exception is thrown in the UI.
    The reload operation completes successfully and subsequent reload operations do not throw an exception.
  • When an EAP 6 server is running in domain mode with the full-ha profile, unsetting the proxy URL to save a null value fails with the error We got a 500 with the following response body back. Setting the proxy URL to a different value (not null) is successful.
  • Bundle provisioning is only available for EAP 6 standalone servers. Standalone servers use a filesystem-based deployment directory, which is used by the bundle system. Domain resources use a different, distributed style of deployment. The domain style of content distribution is not supported for bundles.
  • When running a group of operations in a specific order on a server group, attempting to open the operations schedule returns a null pointer exception.
  • When editing a network interface for a JBoss EAP 6 server, the network configuration requires either a specific IP address or a setting to use any IP address for IPv4, for IPv6, or any address. However, the UI does not enforce that an IP address selection is made, which can cause the interface to be unreachable.
  • Attempting to deploy a child resource such as a WAR application fails with a malformed URL exception if the EAP 6 server is listening on IPv6.
  • Some path elements defined in the configuration of a domain controller or standalone server are computed by the server itself. These computed paths are all prefixed with java.*, jboss.*, and user.*.
    While the configuration values are viewable, they are not editable. However, the Configuration tab for the server shows both edit and delete options for the path elements. If a user attempts to change or delete the path, the path simply reverts to its previous state.
  • When a child JVM definition is created for a managed resource, the name of the JVM definition must be the same as the host JVM definition which it is based on. However, the JBoss ON UI creation wizard does not detect or enforce a pre-computed name, so it allows a user to enter any name.
  • The UI will not let users enter a driver name when manually adding a datasource, so it is not possible to deploy a module-loaded driver.
  • The agent properly detects an EAP 6 server running over an IPv6 address, but it incorrectly reports it as offline.
  • It can take several minutes to be able to detect a child resource on a JBoss EAP 6 server.
  • If both an EAP 6 server and a JDG server are running on the same system, the EAP 6 child resources are detected and added as (unavailable) child resources of the JDG instance.

4.3. Server Configuration

The password mechanism in the server installer doesn't properly hash Unicode characters. The Unicode characters are translated into the HTML entities, and then the HTML characters are hashed and stored as the password.
For example, the string 你好 is treated as the string &#20320;&#22909; in the installer, and the second string is the one that is hashed and stored in the rhq-server.properties file.
After configuring the server, but before logging in, manually update the password in the rhq-server.properties file:
  1. Manually generate a hashed password based on the Unicode password:
    serverRoot/jon-server-3.1.1.GA/bin/generate-db-password.sh 你好
    Encoded password: 68f725778bb36d3b
  2. Replace the database password value with the new hashed password.
    rhq.server.database.password=68f725778bb36d3b

4.4. Agents

Attempting to use the config import command in the agent command prompt fails with an InvalidPreferencesFormatException exception.
java.util.prefs.InvalidPreferencesFormatException:
org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 41; Document root
element "preferences", must match DOCTYPE root "null".
...
The JVM can sometimes cause the agent to crash when Augeas is running.
A fatal error has been detected by the Java Runtime Environment
...

4.5. Databases

The agent assumes that PostgreSQL uses a default password. If a different password is used, the PostgreSQL resource is shown as unavailable in the UI even if it is running.

4.6. Groups

A dynagroup definition with a short recalculation interval (less than two minutes) can cause duplicate groups to be created.
Changing the recursive setting on a group disassociates the group from any roles it was (previously) associated with.

4.7. Provisioning

Hot deployment fails if the file changes during provisioning.
If a bundle is being deployed in a hot deployment and one of the underlying bundle files, like a WAR or JAR, is changed while the bundle is being uploaded, then provisioning will fail.
The <rhq:system-service> Ant tag only works on Red Hat Enterprise Linux systems. Using the tag and then deploying the bundle to other operating systems causes the Ant task to fail to operate and can cause the deployment to fail.

4.8. Content and Repositories

A repository can only be used for one resource, the one it was initially defined for.
Attempting to delete a repository with a space in the name throws an exception and the deletion fails.
Deploying WARs from a content repository is not supported. WARs and EARs should be deployed using bundles.
Deploying an exploded archive on JBoss EAP 4 results in deploying a zipped archive, which makes the deployed application unavailable.

4.9. Remote API and the CLI

ResourceFactoryManager does not throw any exceptions when attempting to create duplicate or invalid resources in the CLI.
The JBoss ON remote API cannot be used to connect to the JBoss ON server when the client is running inside an application server. For example, the remote API cannot be run from a client inside an EAP instance; it fails with errors like the following:
Caused by: java.lang.IllegalArgumentException: interface
org.rhq.enterprise.server.auth.SubjectManagerRemote is not visible from class
loader
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:353)
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)
at
org.rhq.enterprise.client.RemoteClientProxy.getProcessor(RemoteClientProxy.java:69)

4.10. UI

Problems with Sessions and Multiple Tabs
If there are multiple tabs open to the JBoss ON UI and one of those sessions times out, then the other tabs will register errors. This can also occur if multiple people are logged into JBoss ON as the same user.
Searching for a resource with a backslash (\) in the name returned no results, even if the resource exists.
Bugzilla 736732: Bookmarked UI Pages May Display the Old UI
The page names used for different pages in the JBoss ON UI for version 3.0 are different than the ones used in JBoss ON 2.4. However, because JBoss ON 3.0 retains some of the elements used in the older JSF-based UI, these pages still exist. This means that bookmarks will go to the old style pages.
For example, the Dashboard page in the old JSF UI had the URL http://localhost:7080/Dashboard.do/. In the new UI, the location is http://localhost:7080/coregui/#Dashboards.
All of the new pages have the coregui/ element in them. Remove any old bookmarks and replace them with the new GWT-based pages in the coregui/ area.
When the results for a dynamic search are long, the list is truncated but no scrollbar is presented, so it is not possible to scroll to the end of the list.

4.11. Operations

Attempting to run an operation on a resource without parameters immediately after running an operation with parameters can fail with an error that the second operation did not have the required parameters set, even though there are no required parameters.

4.12. Measurements and Monitoring

A user-defined baseline value for a metric is ignored and overwritten by the server-calculated baseline.

4.13. Alerts

Attempting to upload a CLI script directly to a repository to use for alerting fails because it says the SHA-256 checksum for the script is not an OSGi string. Uploading a CLI script through the alert configuration UI works successfully.
In Oracle, the alert notification table is created with the NOLOGGING option. This means that users are required to review the alert notification configuration manually for every alert to verify that the configuration is correct.
Alerts with compound AND conditions can incorrectly fire when one of the conditions goes from true to false within 30 seconds of the other condition going from false to true.
Alert conditions and alert notifications in an alert definition cannot be edited. The condition or notification must be deleted and a new item added.
Recovery alerts are not triggered by an availability condition.

4.14. Drift

Drift definitions can be created for resources which do not support drift, using the remote API to create a script.
Drift monitoring is not supported for embedded web applications, only for standalone applications.

4.15. Platform Resources

The inventory for a Linux platform may discover non-existent network adapters, which are added and then shown as unavailable in the inventory.

4.16. Tomcat Resources

If a WAR file is configured to be deployed to a non-standard location on a Tomcat application server, an invalid deployment name is added to the inventory. The unpackWARs option extracts the web app to a second, invalid directory. For example, if it should be extracted to /myapps/helloworld, the web app is extracted both there and to /myapps#helloworld.
The agent cannot discover a Tomcat instance if its Java process is running as a user other than the system user that the agent is running as.

4.17. Apache Resources

Editing any option in the directory inside an Apache virtual host fails with this error:
2012-08-07 15:32:10,835 ERROR [ResourceContainer.invoker.nonDaemon-4] (org.rhq.plugins.apache.ApacheDirectoryComponent)- Augeas failed to save configuration
When trying to add a second entry for the Allow Override directive in an Apache directory resource, deselecting the Unset checkbox for the Param field returns a globally uncaught exception.
Apache directives are case-insensitive, but the Apache plug-in treats them as if they were case-sensitive. This makes the plug-in disregard directives with non-default case.
If the /tmp directory is configured a noexec in the fstab file, the agent throws exceptions because it cannot properly initialize the Augeas lens. In that case, the Configuration tab is unavailable for the Apache resource.
To work around this, make sure that the /tmp directory does not have noexec set as an option.
#
# /etc/fstab
#
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
noexec is one security method available to that directory to prevent unauthorized or malicious scripts from running. Disabling noexec for the directory is not ideal, but it is also not a security issue by itself because other filesystem security settings can be used.

4.18. BRMS Resources

BRMS 5.1 applications are discovered fine, but BRMS 5.2 and 5.3 applications are not discovered automatically by the BRMS plug-in. The applications must be added manually as child resources.

4.19. JBoss and JVM Resources

If two EAP 5 resources are shut down more or less at the same time on the same platform (agent), then the max wait time of the second, later operation overrides the max wait time of the first shutdown operation. This can cause problems if the wait time on the second resource is significantly shorter or longer than the other resource.
Initiating a shut down operation a stopped EAP instance through JMX results in a (proper) failure message, while attempting to shut down a stopped EAP instance using the shutdown.sh script shows an incorrect success message.
If EAR, WAR, or script resources are deleted outside of JBoss ON, the agent throws an exception during discovery, and the server is not informed that the resource was deleted.
Discovering a JBoss AS instance fails if the configuration directory is a URL.
The discovery process fails to determine the JNP URL if the data directory is not located at ${jboss.server.home.dir}/data.
Shutting down a JBoss AS 5 resource can fail with java.rmi.NoSuchObjectException: no such object in table.
The JBoss AS plug-in is unable to load resource configuration for JMS queues that are deployed using a SAR file.
The discovery process attempts to discover an embedded JVM process through its JMX remoting rather than using the EMSConnection of its parent Tomcat or JBoss resource.

4.20. Performance

Attempting to update the members in a compatible group with thousands of members times out and fails with 'Failed to fetch Resource Group.'
Viewing configuration, alerts, or other data for groups with more than 1000 members can fail with the SQL exception maximum number of expressions in a list is 1000.

4.21. Plug-in Writing

If an embedded plug-in extension is defined and the parent resource type has subcategories, those subcategories cannot be changed or it causes a database deadline.

5. Document History

Revision History
Revision 3.1.1-5.4002013-10-31Rüdiger Landmann
Rebuild with publican 4.0.0
Revision 3.1.1-5October 3, 2012Ella Deon Lackey
Initial release.