Jeremy Katz wrote:
Mark McLoughlin wrote:
> On Wed, 2008-05-28 at 14:36 -0400, Jeremy Katz wrote:
>>> The ability for a tool to create these partitioned disk images via the
>>> command like, livecd-creator, is very helpful in reproducing known
>>> state
>>> appliances, epically with the rising use of visualization. Going
>>> through a actual install in a vm limits you to VM container, xen, kvm,
>>> vmware and adds extra overhead of building on a machine with extra virt
>>> resources.
>> Reproducing known state should work just as well with a kickstart
>> config and doing an install via, eg, virt-install. Yes, it adds
>> overhead, but there are also advantages in functionality and it also
>> means *not* maintaining this sort of code in multiple places. And
>> that's a pretty big win as partitioning code is not in the least bit
>> trivial. Especially as you start trying to handle more and more of
>> the cases.
>
> That pretty lame - you're trying to curtail what use cases people make
> imgcreate support purely because we haven't figured out how to do a
> better job of sharing code with anaconda.
If there were multiple people really clamoring for support to do
partitioned images, it would be one thing. But right now, it's one
tool. And to then carry the onus outside of that tool for keeping the
non-trivial bits working?
> The very least we should be doing is allowing imgcreate to be extended
> externally in this manner ... but that doesn't fix the "multiple copies
> of this code" issue, it merely pushes it elsewhere and makes it less
> likely it'll ever be fixed.
But we are doing the work to allow an external appliance-creator to
carry the functionality if desired. That's why the refactoring patch is
reasonable (modulo fixing up the API break).
> Clearly, one advantage of imgcreate tools over a full blown anaconda
> install in a VM is that it's far less complex to debug when it all goes
> wrong. That's a huge advantage to people repeatedly rebuilding images as
> they develop a LiveCD or an appliance.
The reason that it's less complex to debug is the fact that the code is
more limited in what it supports than anaconda. Adding more
(complicated) pieces is directly in contradiction to keeping things
simple to debug
So.. to summarize.. as long as the partitioning code is in the appliance
creator only.. we are fine. Is that correct?
-- bk