Bug 1017654
| Summary: | JON (3.2.0) server plugin, Infinispan resource is not detected | ||
|---|---|---|---|
| Product: | [JBoss] JBoss Data Grid 6 | Reporter: | Tomas Sykora <tsykora> |
| Component: | JON Plugin | Assignee: | Tristan Tarrant <ttarrant> |
| Status: | CLOSED UPSTREAM | QA Contact: | Martin Gencur <mgencur> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.2.0 | CC: | jdg-bugs |
| Target Milestone: | --- | ||
| Target Release: | 6.2.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2025-02-10 03:28:43 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | 1018179, 1028047 | ||
| Bug Blocks: | 1010994, 1017190 | ||
|
Description
Tomas Sykora
2013-10-10 09:56:10 UTC
Adding into jdg62blockers. This is even blocker for further testing of jdg jon-server-plugin in oncoming jdg releases (ERs, Beta, CRs). Ah! I finally found something useful:
org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException: Failed to start component for resource Resource[id=10108, uuid=cfd3c6d8-3a17-4f64-8842-3ae6a05970f3, type={JBossAS7}JBossAS7 Standalone Server, key=hostConfig: /home/hudson/jboss-as-jdg6-node1/standalone/configuration/standalone.xml, name=ISPN (0.0.0.0:9990), parent=auto-jdg-agent1.bc.jonqe.lab.eng.bos.redhat.com, version=ISPN 6.2.0].
at org.rhq.core.pc.inventory.InventoryManager.activateResource(InventoryManager.java:1937)
at org.rhq.core.pc.inventory.InventoryManager.refreshResourceComponentState(InventoryManager.java:3371)
at org.rhq.core.pc.inventory.InventoryManager.mergeResource(InventoryManager.java:3255)
at org.rhq.core.pc.inventory.InventoryManager.mergeModifiedResources(InventoryManager.java:2964)
at org.rhq.core.pc.inventory.InventoryManager.synchInventory(InventoryManager.java:1252)
at org.rhq.core.pc.inventory.InventoryManager.synchInventory(InventoryManager.java:1211)
at org.rhq.core.pc.inventory.InventoryManager.handleReport(InventoryManager.java:1193)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.call(RuntimeDiscoveryExecutor.java:126)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.call(RuntimeDiscoveryExecutor.java:61)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: org.rhq.core.pluginapi.inventory.InvalidPluginConfigurationException: The original product type discovered for this AS7 server was Infinispan Server, but the server is now reporting its product type is [JBoss JDG 6].
at org.rhq.modules.plugins.jbossas7.BaseServerComponent.validateServerAttributes(BaseServerComponent.java:220)
at org.rhq.modules.plugins.jbossas7.BaseServerComponent.getAvailabilityNow(BaseServerComponent.java:154)
at org.rhq.modules.plugins.jbossas7.BaseServerComponent.getAvailability(BaseServerComponent.java:139)
at org.rhq.modules.plugins.jbossas7.BaseServerComponent.start(BaseServerComponent.java:101)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocation.call(ResourceContainer.java:654)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
... 3 more
We probably need to change line:
} else if (slot.equals("jdg")) { to
} else if (slot.equals("jdg") || slot.equals("ispn")) {
here:
https://github.com/rhq-project/rhq-plugins/blob/7179fb5889577fd86f621e932eb69ab538d77ccb/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/JBossProductType.java
or whip JDG product with product.conf file which contains slot="jdg" instead of slot="ispn" but this is not flexible enough.
Someone maybe needs to monitor community based ispn server.
Therefore, we probably need to change detection mechanism in rhq-jboss-as-7 plugin as our jdg plugin depends on this and its discovering mechanisms.
Aforementioned link is deprecated. Latest plugins are built using this repo: https://git.fedorahosted.org/cgit/rhq/rhq.git/tree/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/JBossProductType.java I can see decision flow: } else if (slot.equals("ispn")) { productType = JBossProductType.ISPN; } else if (slot.equals("jdg")) { productType = JBossProductType.JDG; The problem is cause by some mixture between these 2 types. "The original product type discovered for this AS7 server was Infinispan Server, but the server is now reporting its product type is [JBoss JDG 6]" Something similar (maybe exactly the same) happened for Portal plug-in. This is fix for that Portal issue: https://git.fedorahosted.org/cgit/rhq/rhq.git/commit/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/JBossProductType.java?id=02ed9c403f3ee1aa7fb1b5f1e1cee5713997fa56 Maybe we need to consider removing JDG or ISPN product type from list. Our product.conf in ispn server is reporting slot=ispn and I don't think this will change in JDG GA distribution. Any thoughts? I've found what's the cause of this problem. Look at line 216 here: https://git.fedorahosted.org/cgit/rhq/rhq.git/tree/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/SubsystemDiscovery.java boolean ourPluginTypeIsJdg = ourType.getPlugin().equals("JDG"); In SubsystemDiscovery is method (private boolean shouldSkipEntryWrtIspn) which decides about skipping Infinispan subsystem and not registering/showing him. ourPluginTypeIsJdg is returning FALSE, because our plugin in InfinispanServer is named: InfinispanServer. Therefore, AS discovery is simply ignoring him. I will create respective bugzilla for JON jboss-as-7 plugin and suggest changes which should fix it. I hope it will be enough: boolean ourPluginTypeIsJdg = (ourType.getPlugin().equals("JDG") || (ourType.getPlugin().equals("InfinispanServer")); pfff, this was quite tricky. This doesn't need release note for 6.2.BETA release. this is a blocker for JON 3.2 release Setting NEW -> VERIFIED directly. This product-related bug was fixed by renaming plugin from InfinispanServer to JDG during product build. VERIFIED for ER4. We are able to see Infinispan resource using ER4 server plug-in and latest JON ER7. And there is only one resource there (correct). This product has been discontinued or is no longer tracked in Red Hat Bugzilla. |