| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
defining new CLI commands.
|
| |
|
|
|
|
|
|
|
| |
up the graph, in ksmeta and
possibly kopts. Also added some code to check to make sure an object of the wrong type never gets
added to the wrong collection.
|
|
|
|
|
|
| |
of find (mpd) to add some error checking, list returns, and other semi-useful
stuff. Plus tests and an optomization to allow name=foo as the only parameter
to be just as fast as before.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
can be done at deserialization time. The result of this is that full graph
listing information can be reconstructed at time of config loading (up and
down links), while only having to store the up links.
This preserves the existing config file format while allowing for arbitrary inheritance and
a reasonable measure of hand-editability.
If changing profile relationships by hand, the cached depth info may be wrong,
so some way to automatically resolve this could potentially be doable,
but it's such a distinct corner case that I don't deem it neccessary at this point.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
some rough edges (like listing the tree).
cobbler profile add --name=profile2 --inherit=profile1 --otherparameters=...
cobbler profile edit --name=profile2 --stillmoreparamters=...
Data is interleaved for hashes, combined for arrays, and overriden for scalar
values. This was heavily inspired by Will-It-Blend, and in this implementation
it all blends.
Implementation notes -- Updating a parent profile doesn't apply changes
to the child objects until a sync, so this seems like a good upgrade
for a future commit. Also, the children mapping that makes this
possible needs some tweaks because they may load out of order,
in which case "cobbler list" can't render a full
tree. There are various approaches to deal with this and it should be
a (relatively) easy change.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
intermediate subobjects of the same type in the way.
For instance, the conceptual parent of a subprofile is not the parent profile,
but is the distro object.
Also fixing a bug in is_pxe_supported()
|
|
|
|
|
|
| |
Reasonably efficient, and allows for faster display/searching, with the
ability to do arbitrary nesting for config display when we have inheritable
profiles implemented.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
support
of inheritance hierarchies, as well as making more data available to koan and the kickstart
templating engine.
With this change, any variable in the tree (anywhere), is now accessible via Cheetah -- and
the same goes for koan XMLRPC.
Unit tests pass and looks okay on the outside, though this still warrants extended testing
to verify no unintended behaviors have changed.
|
|
|
|
|
|
|
| |
translation function and run manual testing to ensure no functional errors in other
places (such as import).
cobbler_msg (strings file) has been removed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
object renaming, copying, and editing -- previously only addition and
removal were supported. This frees uses (hopefully) from the need
to hack YAML and risk damaging their configurations by rendering the
config unparseable. It also makes "cobbler list" print out a simple
tree representation that shows the association between objects.
This also relaxes the requirements for what constitutes a kernel and initrd
filename, just in case they are named something different. They still have
to exist.
|
|
|
|
|
|
|
|
|
|
|
|
| |
complicated and introduces a new variable source_repos on each
'distro' object and also has some implications for how sync completes.
Basically RHEL5 has multiple comps files so createrepo must be run more
than once.
The main point of this support is to install and configure the "core"
mirror for distros, where previously only extras/updates were dealt
with. The core repo is derived from the kickstart tree (cobbler import)
rather than the "cobbler repo add" commands (manual add).
|
|
|
|
|
|
|
| |
(basically anything that's not really a string or a number) to a list or hash, as appropriate. This will allow the cobbler API to accept list/hash input as appropriate in addition to strings, allowing for more advanced use of the templating engine. This also extends more power to the user to add their own entries in /var/lib/cobbler files for ksmeta, as opposed to having to enter in --ksmeta options on the command line, which previously did not tolerate newlines.
All of this is backwards compatible with the old format (both should load fine). Files will convert over
to the new format once any add commands are run.
|
|
|
|
| |
a SuSE answer file (needs testing) and can make way for other distros. koan needs to detect when it's been given a non-redhat based distro and not do anything, though cobbler PXE should work in both cases.
|
| |
|
| |
|
| |
|
|
|
|
| |
at the same time -- not a huge risk -- but it ought to be guarded against.
|
| |
|
|
|
|
| |
--kopts. The parameter is a space delimited list of key=value pairs, which allows the variables entered to be evaluated through Cheetah. Thus kickstarts are now Cheetah templates. All templating errors are ignored so usage of a $ in a template is still legal where it doesn't reference a variable. Error ignoring should be finer grained and this does need some tests. Currently this only works for kickstarts on filesystems, and I'm not sure what the behavior for http and nfs should be. Anyhow, fairly useful stuff.
|
|
|
|
| |
test where I changed a command line syntax.
|
|
|
|
|
|
| |
exception
cleanup.
|
|
|
|
| |
all the way up the stack. Still not quite super-consistant, but getting there. Util functions still return true/false since they just ask questions, but API functions will throw errors to ensure they are being dealt with. Main CLI class needs to take advantage of this fact and become simpler. Tests are already modified to detect new exceptions with one exception :)
|
|
|
|
|
|
|
| |
reminded me of the
thing I hated most about Microsoft SDK/DDK programming (that being, last_error and inconsistant
error handling), so it had to go.
|
| |
|
| |
|
| |
|
|
cleanup but it will get straightened out very soon. The main thing I'm doing here is to remove backreferences from the object tree and make the API simpler, so that folks using the API screw up less. This means making the CLI code simpler as well. The serializer has also been overhauled so it's not as much bolted on, although I have some fixing to do to make it work entirely correctly. Wanted to check all of this in case someone decided to patch something else, making diffing really complex in the interim. I'd recommend not patching anything else to this code as I'm not close to done, really.
|