Hello all,

As activity in the Amanda project grows, it becomes increasingly difficult to
stay current with everything that's going on. To help address that, I've
prepared a summary of everything that happened in May on the wiki, forums,
mailing list, and subversion. If this is useful, we can continue to make
status updates every month.

The text is reproduced below, but you can read the wikified status update for
May complete with hyperlinks by pointing your browser at
<http://wiki.zmanda.com/index.php/Monthly_Status_Updates/May_2007>. Below, I
summarize wiki changes, forums discussions, mailing list traffic, and code
changes, in their respective sections.

May 2007 saw the release of Amanda 2.5.2, which led to a flurry of discussion
and development -- the former as users picked up the new release and started
using it, and the latter as code that had been held back for the freeze was
committed to the trunk.

Wiki Changes:

* Taper scan algorithm was supplemented with additional text, mostly by
Chris Hoogendyk, with some additional contributions from Ian Turner.
* The new Coding Guidelines portal, mostly written by Dustin Mitchell,
provides information useful to new Amanda developers about various generally
useful functions available in the codebase.
* Dustin Mitchell expanded and organized the User documentation, Developer
documentation, Amanda log files, and Installation portals and linked pages,
with help from Chris Hoogendyk.
* The new Platform Experts program started to take off, with six
registered experts agreeing to test 10 platforms.
* The new How To Help page by Dustin Mitchell provides an outlet for new
contributors of all strokes.
* Paul Bijnens wrote some text about the "Warning - block NNN is beyond
the end of DEVICE" message from dump.
* Dustin Mitchell ported a large number of FAQs from the amanda.org
documentation and performed significant work on the Amanda Index, Curinfo,
and Encryption articles.

Forums Discussions:

A few (semi-anonymous) users had their issues resolved, most notably:
* gregc had problems restoring on Windows; these were addressed by
Jean-Louis Martineau and Paddy Sreenivasan.
* swsisrom had some problems with backup and restore and questions about
performance on his large (7TB) installation using split dumps. These were
addressed by Jean-Louis Martineau, Dustin Mitchell, Greg Grant, Sachin Kale,
and Kevin Till.

Mailing List Discussions:
amanda-users:

* Richard Stockton reported problems running Amanda 2.5.2 on Solaris
resulting from the new IPV6 code. Jean-Louis Martineau provided a fix.
* There was some discussion about testing of tapes using amverify or tape
monitoring. Lewis Donofrio posed the initial question; Gene Heskett pointed
out that the act of running amverify will actually increase the likelihood of
tape failure, Jon Labadie pointed out that one could use snapshots to confirm
data integrity in the presence of a changing data source and that there is no
substitute for trained and tested restore procedures, and Chris Hoogendyk
wrote some text about the proper statistical sampling technique to use when
estimating the tape failure rate.
* Peter Bowman reported a number of problems running Amanda 2.5.2 on an
old IRIX installation (6.5.4m, released May 1999); Jean-Louis Martineau fixed
these in collaboration with the reporter.
* Steven Backus and Christopher McCrory reported problems with Autoflush,
which were fixed by Jean-Louis Martineau.
* Brian Cuttler asked a question about the right version of GNU tar on
Solaris; Dustin Mitchell provided links to various precompiled versions and
pointed out that Amanda looks for gtar (not tar) in its path at runtime if it
can't find an absolute location at configure time. Brian tried tar 1.13, but
it turned out to be buggy, so Jon Labadie pointed out that tar 1.13.19 or
1.13.25 are a safer bet that vanilla 1.13, but Brain ended up successful with
tar 1.15.91. Stephan Weichinger suggested the possibility of detecting good
and bad versions of tar at runtime, but no further progress was made.
* Olivier Nicole started a discussion about hot-swappable hard disks for
vtapes. Kai Zimmer suggested eSata as being cheap, reliable, and easy to
replace; Dustin Mitchell suggested that a FireWire enclosure provides good
performance and reliability at a reasonable price; Jon Labadie brought up the
possibility of a removable iomega device; and Geert Uytterhoeven suggested
that Olivier should be able to get much better performance with his existing
configuration.
* Jeanna Geier had problems setting up vtapes; it turned out most of her
problems were from following an out-of-date HOWTO. Her configuration was also
confused by the presence of the GNU 'backup' tool, which is different from
the dump-like tool of the same name. Stephan Weichinger, Robert Echlin, Paul
Bijnens, and Dustin Mitchell all offered their help.

amanda-hackers:

This month featured an extensive thread about testing started by Tobias
Weingartner, with contributions from a large number of community members.
After much discussion, the general consensus was that Amanda releases could
use testing on a wider variety of platforms, architectures, and hardware. Jon
Labadie suggested creating an automated test suite that users could run;
Dustin Mitchell agreed, and said he was already working on an automated test
environment for Zmanda and suggested integrating community testers into the
suite. Jean-Louis Martineau proposed a Platform Experts program to coordinate
testing and configuration for specific platforms. Since then, a number of
users have signed up for a variety of platforms.

* Mark Muehlfeld and Hasib reported networking problems with 2.5.2, which
were addressed by Jean-Louis Martineau and Dustin Mitchell respectively.

Code Development

Jean-Louis Martineau made some final bugfixes early in the month before
releasing Amanda 2.5.2. After the release (and the end of the associated
freeze), a large number of other changes landed on the trunk. Many of these
were older changes from Zmanda that were merged into the Sourceforge
subversion repository. Thanks to Dustin Mitchell and Jean-Louis Martineau for
spending many hours on these code merges.

* Jean-Louis Martineau made a number of fixes, including:
o Update the manpages, xml-docs, and configure scripts for Amanda
2.5.3.
o Fix various ipv4 and ipv6 bugs in the security API, plus some
other Security API fixes and added debugging.
o Fix amcrypt-ossl.sh and amcrypt-ossl-asym.sh to use the proper
client username's home directory, rather than assuming the amandabackup user.
o Fix a bug where some disklists would cause Amanda executables to
crash.
o Improved shell script portability.
o Smarter dumper timeout to accomodate slow systems.
o Make amcheck check all the various tapelist filenames, not just
tapelist, in response to a problem reported by John (no relation to John
Franks).
o Use printf __attribute__ for GCC to generate warnings for bad
printf arguments, and fix all the outstanding bad arguments.
o Split amreport FAILED and STRANGE dump summary into two different
sections.
o Change chg-manual so as to not eject the loaded tape on a "slot
current" operation following an "eject" operation.
o Fix a bug where planner would complain about overwriting the last
dump even if it was on the holding disk.
o Change amstatus to report compressed sizes.
o One minor bugfix in dumper.
* Dustin Mitchell made a number of improvements, including the following.
He also did substantial work on publishing and integrating other patches
elsewhere in this list that had been previously overlooked.
o Improve the handling of built manpages by detecting the docbook
xslt stylesheets version and insisting on an adequately recent one.
Jean-Louis Martineau expanded on this patch by ensuring that the new files
were properly distributed.
o Reorganize and expand the collection of ipv4/ipv6 compatibility
functions, with support from Jean-Louis Martineau. This includes support
throughout the codebase for ipv6 hostname resolution.
o Standardize the way the various security-api plugins are built.
o Combine redundant code for reading holding disk headers.
o Fix the parsing of include/exclude directives as applied to older
clients.
o Add configure support for Mac OS X.
* Pieter Bowman submitted a patch to fix the setting of permissions on
temporary files.
* John Franks made numerous changes throughout the codebase:
o Improved portability when debugging I/O in various places.
o Proper handling of rename() on cygwin, which doesn't overwrite by
default.
o Print nanosecond timestamps in debug files.
o Various debugging code refactoring and improvements, with
supplemental changes by Dustin Mitchell.
o Some new string allocation functions, and fixes to old ones.
Dustin Mitchell followed up on this patch with some additional changes.
o Kerberos 4 and 5 fixes.
o Initial support for internationalization using gettext. This patch
included build changes and code changes to use _() throughout the codebase,
plus support for _T() for static strings and large buffers for error
messages. Jean-Louis Martineau and Kevin Till contributed additional changes
to this work.
o A number of build fixes on Solaris and elsewhere.
o Disable IPV6 on cygwin, whose support is not ready yet.
o Trim executable names in the tape header, on systems (namely
Windows) with an executable extension (namely .exe).
* Kevin Till made some other important changes:
o Move the cryptographic scripts into common-src/, so they can be
used by both client and server.
o Properly handle holding disk directory names containing spaces.
o Set the default usage for interfaces to 8000.
* Maitreyee Karmarkar improved a number of amcheck messages.
* Satya Ganga rewrote amcleanup from scratch. The new version searches for
and optionally kills all the active processes (and their children) for a
given configuration.

Please send me feedback on these status updates, or let me know if you'd like
to help prepare next month's. If I missed something, you can also update the
wiki version using the link above.

Cheers,

--Ian