6. Known Issues in JBoss Operations Network 3.0


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

6.1. Upgrade and Installation

Warning

Upgrade from JBoss Operations Network 2.x to JBoss Operations Network 3.0 is fully supported.
However, upgrade from JBoss Operations Network 3.0 Beta to JBoss Operations Network 3.0 is not supported. It is not possible to upgrade a beta version of JBoss Operations Network to the release version.
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.0 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.

6.2. 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 你好 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.0.0.GA/bin/generate-db-password.sh 你好
    Encoded password: 68f725778bb36d3b
    Copy to Clipboard Toggle word wrap
  2. Replace the database password value with the new hashed password.
    rhq.server.database.password=68f725778bb36d3b
    Copy to Clipboard Toggle word wrap

6.3. Agents

When a plug-in, effectively a resource type, is deleted, the agent's plug-in container is automatically rebooted, to reload the new configuration. If the agent itself is running as a daemon, then rebooting the plug-in container also kills the agent thread. That means that if a plug-in (with resources of that type in the inventory) is deleted while the agent is running in the background, the agent process is stopped.
The agent can be restarted without any errors, and the plug-in is successfully removed.

6.4. 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.

6.5. Groups

A dynagroup definition with a short recalculation interval (less than two minutes) can cause duplicate groups to be created.

6.6. 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.
Using the Recipe option to upload a recipe file separately than the bundle archive files requires that the XML in the recipe be well-formed and that all tags are explicitly closed, using the format <tag></tag>, not the abbreviated format <tag />.
Additionally, the Recipe option's upload button does not work on Internet Explorer. To add a recipe file using this option with Internet Explorer, copy the entire recipe file and paste it directly into the text box.

6.7. Content and Repositories

Manually added a package to a repository fails because it says the package already exists.
When adding a package to one repository through the UI, it may fail with an error claiming that the package already exists, even if the package isn't in the specified repository. This is because a package with the same name exists in another repository and it causes a collision in the database.
It is currently not possible to have the same package in two repositories or to move or share a package between repositories.
It is possible to work around this issue by using CLI scripts. The JBoss ON CLI scripts store the username of the person uploading the package in the package version data automatically. If a person has access to all of the packages one has uploaded, then it is possible to extrapolate which repository contains the package and then manage the package there.

6.8. Remote API and 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)
Copy to Clipboard Toggle word wrap

6.9. 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.

6.10. Alerts

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 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.

6.11. Drift

The path is required to be set for each includes or excludes item if a pattern is set. For example, to include only *.conf files, then the pattern is set to *.conf and to look within the base directory, the path must be set to a period (.), to indicate the current directory.
Drift monitoring is not supported for embedded web applications, only for standalone applications.
When looking at the carousel view, changing the filters can cause a globally uncaught exception in the UI. There are no errors in the agent or server logs.
Bugzilla 760145: Using a root directory on Windows corrupts the drift entry file paths
When a root directory, such as C:\ or D:\, is the base directory in the drift definition, the backslash ends up escaping the first character in the path. For example, C:\tmp shows as C:\mp. This makes all of the drift file paths for that definition wrong.
The best workaround is to use only non-root paths as the base directory for drift definitions on Windows.
Bugzilla 760289: Using a broad directory for the base directory can hang the agent
The drift detection process fetches all files, recursively, under the base directory to check for files that match the filters. (The drift process does not digest all the files, but it does check them.) This occurs even if there are Includes arguments that limit drift monitoring to only certain subdirectories.
If the base directory is set to a root or a broad directory directory, then effectively the agent scans the entire filesystem to check for matching files. The agent could hang or have very poor performance.
One indicator of this problem is if the initial snapshot for a definition takes a very long time to appear.
To work around this, use multiple drift definitions that set the base directory to the given subdirectory. (The path can be set to a period (.) to look for patterns only in the local base directory.)
Instead of this definition:
Definition
base directory: C:\
Includes: myDir1
Includes: myDir2
Copy to Clipboard Toggle word wrap
Create two definitions:
Definition 1
base directory: C:\myDir1

Definition 2
base directory: C:\myDir2
Copy to Clipboard Toggle word wrap
Bugzilla 761320: Default drift detection and interval settings can prevent drift detection from running
The default interval setting for a drift definition is 30 minutes, meaning that the drift is scheduled to run 30 minutes after the end of its last drift detection run. By default, the agent runs a detection scan every minute.
The problem is that this can result in the definition schedule getting pushed out, so that the detection scan never runs for that definition. For example, the agent runs a scan for Definition A at 12:00 and grabs the initial snapshot. The scan ends at 12:01. The next scheduled detection run for Definition A is 12:31, and the next detection scan for the agent is 12:02. When the agent detection scan runs at 12:02, it skips Definition A because it sees that the next interval for Definition A is 12:31 — however, the agent still updates the scan time for Definition A. This bumps the next interval for Definition A to 12:32. When the next agent scan runs at 12:03, it again skips Definition A, but bumps its timestamp, which bumps the schedule another minute.
Alternatively, work around this situation by setting the rhq.agent.plugins.drift-detection.period-secs value higher than the highest drift definition. (It may be feasible to set the drift definition intervals lower to allow a moderate drift detection scan period.) For example, to set the interval to 15 minutes (900 seconds):
agentRoot/rhq-agent/bin/rhq-agent.sh -Drhq.agent.plugins.drift-detection.period-secs=900
Copy to Clipboard Toggle word wrap

6.12. Resources

If EAR, WAR, or script resources are deleted, the agent throws an exception during discovery, and the server is not informed that the resource was deleted.
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.
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.
Turning off an agent does not show the platform as unavailable for 15 minutes, the time of the next agent availability report.
Shutting down a JBoss AS 5 resource can fail with java.rmi.NoSuchObjectException: no such object in table.
It is not possible to add some system properties for a JBoss AS resource.
Some JBoss AS 5 plug-in resources have unset read-only configuration properties, which means the values have to be re-entered every time the configuration is viewed.

6.13. LDAP

Using a case-insensitive login with LDAP authentication fails and opens a blank page.
A role cannot be deleted if an LDAP group is assigned as a member.

6.14. 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.
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat