FWIW, random thoughts on things I'd like to pound on:

** cobblerd **

Making it a little easier to debug/work on.

For testing, I think we should be able to turn cobblerd off and use
the XMLRPC library directly without a socket connection, for testing
and also local usage (with cobblerd stopped, probably).  This could
help out things pretty quickly.   So the same API syntax we could use
in the tests without spawning up the daemon, and that could work
exceptionally nicely.

cobblerd has to exist because of background jobs and our persistance
layer, which I do not wish to rewrite everything to be databasey -- as
much as I'd like to, it's way too much work, and really not a field
problem.  In many cases, it's actually useful, and it's one of a few
things that makes working on Cobbler not feel like working on a
webapp, and that's not a feeling I'd want to encourage anyway :)

Maybe if I set a environment variable like COBBLERTEST=1 and then run
cobbler commands or the test suite, it could work that way (locally)
and give local exceptions, etc.   This would be totally unsuitable for
production use, but could be quite useful for us.

** more testing coverage **

I've gotten alot better at testing...  cobbler has lots of side
effects and the need to provision to fully test (in some cases) and
deal with a lot of ISOs and a lot of storage means things are
difficult.    More abstraction layers probably need to exist... I
don't know, but I'd like to establish a decent test framework that
requires less manual testing.   The existing test directory is not
enough.   I think for most things we can require tests for commits and
can mock out parts of the app that are side effecty, and also
configure it in such a way where we could have a "install root" where
the tests build out their filesystem operations in "/tmp", etc.   Just
having that concept of a configurable FS root could be huge.

Not sure what to do about auto-testing import, but there's quite a bit
that we can test the heck out of (PXE trees, maybe even minimal yum
repos, etc).

** cross distro support **

For my own personal reasons, pretty much for mobile development
setups, I'd like to see how much of the server plays nice on a mac,
and if we can make it to play *nicer*.

** templates **

I kind of hate Cheetah and would like to provide other simpler
options.    Ideally have something like the bash shebang to specify a
template type.   This seems actually pretty safe to do, but it would
be nice to port all of things away from Cheetah as well.   Should not
be difficult.

**object system **

Over the years I've had lots of random ideas on cleaning up the item_*
system to reduce boilerplate, there's probably more to do here.  Not a
major priority, requires the test infrastructure first.

** development environment **

"make webtest" is pretty annoying, get cobbler tools to run better out
of local checkout with PYTHONPATH.    Might be almost free.   See also
the idea of having a way to configure cobbler's filesystem root.
Maybe this only
works in local XMLRPC mode as well.

** python versions **

require python2.4 as a minimum in cobbler & koan both, older OS
support *gone*, they've had long enough, and it's nice to be able to
have decent language capabilities


--Michael
_______________________________________________
cobbler-devel mailing list
cobbler-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/cobbler-devel

Reply via email to