Sorry for this late follow up. Other work interfered.
I used the time to read SF documentation. There s lots of documentation
and I am still going through it. I am trying to understand how to combine
different components to accomplish usual administrative tasks with the
To make things simpler I would try to use some of the infrastructure that
is already in place. There is a bash script can reliably stop, start and
restart JBoss and Apache servers in predefined sequence. My first goal
would be to integrate this script with SF. I have noticed that SF provides
ShellScript and SSH under core and optional services. The ShellScript
service could be used to run the bash control script and SSH to transfer
the new application file (EAR or WAR) to all of the targeted hosts. I
would also like to test SmartFrog installer component. It could help us
push SF to new nodes from a central location.
Initially I would like to do the following thing
1) Control JBoss and apache using SF and our control bash script. It would
be nice if the SF component could report back to the server about the
status of JBoss.
2) Implement deploy procedure.
- The admin should signal SF nodes that they should start the
- Each node downloads the EAR/WAR file from a central repository.
We must use SFTP/SCP for this task. FTP service is not enabled for
- The integrity of the EAR file is checked (jar -tf foo.ear)
- JBoss/Apache stopped using the bash script
- New EAR file deployed
- JBoss/Apache started using the bash script
In parallel we could work with Cargo to replicate all the features that
the bash script provides. I have the feeling that would take some time to
complete. If I understood you correctly you need to finish the
integration of Cargo with SF first.
And one more thing. I believe that the jboss4.sf declaration is tied to
the use of Cargo, right?
Please let me know if everything I said make sense. If, yes, I will start
implementing #1 and #2. I might need some help from you to complete them.
I will work with you on using and testing a configuration that
Senior Unix Admin
Electronic Support Services
John Wiley & Sons, Inc.
Steve Loughran <steve_loughran@...>
Sent by: smartfrog-developer-bounces@...
01/09/2008 09:46 AM
Re: [Smartfrog-developer] Using smart-frog to automate management of JBoss
> I am new to the list and SmartFrog. I would like to find out if anyone
> used SmartFrog to automate deployments and configuration management of
> JBoss servers. Our company in increasingly using them for hosting of
> large volume Web applications. We reached the point when the automation
> their administration is needed.
> I've already read the documentation and was pleased with the
> of SmartFrog. Our concerns are related in great part to reliability,
> scalability and performance penalties (CPU mainly) caused by
> of SmartFrog on a production host. It would be nice to hear expereinces
> from other users.
One things are running, there's minimal CPU overhead. The only load on
running systems is liveness, where a thread walks down the tree checking
that everything is alive, according to their sfPing() methods.
Components that do heavier work here (such as issue SQL commands or GET
urls) can put load on the system. To manage this you can control the
frequency of liveness checks. Memory footprint is a function of how many
components are deployed...you can get away with the SmartFrog JVM being
relatively small, and starting JBoss in its own process.
> Since SmartFrog is a framework we would need to invest significant
> in building and testing the components required to support our
There is already a declaration to start up JBoss, extending the
server-neutral deploy-by-copy www server, that handles deployment of
things underneath just by copying the JAR files to a target directory.
Here's the URL to the descriptor
To actually start JBoss, we just set up the Java component with the
right arguments, and add the JDK's tools.jar to the classpath, which is
needed to compile JSP pages.
I've also played with using Cargo under SmartFrog to manage the
start/stop; Cargo is the tool from codehaus that can start/stop lots of
different application servers: http://cargo.codehaus.org/
As I recall, Cargo 0.8 was breaking with an NPE, and when I moved up to
cargo 0.9. all our tests broke (
http://jira.smartfrog.org/jira/browse/SFOS-138 ). I haven't been doing
any work on cargo since may/june.
Beyond that, there is JMX configuration. We do have a jmx component
bundle, sf-jmx, that uses MX4J; we've been pondering moving to Java 5
JMX instead, which would make for a lighter distribution. The JMX
integration is two way: SF components become JMX configurable; JMX
MBeans can be set under SmartFrog. We've not looked at starting JBoss
this way -yet.
I'd recommend you start with the jboss4.sf template, which ships within
the sf-www component, then put enough pressure on me to bring the Cargo
component up to cargo 0.9 and get the tests working again. Once we have
those tests stable we can turn them on in the continuous integration
servers, which stops any regressions creeping in to the SmartFrog side
of the codebase. Any tests you can contribute here would be beneficial
-currently we create a test WAR that we deploy in jetty, tomcat and
jboss -I don't test EAR files, or the JBoss-specific SAR files. It would
be good to create some of these and something that deploys anything else
that is JBoss-specific.
As you're interested in JBoss support, I can put more some time into it,
especially if you are willing to help with testing what I'm doing. What
platform are you likely to run underneath -windows/unix? and which JVM?
>I am curious if anyone has tried to build a GUI that would
> simplify the automation tasks.
We have an Eclipse plugin, and a NetBeans component was contributed
-I've been working on the latter recently but I havent cut a release of
it yet. These are both essentially text editor modes with some ways of
Registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
Smartfrog-developer mailing list