Hi again Cole!

Hmm … yes, I remember this discussion from years ago :)

First comments are that this is both a decent new approach (using the CLI versus XML), and I'm also very concerned that you didn't test it yet, and that there may be several subtle regressions we wouldn't pick up until it shipped, because of workarounds around things libvirt didn't (used to) do.
Not having a lot of time this AM to review…just a few quick questions.

We need to make sure all the disk and network options continue to work, which were implemented when libvirt didn't provide those capabilities. Does it support LVM and multiple network interfaces, etc in the exact same way (end result wise)?   

Similarly, I need to know if any options are used are available in newer distributions but not older, as Cobbler needing to work in say, EL 5, is vitally important. Typically this has happened in the past, where libvirt was not running at equal versions on different distros.   

As for image create, totally, it was added at the request of the oVirt team in ancient days -- there's no need for it anymore.  Please test it live and get back to me?   I don't think it's fair to throw it over the wall and ask the community folks to test/fix it and this shouldn't
be too hard to do.   When you get done, we can ask a few others to try it out and exercise the corners further.   

Further discussion probably belongs on cobbler-devel, and when we get done you can send me a github pull request to github.com/cobbler

Thank you!

--Michael


On Sunday, February 5, 2012 at 9:31 PM, Cole Robinson wrote:

Koan uses the virtinst library for creating libvirt VMs. This is the
same code that virt-install and virt-manager use for a lot of their
libvirt interaction.

Problem is this virtinst never should have been a public API, it was
designed without much thought, and attempting to maintain back compat
all these years hasn't really done much good.

On the flip side, virt-install very much is intended to be a stable
API: there are far more people out there using virt-install for scripting
and we plan on keeping those scripts working as long as possible.
virtinst should really be an implementation detail of virt-install.

So along that line of thinking, I want to deprecate virtinst as a public
API, and keep it private to virt-* tools. So here is a patch series
swapping koan from virtinst to generating a virt-install command line.
Ideally this patch makes it into fedora before march so I can deprecate
virtinst in upcoming fedora 17.

In the process, I add unit testing and unify most of the libvirt koan
code, so hopefully things are in a better state than before.

One fairly sizable caveat though is that I haven't _actually_ tested
koan: unit tests prove it is doing something useful reality can always
be different. Though judging by the state of the koan code I don't think
it's getting a lot of usage, at least the imagecreate module has
been outright broken for near 6 months.

Cole Robinson (5):
setup.py: Add stub 'test' command
koan: vmware: Drop unused imports
koan: Port xen creation to virt-install
koan: Port qcreate to virt-install
koan: port imagecreate to virt-install

.gitignore | 1 +
koan/imagecreate.py | 171 +--------------------------
koan/qcreate.py | 210 +--------------------------------
koan/virtinstall.py | 289 +++++++++++++++++++++++++++++++++++++++++++++
koan/vmwcreate.py | 7 +-
koan/xencreate.py | 173 +--------------------------
setup.py | 51 ++++++++-
tests/koan/__init__.py | 1 +
tests/koan/virtinstall.py | 128 ++++++++++++++++++++
9 files changed, 484 insertions(+), 547 deletions(-)
create mode 100755 koan/virtinstall.py
create mode 100644 tests/koan/__init__.py
create mode 100644 tests/koan/virtinstall.py

--
1.7.7.5

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