Version 2 (modified by dclark, 17 years ago) (diff) |
---|
Bcfg2 Client Code Refactoring
This branch is for work in decomposing the platform-specific client modules into service/packaging system-specific modules; the platform-specific modules will then just import the service/packaging system-specific modules they require (e.g. Redhat.py would import rpm.py and chkconfig.py, all the platforms will import encap.py, etc.)
A mailing list thread with more discussion of this is here:
Desai's 4-Step Plan
- create a module Bcfg2.Client.Tool.BaseTool that defines an API for all tools (things like Bcfg2.Client.Tool.RPM and Bcfg2.Client.Tool.SMF, etc)
- build a set of error types that can be raised during tool instantiation and operation
- modify the base client Toolset code to figure out what methods to call for entry verification, installation and removal.
- is things like schema updates and metadata code updates
Desai might try to hack up a baseline for the BaseTool class soon.