This document details the major work needed before Bcfg2 is ready for a 1.0 release. The high-level goal for 1.0 is to fix long-standing architecture warts and provide a reasonable internal API for the server. * Major Goals ** Done *** Build a comprehensive server plugin architecture *** make out of tree plugins work *** properties switch to connector plugin *** Version Control Backend *** Change to mode attribute for services ** Left *** Fix the POSIX path problem *** Clean up client/server statistics data format *** Multithreaded server (sync from Cobalt) *** Reporting System and Database *** add support for pre/post connectors **** Schema fixes **** Performance * Other Goals ** ticket triage ** bind failure annotations ** plugin self-bootstrap (get out of bcfg2-admin init) ** core plugin filtering (for bcfg2-admin & co) *** Document * Pie in the sky ** Rework XMLRPC interfaces * User visible changes ** Properties *** switched over to a connector interface *** now supports multiple file of XML *** data available as metadata.Properties[filename] ** Probes *** switched over to a connector interface *** data available as metadata.Probes ** Service changes *** Add overall client service mode **** default (perform all service manipulations) **** disabled (perform no service manipulations) **** build (attempt to stop all services started) (deprecates/replaces -B) *** Add per service mode **** mode='manual' (do not start/stop/restart this service) **** mode='default' (perform appropriate service ops) **** mode='supervised' (default + ensure service is running when verification is performed) (deprecates supervised='true') **** mode='custom' (set non-default restart target in conjunction with target attr) ** Version Control backend *** Now implemented as plugins (Git, Svn) *** Enable either Git or Svn plugin in the plugins line of /etc/bcfg2.conf *** the svn option in /etc/bcfg2.conf is no longer respected