Puppet and debconf/apt fixes
Well it’s been another hectic month, both at work (enforced datacentre move) and visiting friends (photo’s courtesy of Andy).
Finally got back into trying to get automated builds working using Debian preseeding and puppet. I’ve done the Debian preseeding before and fortunately had a config to start with, however I had to spend some time reworking my auto-partitioning scripts making them more robust and flexible. They currently hijack the Debian partitioner to run a shell script, I’d like to improve this in two ways:
# add more hooks into the debian installer (such as for setting up disks). I actually wrote this but then hit the problem where I needed to sign the altered udeb with a key that the installer liked
# use the partman interface that debian provide (though it’s complex and not well documented)
I then hit various puppet issues – in particular hangs whilst executing child processes.
I then spent about a week I think (hard to tell with everything else going on) fighting debconf problems. The first problem I did some debugging – debconf guru Colin Watson fixed the problem. The other hangs seem to be apt/debconf being confused about the state of file descriptors – in particular they use some fairly hacky techniques to determine where the frontend is etc and I think there are some bugs which brought these out. I believe I’ve worked around it, but I’m not sure it’s the correct fix. In any case I can now install a box from scratch.
I still hit occasional problems – e.g. snmpd seems to fail to start from puppet (return code of 256) but it starts fine from the command line. Now to improve my puppet config and sort out some gross workarounds I’m currently doing (if I can, it took a while to even get the gross workarounds working).
Posted: August 22nd, 2007 under Friends, Linux, Work.
Comments: none
Write a comment