virt-sysprep: Update TODO list (thanks Steve Grubb, Dan Berrange).
[libguestfs.git] / TODO
diff --git a/TODO b/TODO
index c726fc9..398abdc 100644 (file)
--- a/TODO
+++ b/TODO
@@ -441,13 +441,6 @@ More inspection features
 - last user who logged in
 - lastlog, last, who
 
-Get the guest icon
-------------------
-
-- For Linux guests, use /etc/favicon.png if available, else get it in
-  a distro-specific manner.
-- For Windows guests, parse it out of c:\windows\explorer.exe
-
 Integrate virt-inspector with CMDBs
 -----------------------------------
 
@@ -499,4 +492,75 @@ daemon to keep sending back data forever, and if so what happens on
 the library side.
 
 [Users can now use virt-ls to solve some of these problems, but it is
-not a general solution at the API level]
\ No newline at end of file
+not a general solution at the API level]
+
+Interactive disk creator
+------------------------
+
+An interactive disk creator program.
+
+Attach method for disconnected operation
+----------------------------------------
+
+http://libguestfs.org/guestfs.3.html#guestfs_set_attach_method
+
+"Librarian" has an idea that he should be able to attach to a regular
+appliance, but disconnect from it and reconnect to it later.  This
+would be some sort of modified attach method (see link above).
+
+The complexity here is that we would no longer have access to
+stdin/stdout (or we'd have to direct that somewhere else).
+
+GObject Introspection
+---------------------
+
+We periodically get asked to implement gobject-introspection (it's a
+GNOME thing):
+
+http://live.gnome.org/GObjectIntrospection
+
+This would require a separate Gtk C API since the main guestfs handle
+would have to be encapsulated in a GObject.  However the main
+difficulty is that the annotations supported to define types are not
+very rich.  Notably missing are support for optional arguments
+(defined but not implemented), support for structs (unless mapped to
+other objects).
+
+Also note that the libguestfs API is not "object oriented".
+
+libosinfo mappings for virt-inspector
+-------------------------------------
+
+Return libosinfo mappings from inspection API.
+
+virt-sysprep ideas
+------------------
+
+ - touch /.unconfigured ?
+ - smolt ID
+ - Spacewalk / RHN ID
+ - Kerberos keys
+ - Puppet registration
+ - user accounts
+ - Windows sysprep
+   (see: https://github.com/clalancette/oz/blob/e74ce83283d468fd987583d6837b441608e5f8f0/oz/Windows.py )
+ - blue skies: change the background image
+ - (librarian suggests ...)
+   . install a firstboot script      virt-sysprep --script=/tmp/foo.sh
+   . run an external shell script
+   . run external guestfish script   virt-sysprep --fish=/tmp/foo.fish
+ - log files (thanks Steve Grubb)
+   . as well as the obvious log files, also
+     utmp/wtmp/btmp/tallylog and pam_faillock's data files
+ - RNG seed (Steve Grubb)
+ - homedirs/.ssh directory, especially /root/.ssh (Steve Grubb)
+ - if drives are encrypted, then dm-crypt key should be changed
+   and drives all re-encrypted
+ - /etc/pki
+   (Steve says ...)
+   Rpm uses nss. Nss sets up its crypto database in
+   /etc/pki. Depending on how long the machine ran before cloning, you
+   may have picked up some certificates or things. This is an area
+   that you would want to look into.
+ - secure erase of inodes etc using scrub (Steve Grubb)
+ - touch /.autorelabel if we create any new files (thanks Dan Berrange)