Announcing SmartFrog release 3.12.006

Steve Loughran <[email protected]> Thu, 25 Oct 2007 16:44:53 +0100
Newsgroups gmane.comp.java.smartfrog.devel,gmane.comp.java.smartfrog.user
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------050409090308080400070304
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit


Hello everyone. I'm pleased to announce the latest release of SmartFrog, 
3.12.008, which has successfully moved up the versions of jetty and jsch 
used by the Jetty and SSH components respectively, and which adds a new 
reference type, CONSTANT, to extract the value of a static constant in a 
Java class.

As usual, please let us know of any problems, especially with the 
changes to the Jetty and SSH components. There is a risk that things 
have broken there, so get in touch if things are not behaving as 
expected. Be aware that I have one more change to SSHExec planned for 
the next release: the commands will all be executed asynchronously.

-Steve

SmartFrog 3.12.008
======================

This is a new release of SmartFrog, the Java-based, LPGL-licensed
distributed deployment framework developed by HP Laboratories. SmartFrog
enables applications to be deployed across multiple machines,
configuring different aspects of the system so that they are all
consistently configured, and managing the life-cycle of the application
as a whole. The project's home page is http://smartfrog.org/

The release artifacts are available at

http://sourceforge.net/project/showfiles.php?group_id=87384&package_id=176308

This release is 3.12.008; built from revision 5390
of the SVN repository. This release has an extended language
with the ability to tag attributes, and includes the following items:

* Core smartfrog daemon, including services to manage files, start and stop
   Java and native programs.
* Example components and applications.
* Ant support: ant tasks to deploy and terminate applications from a build.
* Ant components: the ability to execute ant tasks in a deployment.
* Anubis: a partition aware tuple-space that can be used to implement fault
   tolerant systems.
* Database: components to issue database commands, and deploy HSLDB and 
MySQL.
* JMX: the ability to configure and manage JMX components, and to manage
   SmartFrog components over JMX.
* Logging: integration with Apache commons-logging and Log4J
* Networking: email, FTP, SSH, DNS support.
* Quartz: scheduled operations using Quartz libraries.
* Scripting: support for BSF-hosted scripting languages
* Testing: Distributed JUnit and component testing with SFUnit.
* WWW: deployment of WAR and EAR files to application servers. 
deploy-by-copy
   is provided for all application servers that support it, and sample 
templates
   are provided to start and stop Tomcat and JBoss. The Jetty component can
   configure and deploy individual servlets, eliminating much of the 
need for WAR
   files and application servers.
* XML: XML support with XOM.
* XMPP: Presence and messaging over Jabber.

Packaging
=========

This release is available as:

* RPM files inside a .tar.gz file.
* a JAR installer.
* the original core smartfrog distribution as .zip and .tar.gz (deprecated)


The RPM installation is for RPM-based Linux systems. It comprises three RPM
files, smartfrog, smartfrog-daemon and smartfrog-demo:

smartfrog:        the core SmartFrog distribution.
smartfrog-daemon: the shell scripts to add the smartfrog distribution to the
                   path, and to run the daemon on start-up.
smartfrog-demo:   example code and documentation.

All the JAR files are also published to a repository that is compatible with
Apache Maven and Ivy. Add http://smartfrog.sourceforge.net/repository/
to your repository list to pull SmartFrog artifacts into your Ivy- or
Maven- based build.

There are also SmartFrog components to retrieve artifacts from such a 
repository
(the Library components under /org/smartfrog/services/os/java/library.sf ),
which can be used for dynamic download of SmartFrog and other artifacts.


Security warning
================

Unless SmartFrog is configured with security, a running daemon will
listen on its configured port for incoming deployment requests, and
deploy the applications with the rights of the user running the daemon.
When the smartfrog-daemon RPM is installed, that means that a process
running as root will be listening on an open port for incoming
deployment requests. Do not deploy SmartFrog this way on any untrusted
network, not without turning security on and, ideally, recreating the
RPMs with signed JAR files.

Building SmartFrog
==================

SmartFrog requires Java 1.5 and Ant 1.7 to build. The izpack and source 
.zip and
.tar.gz distributions include a source tree adequate to build the
entire system. To build a later release, please follow the instructions at
   http://sourceforge.net/svn/?group_id=87384
to check out smartfrog/trunk/core from our repository.

This release was built with revision 5390 of the repository, which
is available under the SVN branch
https://smartfrog.svn.sourceforge.net/svnroot/smartfrog/tags/release3.12.008

We strongly encourage anyone interested in building or extending
SmartFrog to get involved in the SmartFrog developer mailing list, which
can be found from the sourceforge project page
http://sourceforge.net/projects/smartfrog/

Reporting Bugs
==============

Please file all bug reports at http://jira.smartfrog.org/

Thank you!

The SmartFrog Team        http://smartfrog.org/

Changes since last release
==========================

There have been various bug fixes and enhancements to the core, and to 
the Anubis, Jetty and SSH components

SFOS-506 new reference type: CONSTANT

There is a new reference type which can extract the value of a static 
field in
a Java class. This is useful for extracting text strings from existing code:

  ExpectedText CONSTANT "org.smartfrog.example.Test.ErrorText";

In this example, ExpectedText is set to the string constant ErrorText in the
class org.smartfrog.example.Text. The type of the resolved reference is that
of the static object, such as string or integer. LAZY CONSTANT 
references are
evaluated on the SmartFrog host; non-LAZY references during preflight.

SFOS-512 rpmlint gives warnings and errors

There have been some changes to the RPM packaging, so rpmlint raises no 
errors
and less warnings. Specifically
  -the .el4 suffix indicates the RPMs are compatible with RedHat Enterprise
   Linux 4
  -the symbolic links from /opt/smartfrog/links to versionned artifacts 
are now
   managed by the rpm tools, instead of created and deleted by custom 
scripts.
  -the permissions on some files have been tightened.

SFOS-357: Move Jetty support up to Jetty 6 (ongoing)

The migration of the Jetty components to Jetty 6 is now complete. Jetty
HTTP/HTTPS servers can be deployed, and web application and servlet contexts
deployed atop them.

Jetty 6 security is higher than before, with two consequences
  -it is no longer possible to export a directory tree, and have Jetty
   create index pages.
   Explicit index.html pages are required. Otherwise, a 403 forbidden or 404
   not-found response is generated
  -Web applications must explicitly list their welcome files in a section of
   web.xml. Consult the servlet documentation for the specifics of this.

In our own testing, these security changes create the appearance
that Jetty is not deploying some web applications. It is deploying them, 
only
more securely than before.

SFOS-519 Move up to jsch 0.1.31

The SSH components have moved up to Jsch-0.1.31, and rewritten internally
  -all implementation classes share the same base class and template 
descriptor
  -authentication policy (key or password) is now controlled via an 
attribute,
  "authentication".
  -the components use the standard workflow attributes to control their
   termination policy.
  -all the configuration options are checked before a connection is 
attempted.
   This finds problems early, rather than late
  -private key files for scp and sshexec, and the list of local files 
for scp,
   are now enhanced to take references to components implementing the 
FileIntf
   interface, as well as simple strings. This makes it easier to use 
components
   as sources of files.

Release Notes - SmartFrog - Version 3.12.008

** Bug
     * [SFOS-356] - NPE when Jetty terminates
     * [SFOS-488] - LogFactory.LogFactory.infinite loop in getLog if a 
Prim cast to an Object is passed down
     * [SFOS-491] - LogFactory.getLog(Object) always returns null 
instead of a log
     * [SFOS-492] - LogFactory doesnt register all logs using the same keys
     * [SFOS-507] - scp component does not check the transfer type 
before connecting
     * [SFOS-512] - rpmlint gives warnings and errors


** Improvement
     * [SFOS-487] - the LogFactory should catch .class files being sent 
in, and use the name of the class for creating logs
     * [SFOS-490] - Add static method to FileSystem to check for 
existence/type and size of a file
     * [SFOS-502] - SSH components should not implement their auth 
policy by subclassing
     * [SFOS-503] - SSH components should support File components as a 
source of keyfile
     * [SFOS-508] - scp component could improve its handling of 
local/remote file lists
     * [SFOS-509] - scp operation should be asynchronous
     * [SFOS-510] - extract a method to apply the resolution of 
filenames to a single object, such as may be returned from a remote 
call, or found in a vector
     * [SFOS-511] - FileSystem should catch when a FileIntf instance 
returns a null path, so callers don't have to

** New Feature
     * [SFOS-506] - new reference type: CONSTANT


** Task
     * [SFOS-423] - Move up to Ant 1.7
     * [SFOS-496] - code review the Ant component
     * [SFOS-517] - Create Release 3.12.008
     * [SFOS-519] - Move up to jsch 0.1.31

** Sub-task
     * [SFOS-474] - add SLF4J support to logging services
     * [SFOS-513] - rpmlint expects .el4 or later endings on RPMs
     * [SFOS-514] - set up symlinks in the rpm tar, instead of doing it 
in scripts afterwards



-----------------------
Hewlett-Packard Limited
Registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England

--------------050409090308080400070304
Content-Type: text/html;
 name="release_3.12.006.html"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="release_3.12.006.html"

<html>
<head>
  <title>SmartFrog 3.12.006</title>
</head>
<body>
<h1>SmartFrog 3.12.006</h1>

<p>
  This is a new release of SmartFrog, the Java-based, LPGL-licensed distributed
  deployment framework developed by HP Laboratories. SmartFrog enables
  applications to be deployed across multiple machines, configuring different
  aspects of the system so that they are all consistently configured, and managing
  the life-cycle of the application as a whole. The project's home page is
  <a href="http://smartfrog.org/">http://smartfrog.org/</a>
</p>

<p>
  The release artifacts are available at
  <a
          href="http://sourceforge.net/project/showfiles.php?group_id=87384&amp;package_id=176308">
    http://sourceforge.net/project/showfiles.php?group_id=87384&amp;package_id=176308</a>
</p>

<p>
  This release is 3.12.006; built from revision 5245
  of the SVN repository. This release has an extended language
  with the ability to tag attributes, and includes the following items:
</p>
<ul>
  <li> Core smartfrog daemon, including services to manage files, start and stop
    Java and native programs.
  </li>
  <li> Example components and applications.
  </li>
  <li> Ant support: ant tasks to deploy and terminate applications from a build.
  </li>
  <li> Ant components: the ability to execute ant tasks in a deployment.
  </li>
  <li> Anubis: a partition aware tuple-space that can be used to implement fault
    tolerant systems.
  </li>
  <li> Database: components to issue database commands, and deploy HSLDB and MySQL.
  </li>
  <li> JMX: the ability to configure and manage JMX components, and to manage
    SmartFrog components over JMX.
  </li>
  <li> Logging: integration with Apache commons-logging and Log4J
  </li>
  <li> Networking: email, FTP, SSH, DNS support.
  </li>
  <li> Quartz: scheduled operations using Quartz libraries.
  </li>
  <li> Scripting: support for BSF-hosted scripting languages
  </li>
  <li> Testing: Distributed JUnit and component testing with SFUnit.
  </li>
  <li> WWW: deployment of WAR and EAR files to application servers. deploy-by-copy
    is provided for all application servers that support, and a tomcat-specific
    component can communicate with Apache Tomcat. The Jetty component can
    configure and deploy individual servlets, eliminating much of the need for WAR
    files themselves.
  </li>
  <li> XML: XML support with XOM.
  </li>
  <li> XMPP: Presence and messaging over Jabber.
  </li>
</ul>

<h3>Packaging</h3>

<p>
  This release is available as:
</p>
<ol>
  <li> RPM files inside a .tar.gz file.
  </li>
  <li> a JAR installer.
  </li>
  <li>the original core smartfrog distribution as .zip and .tar.gz (deprecated)
  </li>
</ol>
<p>

  The RPM installation is for RPM-based Linux systems. It comprises three RPM
  files, smartfrog, smartfrog-daemon and smartfrog-demo:
</p>

<table>
  <tr>
    <td><code>smartfrog</code></td>
    <td>The core SmartFrog distribution.</td>
  </tr>
  <tr>
    <td><code>smartfrog-daemon</code></td>
    <td>The shell scripts to add the smartfrog distribution to the
      path, and to run the daemon on start-up.
    </td>
  </tr>
  <tr>
    <td><code>smartfrog-demo</code></td>
    <td>Example code and documentation</td>
  </tr>
  <tr>
    <td><code>smartfrog-anubis</code></td>
    <td>Anubis partition-aware "tuple space"</td>
  </tr>
  <tr>
    <td><code>smartfrog-logging</code></td>
    <td>Enhanced logging</td>
  </tr>
</table>
<p>
  All the JAR files are also published to a repository that is compatible with
  Apache Maven and Ivy. Add
  <a
          href="http://smartfrog.sourceforge.net/repository">http://smartfrog.sourceforge.net/repository</a>
  to your repository list to pull SmartFrog artifacts into your Ivy- or Maven- based build.
</p>

<p>
  There are also SmartFrog components to retrieve artifacts from such a repository
  (the Library components under /org/smartfrog/services/os/java/library.sf ),
  which can be used for dynamic download of SmartFrog and other artifacts.
</p>

<h3>Security warning</h3>

<p>

  Unless SmartFrog is configured with security, a running daemon
  will listen on its configured port for incoming deployment requests, and deploy
  the applications with the rights of the user running the daemon. When the
  smartfrog-daemon RPM is installed, that means that a process running as root
  will be listening on an open port for incoming deployment requests. Do not
  deploy SmartFrog this way on any untrusted network, not without turning security
  on and, ideally, recreating the RPMs with signed JAR files.
</p>

<h3>Building SmartFrog</h3>

<p>
  SmartFrog requires Java 1.5 and Ant 1.7 to build. 
</p>

<p>

  The distribution does not include a source tree adequate to build the entire
  system. Please follow the instructions at
  <a href="http://sourceforge.net/svn/?group_id=87384">http://sourceforge.net/svn/?group_id=87384
  </a>
  and check out smartfrog/trunk/core from our repository.
</p>

<p>

  This release was built with revision 5245 of the repository, which
  is available under the SVN branch
  <a href="https://smartfrog.svn.sourceforge.net/svnroot/smartfrog/tags/release3.12.006">https://smartfrog.svn.sourceforge.net/svnroot/smartfrog/tags/release3.12.006</a>
</p>

<p>
  We strongly encourage anyone interested in building or extending smartfrog to
  get involved in the smartfrog developer mailing list, which can be found from
  the sourceforge project page
  <a href="http://sourceforge.net/projects/smartfrog/">
    http://sourceforge.net/projects/smartfrog/</a>
</p>


<h3>Reporting Bugs</h3>

<p>
  Please file all bug reports at <a
        href="http://jira.smartfrog.org/">http://jira.smartfrog.org/</a>
</p>

<p>
  The SmartFrog Team
</p>


<h3>Changes since last release</h3>

<p>
SFOS-486: Add property to SF CLI to be able to load descriptions from the filesystem 
when security is on
</p>

<p>

If you set the environment variable SFSECURERESOURCES_OFF=ENABLED, then resources
can be loaded from unsigned JARs. In a daemon, this exposes in a security risk. 
In the client-side programs, this is a useful feature, as it means that even when 
SmartFrog is running in secure mode, it can parse and deploy SmartFrog descriptions
from the local filesystem. In this case the client node itself must be trusted, 
as malicious deployment descriptors could be instantiated. 
</p>

<p>

SFOS-357: Move Jetty support up to Jetty 6 (ongoing)
</p>

<p>

This release contains a preview of the Jetty-6 support in the Jetty component. This is not yet
stable; anyone using Jetty under SmartFrog should remain with a previous release of SmartFrog 3.12. 
Be advised that one change is not backwards compatible: the Jetty component is no longer a 
compound; you can no longer nest servlet and web application components under Jetty. Removing 
this feature makes the lifecyle of the server and its children more deterministic, and produces 
more stable deployments. 
</p>

<p>

However, it does mean that existing deployment descriptors will break. Plan for the change by 
moving all children of Jetty components into a Compound that deploys Jetty and its contents. 
</p>

   
<h4>        Bug
</h4>
<ul>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-224'>SFOS-224</a>] -         headless mode isn't working
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-287'>SFOS-287</a>] -         org.smartfrog.services.ssh.FilePasswordProvider reads in a file without any current directory
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-470'>SFOS-470</a>] -         Clean up threadlocal instances during component termination, when appropriate
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-481'>SFOS-481</a>] -         TestCompound doesnt set its forcedTimeout attribute when the action or tests are terminated by a forced shutdown
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-485'>SFOS-485</a>] -         release build.xml isn't compatible with Ant1.7.0
</li>
</ul>
        
<h4>        Improvement
</h4>
<ul>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-133'>SFOS-133</a>] -         stop Cruise Control javadocs from complaining about various things in some components
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-428'>SFOS-428</a>] -         Eclipse whines about a lot of minor things
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-463'>SFOS-463</a>] -         adopt StringBuilder in common StringBuffer operations
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-469'>SFOS-469</a>] -         Hide ThreadLocal use in SFInputStream
</li>
</ul>
    
<h4>        New Feature
</h4>
<ul>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-486'>SFOS-486</a>] -         Add property to SF CLI to be able to load descriptions from the filesystem when security is on.
</li>
</ul>
        
<h4>        Task
</h4>
<ul>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-139'>SFOS-139</a>] -         Move up to Ivy 2.0.0 alpha/beta releases
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-421'>SFOS-421</a>] -         Run IDE code analysis over source to look for issues and Java5 upgrades
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-484'>SFOS-484</a>] -         Release SmartFrog 3.12.006
</li>
</ul>
    
<h4>        Sub-task
</h4>
<ul>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-41'>SFOS-41</a>] -         Make font bigger, in both gui and console (for demos etc)
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-426'>SFOS-426</a>] -         Move workflow components to Java5
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-477'>SFOS-477</a>] -         stop making jetty a compound, as it only confused the lifecycle of children
</li>
</ul>


</body>
</html>


--------------050409090308080400070304
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
--------------050409090308080400070304
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Smartfrog-developer mailing list
Smartfrog-developer-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/smartfrog-developer

--------------050409090308080400070304--