Skip to end of metadata
Go to start of metadata

RHQ 4.9.0

This is the RHQ 4.9 release. TBA.

Installation note
RHQ 4.9.0 no longer has a GUI-based installer and its installation routines have changed even since 4.7. Even if you are familiar with installing earlier versions of RHQ, be sure to see Installing the Server for updated installation and upgrade instructions. Specifically, you are now required to use the rhqctl Control Script to install (and start) the RHQ server components.
Upgrade note
If upgrading from RHQ 4.2 (4.3 and later are not affected) you must first make a manual change to your database. Have a look at the first note on the RHQ 4.4 release notes
Upgrade note
If upgrading from RHQ 4.8  (other versions not affected) you might want to delete your browser cache as cached javascript may affect the browser in unexpected ways.
Please note
RHQ 4.9 is recommended with Java7, and also supports Java6.

New Features and Changes (since RHQ 4.8)

Improved Cassandra backend for metric storage

RHQ 4.9 uses Cassandra as backend store for metric values. This has been done to increase scalability. Numeric metric data is no longer stored in the RHQ relational database. There is no option or support to still store numeric metric data in the RHQ relational database. The use of Cassandra as a data store is intended to be an implementation detail to the greatest extent possible. This has some significant implications.

  • RHQ will manage the Cassandra storage nodes 
  • An RHQ agent will have to be run along side Cassandra.
  • RHQ will not support using an arbitrary Cassandra installation for its storage node.

This release adds more storage node management support that includes,

  • Support for multi-node deployments
  • Pre-defined alerts
  • Configuration support
  • Significant enhancements and improvements in the Storage Nodes admin UI

Please see RHQ Storage Cluster Administration for details.

RHQ 4.8 storage patch
If you are upgrading from 4.8, you MUST apply the storage patch described below before upgrading. Without the patch, the storage node in 4.9 will not work.

In RHQ 4.8, the storage node packaged native libraries that have been removed in 4.9. If your platform has support for those native libraries, then the storage node will the functionality. You need to apply this patch to your 4.8 installation before starting the upgrade process. Unzip the patch file and follow the instructions in the .sh/.bat file. You can find some more information about the patch in this blog post.

REST API

GUI

  • Graphing enhancements: New date range navigation control and ability to drag a range over a graph. Video (4 min) Date Range Slider Controls
  • Availability Charts redesigned
  • Portal Charts now have large and small versions (to fit narrow column portlets)
  • Monitoring --> table tab changed to 'metrics' for new consolidated metrics tab
  • Two small improvements to the general configuration editor: if there is only one section, no section stack is displayed; the limit number of items for displaying the combobox instead of a radio buttons is now 5 (it was 3)
  • Alert condition dialog now displays the base units
  • On the Administration page for storage nodes the following was added:
    • Support for displaying recent alerts across the whole storge cluster and for a specific node
    • Cluster wide and node specific configuration
    • Support for deploying and undeploying additional nodes

Fine Grained Bundle Permissions

You can now define much more fine-grained security controls around the bundle provisioning feature of RHQ. In past versions, it was an all-or-nothing proposition - a user could either do nothing with bundles, or could do everything with bundles. Now there are several permissions you can assign to users to allow for them to, say, create bundles but not deploy bundles. A new concept of "bundle groups" has also been introduced to help support this new fine-grained security model around the bundle subsystem.

For more information, see the Security Model for Bundle Provisioning user documentation page.

Plugins

Plugins Descriptor

The <c:option-source> node has a new expressionScope attribute which helps to refine expression searches when linking configuration properties to resources or configurations.

See Option source wiki notes for more details

Cassandra Plugin

A new Cassandra plugin compatible with Cassandra 1.2.x is part of this release. The plugin supports monitoring and configuration for features exposed via Cassandra's JMX interface. Additional support for some important internal configuration settings (Eg. gc_grace_seconds) is also available. The plugin has enhanced support for taking and restoring snapshots.

Known Issues

BZ 1006577 - the new fine-grained permission to assign/unassign bundles to bundle groups is not working. For users that must be able to alter bundle group membership, use the global bundle permission to grant all permissions. This will be fixed in the next release.

Deprecations

  • REST-API Endpoints introduced in 4.5.1 to create platforms and resources have been deprecated - replacements are provided.
    The deprecated endpoints will go away in RHQ 4.10

Bundles:

  • Constructor org.rhq.bundle.ant.AntLauncher#AntLauncher() has been deprecated. Callers should switch to using a new constructor org.rhq.bundle.ant.AntLauncher#AntLauncher(boolean requireExplicitCompliance).
  • Method org.rhq.bundle.ant.type.DeploymentUnitType#getManageRootDir() has been deprecated. Callers should switch to using a new method org.rhq.bundle.ant.type.DeploymentUnitType#getCompliance() method.
  • Method org.rhq.bundle.ant.type.DeploymentUnitType#setManageRootDir(String booleanString) has been deprecated. Callers should switch to using a new method org.rhq.bundle.ant.type.DeploymentUnitType#setCompliance(org.rhq.core.util.updater.DestinationComplianceMode) method.
  • Constructor org.rhq.core.util.updater.DeploymentData#DeploymentData(DeploymentProperties deploymentProps, Set zipFiles, Map rawFiles, File sourceDir, File destinationDir, Map zipEntriesToRealizeRegex, Set rawFilesToRealize, TemplateEngine templateEngine, Pattern ignoreRegex, boolean manageRootDir, Map zipsExploded) has been deprecated. Callers should switch to using a new constructor org.rhq.core.util.updater.DeploymentData#DeploymentData(DeploymentProperties deploymentProps, Set zipFiles, Map rawFiles, File sourceDir, File destinationDir, Map zipEntriesToRealizeRegex, Set rawFilesToRealize, TemplateEngine templateEngine, Pattern ignoreRegex, Map zipsExploded) this is because the manageRootDir parameter is deprecated and this constructor should not be used. The need for that parameter was superseded by the org.rhq.core.util.updater.DeploymentProperties#getDestinationCompliance().
  • Method org.rhq.core.util.updater.DeploymentData#isManageRootDir() has been deprecated. Callers should switch to using a new method org.rhq.core.util.updater.DeploymentProperties#getDestinationCompliance() method.
  • Constructor org.rhq.core.util.updater.DeploymentProperties#DeploymentProperties(int deploymentId, String bundleName, String bundleVersion, String description) has been deprecated. Callers should switch to using a new constructor org.rhq.core.util.updater.DeploymentProperties#DeploymentProperties(int, String, String, String, DestinationComplianceMode).
  • Method org.rhq.core.util.updater.DeploymentProperties#getManageRootDir() has been deprecated. Callers should switch to using a new method org.rhq.core.util.updater.DeploymentProperties#getDestinationCompliance() method.
  • Method org.rhq.core.util.updater.DeploymentProperties#setManageRootDir(boolean willManageRootDir) has been deprecated. Callers should switch to using a new method org.rhq.core.util.updater.DeploymentProperties#setDestinationCompliance(DestinationComplianceMode mode) method.

Other:

  • Method org.rhq.core.util.exec.ProcessExecutor#redirectStreams() has been deprecated. Callers should switch to using a new method org.rhq.core.util.exec.ProcessExecutor#redirectAllStreams() method.
  • Method org.rhq.enterprise.server.resource.group.LdapGroupManagerBean#getProperties(Properties systemConfig) has been deprecated.
  • Method org.rhq.core.domain.cloud.StorageNodeLoadComposite#getDiskSpacePercentageUsed() has been deprecated. Callers should switch to using a new method org.rhq.core.domain.cloud.StorageNodeLoadComposite#getPartitionDiskUsedPercentage() method.
  • Method org.rhq.core.domain.cloud.StorageNodeLoadComposite#setDiskSpacePercentageUsed(MeasurementAggregateWithUnits diskUsedPercentage) has been deprecated. Callers should switch to using a new method org.rhq.core.domain.cloud.StorageNodeLoadComposite#setPartitionDiskUsedPercentage() method.

API changes

Discovery Callback API for agent plugins

Agent plugin developers now have a way to "intercept" details from newly discovered resources that are returned from discovery components. This allows a plugin to intercept details coming from its own discovery components or coming from discovery components from dependent plugins and change them as they see fit before the details are returned to the server for processing.

To implement this new feature in your plugin, you must add a new <discovery-callbacks> section to your plugin descriptor and implement the interface org.rhq.core.pluginapi.inventory.ResourceDiscoveryCallback.

See the Discovery Callback design page for more information.

Translations

The GWT part of the UI has partially been translated into German, Portuguese, Japanese, Chinese, Czech, Russian and Korean. The language should be automatically selected depending on your browser settings. You can explicitly access other translations by appending a locale specifier in the URL. For example to select the German translation you would append ?locale=de to the base URL, e.g. http://localhost:7080/coregui/?locale=de.

Supported locales are:

  • zh for Chinese
  • cs for Czech
  • de for German
  • ja for Japanese
  • pt for Portuguese
  • ru for Russian
  • ko for Korean

Please ping us if you want to help translating the UI to your language. Translations are done via the translations project on GitHub, which also has some instructions on how to start.

Bug reporting

Please report all bugs you find in Bugzilla. If you find a bug that has been recorded in the above list, please leave a comment on them especially if this needs special steps to reproduce.

List of resolved Bugzilla entries

Please consult Bugzilla with a target release of RHQ 4.9.0 for a list of resolved issues

Download

You can download the release here
A video of the install procedure can be found here

Commit log (since RHQ_4_8_0 )

  • Elias Ross <elias_ross@apple.com> (3):
    • BZ 872738 - Agent awaits shutdown of ProcessExecutor idle worker threads;
    • BZ 991153 - Agent uses incorrect synchronization for 'UUID to ResourceContainer map'
    • BZ 991153 - Agent uses incorrect synchronization for 'UUID to ResourceContainer map'
  • Heiko W. Rupp <hwr@redhat.com> (60):
    • Catch the warning message if (e.g. on OS/X) the snappy native library can't be loaded and do not abort the install.
    • BZ 976813 add a deserializer for incoming links.
    • Add some more email aliases to .mailmap
    • BZ 979320 - move the help text to <plugin> level, so that it can get displayed in the Admin screens
    • BZ 960936 - the plugin name already contains the directory. Don't add it again.
    • BZ 725736 If no augeas just return null. Also prevent other meaningless stacktraces when Augeas is not present.
    • If we got an interrupted exception, there is no point of showing the stacktrace.
    • Bump rest-assured version.
    • BZ 966294 Fix mib file and related code. Also fix some other smaller issues.
    • Bump pom versions. Allow to start the generator via mvn exec:java
    • BZ 981809 Disable compression when wrapping. Also some cleanup in the file.
    • Don't bail out on empty plugin description. Bump default pom version
    • BZ 966294 Further improvements. Also work around BZ 983275
    • Bump swagger annotations version to a stable version and remove the snapshot repo. Thanks gaYak for reminding me.
    • Downgrade to 1.2.3, as the jboss nexus repo does not find 1.2.5. It is more recent than 1.1.1 anyway
    • Add a JavaFX frontend to the PluginGenerator.
    • Display tool tips, for pick button and choice boxes
    • Fix test fallout that got introduced by my changes.
    • Allow to specify a directory with classes to scan for plugin annotations and to auto-create metrics+operations from them.
    • Add annotation and processing for configuration properties. Also shuffle some classes around.
    • Add more units.
    • Add Michael Burman as contributor
    • BZ 796480 (and others) add support for subCategory in embedded types (aka runs-inside)
    • BZ 976786 Add a bit more wait time and an additional check if SUCCESS really means it. Return IN_PROGRESS otherwise.
    • BZ 974963 Allow to schedule operations that have no parameters.
    • Add a LinkSerializer to send links in correct format (one could argue not to send links at all).
    • Make the parser check its input and bail out if it is not valid.
    • Put the real version in here, as otherwise we have a circular dependency.
    • BZ 976786 Add a bit more wait time and an additional check if SUCCESS really means it. Return IN_PROGRESS otherwise.
    • BZ 974963 Allow to schedule operations that have no parameters.
    • Add a LinkSerializer to send links in correct format (one could argue not to send links at all).
    • Make the parser check its input and bail out if it is not valid.
    • Put the real version in here, as otherwise we have a circular dependency.
    • Plugin generator is now on GitHub, so remove it here.
    • BZ 993548 Allow for jsonp to also have json-paging-wrapping
    • Provide correct group expressions as the test fail otherwise.
    • Fix a logic bug that showed when creation was (too) quick.
    • BZ 994537 correctly compute the 'lastPage' in paging.
    • BZ 996276 Fix example expressions
    • Get dbupgrade to work again.
    • More dbsetup/upgrade fixes related to PropertyOptionSources.
    • BZ 966294 Add one more default when the user just accepts the default in the UI.
    • BZ 996276 Fix example expressions
    • Get dbupgrade to work again.
    • More dbsetup/upgrade fixes related to PropertyOptionSources.
    • BZ 966294 Add one more default when the user just accepts the default in the UI.
    • Fix a typo wrt name of JPP
    • Explicitly add commons-codec as this was all of a sudden no longer visible to the runtime class path, so that all tests failed.
    • BZ 972756 - Create history items before scheduling in quartz. This prevents the time window without history after scheduling and before quartz starts working, which was breaking fast clients.
    • If the JMX-port is a string with quotes around, strip them.
    • BZ 991202 Also log JBAS014792 only at debug level
    • BZ 973299 - fix a typo.
    • Remove imports for apache logging, add a start script
    • BZ 1001701 - validate the recalculation interval in the UI before trying to submit.
    • Adding Jérémie to the list of contributors and .mailmap (+ cleanup of the latter)
    • Follow up with removal of StorageNode.getJmxPort().
    • Add a few more translations.
    • Add sonarqube plugin to the build
    • BZ 1001499 Provide a link to resource/group/type of the definition
    • BZ 973101 - Check passed MeasurementDefinitionId for validity
  • Hudson <jboss-qa-internal@redhat.com> (1):
    • tag RHQ_4_9_0
  • Jay Shaughnessy <jshaughn@redhat.com> (83):
    • Work on the windows rhq48 cassandra upgrade patch
    • When recreating win services make sure they get started appropriately.
    • Add windows support storage install options and resource config update. Introduce rhq-storage-wrapper.env to hold the configurable values (mimicing somewhat cassandra-jvm.properties) and apply the values as token replacements in rhq-storage-wrapper.conf.
    • get rid of the upgrade wording, it's confusing when performing an initial install.
    • Start setting up some infrastructure for Bundle Groups and associated permissions.
    • Work in progress - getting new bundle perms integrated into role views
    • More work on working new bundle group stuff into role edit view. Also, continued cleanup of Messages.properties.
    • Start of remote API design/impl for BundleGroups
    • Add new auth token for bundles
    • In progress: working through the bundle remote API and adding fine-grained authz...
    • Fine-grained bundle perms : checkpoint check-in - finished initial work-through of remote/local API methods and the associated coding to support the updated permission scheme - Global.MANAGE_BUNDLE is no longer used as an explicit permission but now only as a convenience for setting all of the new permissions. - merged the "FindXxxByCriteriaWithDestinationFilter" local methods into their respective "FindXxxByCriteria" methods. The base methods should be handling this filtering, otherwise they basically have a security hole.
    • Fix issue when using -Ditest.use-external-storage-node
    • Fix issues when performing dbsetup-upgrade with defaults
    • Add new perms to out-of-box roles, start db-upgrade step for fine-grained bundle perm work
    • First authz test passing - fixed testing approach to use all slsbs and proper non-super-subject - fixed criteria bundle/bundleGroup auth token issues - fixed criteria filter override issues - fixed various bugs and added more supporting slsb methods - added some authz to bundle manager local methods where it seemed needed/useful - cleaned up RoleManagerLocal to extend the remote
    • More fine-grained bundle testing and work - add canView authz support for bundle stuff - up the serial version uid for affected entities - fix inverse relation handling on add/remove/sets - add more testing around create and delete, fix cleanup of bundle groups - fix some delete code when roles or bundles are associated with bundle groups - add some more useful authz checking for local api
    • complete dbupgrade work for bundle groups and new perms
    • add bundle deploy-related fine-graned perm tests and associated fixes
    • fix up the cassandra handling for the -Ddbsetup[-upgrade] and -Ddbreset handling to match master (Stefan's fixes).
    • Merge branch 'master' into feature/bundle-group
    • - fix bug in bundleversion filename naming that caused a failure - change strategy when creating test bundletype to avoid a lot of Exception generation/logging.
    • Merge branch 'feature/bundle-group'
    • - Update MANAGE_BUNDLE_GROUPS perm handling to grany VIEW_BUNDLES and to allow assign/unassign of bundles to bundle groups, as per design - add testcode - Change MANAGE_BUNDLE to grant only the new global bundle perms, which should be sufficient for all bundle tasks - update dbsetup and dbupgrade appropriately - Fix Rolemanager.updateRole to apply permission grants for MANAGE_BUNDLE and MANAGE_BUNDLE_GROUPS - Review and update bundle perm I18N descriptions - Add new bundlegroup icons - make a few changes to permissions editor in gui as suggested by UX - fix some jdoc formatting
    • Add intentional api changes for fine-grained bundle permissions work
    • update sample bundles with new required 'compliance' attribute
    • Fix dbupgrade issue in storagenode address task. Needs to properly support non-postgres dbs.
    • up datastax driver version
    • fix some issues, add some new api methods
    • First pass at adding in bundle group view/create/delete support, work in progress.
    • Fix name link issue and a few other things
    • make sure to fetch bundles for the fetched bundle groups, so that the selector reflects the current membership
    • fix some issues, add some new api methods
    • add initial bundle groups (tab) support to the bundle detail view
    • remove entries for stuff still in a branch
    • remove entries for stuff still in a branch
    • Interim check-in of work supporting bundle group selection in the bundle create wizard - not working
    • remove dead src branch
    • Finish rough coding of integrating bundle group assignment into the bundle create wizard.
    • Make sure to fetch the bundle groups so the selector is correctly seeded.
    • reverse the inverse relationship setting because as is Role.setBundleGroups would fail when trying to deserialize a bundle group update. (when calling updateRole)
    • fix test code to use updated api
    • Fix non-global bundle create workflow using the "token" approach - move BundleNotFoundException to domain so we have a good ApplicationException to use that is also recognized in the GUI. - add radio button form to bundleGroups wizard step (needs a lot of TLC still) - temporarily fix New bundle button authz, remove MANAGE_BUNDLE
    • get button enablement working for bundles list view using the various permission schemes - add some new authz mgr bean support for bundle perms - fix the newly added permissions filter in RoleCriteria - add BundleAuthorizedTableAction and RoleAuthorizedTableAction -
    • fix some issues, add some new api methods
    • remove entries for stuff still in a branch
    • add jsandas latest library additions
    • fix merge issue
    • Merge branch 'feature/bundle-gui'
    • fix some intentional api change entries
    • BundleCreateWizard BundleGroups step work - more to do - cover the use cases better - add some I18N support
    • more work on the create bundle wizard, initial bundle version path
    • Bundle create wizard: groupsStep, add title for initial groups selector when not using radio box.
    • Fix issues with ConcurrentModificationException when deleting bundles assigned to, or unassigning, multiple bundle groups.
    • Fix issue with bundle unassign from group.
    • Bundle create wizard, xix issues with non-initial bundle version groups step - also, remove asterisks from unassigned tree node
    • fix intentional api change issue
    • Fix nav issues resulting from cached views being unknowingly wiped
    • fix list view back button nav issue
    • Bundle create wizard, fix issue where "token" workflow generated an exception in the message center.
    • remove view_bundles_in_group from the permission editor, it's implied and should not be manipulated in the editor (like view_resources)
    • remove unwanted tooltip from bundle create wizard
    • Fix issue with bundle group removal from role.
    • bundle create wizard, Fix issue when there are no assignable groups
    • Fix issue with perm check in get assignable bundles
    • - Fix some error handling workflows - Complete I18N support
    • BZ 998968 - add EPP product slot to EAP 5 plug-in
    • Restore expand when context menu refreshing the selected node in the resource tree. This was broken by the fix for https://bugzilla.redhat.com/show_bug.cgi?id=816086.
    • fix issue where bundle group description does not get updated
    • Add AuthorizationManager.getBundlePermissions to fetch the bundle level permissions for a single bundle, based on bundlegroup-role-subject authz. - make relevant addition to PermissionsLoader in the gui
    • Fix issue in the permissions editor, deploy bundles to group was not being shown
    • fix button enablement in the bundle, bundleversion, bundledeplyment and bundledestination views; apply fine grained perms to delete/deploy/tagging as opposed to the legacy managebundle.
    • - Fix subtle bug in non-initial version groups selector setup where we potentially queried the selector for assigned records prior to oninit() being called and actually setting up the initial selection. - Fix usability issue when assigning intial bundle groups. if the only option is to leave unassigned, keep the selector disabled and the "unassigned" radio button on.
    • BZ 1001002 Exception in UI when expanding tree items
    • BZ 1001002 Exception in UI when expanding tree items
    • UX action item (crobson) to have click on subcategory nodes in the tree perform an expand. This improves "interaction consistency" with the other tree node behaviors.
    • Merge the current avail check needs into the recently updated tree work. When avail change is detected in the detail (via the title view) then 'mock' a context menu refresh rooted at the selected/detail resource node.
    • protect against merging empty avail report in getLiveResourceAvailability
    • BZ 1001668 rhqctl.bat install --storage removes and re installs existing/installed storage service - windows
    • [999558] Ensure the JMX interface on cassandra nodes is only bound to the loopback interface, and applies authentication and authorization – windows portion of this fix
    • tweak server wrapper files slightly to get additional java opt numbering right
    • BZ 1003132 - Recovery alerts based on availability may not fire if AlertConditionCache isn't reloaded before next availability report] The issue here is the lag time between processing recovery actions (like disable of the to-be-recovered alert def, enable of the recovery alert def, etc) and the alerting cache reloads, which can be up to 30s. The 30s [max] time is reasonable for other HA nodes, but for the server serving the agent, and\ firing the alert that triggers the recovery handling, it can be too long because the recovery action (if automated, like a restart) may happen before the cache reload, effectively missing the recovery alert.
    • [Bugs 1004904, 1004731, 1002777, 1002778] 1004904 - rhq storage log is stored in incorrect directory - windows 2008 1004731 - rhqctl upgrade on windows doesn't work correctly 1002777 - Installer to prompt user for which network interfaces to bind to, rather than binding to all by default. 1002778 - Installer to prompt user for rhqadmin password, rather than using hard-coded default
    • Add ability to generate management user passwords to installer
  • Jean-Frederic Clere <jclere@redhat.com> (19):
    • fix for BZ: 707349 from e7d48240474fba87f1a3c4118de4618fd2c8b32d.
    • Fix BZ 865460 from 417fbb59817edf64a93d3cca00f2c51926379ab2
    • BZ 921194 ] Connectors are not properly discovered and therefore are unavailable.. from 00e594847fe67da46f8976df58b5d2324d6ebb48.
    • BZ 921261 ] WebModule is reported as DOWN or UNAVAILABLE ... from 00e594847fe67da46f8976df58b5d2324d6ebb48
    • BZ 921261 ] WebModule is reported as DOWN or UNAVAILABLE ... from da0179ab26a0c3e3a50238e9997147864e5a759b
    • BZ 921194 ] Additional corrections by lfuka.
    • BZ 865460 ] Cannot add a Group to tomcat's UserDatabase
    • fix for BZ: 707349 from e7d48240474fba87f1a3c4118de4618fd2c8b32d.
    • Fix BZ 865460 from 417fbb59817edf64a93d3cca00f2c51926379ab2
    • BZ 921194 ] Connectors are not properly discovered and therefore are unavailable.. from 00e594847fe67da46f8976df58b5d2324d6ebb48.
    • BZ 921261 ] WebModule is reported as DOWN or UNAVAILABLE ... from 00e594847fe67da46f8976df58b5d2324d6ebb48
    • BZ 921261 ] WebModule is reported as DOWN or UNAVAILABLE ... from da0179ab26a0c3e3a50238e9997147864e5a759b
    • BZ 921194 ] Additional corrections by lfuka.
    • BZ 865460 ] Cannot add a Group to tomcat's UserDatabase
    • fix for BZ: 707349 from e7d48240474fba87f1a3c4118de4618fd2c8b32d.
    • Fix BZ 865460 from 417fbb59817edf64a93d3cca00f2c51926379ab2
    • BZ 921194 ] Connectors are not properly discovered and therefore are unavailable.. from 00e594847fe67da46f8976df58b5d2324d6ebb48.
    • BZ 921261 ] WebModule is reported as DOWN or UNAVAILABLE ... from 00e594847fe67da46f8976df58b5d2324d6ebb48
    • BZ 865460 ] Cannot add a Group to tomcat's UserDatabase
  • Jirka Kremser <jkremser@redhat.com> (94):
    • Making the javadoc consistent with the actual code.
    • Increasing the time to wait for operation to finish (the test was failing non-deterministically).
    • Adding the "prepareForUpgrade" operation to the storage node (top level resource). This operation should be run rightbefore the upgrade to the newer version. It backs up all the keyspaces and make the server and storage stop accepting the metrics.
    • Removing "./cassandra" and "/cassandra/" from .gitigore.
    • Simplifying bash script for rhqctl completion.
    • Fixing the api-checks jenkins build. Adding the setDiskSpacePercentageUsed() and getDiskSpacePercentageUsed() methods back to StorageNodeLoadComposite, and marking them as deprecated.
    • StorageNode: hashCode() should be consistent with equals().
    • Unit test for StorageNode entity.
    • BZ 975502 - Its possible to create a dynaGroup definition with recalculation Interval < 1 minute via CLI - added simple checks to the GroupDefinitionManagerBean.
    • BZ 977782 - Incorrect error message is shown when creating a new dynaGroup definition with incorrect name - added regexp validator to the coregui.
    • BZ 974501 - Its possible to create a dynaGroup definition without expression via CLI - check whether expression is null of an empty string
    • BZ 976265 - Unable to remove one dynagroup definition - Anotating method GroupDefinitionManagerBean.updateGroupDefinition() with @TransactionAttribute.
    • BZ 966293 - Add validation for expression when creating Dynagroup Definition - adding a check to GroupDefinitionManagerBean.validate() method. Also making sure, the right message is correctly propagated to the web UI.
    • BZ 980091 - link in the alert to the parent on which the alert was created - Adding a new filter on AlertDefinitionCriteria (filter by alert id).
    • Removing deprecated annotation, adding orphanRemoval=true attribute instead.
    • BZ 980091 - link in the alert to the parent on which the alert was created - Adding the link to AlertDetailsView if the alert is defined by parent definition. Parent definition could mean group alert definition, autogroup alert definition or template definition
    • BZ 959587 - Alert definition should display units when entering a value; e.g. 'seconds' or 'megabytes' - Adding "BaseUnits" field to the popup form. The tooltip displays all allowed units from the same MeasurementUnits.Family.
    • API Checks - Changing StorageNode.QUERY_FIND_BY_ADDRESS. The constants for native queries shouldn't be part of the public API.
    • Entities < and > in the plugin descriptor were interpreted as HTML in the ConfigurationEditor and the content between them wasn't there.
    • Calling the right setter.
    • Adding the newly (6/28/13) issued certificate for accessing the pto calendar (mail.corp.redhat.com domain) to the rhq-ircbot keystore. This one should be valid until 6/28/15.
    • If there is just one group definition in ConfigurationEditor, normal form is used instead SectionStack component. Also the "Jump to Section" navigation is hidden for just one group to save some space on the screen.
    • BZ 976827 - Description text area in General properties tab under Alerts -> Definition is not getting set to blank one it has been edited. Instead it displays the previous value that was stored - setting an empty string if descriptionField.getValue() == null
    • Calling the right setter.
    • Adding the newly (6/28/13) issued certificate for accessing the pto calendar (mail.corp.redhat.com domain) to the rhq-ircbot keystore. This one should be valid until 6/28/15.
    • If there is just one group definition in ConfigurationEditor, normal form is used instead SectionStack component. Also the "Jump to Section" navigation is hidden for just one group to save some space on the screen.
    • BZ 976827 - Description text area in General properties tab under Alerts -> Definition is not getting set to blank one it has been edited. Instead it displays the previous value that was stored - setting an empty string if descriptionField.getValue() == null
    • Modifying the AlertHistoryView to allow display alerts of various resources (not necessarily forming a group).
    • StorageNodeDatasource now fetches also the avg heap usage and avg disk space usage, because we show these aggregated metrics in the storage node table.
    • Exposing (making it public) the method findResourcesWithAlertDefinitions() on StorageNodeManager.
    • Adding new method for fetching all instances of class StorageNodeLoadComposite.
    • Adding two new methods to StorageGWTService.
    • adding ".externalToolBuilders" dir to .gitignore
    • New storage node ui, containing Alerts, Configuration and the table with storage nodes.
    • Making things more consistent - now, one hour aggregate are used for both the load sub-table and for the Memory and Disk columns.
    • Number of unack alerts is now displayed on the alert tab title.
    • Considering FILTER_RESOURCE_IDS in the AlertDatasource.getFetchCriteria().
    • GWT service impl layer method for finding the unacked alerts, also fetching the # of unack alerts in getStorageNodeComposites() and making 8 hours the default time value for aggregated metrics.
    • Fetching all the fields of StorageNode entity if only instance with id is passed to StorageNodeManagerBean.findResourcesWithAlertDefinitions() method.
    • Hiding the "Jump to Section" navigation if there is only one section in the ConfigurationEditor component.
    • Another iteration of Storage Node UI: added polling mechanism to fetch the number of unack alerts; new metric (FreeDiskToDataSizeRatio) was added.
    • squashed commit: If there is just one group definition in ConfigurationEditor, normal form is used instead SectionStack component. If there are more than 3 items the combo-box component is used (instead 5).
    • squashed commit: UI work
    • Adding the header next to the "Back to List" clickable arrow. This required to change AbstractTableSection to support additional canvas to save some place on the screen.
    • New method on server jar for sparkline graphs for storage node.
    • squashed commit: Added method in the GWT impl class returning the data for sparkline graph for storage nodes. Another iteration of Storage Node UI: sparkline small graphs support. Fetching also definition ids. It is needed in order to get the data for sparkline graphs.
    • New component for editing the storage node properties. Adding the retrieveConfiguration() to GWT service impl class.
    • StorageNodeConfigurationEditor now updates the configuration for particular storage nodes.
    • New component for storage node alerts (derived from AlertHistoryView); Predefined alert templates shoud have the description fields correctly filled.; calling the update configuration method in an async way.
    • api checks: adding the return type of intentionally changed method for clirr to make it work
    • Storage node configuration: added check for Max Heap Size (-Xmx) > Heap New Size (-Xmn).
    • Improvements to cluster-wide alert UI: improved grouping, headers of groups, link to definition.
    • Alert view for a single storage node and its child resources.
    • First version of displaying the failures of maitenance tasks on storage nodes (or the whole storage node cluster).
    • Adding new component for editing the storage cluster configuration (stored in the system settings).
    • New component for storage node alerts (derived from AlertHistoryView); Predefined alert templates shoud have the description fields correctly filled.; calling the update configuration method in an async way.
    • api checks: adding the return type of intentionally changed method for clirr to make it work
    • Storage node configuration: added check for Max Heap Size (-Xmx) > Heap New Size (-Xmn).
    • Improvements to cluster-wide alert UI: improved grouping, headers of groups, link to definition.
    • Alert view for a single storage node and its child resources.
    • First version of displaying the failures of maitenance tasks on storage nodes (or the whole storage node cluster).
    • Fixing/handling errors in UI when storage node has no associated resource id (this can happen when installing everything with "rhqctl install --agent-auto-start false").
    • Adding the support for storage node (un)deployment in coregui.
    • Alert view for a single storage node and its child resources.
    • Adding new component for editing the storage cluster configuration (stored in the system settings).
    • Fixing/handling errors in UI when storage node has no associated resource id (this can happen when installing everything with "rhqctl install --agent-auto-start false").
    • Adding the support for storage node (un)deployment in coregui.
    • Adding automaticDeployment field StorageClusterSettings, reflecting the change in UI.
    • Creating a system property for storing the storage node automatic deployment flag; updating the schema.
    • Replacing the check box form item with the radio button. Because the radio buttons are commonly used for boolean properties in RHQ.
    • Modifying the description for predefined storage node alert templates. Also adding a new item to the RHQ help page.
    • Removing an unused constant that was accidentaly introduced in commit 1a8bb538c.
    • api check: Adding a new method (runClusterMaintenance()) on StorageNodeManagerRemote as an intentional change.
    • Turning on the auto deployment of new C* nodes by default.
    • Adding the availability column to the storage node table. Now the (un)deploy action requires the storage node to be available.
    • Fixing the (un)deploy storage node button enablement rules.
    • UI work: Making cluster setting read only, changing description of the Gossip Port property field.
    • Changes to storage node detail page: adding the availability field and the operation mode field.
    • Unable to update the storage node configuration if there were no changes made. Changing the configuration needs restart of the node, so I've added this check.
    • Adding check to StorageManagerBean.findStorageNodeLoadDataForLast whether the cluster is running; AuthZ: ensuring the presence MANAGE_SETTINGS on all remotelly exposed methods on StorageManagerBean and adding the jdoc for them.
    • Adding a way to disable the blacklising of resource types during the discovery. This can be handy when debugging the discovery process.
    • Cassandra UI: Fixing a regression by bug ca723caa9 commenting out the checks for availability because we don't assume the resource to be UP to be able to (un)deploy the corresponding node.
    • Making the cluster settings editable again.
    • BZ 995431 - GUI freezes on StorageNodes page - There was a hidden tricky loop when comming from diferent admin section. (setContent() called addChild() that called component's renderView() that called ... that called ... that called setContent() again.)
    • C* UI: Adding a link to the storage node whose child caused the alert to the alert table.
    • Reflecting the changes to storage node JMX port (ca8b82bc0, e838c1484) in the UI layer.
    • In my previous commit (478faa718) I missed this occurence.
    • BZ 1002174 - uninventory storage node for stopped agent destabilizes system and leads to Administration-> Topology -> Storage Nodes page dysfunction - Adding yet another confirmation box when uninventorying the platform or storage node.
    • More descriptive log warning when no storage node is found in the database (StorageNodeManagerBean.getLoad() was failing with NPE). This situation somehow happened when the nodes were installed prior to the RHQ server itself.
    • Removing the priority filter from the alert view for storage nodes. Also fixing the filtering by creation time.
    • The small sparkline graphs displayed on in the storage node admin UI now corresponds with the actual data. There was a bug that actually caused that each row contained a graph for a different row (it was shuffled).
    • Update to the {Grease|Tamper}monkey script: removing the syntax warinings reported by the browser extension.
    • Mostly code cleanup of storage UI, removing commented out code, better exception handling. Also making sure the polling job for fetching the actual number of unacknowledged alerts is correctly unscheduled when the page is not visible or the session has expired. Changing the label "New Alerts" to more descriptive one "Unacknowledged Alerts". On the detail page if the operation failed during the (un)deployment phase, it is explicitly mentioned that it happened during the (un)deployment.
    • Fixing one typo in constructor causing the alert view for storage node not to be working.
  • John Mazzitelli <mazz@redhat.com> (26):
    • fix eclipse classpath
    • BZ 872738 - need to rename the class and resurrect the old class because the API check failed. the original patch changed the public class' hierarchy. we need to maintain that API compatibility.
    • BZ 860815 - consider version strings of "" and null as equal
    • BZ 848258 - trim empty space/newlines from script output prior to applying any regex filters.
    • BZ 914781 - on error, log the remote client address to help figure out which agent is having the problem
    • BZ 976227 - strip the file name from a Windows path
    • cassandra-installer uses a commons-io 2.1 API, we need to put this up front in classpath in eclipse
    • BZ 983552 shorten the deployment names of the ejb3 jar and the startup subsystem
    • trivial change - first commit from intellij :}
    • add some javadoc and new apis for bundle groups
    • add createInitialBundleVersion APIs
    • initial coding of the bundle left hand tree to support bundle groups. this is not fully complete yet, but is almost there.
    • i18n the unassigned tree node label
    • fix the i18n value to something more meaningful
    • fix the selection of group node make the name of the unassigned group stand out to show that its "special"
    • more fixes to the bundle tree. almost got it working fully
    • fix some more bundle view stuff
    • refactor out the unused/obslete constructors that take multiple header icons
    • indicate unassigned group is not a real group - don't allow user to click its node. deselect any tree node when going to the main #Bundle URL.
    • sort the tree node better
    • disable all bundle group top nodes in the tree (and show them with a lock icon) if the user doesn't have access to the bundle group itself.
    • don't show a lock for the unassigned group
    • BZ 988735 - discovery callbacks that allow extension plugins to alter discovered details from some resource type
    • BZ 988735 - refine the callback API. Abort the discovery of a specific resource if more than one callback processed the details. added integration test to see it work
    • BZ 988735 - add ability for callbacks to VETO a discovered resource. added integration test to ensure it works. NOTE: I disabled the test DiscoveryCallbackVetoTest.testDiscoveryCallbacks because something is causing our arquillian setup to deploy another plugin from another test and its breaking this one. I'm trying to find the problem, but for now, disabling the test just so I can get this committed to master so its in the next GA. the test passes if I enable it and run it individually, so the test is functional. It just can't work in the full test suite.
    • BZ 988735 - fixed the test, its re-enabled and passing
  • John Sanda <jsanda@redhat.com> (187):
    • repair operation cannot be sequential due to CASSANDRA-5512
    • log a warning when start command is executed and nothing is installed
    • adding repair primary range operation
    • create storage node resource group
    • initial support for regularly scheduled read repair (i.e., anti-entropy repair)
    • add some more detail in reporting repair results
    • adding some javadocs for reported metrics
    • Merge branch 'master' of ssh://git.fedorahosted.org/git/rhq/rhq
    • use ProcessInfo.freshSnapshot during avail checks to avoid stale data
    • big refactoring of the work that is done when a new storage node is committed to inventory
    • fix failing test
    • Create storage nodes from rhq.cassandra.seeds prop during installation
    • revert snashot call in avail check
    • fixing broken tests caused from change to persist seed nodes during install
    • initial commit for RHQ 4.8 storage node patch to disable all table compression
    • add some basic argument validation
    • remove C* native library dependencies
    • make sure that we store the IP address of storage nodes and not hostnames
    • adding custom java dbupgrade task for updating storage node addresss
    • add verification to updateSeedsList resource operation
    • don't use $TMPDIR since it might not be defined on all platforms
    • use upgradesstables and not scrub command to regenerate sstables
    • remove obsolete files that are no longer used
    • remove usage of cassandra-env.sh for cassandra start up
    • updating/fixing integration test failure
    • initial support for resource configuration with StorageNodeComponent
    • adding initial support for resource config updates of StorageNodeComponent
    • adding heap dump properties to resource configuration
    • check that properties are set before trying to update them
    • BZ 984433 ] revert changes for empty directory check
    • adding validation checks for heap and thread args
    • make parsing of heap options more robust
    • fixing bug in script
    • copy cassandra-jvm.properties on upgrade. we're no longer using cassandra-env.sh.
    • cleaning up dependencies
    • initial commit for StorageInstallerTest
    • need to make cassandra-ccm-core a direct dependency now
    • Revert "cleaning up dependencies"
    • fix test ear deployment error that resulted from renaming server jar
    • take 2 at dependency clean up
    • BZ 983226 ] fixing upgrade regression introduced by use of cassandra-jvm.properties
    • forgot to include new test resources in previous commit
    • add logic to enable jamm java agent, which mirrors logic in cassandra-env.sh
    • initial commit for cassandra-auth module
    • turn on internode authentication
    • pre-configure internode auth conf file
    • temporarily disable the quartz job that is kicked off when a new node is added
    • update cassandra deployer itest
    • adding resource operation to update internode auth conf file
    • comment out exporting test ear
    • document the 4.8 storage patch script
    • first stab at prepareForBootstrap operation (which is currently broken)
    • initial commit for StorageNodeComponentITest
    • uncommented code that was done while debugging tests
    • BZ 987899 ] remove and create pid file during shutdown and start operations
    • do availability check via jmx
    • upgrade to version 1.0.2 of datastax driver
    • check cluster status using cql driver instead of using jmx
    • add storage node shutdown operation that uses pid file
    • initial commit for ConfigEditor which handles updating cassandra.yaml
    • adding some initial test coverage for prepareForBootstrap operation
    • updating exception handling and logging in prepareForBootstrap
    • override default ring delay to speed up test and hopefully fix jenkins failure
    • adding back support for deploying additional nodes with internode authentication
    • make storagePort and nativeTransportPort read/write properties
    • make dataFileDirectories property read/write
    • add resource config support for cql and gossip ports in rhq-storage plugin
    • forgot to add test resource file in previous commit
    • update itest
    • fix check for determining whether or not read repair is needed when adding nodes
    • first stab at prepareForBootstrap operation (which is currently broken)
    • initial commit for StorageNodeComponentITest
    • uncommented code that was done while debugging tests
    • BZ 987899 ] remove and create pid file during shutdown and start operations
    • do availability check via jmx
    • upgrade to version 1.0.2 of datastax driver
    • check cluster status using cql driver instead of using jmx
    • add storage node shutdown operation that uses pid file
    • initial commit for ConfigEditor which handles updating cassandra.yaml
    • adding some initial test coverage for prepareForBootstrap operation
    • updating exception handling and logging in prepareForBootstrap
    • override default ring delay to speed up test and hopefully fix jenkins failure
    • adding back support for deploying additional nodes with internode authentication
    • make storagePort and nativeTransportPort read/write properties
    • make dataFileDirectories property read/write
    • add resource config support for cql and gossip ports in rhq-storage plugin
    • forgot to add test resource file in previous commit
    • update itest
    • fix check for determining whether or not read repair is needed when adding nodes
    • adding initial support for setting gossip port for new storage node
    • adding storage_port to plugin config for storage/cassandra plugins
    • update the server mode correctly
    • store storage cluster settings in the system settings
    • chema manager is not usable inside the running server
    • initial support for storage node deployment workflow without using the resource group
    • StorageNodeMaintenanceJob is no longer used
    • removing the storage node resource group
    • fixing test failures
    • refactor how we determine the most recently stored raw data
    • MetricsServer no longer requires timstamp for initialization
    • attempting to fix server itest failures
    • adding test impl of StorageClusterSettingsManagerLocal
    • refactoring state transitions and adding method for deployment
    • add fields in StorageNode for error reporting during maintenance
    • capture and log deployment failures that result from failed resource operations
    • adding more error handling for storage node deployments
    • bump up dbupgrade version
    • add maintenance flag for queueing up storage nodes to be processed
    • removing unused exception class
    • BZ 958166 ] Remove dependency on com.sun class
    • updating api checks
    • adding status property to StorageNode
    • attempting to fix server itest failures
    • adding test impl of StorageClusterSettingsManagerLocal
    • refactoring state transitions and adding method for deployment
    • add fields in StorageNode for error reporting during maintenance
    • capture and log deployment failures that result from failed resource operations
    • adding more error handling for storage node deployments
    • bump up dbupgrade version
    • add maintenance flag for queueing up storage nodes to be processed
    • removing unused exception class
    • BZ 958166 ] Remove dependency on com.sun class
    • updating api checks
    • adding status property to StorageNode
    • adding plugin support for decommissioning and uninstalling a storage node
    • Implement storage node uninstall as resource operation
    • initial support for undeploying a storage node
    • add support for resuming a failed undeployment
    • add a check to see if the node is already decommissioned
    • add support for undeploying a node that is in a failed deployment state
    • update status property for undeployment operation modes
    • fixing API check for new undeploy method in remote API
    • refactor common operation scheduling code into a util method
    • fixing typo in api change justification
    • prepareForBootstrap operation should continue if the storage node is already stopped
    • shortening mode name so we now have ADD_MAINTENANCE and REMOVE_MAINTENANCE
    • make sure the mode is updated at the end of each (un)deployment phase
    • update logic of updateSchemaIfNecessary to handle removal of nodes
    • refactoring state transitions and adding method for deployment
    • add fields in StorageNode for error reporting during maintenance
    • adding more error handling for storage node deployments
    • add maintenance flag for queueing up storage nodes to be processed
    • updating api checks
    • adding plugin support for decommissioning and uninstalling a storage node
    • Implement storage node uninstall as resource operation
    • initial support for undeploying a storage node
    • add support for resuming a failed undeployment
    • add a check to see if the node is already decommissioned
    • add support for undeploying a node that is in a failed deployment state
    • update status property for undeployment operation modes
    • fixing API check for new undeploy method in remote API
    • refactor common operation scheduling code into a util method
    • fixing typo in api change justification
    • prepareForBootstrap operation should continue if the storage node is already stopped
    • shortening mode name so we now have ADD_MAINTENANCE and REMOVE_MAINTENANCE
    • make sure the mode is updated at the end of each (un)deployment phase
    • update logic of updateSchemaIfNecessary to handle removal of nodes
    • adding back support for running scheduled, anti-entropy repair
    • add support for disabling auto deployment
    • fix the args passed to updateSchemaIfNecessary when adding a node
    • only store the nodes own address in rhq-storage-auth.conf
    • restrict jmx access to storage node to localhost
    • fixing a couple of (un)deployment bugs
    • adding missing exception handling for (un)deployments
    • copy rhq-storage-auth.conf during upgrades
    • set timeouts for (un)deployment resource operations
    • fix subtle bug with storage client subsystem initialization
    • BZ 1002210 ] clean up exceptions in server.log
    • fix name of server jar deployment
    • BZ 1002210 ] fixing regression caused by previous commit for this bug
    • set the rhq.storage.gossip-port during installation/upgrade
    • initialze storage cluster settings at install time
    • more fixes/improvements for storage node (un)deployment
    • upgrade to C* 1.2.9
    • fixing server itest failures
    • fixing storage plugin itest failure
    • upgrade netty version used by C* due to CASSANDRA-5955
    • updating descriptions of (un)deployment storage node resource operations
    • obfuscate rhq.storage.password
    • BZ 1004319 ] fixing oracle dbupgrade error
    • BZ 1004449 ] fix maintenance_pending column
    • adding some debug logging
    • fix boolean handling for oracle in native sql query
    • fixing upgrade bug(s) in storage installer
    • cleaning up commented out code and fixing log file name
    • updating storage node help link to point to cluster admin landing page
    • fix oracle type mapping in native sql query
  • Jérémie Lagarde <jer@printstacktrace.org> (5):
    • Create SonarQube Plugin
    • Adding SonrQube Discovery
    • rename plugin
    • Adding "Last Analysis Elapsed Time" metric
    • BZ 988454 - add a readme to the plugin
  • Larry O'Leary <loleary@redhat.com> (3):
    • BZ 981015 - Ldap auth failed if DN contained a backslash
    • Updated TestLdapSettings to include changes/fixes introduced from the following BZs:
    • BZ 981015: Fix test failures introduced by commit 01cd91b - findLdapUserDetails was appending baseDN twice during fallback code - FakeLdapContext contained some lazy escaping on the mock group entries
  • Libor Zoubek <lzoubek@redhat.com> (1):
    • BZ 998023 - SOA6 Plugin Does Not Discover SOA6
  • Lukas Krejci <lkrejci@redhat.com> (27):
    • BZ 973415 ] - Empty deployments trailing behind.
    • BZ 917765 ] - Symlinks in deploy dir no longer confuse relative file path
    • BZ 840649 ] Accomodate for package type plugins when determining pkg version
    • A configuration instance builder. This should greatly simplify the process of creating complex configuration objects.
    • Added missing generic type decls.
    • Trivial: javadoc clean up.
    • Updating the list of the devs in the IRC bot
    • BZ 801926 ] - manageRootDir deprecated, supeseded by "compliance". The compliance has now 2 possible values: * full (corresponds to manageRootDir=true, i.e. the default), * filesAndDirectories (corresponds to manageRootDir=false)
    • Updating the test recipes for the new names of compliance.
    • BZ 988881 ] - GUI now refreshes availability every 15s.
    • Clean up after the test.
    • BZ 988881 ] - GUI now refreshes availability every 15s.
    • Clean up after the test.
    • BZ 986491 ] - Yum content source plugin now handles HTTP basic auth
    • BZ 988881 ] - Removed missing i18n, cancel avail checking timers on logout.
    • BZ 986491 ] - Yum content source plugin now handles HTTP basic auth
    • BZ 988881 ] - Removed missing i18n, cancel avail checking timers on logout.
    • Make sure we don't get incomplete scripting support jars.
    • BZ 988881 ] - The agent side is now always in sync with the server Even getting the live availability is handled properly on the agent side and the results are correctly recorded in the inventory.
    • BZ 988881 ] - GUI correctly disables avail refresh timer when leaving page The tree refresh now works slightly better, too.
    • Adding some comments, renaming stuff for consistency and removing dead code
    • Putting back the maven.dependency.tree. Apologies for not realizing it was being used.
    • Fixing the intentional API changes + adding a missing repo The repo was added so that the API check can find the artifact without the need to manually update one's ~/.m2/settings.xml.
    • BZ 949088 ] - Use DISTINCT with JOIN FETCH to avoid duplicates in criteria queries
    • BZ 855674 ] - Get rid of the dreaded "PageList was passed an empty collection but 'totalSize' was X" exception.
    • BZ 855674 ] - Refactored the phantom-read detection out of CriteriaQueryRunner
    • BZ 855674 ] - avoid truncating the waitTime but rather round up.
  • Michael Burman <yak@iki.fi> (3):
    • committing windows version of RHQ 4.8 storage patch script
    • BZ 980076 Check if storage is really running after a crash
    • BZ 980076 - also make the check if storage is running for the status command
  • Mike Thompson <mithomps@redhat.com> (74):
    • BZ 977470 Graph buttons confusing should just be relative date - last x. Also updated graph refresh to change date range to new current range.
    • BZ 977474 ] Red global exception when refreshing empty graphs with no data.
    • Loosen the number of aggregate bars to detect before disabling average trendline.
    • Provide consistent labeling/bookmarking for group and resource detail views.
    • Remove unnecessary loading of graphs on other monitor subtabs.
    • For graphs get rid of the warnings in the browser console logs.
    • For group graphs, eliminate loading of graphs on other monitor tabs.
    • Fix regression where nodata graph values hang below axis. Introduced by recent minValue bugfix.
    • For non-aggregate graphs where there is a single value, use 'Value' label instead of aggregate label 'Avg'. And change color of label/value as well.
    • Update d3.js libraries from 3.1.10 to 3.2.2.
    • BZ 979115 ] Allow i18n date/time formats on Chart x-axis, currently defaults to US formats. (cherry picked from commit 3ccadc1ed259e404e334d00154bad3b4ea0b7d54)
    • BZ 958754 ] On Multi-resource graph, time units should have minutes when appropriate.
    • Syntax error fix.
    • Put back in Date Range control on MeasurementTableView until consolidated metrics tab is ready.
    • First pass at new Multi-resource graph using d3 instead of nvd3.
    • Second iteration at new Multi-resource graph using d3 instead of nvd3.
    • Consolidate the d3 time format stuff into rhq.js so all graphs have access.
    • Fix new d3 multi-line graph scaling issues.
    • Add legend to new multi-line graph.
    • Keep Global exception from occuring in multi resource graph when metrics return empty data.
    • On multi-resource chart add sort to legend to show alphabetically.
    • Remove nvd3.js charting library in favor of base d3.js.
    • BZ 980014 ] Syntax error for Empty group charts.
    • On multi-resource graph normalize units to highest scale (ex. GB instead of MB units if possible).
    • BZ 924725 ] Graph refresh also refreshes screen behind graph dialog.
    • BZ 988574 ] - Consolidated Metrics Screen - UXD Redesign
    • Availability pie chart for metrics page.
    • Change layout of fields in availability detail form of metric page.
    • Fix bug with new metrics database and not much history results in NPE on metrics page.
    • i18n availability summary pie graph.
    • BZ 990200 ] Static Analysis cleanup of lower risk items in coregui.
    • BZ 988574 ] - Consolidated Metrics Screen - UXD Redesign
    • Availability pie chart for metrics page.
    • Change layout of fields in availability detail form of metric page.
    • Fix bug with new metrics database and not much history results in NPE on metrics page.
    • i18n availability summary pie graph.
    • Small Graph subsystem refactoring.
    • BZ 991257 ] Spurious Globally uncaught Exception: (TypeError): 'null' is not an object. Add EnhancedToolstrip instead of Toolstrip to fix proper destroying.
    • IE UI fixes
    • Replaced UserPreferencesMeasurementRangeEditor with ButtonBarDateTimeRangeEditor in Group --> Monitoring --> Metrics tab. Altered RedrawGraphs to a more general Refreshable so it can be used with tables and not just graphs.
    • IE UI fixes
    • Merge branch 'mtho11/pre4.9'
    • Refactor AvailabilitySummaryPieGraphType to module pattern to hide js vars from global scope.
    • Merge branch 'mtho11/pre4.9'
    • Fix graph labels for chrome & IE.
    • BZ 949750 ] - Chart hovers fail to render in IE. Availability Chart hover fix.
    • Merge branch 'mtho11/ie-chart-tooltips'
    • Add GraphMarker interface to mark places in the code where graphs are (later) injected by d3 javascript code.
    • Fix for when no dashboards exist (A Dashboard doesnt exist until you go to the Dashboards screen) Metrics dashboard selection combobox bombs.
    • Fix refresh to keep graph open after auto-refresh.
    • Fix graph labels for chrome & IE.
    • BZ 949750 ] - Chart hovers fail to render in IE. Availability Chart hover fix.
    • Add GraphMarker interface to mark places in the code where graphs are (later) injected by d3 javascript code.
    • Fix for when no dashboards exist (A Dashboard doesnt exist until you go to the Dashboards screen) Metrics dashboard selection combobox bombs.
    • Make group and resource OOB portlets use new d3 graphs instead of portal.war graphs.
    • BZ 997957 ] Make OOB portlets use new d3 graphs instead of portal.war graphs.
    • ResourceMetricsPortlet narrow the resourceTypes to eliminated unused resourceType when all we need is measurement.
    • Fix refresh to keep graph open after auto-refresh.
    • BZ 995541 ] Remove JSF charting from Portal.war. More specifically, remove any java AWT references from classes which are the charting classes. Also make sure to preserve existing portal.war functionality such as content and timeline.
    • BZ 1000153 ] - Availability graph isn't present unless there are other metrics
    • BZ 1000175 ] - Metrics UI tab does not refresh properly between different resources.
    • Graph Tooltip creation to be more compatible with IE.
    • Make the new IE tooltip work for 'no data' and 'single value' bars like old tooltips.
    • Change the positioning of the new chart hovers.
    • Fix the svg charts from cutting off at 300px. Removal of the nvd3.css code that contained the global svg css rule: display:block; width:100%; caused this.
    • Remove the live value dialog from metrics view.
    • Fix metrics view bug when collapsing rows and refreshing the already open graphs. They stay open but graphs don't get repainted.
    • Show metric sparklines even when there is only a single point of data. The sparkline graphs only render a plot if there is at least two points of data. When a new system first comes up and only one point of data is available no sparkline is shown. By adding an additional "0" point to the single point of data the sparkline will now render.
    • Ensure console objects don't cause problems in IE. In CoreGUI.html there is a js IFFE that should take care of defining an undefined console object for IE but this snippet doesn't seem to be working yet. Will come back to this later.
    • BZ 1003794 ] Cannot load metrics on some resources when data is not available yet. Handle null RawNumericMetric better.
    • Fix bug with metrics refresh firing only once.
    • Remove unused Class IFrameWithMeasurementRangeEditor.java as portal.war no longer servers up any graphs.
    • Add a viewRenderedListener to subtab nav to properly update the MetricsResourceView. This functionality was broken when I added state to the view to record the open charts when a refresh occurs. By adding state to the view there is now I had to keep the existing view around between refreshes. This meant a cached view that was not picking up changes between the subtabs; now the viewRenderedListener handles the changes between the subtabs.
    • Quick fix of availability summary % pie chart graph not rendering properly – reverting to text entries (like before) for 4.9 release. Will revisit this immediately after release.
  • Rémy Maucherat <rmaucher@redhat.com> (1):
    • BZ863502: Fix OOM connecting to Tomcat instance. Patch by Thomas Segismont.
  • Simeon Pinder <spinder@redhat.com> (40):
    • BZ 984649 ] update jgroups usage to latest patched version.
    • Upgrading richfaces to latest patched version.
    • BZ 984649 ] fix module metadata.
    • Clean up some deprecated usage of Properties by LDAP, and small refactoring.
    • Use property internal name.
    • Some more doc and cleanup/refactor.
    • Fix some deprecated property references.
    • Include default ldap property settings in initialization as well.
    • Load ldap properties in same way as before refactor and deprecate old property load mechanism as does not work well with reusing existing properties.
    • Move TestLdapSettings to it's own module.
    • Move under org.rhq like other components.
    • Make warning to users more prominent and accessible.
    • i)Fix issue with authz validation in TestLdapSettings ii)Remove old TestLdapSettings source.
    • i)ensure jdk 6+ versions and ii)reuse userDN between the steps.
    • BZ 984649 ] update jgroups usage to latest patched version.
    • Upgrading richfaces to latest patched version.
    • BZ 984649 ] fix module metadata.
    • Clean up some deprecated usage of Properties by LDAP, and small refactoring.
    • Use property internal name.
    • Some more doc and cleanup/refactor.
    • Fix some deprecated property references.
    • Include default ldap property settings in initialization as well.
    • Load ldap properties in same way as before refactor and deprecate old property load mechanism as does not work well with reusing existing properties.
    • Move TestLdapSettings to it's own module.
    • Move under org.rhq like other components.
    • Make warning to users more prominent and accessible.
    • i)Fix issue with authz validation in TestLdapSettings ii)Remove old TestLdapSettings source.
    • i)ensure jdk 6+ versions and ii)reuse userDN between the steps.
    • Applying fixes for [BZ 707047] and [BZ 981015] to LDAP Test Tool, to correctly encode characters and consistently construct UserDN.
    • minor refactor.
    • BZ 990576 ] Add messaging and updates around ldap query performance for adminstrator.
    • BZ 990576 ] - insert hard ldap group limit with parsing to guard against excessive ui perf issues. - fix ldap search filter issue - add Suggest/Advice component for more feedback for ldap integration. - disable edit on Suggest/Advice component - clean up selector feedback ui threads to guard against refresh. - refresh cached ldap results after 30 mins. - modify AbstractSelector to better support overriding the availableFilterForm
    • BZ 990576 ] add I18N for new fields.
    • BZ 990576 ] fix issue with available groups status update speed, guard against client failures and add more logging.
    • BZ 990576 ] Add messaging and updates around ldap query performance for adminstrator.
    • BZ 990576 ] - insert hard ldap group limit with parsing to guard against excessive ui perf issues. - fix ldap search filter issue - add Suggest/Advice component for more feedback for ldap integration. - disable edit on Suggest/Advice component - clean up selector feedback ui threads to guard against refresh. - refresh cached ldap results after 30 mins. - modify AbstractSelector to better support overriding the availableFilterForm
    • BZ 990576 ] add I18N for new fields.
    • BZ 990576 ] fix issue with available groups status update speed, guard against client failures and add more logging.
    • BZ 997665 ] adding queue-length for bounded and blocking bounded thread pool support.
    • BZ 998058 ] Adding blocking-bounded-queue-thread-pool and blocking-queueless-thread-pool to list of supported templates.
  • Stefan Negrea <snegrea@redhat.com> (74):
    • Manually moving master version to RHQ 4.9.0-SNAPSHOT
    • Update usage of bash boolean variables one more time in if statements. The test is now explicit.
    • Add unit tests to the data migrator. Also, reorganized the structure of the data migration package.
    • Updates to the data migrator: 1) remove the preserve data option since it can be confusing to end users 2) update the way data preservation is trigger via the delete data option 3) add code to close both the SQL and Cassandra sessions prior to program completion.
    • BZ 961361 ] The estimation process was wrongly attempting to estimate actual data migratio when only deletion was requested by the user.
    • BZ 976790 ] Update the data migration process to use properties from rhq-server.properties. This way the database and cassandra configurations are automatically loaded from the main source.
    • BZ 976790 ] Updated the parsing of rqh server properties to be consistent with the rest of the code.
    • Update the way the percentage disk space use is calculated. It is now based on the aggregate usage of all the partitions that have data files. Also, this is based on the total disk use, not just Cassandra. Added an alert based on this metric.
    • AllDataFileLocations is not a metric and thus no need to change the collection interval.
    • Update the calculation for the percentage of disk space used. The percentage now represents the amount of disk used by the Cassandra data files.
    • Initial implementation for fetching all the alerts triggered for Storage Nodes resource and sub-sources.
    • Add justification for the api changes to the Storage Node Manager bean.
    • Initial implementation for the Storage Node configuration composite. The final resource operation still needs to be implemented but the rest of the functionality is implemented.
    • Temporary fix for the server jar name for dev profile (it was still using the old name).
    • Update the set of calculated metrics for Cassandra to incorporate latest feedback. There are three metrics now: total system used space percentage, data file disk space used percentage, and free to data disk space ratio.
    • Add two more properties to the list of configurable properties for the storaga node. The new properties are heap new size and thread stack size.
    • Implement the storage node operation for updating jvm options.
    • Attempt to improve the operation trigger for updates on the storage node configuration.
    • Fix merge rebase issue.
    • Update the storage node manager API for alerts to support UI functionality.
    • Add back code used to update storage node configuration tha was lost due to rebase. This code updates two additional storage node properties added.
    • Enable the new set of calculated metrics for disk space utilization in the UI and CLI.
    • One more place where the previous rebase removed code for the storage node configuration.
    • Move the restart operation to the plugin rather than server bean. This simplifies the interface between the server bean and storage node plugin.
    • Add support for updating the JMX Port. The process sends a restart to the resource last to avoid putting the Server in maintenance mode.
    • Operations are now created in a new transaction. Also, change the way the configuration is updated.
    • Move the restart operation to the plugin rather than server bean. This simplifies the interface between the server bean and storage node plugin.
    • Add support for updating the JMX Port. The process sends a restart to the resource last to avoid putting the Server in maintenance mode.
    • Operations are now created in a new transaction. Also, change the way the configuration is updated.
    • Extensive Cassandra schema manager updates: 1) The entire code was simplified and all queries moved away from code. 2) It is now possible to bind variables to queries (eg. user and password). 3) Simplified the external interface. 4) Only the main interface is now exposed outside of the package. 5) Added unit tests for the file loading and binding code 6) Cleaned the queries and the execution flow 7) The drop restores Cassandra to the original state, pre install
    • BZ 990245 ] Use an attached storage node entity rather than the detached one recieved from the remote interface.
    • Add an alert template for take snapshot operation failure for the storage service.
    • BZ 990245 ] Add an extra null check for safety for the child resource set.
    • Remove dampening from the alert definition. Dampening not needed for discreet operation executions.
    • Add restart to the set of rhqctl commands.
    • Update the operation mode for servers to correctly use storage node cluster information: 1) The maintenance mode set by the user (via UI or properties file) is now stored in the server status bitmask 2) The transition between Maintenance and Normal operation modes is done automatically. 3) The transition between Maintenance and Normal operation modes depends on storage node cluster availability and set user maintenance mode status. 4) Cleanup the lifecycles and state transitions for the storage node client manager, server manager bean, and startup bean. 5) Updated the UI to make use newly added methods that control only the user set maintenance mode status.
    • Fix rebase issues due to git merge tree.
    • BZ 995424 ] + [BZ 991598] + Code Review changes
    • Simplify the configuration update method by allowing the plugin to restart the storage node if necessary. This is possible now because the JMX port is no longer required for checking the cluster availability.
    • Thanks Eclipse for clipping an import on save
    • Update code related to initial value of status field. Also, reserved the first five bits of the bitmask for debug purposes.
    • One more attempt at the justification for the Server interface change.
    • Slight change to the comment text.
    • Update the schema manager to check for schema version at startup. The server should not start if there is schema disagreement.
    • BZ 991598 ] Add basica node configuration validation to the composite class. It validates heap settings as well as port settings.
    • More text for the schema compatibility text.
    • Fixing errors after rebase merge.
    • Add alert template for maintenance operation failures for storage nodes.
    • Update code related to initial value of status field. Also, reserved the first five bits of the bitmask for debug purposes.
    • One more attempt at the justification for the Server interface change.
    • Slight change to the comment text.
    • Update the schema manager to check for schema version at startup. The server should not start if there is schema disagreement.
    • BZ 991598 ] Add basica node configuration validation to the composite class. It validates heap settings as well as port settings.
    • More text for the schema compatibility text.
    • Fixing errors after rebase merge.
    • Add alert template for maintenance operation failures for storage nodes.
    • BZ 993513 ] Baselines entries are no longer calculated and inserted into the SQL database if there is no data in the storage.
    • BZ 998049 ] Remove all core domain dependencies from Cassandra common modules.
    • BZ 991598 ] Add basica node configuration validation to the composite class. It validates heap settings as well as port settings.
    • Fixing errors after rebase merge.
    • BZ 993513 ] Baselines entries are no longer calculated and inserted into the SQL database if there is no data in the storage.
    • BZ 998049 ] Remove all core domain dependencies from Cassandra common modules.
    • Take snapshots every time the read read repair operation is scheduled.
    • BZ 999555 ] Add storage node password obfuscation in the server configuration file using the same method applied to SQL database password.
    • Fix file paths for running the schema manager from a disk based distribution.
    • Shutdown the cluster manager if the session connection fails; otherwise various mananger specific connections could remain open.
    • Properly close Cassandra cluster sessions in the rest of the code (schema manager, storage cluster client manager bean, data migrator).
    • Refactor log variable name.
    • BZ 999555 ] Obfuscate the cassandra super user default password in the schema manager code.
    • Move all the PicketBox encoding and decoding into the core util module to avoid code duplication.
    • Remove the CQL code from the Cassandra and RHQ Storage plugins. The functionality is not needed since it is schema related (which should not be done via the JMX interface).
    • Initial commit that migrates storage node properties from rhq.cassandra.* to rhq.storage.*
    • BZ 1001128 ] Do not immediately fail if a connection cannot be established with the RHQ username. It is possible that the schema was never installed. Continue the drop procedure and by attempting to login with the generic Cassandra user as expected in the drop procedure.
    • Remove the fake getJmxPort from the storage node entity. The jmx port is no longer needed for the storage cluster communication.
  • Thomas Segismont <tsegismo@redhat.com> (68):
    • BZ 819116 - Attach API only works with RHQ_AGENT_JAVA_HOME
    • BZ 822247 - Web Application Response Time Log File not being imported
    • BZ 869834 - ResponseTime metrics are not collected for Apache when SNMP is not being used
    • BZ 976291 - [as7] WebConnectorComponent throws ClassCastException when collecting _maxConnections metric on RHQ server
    • BZ 957689 - Unable to complete tasks when server is shutdown
    • BZ 957689 - Unable to complete tasks when server is shutdown
    • Services SAR removed
    • Agent SAR removed
    • BZ 966777 - EAP 6 plug-in is using a hard-coded operation timeout for start and stop instead of using the operation timeout or agent's default operation timeout of 10 minutes
    • BZ 966777 - EAP 6 plug-in is using a hard-coded operation timeout for start and stop instead of using the operation timeout or agent's default operation timeout of 10 minutes
    • BZ 863502 - EMS ConnectionFactory.discoverServerClasses can throw OutOfMemoryError
    • Revert "Bug 863502 - EMS ConnectionFactory.discoverServerClasses can throw OutOfMemoryError"
    • BZ 910646 - Unable to add more than 100 resources to a Compatible Group
    • BZ 910646 - Unable to add more than 100 resources to a Compatible Group
    • Improve CassandraNodeComponent availability check performance.
    • BZ 885655 - Datasource - Security Deployment Type is by default set to "Domain and application" instead of "None" as stated in description
    • BZ 923400 - Sigar creates high number of blocked threads (unbounded) if mount is gone
    • BZ 982804 - AS7 reload behavior includes hardcoded timeout of 20 seconds
    • Fix InterruptibleOperationsTest. Mock resource context needs a ComponentInvocationContext instance.
    • Print simpler log message when component invocation is interrupted and log level is higher than debug
    • BZ 969621 - EAP 6 managed plug-in is unable to discover EAP servers when more then one is running on a single host
    • [as7] Fix domain api version discovery
    • BZ 969621 - EAP 6 managed plug-in is unable to discover EAP servers when more then one is running on a single host
    • Fix StorageNodeComponentITest.shutdownStorageNode
    • Update intentional changes file (methods added in StorageNodeManagerRemote)
    • Update intentional changes file (methods added in StorageNodeManagerRemote)
    • CassandraNodeComponent#startNode now starts C* with a short CLASSPATH to allow later discovery on Linux
    • Make CassandraNodeComponent shutdown operation wait for server to go down (unless running on OSX)
    • BZ 886126 - Datasource JNDI change takes too long to be propagated to JON server
    • Fix StorageNodeComponentITest.shutdownStorageNode
    • Update intentional changes file (methods added in StorageNodeManagerRemote)
    • Update intentional changes file (methods added in StorageNodeManagerRemote)
    • CassandraNodeComponent#startNode now starts C* with a short CLASSPATH to allow later discovery on Linux
    • Make CassandraNodeComponent shutdown operation wait for server to go down (unless running on OSX)
    • BZ 886126 - Datasource JNDI change takes too long to be propagated to JON server
    • BZ 913764 - [as7] Version identifier of EAP resource changes depending on run state of EAP
    • BZ 886119 - JON is using JNDI when referring to child Datasource resource instead of specified Resource name
    • BZ 879040 - Initialization of HostControllerComponent results in ERRORs in agent log due to assuming host controller's host is named "master"
    • BZ 948076 - EAP Host controller resource reports: The original product type discovered for this AS7 server was JBoss EAP 6, but the server is now reporting its product type is [JBoss AS 7]
    • BZ 980639 - JBoss Web connectors are not discovered if host name contains dash/hyphen
    • BZ 994640 - Postfix Server's Banner basic configuration property "default" value is empty
    • Removed testFailureIgnore=false from Cassandra and Storage Node plugins because this is not the standard for RHQ builds
    • BZ 846362 - [jboss-as5] Shutdown max wait time "shared" between different resources
    • BZ 956329 - Create new Managed Server using EAP 6 plug-in exposes server groups and socket binding groups from other resources
    • BZ 846362 - [jboss-as5] Shutdown max wait time "shared" between different resources
    • BZ 956329 - Create new Managed Server using EAP 6 plug-in exposes server groups and socket binding groups from other resources
    • BZ 998888 - Unable to install rhq server - ClassNotFoundException
    • BZ 996582 - [JBossAS7] - creating datasource via CLI fails because of NPE
    • BZ 895030 - Adding a new XADatasource with invalid configuration to EAP6 using CLI ends with NPE
    • BZ 791340 - Exploded WAR deployed through JON never added to inventory
    • BZ 1000006 - [JBossAS7] - it is possible to create an XA datasource even without required property
    • BZ 1000006 - [JBossAS7] - it is possible to create an XA datasource even without required property
    • A utility class only marked abstract is protected from instantiation but not from derivation.
    • API CHECK: Only user with MANAGE_SETTINGS permissions should be able to run cluster maintenance
    • API CHECK: fix method definition in changes file
    • BZ 1000938 - Low timeout for removing queues/topics from EAP 6 server via JON
    • BZ 952298 - Deployment status is "Failure" with the message "Read timed out, rolled-back=false, rolled-back=false" in the agent.log file
    • Fix StorageNodeComponentITest failure because of missing picket box test dep and non obfuscated password
    • Fix server-metrics failures because of missing picket box test dep and non obfuscated password
    • CassandraIntegrationTest: use ClusterBuilder#withCredentialsObfuscated method
    • API Check: fix Core Domain module failures
    • Fixed StorageInstallerTest: rhq.cassandra.seeds property no longer exists
    • Fix itests-2 suite: Missing picket box test dep, obfuscated password and wrong cluster init wait period
    • Add support for proxies for HTTPService resources
    • Fix OperationManagerBean: parameters should be copied in ResourceOperationHistory
    • Give ResourceMetadataManagerBeanTest.upgradePluginWithTypesRemoved more chances to pass on slow boxes
    • EAP5 plugin: process execution result may be null
    • Give OperationManagerBeanTest#testScheduleGroupOperation2 more chances to pass on slow boxes
  • Tristan Tarrant <ttarrant@redhat.com> (1):
    • BZ 988894 - The AS7 plugin should support the community version of JDG Server (aka Infinispan Server)
Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.