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