X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=TODO;h=233ac3c452c6df9648186d21d8a37d88e89109d0;hp=c29ac3655921826c0d7f426c86aa7c07753aebe0;hb=46551d9c51193a4bca2e1b249b8c5f111e1dc7b5;hpb=0102b0cc9ba68155795eb0ab1ad3bb9f9f29368d;ds=sidebyside diff --git a/TODO b/TODO index c29ac36..233ac3c 100644 --- a/TODO +++ b/TODO @@ -1,32 +1,117 @@ +Ideas for the Python bindings: +https://www.redhat.com/archives/fedora-virt/2009-April/msg00114.html + +---------------------------------------------------------------------- + We badly need to actually implement the FTP server mentioned in the documentation. +Or: Implement a FUSE-based filesystem. See the FUSE mountlo +project which does something similar, albeit only to single +filesystems: + +http://sourceforge.net/project/showfiles.php?group_id=121684&package_id=150116 + +---------------------------------------------------------------------- + +BufferIn and BufferOut should turn into and simple +strings in other languages that can handle 8 bit clean strings. +Limit on transfers would still be 2MB for these types. + - then implement write-file properly + - and implement read-file + +---------------------------------------------------------------------- + +Implement febootstrap command. + +---------------------------------------------------------------------- + +Complete the Haskell bindings (see discussion on haskell-cafe). + +---------------------------------------------------------------------- + +Complete the bindings tests - must test the return values and +error cases. + +---------------------------------------------------------------------- + +For virt-inspector: + + - Make a libvirt XML config + + - Test over available OSes + + - Add 'reged' / NT registry support. + ---------------------------------------------------------------------- -Use a real scanner in guestfish. Suggest: +Use virtio_blk by default. It's faster and more natural. +Unfortunately it seems like this will rename all devices - see next +item. - "..." strings - '...' - [...] matching [ and ] +Note: virtio_blk *IS* supported by all our minimum platforms, +ie. CentOS 5.3, Fedora 11, Debian. ---------------------------------------------------------------------- -(From Ján ONDREJ (SAL)) +"Standalone/local mode" + +Instead of running guestfsd (the daemon) inside qemu, there should be +an option to just run guestfsd directly. -We should provide a way to stream partitions in and out. +The architecture in this mode would look like: -Thus: + +------------------+ + | main program | + |------------------| + | libguestfs | + +--------^---------+ + | | reply + cmd | | + +----v-------------+ + | guestfsd | + +------------------+ -dd-out /dev/sda1 > [some file] +Notes: -dd-in /dev/sda1 < [some file] +(1) This only makes sense if we are running as root. -Along with this, we need to be able to call the resize2fs program to -resize the filesystem in case it is larger or smaller than the target -partition. +(2) There is no console / kernel messages in this configuration, but +we might consider capturing stderr from the daemon. -Another useful feature would be to allow rsync to/from a stream for -whole filesystems and subdirectories. +(3) guestfs_config and guestfs_add_drive become no-ops. + +Obviously in this configuration, commands are run directly on the +local machine's disks. You could just run the commands themselves +directly, but libguestfs provides a convenient API and language +bindings. Also deals with tricky stuff like parsing the output of the +LVM commands. Also we get to leverage other code such as +virt-inspector. + +This is mainly useful from live CDs, ie. virt-p2v. + +Should we bother having the daemon at all and just link the guestfsd +code directly into libguestfs? + +---------------------------------------------------------------------- + +PPC problems: + + ppc (32 bit) works with qemu from git, however there is no serial console + + ppc64 requires extra parameters: + -M mac99 -cpu ppc64 + however it still fails: + invalid/unsupported opcode: 01 - 01 - 1a (06301e83) 00000000018c2738 1 + invalid bits: 00400000 for opcode: 0b - 19 - 15 (2d746572) 0000000000009230 + + no serial console in ppc or ppc64 because no one can tell us what + console=ttyXX option to use + +---------------------------------------------------------------------- + +Supermin appliance should be moved into febootstrap. + +---------------------------------------------------------------------- -The current protocol is message-oriented and doesn't support -streaming. But it's simple enough that we could add this. +guestfish -i (runs inspector)