X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=TODO;h=07e96f2964cd79745f6f0cca3cbd71a2eb41b998;hp=9eee3fe6704b8068bbd13b73d201ebeecea8ddc8;hb=d8346d5d6428c7293d1ddf58e4f9ec4b7de25380;hpb=398e6830a34e916c52cd23ba6d0b4c00602dfc61 diff --git a/TODO b/TODO index 9eee3fe..07e96f2 100644 --- a/TODO +++ b/TODO @@ -17,27 +17,16 @@ IDs and the host. It's not easy to automate this because you need extra details about the guest itself in order to get to its UID->username map (eg. /etc/passwd from the guest). -BufferIn --------- - -BufferIn 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 - -febootstrap / debootstrap inside appliance ------------------------------------------- - -This was originally proposed as a way to install new operating systems -in the appliance. However no one has come up with a workable -solution. - Haskell bindings ---------------- Complete the Haskell bindings (see discussion on haskell-cafe). +PHP bindings +------------ + +Add bindtests to PHP bindings. + Complete bind tests ------------------- @@ -94,11 +83,6 @@ 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? -Supermin appliance to febootstrap ---------------------------------- - -Supermin appliance functionality should be moved into febootstrap. - Ideas for extra commands ------------------------ @@ -119,6 +103,7 @@ Ideas for extra commands findfs logsave mklost+found + ext2undelete SELinux: chcat @@ -189,7 +174,6 @@ To mount read-only, add C 1> like this: which is equivalent to the following sequence of calls: $h = Sys::Guestfs->new (); - $h->set_autosync (1); $h->add_drive_ro ($filename); $h->launch (); $h->mount_ro (\"/dev/sda1\", \"/\"); @@ -212,16 +196,6 @@ ntfsclone Useful imaging tool: http://man.linux-ntfs.org/ntfsclone.8.html -Standard images ---------------- - -Equip guestfish with some standard images that it can load -quickly, eg: - - load ext2 - -Maybe it's better to create these on the fly? - virt-rescue pty --------------- @@ -238,13 +212,6 @@ Windows-based daemon/appliance See discussion on list: https://www.redhat.com/archives/libguestfs/2009-November/msg00165.html -virt-grow, virt-shrink ----------------------- - -Grow and shrink existing guests. The main problem comes with -MBR-style partitions where you have to actually copy data around the -disk (unless you only want to change the final partition). - qemu locking ------------ @@ -265,4 +232,146 @@ anything in a disk image. However this won't work easily for VM disk images in the disk image. One would have to download those to the host and launch another -libguestfs instance. \ No newline at end of file +libguestfs instance. + +Map filesystems to disk blocks +------------------------------ + +Map files/filesystems/(any other object) to the actual disk +blocks they occupy. + +And vice versa. + +Is it even possible? + +See also contribs/visualize-alignment/ + +Integration with host intrusion systems +--------------------------------------- + +Perfect way to monitor VMs from outside the VM. Look for file +hashes, log events, login/logout etc. + +http://www.ossec.net/ +http://la-samhna.de/samhain/ +http://sourceforge.net/projects/aide/ +http://osiris.shmoo.com/ +http://sourceforge.net/projects/tripwire/ + +Fix 'file' +---------- + +https://www.redhat.com/archives/libguestfs/2010-June/msg00053.html +https://www.redhat.com/archives/libguestfs/2010-June/msg00079.html + +Regression test on virt-inspector +--------------------------------- + +Occasionally we break virt-inspector through some change. We should +add a regression test for it. However this is hard because we'd need +to avoid having to carry huge images. + +Update: I managed to fit a real-but-minimal Fedora 13 image into 6.2 MB. +See: http://rwmj.wordpress.com/2010/09/07/tip-pack-files-into-a-new-disk-image/#content + +Freeze/thaw filesystems +----------------------- + +Access to these ioctls: +http://git.kernel.org/linus/fcccf502540e3d7 + +Tips for new users in guestfish +------------------------------- + +$ guestfish +Tip: You need to 'add disk.img' or 'alloc disk.img nn' to make a new image. +Type 'notips' to disable tips permanently. +> add mydisk +Tip: You need to type 'run' before you can see into the disk image. +> run +Tip: Use 'list-filesystems' to see what filesystems are available. +> list-filesystems +/dev/vda1 +Tip: Use 'mount fs /' to mount a filesystem. +> mount /dev/vda1 / +Tip: Use 'll /' to view the filesystem or ... +> ll / + +Could we make guestfish interactive if commands are used without params? +------------------------------------------------------------------------ + +> sparse +[[Prints man page]] +Image name? disk.img +Size of image? 10M + +Common problems +--------------- + +How can we solve these common user problems? + +[space for common problems here] + +Better support for encrypted devices +------------------------------------ + +Currently LUKS support only works if the device contains volume +groups. If it contains, eg., partitions, you cannot access them. +We would like to add: + + - An easier way to use this from guestfish. + - Direct access to the /dev/mapper device (eg. if it contains + anything apart from VGs). + +Display image as PS +------------------- + +Display the structure of an image file as a PS. + +Greater use of blkid / libblkid +------------------------------- + +guestfs_zero should use wipefs. See wipefs(8). + +There are various useful functions in libblkid for listing partitions, +devices etc which we are essentially duplicating in the daemon. It +would make more sense to just use libblkid for this. + +There are some places where we call out to the 'blkid' program. This +might be replaced by direct use of the library (if this is easier). + +Visualization +------------- + +Eric Sandeen pointed out the blktrace tool which is a better way of +capturing traces than using patched qemu (see +contrib/visualize-alignment). We would still use the same +visualization tools in conjunction with blktrace traces. + +guestfish parsing +----------------- + +At the moment guestfish uses an ad hoc parser which has many +shortcomings. We should change to using a lex/yacc-based scanner and +parser (there are better parsers out there, but yacc is sufficient and +very widely available). + +The scanner must deal with the case of parsing a whole command string, +eg. for a command that the user types in: + + > add-drive-opts "/tmp/foo" readonly:true + +and also with parsing single words from the command line: + + guestfish add-drive-opts /tmp/foo readonly:true + +Note the quotes are for scanning and don't indicate types. + +We should also allow variables and expressions as part of this new +parsing code, eg: + + set roots inspect-os + set product inspect-get-product-name %{roots[0]} + +% is better than $ because of shell escaping and confusion with shell +variables.