Hi Dan, FWIW, this looks pretty much spot on to me ... I'm not sure there's a lot to discuss :-) On Tue, 2007-10-16 at 16:19 +0100, Daniel P. Berrange wrote: > Application users > ================= > > - virt-manager / virt-install > - Enumerate available pools > - Allocate volume from pool > - Create guest with volume Nice that you list these and concentrate on them. > Two core concepts > > - Volume > - a chunk of storage > - assignable to a guest > - assignable to a pool > - optionally part of a pool > > - Pool > - a chunk of storage > - contains free space > - allocate to provide volumes > - compromised of volumes > > Recursive! > > n x Volume -> Pool -> n x Volume > > Nesting to many levels... Hmm, I'd try and avoid the confusion associated with this nesting concept ... What kind of uses for it are you thinking? (e.g. something like allocate a big raw sparse volume, create a pool from it and and then allocate volumes from that pool?) Is it that you need to somehow represent the storage that a pool can allocate from and that that winds up being similar to how you represent storage that is assignable to a pool? If that's the case, maybe fold the concept of "what a pool allocates from" into the pool concept and make the volume concept just about "what are assignable to guests". > Operations > ========== > > Limited set of operations to perform > > - List host volumes (physical attached devices) > - List pools (logical volume groups, partitioned devs, filesystems) > - List pool volumes (dev partitions, LVM logical volumes, files) Perhaps there should be a default pool for each host so that to list host volumes you just list the volumes from the default pool? Cheers, Mark. -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list