I am pleased to announce that SmartFrog 3.12.026 is now up on SourceForge for people to download. Here is the text announcement, and the HTML version with links that work.

Looking at the interesting changes in this release, some key ones that stand out are:

* All shell scripts/batch files take a -p option that specifies the port to work with. This simplifies running SmartFrog on different ports, including multiple versions of SmartFrog
simultaneously.

* The LivenessPage and WaitForPage components in the sf-www package now support authenticated access to web pages; this enables the components to connect to the dyndns.org services to dynamically register hostnames. We provide templates to demonstrate this. You can provide a regular expression for the responses to a GET, and the values will be extracted as attributes of the component.

* More graceful handling of bad network states. Remember, SmartFrog uses Java RMI, a technology which does not like the hostname of the local host not resolving in the network stack. SmartFrog detects this and keeps going, but you may not be able to deploy all that you wish to.


* There is a new component bundle, sf-csvfiles, in the smartfrog-csvfiles RPM. This can read in lines from a .csv file, be they created by a spreadsheet or another program. A column from a CSV file can be turned into a list attribute of a component, so enabling parts of a deployment to be spreadsheet driven. There is also a component in the sf-xml package which runs through a CSV file (or other source of tuples) and generates an XML file from it, XML that can then be transformed
using XSL operations into other text formats.

View the CSV support as preliminary, the ultimate goal is to drive a database from it, so that you can go from a spreadsheet-defined table of test data to a populated database. This will be good for testing and for setting up databases at deploy-time.


SmartFrog 3.12.026
======================

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.026; built from revision 6168
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.
* Comma Separated Value file input: drive parts of the deployment from spread-sheet
  edited information.
* 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. The archive contains the
following RPM files:

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.
smartfrog-javadocs: javadocs for the project

smartfrog-ant:    Ant task and build file execution
smartfrog-anubis: Distributed partition-aware tuple space
smartfrog-csvfiles: CSV file support
smartfrog-database: Database access
smartfrog-jmx:    JMX integration though MX4J
smartfrog-junit:  Junit 3.8.2 test execution
smartfrog-logging: Logging through Log4J and commons-logging
smartfrog-networking: SSH, SCP, FTP and email
smartfrog-quartz:  Scheduled operations
smartfrog-scripting: Scripted components
smartfrog-www:      Web support: Deployment and liveness pages
smartfrog-xml:      XML Support
smartfrog-xmpp:     XMPP/Jabber communications
smartfrog-xunit:    Distributed testing and reporting

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 6168 of the repository, which
is available under the SVN branch
https://smartfrog.svn.sourceforge.net/svnroot/smartfrog/tags/release3.12.026

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
==========================

The main changes in this release are:-

* All shell scripts/batch files take a -p option that specifies the port to work with. This simplifies running SmartFrog on different ports, including multiple versions of SmartFrog
simultaneously.

* There is a new component bundle, sf-csvfiles, in the smartfrog-csvfiles RPM. This can read in lines from a .csv file, be they created by a spreadsheet or another program. A column from a CSV file can be turned into a list attribute of a component, so enabling parts of a deployment to be spreadsheet driven. There is also a component in the sf-xml package which runs through a CSV file (or other source of tuples) and generates an XML file from it, XML that can then be transformed
using XSL operations into other text formats.

* The LivenessPage and WaitForPage components in the sf-www package now support authenticated access to web pages; this enables the components to connect to the dyndns.org services to dynamically
register hostnames. We provide templates to demonstrate this.

* More graceful handling of bad network states. Remember, SmartFrog uses Java RMI, a technology which does not like the hostname of the local host not resolving in the network stack. SmartFrog detects this and keeps going, but you may not be able to deploy all that you wish to.


Release Notes - SmartFrog - Version 3.12.025 dev

** Bug
    * [SFOS-326] - sfPing shell script uses == instead of -eq
* [SFOS-397] - what does TestCompoundImpl do when it is the condition that terminates?
    * [SFOS-450] - Implement error handling/reporting code for the VM logic
* [SFOS-608] - "ant install" task only copies dist/lib content but fails to copy ivy dependencies * [SFOS-665] - Typo in jetty-core.sf when referencing SSLJettySocketConnectorImpl * [SFOS-681] - Review and edit SshExecImpl to avoid a problem that surfaced in Ant's ssh * [SFOS-686] - LivenessPageChecker/Java.net.URL doesnt use username+password * [SFOS-688] - Unable to add sfHost attribute to ProcessCompound when the host networking is not properly configured.
    * [SFOS-694] - test harness locking up in Jetty Tests
* [SFOS-697] - regression: Sf daemon longer works on my home machine due to networking changes
    * [SFOS-699] - NPE in liveness page path concat
    * [SFOS-706] - knownHosts are ignored in ssh components
    * [SFOS-707] - NPE when starting components, but no stack trace appears
    * [SFOS-713] - rpm -bb fails on CentOS
    * [SFOS-723] - sfStart argument validation is broken.
    * [SFOS-724] - sfTerminate argument validation broken
* [SFOS-734] - NPES get thrown in in org.smartfrog.sfcore.security.SFClassLoader during InitSecurity
    * [SFOS-735] - EC2 tests failing on new VM


** Improvement
* [SFOS-542] - LivenessPage/WaitForPage needs to support optional user/password attributes
    * [SFOS-669] - Upgrade to Jetty 6.1.7
* [SFOS-689] - Move SystemPropertiesImpl to non-introspected Java5 calls * [SFOS-695] - Need a constructor for SmartFrogDeploymentException that takes a message, a throwable and a component * [SFOS-696] - Factor out workflow/normal termination from a worker thread into its own thread class * [SFOS-698] - Improve logging/diagnostics when a throwable is raised during component deploy/startup * [SFOS-701] - have the liveness components determine the port number from the protocol * [SFOS-702] - add target to common.xml to delete the published artifacts of a single project * [SFOS-714] - Add commons-httpclient to the dependencies and distributables of sf-www

** New Feature
* [SFOS-373] - Add the connection port to sfStart so that it can be used without having to modify default.ini
                   and contact daemons running in a non-default port.
    * [SFOS-555] - add DynDNS client API
    * [SFOS-691] - add regexp validation into passwordChecker
    * [SFOS-693] - Add a way to read in CSV files
    * [SFOS-700] - New switch to log classpath during daemon boot
* [SFOS-709] - Improve Dumper configuration: add sf configuration and default.ini configuration for
                   "keys to be removed" and "timeout"
    * [SFOS-710] - Update shell scripts to take new "-p" parameter.
* [SFOS-725] - Add component to turn CSV data into XML as part of a workflow * [SFOS-726] - extend list utils to support arbitrary width and ragged string tuples


** Task
    * [SFOS-687] - Upgrade JavaCC from v3.2 to v4.0
    * [SFOS-718] - review SFAutoWrapper class and clean up
* [SFOS-719] - review system properties tasks and add examples to the wiki
    * [SFOS-727] - review database components and move to workflow thread
* [SFOS-731] - Have a look at the Avalanche Code, see what the IDE flags up
    * [SFOS-733] - move VMWare to latest (3.0.2) release of JNA

** Sub-task
    * [SFOS-625] - Add redirect (http 3XX support) to restlet component
    * [SFOS-630] - S3 PUT response isnt handled by restlet
    * [SFOS-703] - Need way to put AWS permission headers in a PUT
--
-----------------------
Hewlett-Packard Limited
Registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England
Title: SmartFrog 3.12.026

SmartFrog 3.12.026

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.026; built from revision 6168 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, 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.
  • XML: XML support with XOM.
  • XMPP: Presence and messaging over Jabber.

Packaging

This release is available as:

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

The RPM installation is for RPM-based Linux systems. It comprises the following RPMs:

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-javadoc javadocs for the project
smartfrog-ant Ant task and build file execution
smartfrog-anubis Distributed partition-aware tuple space
smartfrog-csvfiles CSV file support
smartfrog-database Database access
smartfrog-jmx JMX integration though MX4J
smartfrog-junit Junit 3.8.2 test execution
smartfrog-logging Logging through Log4J and commons-logging
smartfrog-networking SSH, SCP, FTP and email
smartfrog-quartz Scheduled operations
smartfrog-scripting Scripted components
smartfrog-www Web support: Deployment and liveness pages
smartfrog-xml XML Support
smartfrog-xmpp XMPP/Jabber communications
smartfrog-xunit Distributed testing and reporting

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 distribution does not include a source tree adequate to build the entire system. Please follow the instructions at http://sourceforge.net/svn/?group_id=87384 and check out smartfrog/trunk/core from our repository.

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

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/

The SmartFrog Team

Changes since last Release

The main changes in this release are:-

  1. All shell scripts/batch files take a -p option that specifies the port to work with. This simplifies running SmartFrog on different ports, including multiple versions of SmartFrog simultaneously.
  2. There is a new component bundle, sf-csvfiles, in the smartfrog-csvfiles RPM. This can read in lines from a .csv file, be they created by a spreadsheet or another program. A column from a CSV file can be turned into a list attribute of a component, so enabling parts of a deployment to be spreadsheet driven. There is also a component in the sf-xml package which runs through a CSV file (or other source of tuples) and generates an XML file from it, XML that can then be transformed using XSL operations into other text formats.
  3. The LivenessPage and WaitForPage components in the sf-www package now support authenticated access to web pages; this enables the components to connect to the dyndns.org services to dynamically register hostnames. We provide templates to demonstrate this.
  4. More graceful handling of bad network states. Remember, SmartFrog uses Java RMI, a technology which does not like the hostname of the local host not resolving in the network stack. SmartFrog detects this and keeps going, but you may not be able to deploy all that you wish to.

Bug

  • [SFOS-326] - sfPing shell script uses == instead of -eq
  • [SFOS-397] - what does TestCompoundImpl do when it is the condition that terminates?
  • [SFOS-450] - Implement error handling/reporting code for the VM logic
  • [SFOS-608] - "ant install" task only copies dist/lib content but fails to copy ivy dependencies
  • [SFOS-665] - Typo in jetty-core.sf when referencing SSLJettySocketConnectorImpl
  • [SFOS-681] - Review and edit SshExecImpl to avoid a problem that surfaced in Ant's ssh
  • [SFOS-686] - LivenessPageChecker/Java.net.URL doesnt use username+password
  • [SFOS-688] - Unable to add sfHost attribute to ProcessCompound when the host networking is not properly configured.
  • [SFOS-694] - test harness locking up in Jetty Tests
  • [SFOS-697] - regression: Sf daemon longer works on my home machine due to networking changes
  • [SFOS-699] - NPE in liveness page path concat
  • [SFOS-706] - knownHosts are ignored in ssh components
  • [SFOS-707] - NPE when starting components, but no stack trace appears
  • [SFOS-713] - rpm -bb fails on CentOS
  • [SFOS-723] - sfStart argument validation is broken.
  • [SFOS-724] - sfTerminate argument validation broken
  • [SFOS-734] - NPES get thrown in in org.smartfrog.sfcore.security.SFClassLoader during InitSecurity
  • [SFOS-735] - EC2 tests failing on new VM

Improvement

  • [SFOS-542] - LivenessPage/WaitForPage needs to support optional user/password attributes
  • [SFOS-669] - Upgrade to Jetty 6.1.7
  • [SFOS-689] - Move SystemPropertiesImpl to non-introspected Java5 calls
  • [SFOS-695] - Need a constructor for SmartFrogDeploymentException that takes a message, a throwable and a component
  • [SFOS-696] - Factor out workflow/normal termination from a worker thread into its own thread class
  • [SFOS-698] - Improve logging/diagnostics when a throwable is raised during component deploy/startup
  • [SFOS-701] - have the liveness components determine the port number from the protocol
  • [SFOS-702] - add target to common.xml to delete the published artifacts of a single project
  • [SFOS-714] - Add commons-httpclient to the dependencies and distributables of sf-www

New Feature

  • [SFOS-373] - Add the connection port to sfStart so that it can be used without having to modify default.ini and contact daemons running in a non-default port.
  • [SFOS-555] - add DynDNS client API
  • [SFOS-691] - add regexp validation into passwordChecker
  • [SFOS-693] - Add a way to read in CSV files
  • [SFOS-700] - New switch to log classpath during daemon boot
  • [SFOS-709] - Improve Dumper configuration: add sf configuration and default.ini configuration for "keys to be removed" and "timeout"
  • [SFOS-710] - Update shell scripts to take new "-p" parameter.
  • [SFOS-725] - Add component to turn CSV data into XML as part of a workflow
  • [SFOS-726] - extend list utils to support arbitrary width and ragged string tuples

Task

  • [SFOS-687] - Upgrade JavaCC from v3.2 to v4.0
  • [SFOS-718] - review SFAutoWrapper class and clean up
  • [SFOS-719] - review system properties tasks and add examples to the wiki
  • [SFOS-727] - review database components and move to workflow thread
  • [SFOS-731] - Have a look at the Avalanche Code, see what the IDE flags up
  • [SFOS-733] - move VMWare to latest (3.0.2) release of JNA

Sub-task

  • [SFOS-625] - Add redirect (http 3XX support) to restlet component
  • [SFOS-630] - S3 PUT response isnt handled by restlet
  • [SFOS-703] - Need way to put AWS permission headers in a PUT
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Smartfrog-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/smartfrog-users

Reply via email to