Announcing new development-release of SmartFrog: SmartFrog 3.12.040

Steve Loughran <[email protected]> Mon, 23 Jun 2008 14:42:45 +0100
Newsgroups gmane.comp.java.smartfrog.user
Message-ID <[email protected]>
I've stuck up a new release of SmartFrog, version 3.12.040; the change 
log is attached.

The reason this is considered an unstable release is that I've been 
playing with the RPM distributions. As well as the RPMs themselves, we 
release a .tar.gz file that contains everything needed to create your 
own set of RPMs -with all the JARs signed.
This allows anyone to create a set of secure SmartFrog RPMs, without 
needing to rebuild everything from scratch.

I'm still stabilising the process; this release requires the 
smartfrog-private-keys RPM to be installed or SmartFrog will not run. I 
want to tweak it so that
  * You don't need this RPM to run SmartFrog
  * This RPM will explicitly contain in only those host certificates 
that are explicitly listed.

This private-keys RPM will become the RPM that contains all secrets 
needed for a secure installation to trust other hosts or users. It will 
need to be managed carefully and not published on public sites, as that 
would allow someone untrusted to gain access to a cluster. In this 
development release, there is a private-keys RPM, but it contains only 
the contents of the directory /opt/smartfrog/private that are actually 
required to run SmartFrog:

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

Anyone who is trying to create/install secure RPMs should play with this 
file, and get in touch with me if what I'm putting together doesn't work 
for them.

-steve
-- 
-----------------------
Hewlett-Packard Limited
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.
http://sourceforge.net/services/buy/index.php

_______________________________________________
Smartfrog-users mailing list
Smartfrog-users-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/smartfrog-users
release_3.12.040.html (text/html, 11.7 KB)
<html>
<head>
  <title>SmartFrog 3.12.040</title>
</head>
<body>
<h1>SmartFrog 3.12.040</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.040; built from revision 6740

  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>
    Velocity: generation/transformation of text files during deployment
  </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>
    A .tar.gz file containing everything needed to create a private set of RPM files
    containing JAR files signed by a private Certification Authority.
  </li>
  <li>
    The original smartfrog distribution as .zip and .tar.gz (deprecated)
  </li>
</ol>
<p>

  The RPM installation is for RPM-based Linux systems. It comprises the following RPMs:
</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-javadoc</code></td>
    <td>javadocs for the project</td>
  </tr>
  <tr>
    <td><code>smartfrog-ant</code></td>
    <td>Ant task and build file execution</td>
  </tr>
  <tr>
    <td><code>smartfrog-anubis</code></td>
    <td>Distributed partition-aware tuple space</td>
  </tr>
  <tr>
    <td><code>smartfrog-csvfiles</code></td>
    <td>CSV file support</td>
  </tr>
  <tr>
    <td><code>smartfrog-database</code></td>
    <td>Database access</td>
  </tr>
  <tr>
    <td><code>smartfrog-jmx</code></td>
    <td>JMX integration though MX4J</td>
  </tr>
  <tr>
    <td><code>smartfrog-junit</code></td>
    <td>Junit 3.8.2 test execution</td>
  </tr>
  <tr>
    <td><code>smartfrog-logging</code></td>
    <td>Logging through Log4J and commons-logging</td>
  </tr>
  <tr>
    <td><code>smartfrog-networking</code></td>
    <td>SSH, SCP, FTP and email</td>
  </tr>
  <tr>
    <td><code>smartfrog-quartz</code></td>
    <td>Scheduled operations</td>
  </tr>
  <tr>
    <td><code>smartfrog-scripting</code></td>
    <td>Scripted components</td>
  </tr>
  <tr>
    <td><code>smartfrog-www</code></td>
    <td>Web support: Deployment and liveness pages</td>
  </tr>
  <tr>
    <td><code>smartfrog-xml</code></td>
    <td>XML Support</td>
  </tr>
  <tr>
    <td><code>smartfrog-xmpp</code></td>
    <td>XMPP/Jabber communications</td>
  </tr>
  <tr>
    <td><code>smartfrog-xunit</code></td>
    <td>Distributed testing and reporting</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.
</p>
<p>
  There is a special distribution .tar.gz file that can be used to generate
  a private set of secure RPM 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 6740
 of the repository, which
  is available under the SVN branch
  <a href="https://smartfrog.svn.sourceforge.net/svnroot/smartfrog/tags/release3.12.040">https://smartfrog.svn.sourceforge.net/svnroot/smartfrog/tags/release3.12.040</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>

Release Notes - SmartFrog - Version 3.12.040

<h4>        Bug
</h4>
<ul>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-516'>SFOS-516</a>] -         some tests raise a non-serializable exception in the server, when it tries to publish the events
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-841'>SFOS-841</a>] -         Remove commons-logging.properties from the source tree where it is found
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-860'>SFOS-860</a>] -         Get automated releases working again by adding support for SourceForge's new file upload process
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-862'>SFOS-862</a>] -         sfDaemon not coming up under Ubuntu
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-865'>SFOS-865</a>] -         Setting the default port from Ant tasks doesn't appear to work
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-870'>SFOS-870</a>] -         Ant starttests have been commented out for some time
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-887'>SFOS-887</a>] -         IDE is complaining about SFSystem
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-888'>SFOS-888</a>] -         A Network test is commented out
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-889'>SFOS-889</a>] -         TestCompoundsTest.testFailureWrongMessageNested() is failing and commented out
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-894'>SFOS-894</a>] -         Properties Test is failing on Hudson and (sometimes) Steve's desktop
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-898'>SFOS-898</a>] -         setSfDefaultProperties has the wrong line endings if a release is made from windows
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-902'>SFOS-902</a>] -         emailer tests are failing
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-903'>SFOS-903</a>] -         clean up email code and tests
</li>
</ul>

<h4>        Improvement
</h4>
<ul>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-843'>SFOS-843</a>] -         propagate exception received in a lifecycle event to the AssertionFailed error in Junit, hence better stack trace output
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-863'>SFOS-863</a>] -         add more env variable diagnostics to sfDiag
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-874'>SFOS-874</a>] -         change FileExists.ATTR_MAXSIZE to FileExists.ATTR_MAX_SIZE
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-877'>SFOS-877</a>] -         move JavaPackage tests to TestCompound
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-895'>SFOS-895</a>] -         fix spelling error in method names in org.smartfrog.services.shellscript.Cmd
</li>
</ul>

<h4>        New Feature
</h4>
<ul>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-811'>SFOS-811</a>] -         Create Velocity component -using sfInstaller as a template
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-833'>SFOS-833</a>] -         Add IsPropertyTrue condition to test for a property being set and == &quot;true&quot;
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-836'>SFOS-836</a>] -         add method to FileSystem to convert a vector of paths or FileIntf interfaces into a vector of absolute paths
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-857'>SFOS-857</a>] -         add ability to specify a diagnostics message when LoadClass fails to load a class
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-873'>SFOS-873</a>] -         Add diagnostics attribute to SF tasks, so that we can dump internal state
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-897'>SFOS-897</a>] -         add a new Executable interface, like Runnable but with the ability to throw Exceptions
</li>
</ul>

<h4>        Task
</h4>
<ul>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-670'>SFOS-670</a>] -         Add new sfinterface submit API to support secure deployment
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-827'>SFOS-827</a>] -         Upgrade IVY to 2.0 Beta 2
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-882'>SFOS-882</a>] -         Release SmartFrog 3.12.040
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-885'>SFOS-885</a>] -         Walk through all the test cases, looking for commented out tests that arent logged
</li>
<li>[<a href='http://jira.smartfrog.org/jira/browse/SFOS-896'>SFOS-896</a>] -         test component to check ability to obtain key and initialise MACData objects
</li>
</ul>


</body>
</html>