Update

Scott James Remnant scott at ubuntu.com
Sun Jun 17 21:17:13 BST 2007


Since I've been working on a few pieces in my CFT over the last few
weeks, I thought it might be useful to send an update on how they are
going and where they're going to.


upstart:
 - Working towards the 0.5 milestone, the 0.3.x releases that appeared
   throughout feisty are a major part of this work.
 - This is all about making Upstart more predictable in its behaviour
   under all scenarios, while increasing the flexibility of the
   framework.
 - This is what's currently blocking native init scripts.
 - Improvements so far:
   - events carry payload arguments and environment
   - events can be blocked from finishing
   - events generated by jobs block the job state from changing until
     they are finished; e.g. "on starting dbus" will cause dbus to not
     start until your job has started first
   - improvements to the sysv-compat events
   - instance jobs (which can be run multiple times)
   - configuration reloading is much more consistent; configuration of
     running jobs is not changed until the job is stopped
todo:
 - The next big thing is States; a discussion that's been ongoing since
   Mountain View last year!  The definition and behaviour of system
   states, and how they interact with events and jobs.  Fundamentally a
   state is defined by events and other states, and can be something
   like "a user can login" or "a network interface is up"
 - Since states are inherently coupled with description about what
   caused them, "the eth0 network interface is up"; states are
   interesting to couple to instance jobs.  e.g. define a state from
   "tty-added" to "tty-removed" for the same TTY, and couple that to a
   single getty job; you'll now have getty spawned for any TTY (and can
   define the list you care about).
 - further improvements to sysv-compat, especially in maintaining the
   utmp and wtmp files


udev:
 - You'll probably notice that we've switched from using /etc/iftab to
   writing and automatically
   maintaining /etc/udev/rules.d/70-persistent-net.rules
 - The benefit is that this file is maintained automatically, whereas
   iftab had to be maintained by hand;  it's also compatible with
   Debian, etc.
 - This works for CDs too, so your /dev/cdrom symlink will stick to the
   same drive forever
todo:
 - Migration of iftab isn't done yet, and the installer bits that write
   it haven't been ported yet.


devmapper:
 - Happily this time round, both SuSE and Upstream are working on
   solving the udev integration issue with us; I am hopeful that gutsy
   will rock
 - The "rendezvous" code has been removed, because it caused too many
   problems; instead we've simply made it so that devmapper creates the
   device node first, and udev replaces it later, and shored up the code
   so if they absolutely race, the end result is correct
 - Upstream plan is that the kernel uevent layer will gain the notion of
   completion, so the devmapper ioctl()s won't even return until udev
   has made the device node
 - We've got a lot more smarts; udev now knows the status, type, table
   type, etc. of every devmapper device; and is notified when these
   change.
 - We don't run vol_id on suspended devices and those with known errors.
 - These smarts already fix some bugs; the UUID symlink will now never
   point at the "snapshot-origin" part of an LVM snapshot
todo:
 - automatic module loading on boot, and on table creation


lvm2:
 - Packaging has been substantially cleaned up, and the udev rules
   corrected.  This fixes a large number of the known problems.
todo:
 - The issue with vol_id being run on the temporary node created as a
   part of the snapshot process still exists; however it is a simple
   matter to correct now.  The node just needs to be painted in some way
   that shows up to devmapper, and thus udev can ignore it.
 - Upstream are planning that solution.


mdadm:
 - Needs merging and packaging with the equivalent changes as made to
   devmapper.
 - Will we have smarts to ensure udev has full knowledge of the array
   state and receives notification of changes (patch from SuSE).  vol_id
   will only ever be run on assembled/active arrays.
 - Issue remains exactly how to run mdadm from udev rules; and how
   much/if at all mdrun or the initramfs scripts are actually necessary.


evms:
 - Needs merging and a patch from SuSE to negate the effect of the
   kernel block device claiming applied.
 - Tackle the problem of swap being available at either /dev/hda5
   or /dev/mapper/hda5, or both(!!)


util-linux:
 - The vol_id patch has been taken upstream, make sure we're up to date
   and clean up any debris
 - Investigate fsck/mkswap UUID issues

Scott
-- 
Scott James Remnant
Ubuntu Development Manager
scott at ubuntu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20070617/0b27c480/attachment.pgp 


More information about the ubuntu-devel mailing list