Hide Forgot
Testing latest JDG jon-server-plugin (ER2/ER3) on this configuration: JON 3.2.0.ER3 + rhq-jboss-as-7-plugin-4.9.0.JON320ER1.jar + infinispan-server-rhq-plugin-6.0.0.CR1-redhat-1.jar Infinispan resource is not exposed under list of respective JDG subsystems. However, we are able to see Endpoint (= Infinispan Server) resource there. We suspect this issue is caused by mismatch in product names and "something" else in the latest version of rhq-jboss-as-7-plugin (i.e. 4.9.0) because Infinispan subsystem was visible using rhq-jboss-as-7-plugin 4.4.0.
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).