hiya

Thomas asked me to talk to the devel list about this. On linux-fai we talked a bit about yaml support, Thomas hinted at an implementation by Ingo some time ago <http://faiwiki.informatik.uni-koeln.de/index.php/FaiTemplates> and that someone on this list is working on this too.

I've taken some liberty with the sample implementation (dropped some stuff, rewritten the code to be more easily readable (to me) and implemented an metainfo block. This is the feature I absolutely need to make writing network configuration files for SuSE Linux Enterprise Server 10 (and OpenSuSE 10 ?) possible. (Each interface has it's own configuration file, the mac address of the interface is encoded in the filename.)

It's currently in the "works for me" phase. I hope to receive some feedback to make this stuff generic enough to be of general interest.

cool stuff (implemented)
- it doesn't matter what your backend is (as long as there's some script assembling a yaml-file) - it doesn't matter anymore where the template is located (filename does not need to depend on file path)
    instead of
templates/etc/network/interfaces/OS_DEBIAN.tt (-> /target/etc/network/interfaces)
    one could create
      templates/netconfig/OS_DEBIAN.tt (-> /target/etc/network/interfaces)
  - the metainfo is in itself templateable
  - it is +really+ +really+ easy to create config files
(actually easier then fcopy - because you only need to create the file, no need for the fcopy command)

cool stuff (wishlist)
- request specific file access rights, ownership or even (non-)existence of a file via metainfo
  - make multiple conditions possible (SuSE and Version10 and Frontend)
- create multiple files from the same template (interface config and routing for SuSE)

dropped stuff
  - pod documentation (to lazy to write one while in design stage)
  - parsing multiple yml-files based on classes
(nice feature, but I think it doesn't belong in the "configuration-writer" part)
     1) scripts in class/ collect info and write them into a file
     2) template engine parses this file and acts accordingly

tschüß
thomas

Reply via email to