Here by devel, I mean "development topic", not topics pertaining to the
devel branch. This applies to both branches.
I have a pretty good theory that the existing unmaintained YAML parser
that we've been using forever is the cause of the "webui edits to system
network details break my config file". I've already had to fix one or
two bugs in it related to the way it escapes strings.
As a result of this, I'm going to change our YAML library from this
version to PyYAML, which is already available in Fedora/EPEL and is
packaged by John Eckersberg. Additionally, he's going to get libyaml
into Fedora/EPEL as well. With libyaml installed (C bindings for yaml
manipulation) the new parser is just as fast as the old parser. Without
it, it's about 10% slower than the old parser.
Since the YAML files we use are already "standards" compliant, no user
changes will be required.
Slight differences in the way files are formatted will come into play,
and if someone currently has code that says "from cobbler import yaml"
or "import cobbler.yaml" they should switch their YAML code to use
"import yaml". The yaml API is slightly different, for instance
load(data).next() is now just load(data). I'll be making all the
cobbler changes (of course) so this only applies to if you wrote
something that interacted with the YAML. In general, you should
/never/ do this, and should instead use Cobbler's XMLRPC or Python APIs
to interact with Cobbler.
So, bottom line -- this should fix some bugs, and brings us to a more up
to date YAML implementation that is backwards compatible. No user
changes will be required on upgrade.
--Michael
Show replies by date