28 April 2006

Productive week. I seem to be setting into a good period of post-vacation, post-conference productivity. I'm hopeful that the few days to move (less than two weeks away) don't impede that.

One thing that's underway is starting to make it more viable to use libvirt for more control of Xen guests being created according to our recommended way of setting up guests. One of the sticking points has been how the bootloader gets executed on an initial domain creation. Given the state of xend a year ago, trying to actually hook into domain creation was less than obvious. So, I initially hooked things into xm create. While that was sufficient then, domain creation via libvirt won't follow the same paths. So, I've had to go back and revisit having the bootloader run at domain creation time. Luckily, that code is a lot cleaner now đŸ™‚ So, a little bit later and the bootloader runs on all domain creations if there's not a kernel already set up. The next step is going to be making the interactive portions of the bootloader run more flexible — this will be increasingly important when xenfb gets merged.

Also, to get a little bit of time myself with libvirt, I went ahead and ported the xenguest-install domain creation code to use libvirt for paravirt installs. It looks like this should have some nice benefits in terms of making it easier to know when something goes wrong. It's definitely going to make things nicer for a graphical wrapper around guest creation, etc in the long term.

General distro improvements
The other big thing I tackled was starting to improve the way we select which packages should have a biarch version included in composed trees. Thus far, it's largely been a manual process of “here's a list of packages”. Initially, the list was the LSB set. It's grown since. But really, what we want is APIs that you would develop against as well as the ability to develop against them. So, I've modified rpm so that we'll get automatic deps to go from the -devel subpackage to the main package and we can start just pulling in all -devel packages as the starting point and then depsolve. This will be a huge boon in terms of making the x86_64 environment more rich when being used with 32-bit applications. It also gives a very concise and easy to understand way of what is included in this fashion.

Other than that, been slowly starting to try to get ready to move. As of yesterday, the place is apparently all finished. We're going by this weekend to take some measurements and it'll be good to see it with all of the construction work finished. As scary as buying a house is, I'm looking forward to it as well as being able to have some little projects of things I'd like to do around the house. Also, been trying to get out on the bike some although the weather hasn't been fully cooperating. Soon enough, I'll be complaining about it being too warm, though, I'm sure.