Red Hat Bugzilla – Bug 846385
contradiction of eap and jdg plugins
Last modified: 2015-09-02 20:01:17 EDT
Description of problem:
When both jdg and eap plugins are installed, eap server is started and inventoried, there are some problems with the eap plugin functionality - it is not possible to create infinispan cache resources, it is not possible to edit infinispan resources,
Version-Release number of selected component (if applicable):
JON 3.1.1 ER1
Steps to Reproduce:
1.Install jon with both jdg and eap plugins
2. start eap server
3. start jon
4. inventory eap server
5. try to edit add infinispan cache resources
it is not possible to edit, add infinispan cache resources
it is possible to add / edit infinispan cache resources
The JDG plugin uses the same subsystem discovery class as the AS7 plugin. The Cache resource is present in the two plugins (basically it's the same subsystem to be discovered) and is discoverable by both plugins. In this case it just happens that the resource gets discovered through JDG version of the Cache descriptor.
The same problem would occur if a JDG server is inventoried. Two resources attempting to discover the same subsystem. The result is somewhat unpredictable.
A patch would need to fix both cases:
1) The AS7 Cache resource should be discovered/activated only for EAP6 resources but not for JDG resources.
2) The JDG Cache resource should be discovered/activated only for JDG resources but not EAP6 resources.
Fixes need to be added to both plugins and in this case they need to be very specific to testing for JDG vs EAP6 parent resources.
Ok, so we see both Infinispan types in the subsystem discovery.
So "only the check is wrong"
Tested with jdg plugin + eap plugin enabled
- eap standalone found the eap types
- eap domain found the eap types (no duplicate infinispan resources found)
- jdg standalone found the jdg types
- jdg domain does not exist.
Stefan reviewed the change.
So the situation is as follows:
The JDG plugin and the as7 plugin both have a type called "Infinispan".
The type as7/Inifinispan has slightly different behavior than the jdg/Infinispan type (see below).
My comments 2-5 were about that the types were not always detected correctly and the JDG version was detected for EAP serves. This especially applied to the type=Cache resources.
As Cache/JDG is read-only and no children were created, you were seeing this on EAP as described in the original description.
My fixes made sure that the as7-types are used for EAP and the JDG types for JDG.
So on EAP you will be able to create new cache resources on EAP now, while on JDG this will not be possible (as the plugin does not allow it).
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.