Changes between Version 46 and Version 47 of TrackingDevelopmentTrunk


Ignore:
Timestamp:
10/13/11 22:13:27 (12 years ago)
Author:
rcuza
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TrackingDevelopmentTrunk

    v46 v47  
    1 [[PageOutline]] 
    2  
    31= Tracking Development Releases of Bcfg2 = 
    42 
    5 Currently, we are in the process of working on 1.0. The roadmap is located at source:trunk/bcfg2/doc/1.0-roadmap 
     3If you are making changes to the source code or need an update on a bug, nothing beats the real time community you get when you join [irc://chat.freenode.net/bcfg2 #bcfg2 on chat.freenode.net]. The trac [http://trac.mcs.anl.gov/projects/bcfg2/roadmap roadmap] and [http://trac.mcs.anl.gov/projects/bcfg2/report ticketing system] are the best way to get an overview and detailed look at the development of trunk.  
    64 
    7 == Tested setups for 1.0 SSL rewrite == 
    8 || Server Version || Client Version || Works || 
    9 || [5215] || [ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-0.9.5.7.tar.gz 0.9.5.7] || No (Server failure: Protocol Error) || 
    10 || [5215] || [ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-0.9.6.tar.gz 0.9.6] || Yes (with old-style key/fingerprint setup) || 
    11 || [5215] || [ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-1.0pre2.tar.gz 1.0pre2] || Yes (with old-style key/fingerprint setup) || 
    12 || [5215] || [5215] || Yes (with old-style key/fingerprint setup) || 
     5Release announcements are also sent to the [http://dir.gmane.org/gmane.comp.sysutils.bcfg2.devel bcfg2-devel mailing list] and in !ReleaseAnnouncment subsection: 
    136 
    14 == User visible changes == 
     7[[TitleIndex(ReleaseAnnouncement)]] 
    158 
    16 In bcfg2-1.0, the following minimal versions of python will be required: 
     9This is a list of historical pages for releases not covered by the trac [http://trac.mcs.anl.gov/projects/bcfg2/roadmap roadmap] and [http://trac.mcs.anl.gov/projects/bcfg2/report ticketing system]: 
    1710 
    18 python 2.4 - server [[BR]] 
    19 python 2.3 - client 
    20  
    21 === SSL Changes === 
    22  
    23 We have switched to the in-tree ssl module included with python 2.6. A backport exists for 2.3, 2.4, and 2.5. With this, M2Crypto is not needed, and tlslite is no longer included with bcfg2 sources. Information about building the ssl pre-req is [wiki:ssl here] 
    24  
    25 === bcfg2.conf changes === 
    26  
    27 The generators/structures lines of bcfg2.conf have been merged into a single plugins line. Bcfg2-admin init has been updated to generate a new-style bcfg2.conf. A minimal configuration may look something like this (the `certificate =` line in the '''communication''' section needs to be added for users who are upgrading from previous versions): 
    28 {{{ 
    29 [server] 
    30 repository = /var/lib/bcfg2 
    31 plugins = Base,Bundler,Cfg,Metadata,Pkgmgr,Rules,SSHbase 
    32  
    33 [communication] 
    34 protocol = xmlrpc/ssl 
    35 password = foobat 
    36 key = /etc/bcfg2.key 
    37 # same as 'key =' line unless using a full pki 
    38 certificate = /etc/bcfg2.key 
    39  
    40 [components] 
    41 bcfg2 = https://localhost:6789 
    42 }}} 
    43  
    44 svn = yes is also deprecated. You can get the same functionality by 
    45 adding Svn to your plugins line (see [wiki:Plugins/Svn Svn]). 
    46  
    47 === Snapshots === 
    48  
    49 [wiki:Plugins/Snapshots Snapshots] 
    50  
    51 === Probes === 
    52  
    53 The syntax for probes has changed in 1.0. See source:trunk/bcfg2/doc/1.0-roadmap for details. 
    54  
    55 === New plugins === 
    56  
    57  * [wiki:Plugins/Packages Packages] 
    58  * [wiki:Plugins/Bzr Bazaar] 
    59  * [wiki:Plugins/Fossil Fossil] 
    60  * [wiki:Plugins/Git Git] 
    61  * [wiki:Plugins/Svn Svn] 
    62  * [wiki:Plugins/Ohai Ohai] 
    63  * [wiki:Plugins/Trigger Trigger] 
    64  * [wiki:Plugins/GroupPatterns GroupPatterns] 
    65  
    66 === Service Changes === 
    67  
    68  * New overall client service mode 
    69   * default 
    70    * perform all service manipulations 
    71   * disabled 
    72    * perform no service manipulations 
    73   * build 
    74    * attempt to stop all services started 
    75    * deprecates/replaces -B 
    76  * New per service mode 
    77   * mode='manual' 
    78    * do not start/stop/restart this service 
    79   * mode='default' 
    80    * perform appropriate service ops 
    81   * mode='supervised' 
    82    * default + ensure service is running when verification is performed 
    83    * deprecates supervised='true' 
    84   * mode='custom' 
    85    * set non-default restart target in conjunction with target attr 
    86  
    87 === bcfg2-info === 
    88  
    89 bcfg2-info no longer uses the `loop` variable for debugging purposes. It is replaced with `self`: 
    90  
    91 '''The old way''' 
    92 {{{ 
    93 >>> m = loop.build_metadata('ubik3') 
    94 }}} 
    95  
    96 '''The new way''' 
    97 {{{ 
    98 >>> m = self.build_metadata('ubik3') 
    99 }}} 
    100  
    101 === POSIX Path Entries === 
    102  
    103 1.0.0 introduces a [wiki:ConfigurationEntries#Newunifiedentries new] unified POSIX Path entry type. You can maintain backward compatibility with older clients by adding the POSIXCompat plugin to your bcfg2.conf. This will generate old-style entries for a new-style POSIX Path specification. 
    104  
    105 == Release Information == 
    106  
    107 === 1.0pre5 === 
    108  
    109  * bcfg2 admin 
    110   * Merged bcfg2-admin init fixes in from my branch. 
    111   * bcfg2-admin viz: Implement support for arbitrary output types 
    112   * Made fixes to Metadata, Client, and Init, and added methods for bcfg2-admin group and bundle.x 
    113   * Added Bundle and Group for bcfg2-admin. 
    114   * Changed how bcfg2-admin init handles plugins and added update_client to metadata for changes in [5305] 
    115   * Added additional list and update options to bcfg2-admin client 
    116  * Packages 
    117   * Packages: pylint fixes 
    118   * Packages: Smarten up Yum dep resolver 
    119  * Metadata 
    120   * Metadata: implement get_clients/get_groups interface 
    121  * Client 
    122   * APT: add backwards compatibility for python-apt 0.6 
    123   * YUMng: fix removal traceback for gpg-pubkey packages (Resolves Ticket #693) 
    124   * APT/Client: Suppress known warnings 
    125  * SSHbase 
    126   * SSHbase: add an error message for non-resolving clients 
    127   * Rework SSHbase alias/address support 
    128  * Packaging 
    129   * rpm/deb packaging: Remove remaining Cheetah dependencies 
    130   * TCheetah: Remove RPM python-cheetah requirement 
    131   * redhat/bcfg2.spec.in: Add unpackaged files to redhat spec file (Reported by somekool) 
    132   * working version of the updated Solaris packaging files. 
    133  * New Plugins 
    134   * [wiki:Plugins/GroupPatterns GroupPatterns] 
    135    * [wiki:Plugins/GroupPatterns GroupPatterns]: short-circuit range matching 
    136    * [wiki:Plugins/GroupPatterns GroupPatterns]: support activation of multiple groups from a single pattern 
    137    * [wiki:Plugins/GroupPatterns GroupPatterns]: implement !NodeRange (node[[001-096,099]]) support 
    138    * [wiki:Plugins/GroupPatterns GroupPatterns]: initial implementation 
    139   * Ohai: Implement [wiki:Plugins/Ohai Ohai] plugin 
    140   * Trigger: Add [wiki:Plugins/Trigger Trigger] plugin 
    141  * bcfg2-info 
    142   * bcfg2-info: implement more showclient command that displays connector data 
    143   * bcfg2-info: change profiling options to be more useful 
    144   * bcfg2-info: reduce size of startup event window 
    145  * Paranoid Mode 
    146   * Paranoid mode: Add new options to bcfg2.conf man page 
    147   * Paranoid mode: Make paranoid mode more versatile/configurable 
    148  * Bugfixes 
    149   * Statistics: fix destructive use of statistics data 
    150   * bcfg2-info: fix showclient traceback (Reported by teknix on irc) 
    151   * SSHbase: fix skn caching (Fixes startup behavior (-40s on my repo)) 
    152   * Metadata: fix query.all_groups to catch implicit groups in groups.xml 
    153   * Metadata - Fix method reference 
    154   * Packages: Fix !YumSource file map pruning 
    155   * Packages: Fix file architecture tagging for !YumSources (patch from slack) 
    156   * bcfg2-admin: Fix typo 
    157   * bcfg2-admin init: fix traceback (reported by somekool on irc) 
    158   * Init.py: Fix typo in intializeRepo 
    159   * Fix !FileBacked class to catch created files again 
    160   * Fix initial event quiescing 
    161   * POSIX.py: Fix false error in !InstallSymLink 
    162   * Deps: fix tb due to change in metadata.groups type (Reported by teknix) 
    163  * Misc 
    164   * Options.py: Remove unused variable 
    165   * TCheetah: handle imports in a way that pylint likes 
    166   * sync from bb 
    167   * update to new Connector API 
    168   * Plugin.py: Add configurable metadata settings to bcfg2.conf (ticket #680) 
    169   * Bundler-genshi: import genshi for error path 
    170   * !FileCaching: only process file updates on exists and changed events (should cut down on unneeded and expensive startup ops) 
    171   * Packages: Reverse sorting order for sources, allowing sources to work similarly to apt-get config. (Resolves Ticket #691) 
    172   * Improve error handling when key improperly specified on server (Reported by nicely) 
    173  
    174 === 1.0pre4 === 
    175  * Packages 
    176   * fix handling of architectures for RawURL !YumSources 
    177   * add parse-caching support for !YumSources 
    178   * Improve !YumSource performance dramatically 
    179   * implement caching for APT 
    180   * implement repomd support for yum sources 
    181   * Fix cases where arch group mappings are unexpected 
    182   * Fix traceback with missing config.xml (Reported by Jack Neely) 
    183   * Make cache directory creation recursive 
    184   * Add dictionary tracking !YumSource architecture mappings for cache files 
    185   * Implement RawURL support 
    186  * Metadata 
    187   * Implement query interface 
    188   * improve resolution performance 
    189   * bcfg2-admin: Migrate query to new Metadata query interface 
    190  * SSL 
    191   * Implement protocol selection in bcfg2.conf xmlrpc/tlsv1 can be used with DOE grid certs 
    192   * Improve core error handling for key existence failures 
    193  * Server 
    194   * Improve core error handling 
    195   * Fix Fam support 
    196   * Make Pseudo fam work on systems without Gamin 
    197   * Add sshbase alias and address support 
    198   * SimpleXMLRPCServer patch for python 2.4 (Patch from Jack Neely) 
    199  * Packaging 
    200   * Debian/Ubuntu packaging update 
    201   * Debian: postrm fix from Paul Cannon 
    202   * Made Debian packaging work with Python 2.6 and earlier 
    203   * Gentoo packaging updates 
    204  * Client 
    205   * APT: Force cache reload to get data from source updates 
    206   * Improve error message for attempted directory unlinks (Patch from Torsten Rehn) (Resolves Ticket #657) 
    207   * APT: fix cache invalidation 
    208   * Add back python 2.3 fixes for {RPM,YUM}ng 
    209   * Fix yum api use for centos 4 compatibility (Resolves Ticket #670)                                                                                                                          
    210   * Implement -z (for Independent entries only, a la -b) (Resolves Ticket #616) 
    211  * Misc 
    212   * Implement profiling support in bcfg2-info (call profile <cmd> to use) 
    213   * Snapshots: Add --date for detailed view for a particular date 
    214   * Fixed bug in Init.py with setting up Bcfg2-admin for the first time. 
    215   * Cfg: Fix hardwired filename ignores (Fixes Ticket #619) 
    216   * Improve bundler error handling for .genshi files 
    217   * Fall back to previous XMLRPCDispatcher calling convention (Resolves Ticket #669) 
    218  * Doc updates 
    219  
    220 === 1.0pre3 === 
    221  * Fix pseudofam for systems without Gamin 
    222  
    223 ==== Server Core ==== 
    224  * Fix Pkgmgr virtual package target binding (Reported by TimL) 
    225  * rework File Monitoring code/adapt to new server infrastructure 
    226  * Fix updates for VCS plugins 
    227  * New server performance interface 
    228   * Provides scalable aggregate performance data for server operations 
    229  * Report deprecated plugins, improve reporting for experimental plugins 
    230  * Implement support for .genshi bundles in Bundler 
    231  * Packages 
    232   * Yum improvements and bugfixes 
    233   * Support for multi-arch yum sources 
    234   * Implement dependency resolver debugging 
    235   * Improve error handling 
    236   * patch from Tim Laszlo for redhat 4 repos 
    237  * SGenshi: improve error handling 
    238  * Schema update from TimL (related to the service schema change) 
    239  
    240 ==== SSL ==== 
    241  * We now use the ssl module included with python2.6 (this has been backported to 2.3-2.5) 
    242  * Certificate-based authentication is supported 
    243  * Implementation is backward compatible to 0.9.6 clients 
    244  * strict cert auth, cert or password, or bootstrap (password once, then cert only) are supported 
    245  * Clients now authenticate servers by commonName (not fingerprint) 
    246  * Use of certifications require a CA to be used 
    247  * The server is now multithreaded 
    248  
    249 ==== Tool driver fixes ==== 
    250  * APT.Remove: Split up package names properly 
    251  * Chkconfig patch to properly disable services from Ti Leggett 
    252  * Fix !RcUpdate driver regressions 
    253  * Initial IPS (Opensolaris) driver 
    254  * Fix portage driver traceback (Resolves Ticket #649) 
    255  * YUMng 
    256   * Fix for RHEL5 (patch from Tim Lazlo) 
    257   * Fix version=auto for epoch-sensitive packages 
    258   * Fix multi-arch yum sources 
    259   * Fix YUMng -r behavior 
    260  * Update !RcUpdate tool driver to catch all services 
    261  * Remove deprecated RPM and Yum drivers 
    262  
    263 ==== Snapshots ==== 
    264  * Add extra/bad entry reporting 
    265  * Add revision to bcfg2-admin snapshots reports 
    266  * Remove ad-hoc error handling in favor of normal bcfg2-admin mode handling 
    267  * fix Statistics data location in importer 
    268  * minor cosmetic updates 
    269  
    270 ==== Other ==== 
    271  * Add bash completion for bcfg2-admin 
    272  * Fix daemonize exit status 
    273  * Fix builds with the redhat specific rpm packaging 
    274  * lots of py 2to3 and pylint updates 
    275  * Fix py2.4 portability (try/except/finally is 2.5+) (Reported by Lisa Giacchetti) 
    276  * Include ignores for Pkgmgr updates (patch from zultron) 
    277  * Update bcfg2 manpage for multiple bundles 
    278  * bcfg2 client: remove agent support 
    279  * BB plugin updates/bugfix 
    280  
    281 ==== Bugfixes ==== 
    282  * Fix fam tracebacks for Ticket #650 
    283  * Add support for probed groups in bcfg2-admin query (Resolves Ticket #647) 
    284  * Display diff in interactive mode (for Ticket #526) 
    285  * Fix fd leak caused by our use of the subprocess API 
    286  * Fix reversed options (Reported by Kamil Kisiel) 
    287  * Logging: Fix reconnect when using /dev/log 
    288  * Handle import errors in the help path (Resolves Ticket #653) 
    289  * Modify bcfg2-repo-validate to warn on xml duplicates (for Ticket #643) 
    290  * Metadata: fix default group assertion 
    291  * Fix exit in bcfg2-info 
    292  * Specfile fixes 
    293  
    294 === 1.0pre2 === 
    295  
    296  * Snapshots -- New reporting system backend 
    297    * New data model 
    298    * Importer plugin  
    299    * basic command line interface 
    300  * Improve priority conflict error message 
    301  * Schema improvements 
    302  * Client Tool Driver Updates 
    303    * YUMng  
    304      * version=auto/any support 
    305      * switch to native yum calls (improved speed, decreased code cruddyness)  
    306    * RPMng version=any support 
    307    * launchd update for 10.5 
    308    * Portage driver update 
    309  * bcfg2-info 
    310    * pretty print generated configs 
    311    * add profiling support 
    312  * Packages: implement yum support 
    313  * Init script fixes 
    314  * doc updates 
    315  * Server-side checksum support (client side remains to be done) 
    316  * Cfg: delta fixes 
    317  * Bcfg2-admin viz bugfix 
    318  * Solaris packaging updates 
    319  * Annotate client configurations with bind failure information 
    320  * Refine plugin interface to include partial metadata sources 
    321  * Tickets 
    322    * #648 
    323    * #461 
    324  
    325 === 1.0pre1 === 
    326  * Modular version control support for repositories (plus new Git support) 
    327  * Plugin architecture revamp (described in [source:/trunk/bcfg2/doc/plugin-roles]) 
    328   * Switch probes and properties to connector interface 
    329  * Add new Packages plugin 
    330  * Add support for out of tree plugins 
    331  * Add Genshi Bundler (will be replaced by genshi support in Bundler) 
    332  * version=any/auto support for APT/SYSV/Blast client tool drivers 
    333  * new logo 
    334  * Python 3k fixes 
    335  
    336 = Tracking Development Releases of Bcfg2 (< 1.0) =  
    337  
    338 This page provides an overview of issues users should be aware of when running Bcfg2 prereleases. 
    339  
    340 == Fixed Issues ==  
    341  
    342 || Version || Description || Severity || Fix Revision ||  
    343 || 0.9.5pre5 || || || 
    344 || || Cfg state machine error || Serious || [3784] ||  
    345 || || importscript performance problems || Serious || [3795] ||  
    346 || || apt-get update is run before updates to sources.list || Workaround || [3785] || 
    347 || || create-debian-pkglist mishandles arch-specific packages [[br]] when packages are only available on one arch || Workaround || [3779] ||  
    348 || || YUMng traceback with incomplete Package entries [[br]] during entry reverification || Cosmetic || [3656] || 
    349 || 0.9.5pre3 
    350 || || SSHbase traceback upon new entry addition|| Serious || [3617] ||  
    351 || || Diffs not displayed in interactive client mode || Serious || [3618] ||  
    352 || || Failure on error path in POSIX driver || Cosmetic || [3622] || 
     11[[TitleIndex(ReleaseNotes)]]  
    35312 
    35413 
    355 == Release Information == 
     14 * (plus [wiki:0.9.5-release] and [wiki:0.9.6-release]) 
    35615 
    357 === 0.9.6rc1 === 
    358  * Bugfixes over 0.9.6pre3 
    359  * Model support for django 1.0 
    360  
    361 === 0.9.6pre3 === 
    362  * NagiosGen plugin 
    363  * Centralized per-entry installation decision support 
    364  * Static file monitoring infrastructure 
    365  * Reporting system SchemaEvolution support 
    366  * Tons of bugfixes 
    367  
    368 === 0.9.6pre2 === 
    369  * bcfg2-reports (command line client to the reporting system) 
    370  * Editor plugin 
    371  * Plugin interface for metadata and statistics backends 
    372  * bcfg2-admin query (command line interface to metadata) 
    373  * FreeBSD rc support 
    374  * Pkgmgr optimizations (10X speedup on python2.4+) 
    375  * Switch server startup operations to process filesystem updates before listening on network 
    376  * Add direct logging support for bcfg2 and bcfg2-server 
    377  
    378 === 0.9.6pre1 === 
    379  * Refactor Cfg/TCheetah/TGenshi/SGenshi/Metadata to use common client- and group-specific entries 
    380    * client- and group-specific entries can now be used as 
    381      * Probes 
    382      * TGenshi templates 
    383      * SGenshi templates 
    384      * TCheetah templates 
    385  * bcfg2-admin refactor 
    386    * Mainly conversions 
    387    * Implement non-interactive mode for bcfg2-admin pull 
    388  * Simplify client-side proxy code 
    389  * Implement Multi-fingerprint support 
    390  * Rework option handling (everything is now flat, and all option parsing occurs in the outermost calling script) 
    391  * A variety of trunk-specific bugfixes 
    392  
    393 === 0.9.5pre5 === 
    394  * importscript performance improvements 
    395  * Implement pruned directories 
    396  * APT.py - move apt-get update call to be effective during the run 
    397  * Cfg.py bugfix - deal properly with fam event trace we previously messed up (important for some cases) 
    398  * create-debian-pkglist - deal properly with multiarch packages when packages aren't available for all architectures 
    399  * rpmlisting.py patch from solj (to deal with athlon arch systems) 
    400  * YUMng/RPMng bugfixes 
    401  * Pkgmgr - deal with comments properly in multiarch situations 
    402  
    403 === 0.9.5pre4 === 
    404  * infoxml support has been included in TCheetah and TGenshi (now group-based file permissions and ownership can be trivially specified for any !ConfigFile plugin) 
    405  * TCheetah error information is now presented upon templating failures.  
    406  * Probedata is now written to disk, for use with bcfg2-info (This, in conjunction with improved TCheetah templating error display should remove probe-based TCheetah templates from the "black art" category) 
    407  * altsrc consistency checking is implemented (ie an error is produced if a configuration containing the same entry with different altsrc tags is generated for a client) 
    408  * RPMng: Improved debug output when required attributes are not present 
    409  * Schema updates 
    410  * Fix diff display for non-binary !ConfigFiles in interactive mode 
    411  * Fix sshbase bug 
    412  * Fix POSIX driver error paths 
    413  
    414  
    415 === 0.9.5pre3 === 
    416  * support for info.xml files (described [wiki:Cfg here]) 
    417  * support for package instance mappings. (described [wiki:Pkgmgr here]) 
    418  * added output options to bcfg2-query suitable for use with pdsh 
    419  * fixed binary file uploads and bcfg2-admin pull  
    420  * removed spurious -q in RPM.py 
    421  * Improve client error message when entries are incomplete (print missing fields) 
    422  * child process management fix in server 
    423  * dynamic reporting system tb fix 
    424  
    425 === 0.9.5pre2 === 
    426  * changed django reports admin to dev e-mail address 
    427  * Add secondary config file for webservers (so that webservers don't need access to bcfg2.conf) 
    428  * updated init script for agent mode 
    429  * Add support for altsrc bindings to TGenshi 
    430  * Implementing selective forking server, which runs read-only requests in child processes. Should dramatically improve scalability 
    431  * merge realname into path for altsrc templates in TCheetah 
    432  * Switch default to RPMng/YUMng (RPM/Yum are still around just not enabled by default) 
    433  * quiet down RPMng a little (patch from lueningh) 
    434  * Implement bcfg2-remote -H - 
    435  * Add a realname attribute in altsrc bound entries and add TCheetah support 
    436  * Add default attribute to basic group in default config 
    437  * Fix use of altsrc when using Package entries with file attributes 
    438  * Improve error handling in bcfg2-admin (Step towards resolving Ticket #469) 
    439  * Switch !DebInit to use invoke-rc.d (Resolves Ticket #434) 
    440  * Fix bcfg2-info build command 
    441  * add altsrc to schema 
    442  
    443 === 0.9.5pre1 === 
    444  * Reporting System Features: 
    445   * Hosts may be "expired" to prevent them from showing up in reports. Data still exists for them, so if one views a calendar date before they were expired, they'll still show up. 
    446   * '''requires action''' The config file for reports has changed locations from the inappropriate location inside the bcfg2 python module, to be part of bcfg2.conf. Please look at the included example bcfg2.conf to see the new format 
    447   * '''requires action''' Reporting System may be installed at any URL, that is, it can be installed in a sub directory and not at the root of a virtual host. Django 0.96 is now required. 
    448  * Bcfg2 Agent Mode: 
    449   * Initial release of this functionality 
    450   * Client may run in an idle mode waiting for reconfiguration command from the server 
    451   * Use bcfg2-remote to initiate a client's reconfiguration operation 
    452   * Uses fingerprint based authentication for https xml-rpc connection 
    453   * Useful for instant reconfiguration of client without ssh'ing to host 
    454   * still need to add daemonize code and init script support (next pre) 
    455  * Binary diff uploads now work properly 
    456  * Added the TGenshi plugin (contributed by Jeff Ollie) 
    457  * Added the SGenshi plugin 
    458   * is intended for use as a structure, like bundler or base. 
    459   * only uses the genshi xml format 
    460   * results in completely programmable bundles 
    461   * this could eventually replace both bundler and base, as it is 
    462   * more powerful 
    463  * Added entry remapping support 
    464   * with the addition of an extra altsrc attribute, entries can be remapped to a different source. 
    465   * For example, if you have the same config file with different paths on different architectures, you can add altsrc to use the same plugin and repository on all architectures. ie: 
    466     {{{<ConfigFile name='/etc/inet/hosts' altsrc='/etc/hosts'/>}}} 
    467     will cause all linux and solaris systems to use the same plugin source for data on all clients. 
    468   * This feature was motivated by the need manage a bunch of config files using the same template