embedded RHQ agent subsystem into WildFly
by John Mazzitelli
[sending this to the open source project community mailing lists for RHQ and Wildfly]
This is to kick off a discussion regarding embedding a RHQ agent [3] into an WildFly instance (which will also be applicable to downstream projects JON and EAP respectively - but I'll continue to use RHQ and WildFly since the code will almost certainly go in those upstream projects).
The thought is to embed a RHQ Agent in a running WildFly instance, specifically a Host Controller. In the standalone RHQ use-case, a single RHQ Agent process runs on a box and manages all the things on that box. Since there is one Host Controller on a box, it seems to make sense to embed a RHQ Agent there. This is something we can discuss (do we embed in Process Controller instead? The initial thought was no, probably not a good idea).
This would allow a person to "flip a switch" to enable RHQ management of their WildFly infrastructure running on that box without having to separately install a RHQ agent on their own.
Now, by following the "Extending WildFly 8" example subsystem [1] I already have an initial implementation of an embedded agent extension subsystem [2] and it is able to run in a standalone WildFly 6 instance. It will be turned off by default, so its footprint is minimal by default (just a few extension classes need to be loaded - like the definitions, the add/remove step handlers, etc). But when you do have it enabled, a fullblown RHQ Agent will be started in the WildFly instance. Today, I have this working - it loads all the necessary plugin jars and native libraries to manage platform services and WildFly resources. The RHQ team might even consider this as its own embedded agent for use within the RHQ Server itself (since a RHQ Server is itself running in a standalone WildFly 6 instance, this thus allows a RHQ Server to manage itself with its own embedded RHQ Agent).
It was my mistaken impression (which Brian mentioned to me recently) that Host Controllers have extensible subsystems like standalone instances do. I looked in domain.xml, saw <extension> and <subsystem> tags and just assumed it worked like standalone, but alas, it does not. So, one question would be - how easy would it be to have extension subsystems installed and run in a Host controller like we do in standalone instances? Otherwise, what has to be done to implement a new subsystem in a Host controller, if it is not done like the "Extending WildFly 8" example.
Another question (probably the first question) to answer is - do we even need to embed an agent like this? Or, is simply packaging a RHQ Agent with WildFly Host Controllers all that is needed for a better user-experience than what people have today (which is to separately install RHQ agents after they install WildFly and domain/host controllers?) Can an embedded agent provide better functionality than a separate process/instance of the RHQ agent (even if it is distributed within an WildFly distro?).
There are other issues, obviously, to consider:
* If a Host Controller gets shutdown, that means the RHQ Agent goes down with it (and thus manageability of that box goes away).
* Do we allow the RHQ Agent running in a Host Controller to manage EVERYTHING on this box (like a standalone agent would) or do we just want that agent to manage only the WildFly on that box?
** If its the latter (manage only WildFly), how do we want to be able to manage everything else on that box (or do we even want to do that?).
* What about testing requirements (what kind of tests are required to get an embedded agent into the WildFly buld?)
* How do we do packaging of an embedded agent?
* etc. etc. etc. yadda. yadda. yadda.
OK, so that's the kickoff email. I'll let others take it from here and move this conversation in the directions that people want it to go.
--John Mazz
[1] https://docs.jboss.org/author/display/WFLY8/Example+subsystem
[2] source can be found here: https://git.fedorahosted.org/cgit/rhq/rhq.git/tree/modules/enterprise/ser...
[3] see http://www.jboss.org/rhq
10 years, 10 months
Re: [wildfly-dev] [jboss-as7-dev] Wildfly's build/lib.xml behaves unexpectedly with JDK8
by Tomaž Cerar
How does this manifest?
I do have most of wildfly testsuite passing on JDK8. but never saw this
issue.
Also, please stop using as7-dev mailing list, wildfly-dev is for all
wildfly related stuff.
--
tomaz
On Fri, Feb 7, 2014 at 3:27 PM, Galder Zamarreño <galder(a)redhat.com> wrote:
> Hi,
>
> In JDK8, [1] causes issues, since the replace only happens the first time
> the character is found.
>
> We use this lib.xml in Infinispan as well [2]. I’ve workaround it by doing
> this instead:
>
> name = name.split(".").join("/");
>
> This seems to work fine, but have not fully tested it.
>
> Cheers,
>
> [1] https://github.com/wildfly/wildfly/blob/master/build/lib.xml#L75
> [2]
> https://issues.jboss.org/browse/ISPN-3974?focusedCommentId=12942643&page=...
> --
> Galder Zamarreño
> galder(a)redhat.com
> twitter.com/galderz
>
> Project Lead, Escalante
> http://escalante.io
>
> Engineer, Infinispan
> http://infinispan.org
>
>
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev(a)lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>
10 years, 10 months
access to mgmt api/services
by Bill Burke
Is there an example somewhere of getting access to the mgmt api from a
deployed servlet app? I'd like to be able to manage subsystem
configuration and store it (within standalone.xml or whatever).
Also, what is the best practice for managing in-VM services that are
shared between deployments (specifically services shared between web
deployments)?
--
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com
10 years, 10 months
Transaction synchronization between threads
by Cheng Fang
A jberet user reported JBERET-29
<https://issues.jboss.org/browse/JBERET-29> (Foreign key constraint
step_execution_jobexecutionid_fkey fails when using Postgresql on
WildFly, and we are trying to fix it by jberet 1.0.0.Final. The problem
happens when user app starts a job within a transaction (e.g., CMT EJB),
jberet inserts JobExecution into database (thread 1 & transaction 1),
and then spawn a jberet-batch thread to run the job (thead 2 &
transaction 2). Sometimes T2 tries to access db before T1 is committed,
hence the error reported by the user.
What's the common approach for solving this kind of problem? I suppose
other WildFly components may also have this issue and probably already
solved. Using transaction synchronization is a cleaner solution than
polling db, but I'm not sure about its full implication. Ideally, I
don't want to use system level JTA API like TransactionManager or
Synchronization in jberet proper, but probably we can implement it in
WildFly jberet integration.
Thanks,
Cheng
10 years, 10 months
Re: [wildfly-dev] build failure
by Tomaž Cerar
This only happens when doing -Prelease
It fails when building core distribution.
I will check when I am back at computer.
Sent from my Phone
------------------------------
From: Ales Justin <ales.justin(a)gmail.com>
Sent: 1.2.2014 12:57
To: Wildfly Dev mailing list <wildfly-dev(a)lists.jboss.org>
Subject: Re: [wildfly-dev] build failure
I'm running
Skywalker:wildfly alesj$ mvn clean install -DskipTests -Prelease
On 01 Feb 2014, at 12:56, Ales Justin <ales.justin(a)gmail.com> wrote:
I'm getting this with current upstream master
[INFO] BUILD FAILURE
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 2:13.145s
[INFO] Finished at: Sat Feb 01 12:54:29 CET 2014
[INFO] Final Memory: 389M/697M
[INFO]
------------------------------------------------------------------------
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-antrun-plugin:1.7:run (build-core) on
project wildfly-build: An Ant BuildException has occured: The following
error occurred while executing this line:
[ERROR] /Users/alesj/projects/wildfly/wildfly/build/build-core.xml:171: The
following error occurred while executing this line:
[ERROR] /Users/alesj/projects/wildfly/wildfly/build/lib.xml:49:
/Users/alesj/projects/wildfly/wildfly/build/src/main/resources/modules/system/layers/base/org/jboss/as/patching/generator/main
does not exist.
[ERROR] around Ant part ...<ant antfile="build-core.xml"
inheritRefs="true">... @ 4:52 in
/Users/alesj/projects/wildfly/wildfly/build/target/antrun/build-main.xml
Is anyone else seeing this?
10 years, 10 months
build failure
by Ales Justin
I'm getting this with current upstream master
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2:13.145s
[INFO] Finished at: Sat Feb 01 12:54:29 CET 2014
[INFO] Final Memory: 389M/697M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (build-core) on project wildfly-build: An Ant BuildException has occured: The following error occurred while executing this line:
[ERROR] /Users/alesj/projects/wildfly/wildfly/build/build-core.xml:171: The following error occurred while executing this line:
[ERROR] /Users/alesj/projects/wildfly/wildfly/build/lib.xml:49: /Users/alesj/projects/wildfly/wildfly/build/src/main/resources/modules/system/layers/base/org/jboss/as/patching/generator/main does not exist.
[ERROR] around Ant part ...<ant antfile="build-core.xml" inheritRefs="true">... @ 4:52 in /Users/alesj/projects/wildfly/wildfly/build/target/antrun/build-main.xml
Is anyone else seeing this?
10 years, 10 months