Bug 852552

Summary: [as7] Cannot unset resource configuration properties
Product: [Other] RHQ Project Reporter: Stefan Negrea <snegrea>
Component: PluginsAssignee: Stefan Negrea <snegrea>
Status: CLOSED CURRENTRELEASE QA Contact: Mike Foley <mfoley>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.4CC: hrupp
Target Milestone: ---   
Target Release: RHQ 4.5.0   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugzilla.redhat.com/show_bug.cgi?id=1023564
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 852662 (view as bug list) Environment:
Last Closed: 2013-09-01 06:09:21 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 707223, 852662, 1023564, 1031181    

Description Stefan Negrea 2012-08-28 18:25:25 EDT
Description of problem:
For various AS7 subresources, cannot unset resource configuration properties. The properties are updated to any value that is non-empty. The properties however, do not get updated if either the unset checkbox is clicked or if the value from the field is empty. 

This only applies to non-required properties. For required properties the option to unset the property is not available, and the save button is disable until the field has a non-empty value (UI Validation).

How reproducible:

Steps to Reproduce:
1. Discover and import an AS7 standalone server
2. Find any resource with non-required properties that currently set.
3. Either click on the unset checkbox or remove all the contents of the textbox
4. Save the configuration
Actual results:
The save operation succeeds but the property values is still set to the old value (before unset)

Expected results:
The save operation succeeds but the property is now null or the default value if a default value is available for the property.

Additional info:
This bug does not apply to resource creation. If a field is set to unset in the resource creation page, the field will get the default AS7 value upon resource creation since the AS7 plugin will not send a property configuration request to AS7 for the respective property.
Comment 1 Stefan Negrea 2012-08-29 04:35:07 EDT
The following resources had to be updated because of this change. There is no functional update to any of these resources. All the changes are done to prevent regressions due to the plugin sending all the properties back to the server.

1) Transport (*/subsystem=infinispan/cache-container=*/transport=TRANSPORT):
Removed Transport properties that were no longer in the resource definition. 

2) Mod-cluster Configuration (/subsystem=modcluster,mod-cluster-config=configuration):
Replaced a property name referenced by alias with the actual name. The alias is no longer working correctly. 

3) Distributed Cache (*/subsystem=infinispan/cache-container=*/distributed-cache=*):
Created a separate resource for distributed-cache because it has three extra properties when compared to invalidation-cache and replicated-cache.

4) Socket-Binding Group:
Update the resource component to avoid sending port-offset configuration to the server for AS7 host controllers by removing the property completely from the definition and update report. Before this change, the property was not sent anyway because it was null, and null values were not sent to the server.

5) Transactions (*/subsystem=transactions):
Added special validation rules for properties.

6) Data-source and XA Data-source:
Updated the way configuration updates are sent for 9 properties. While these properties look undefined in the server, they cannot undefined or set to null at any point in time. The application server makes use of the default value at all times.
Comment 3 Heiko W. Rupp 2013-09-01 06:09:21 EDT
Bulk closing of items that are on_qa and in old RHQ releases, which are out for a long time and where the issue has not been re-opened since.