Fai-updater

From FAIWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

fai-updater - run and supervise softupdates on many machines at the same time

License

I put this code under the GPLv2

Download

Until I figure out how to upload a tarball to the wiki, you can download fai-updater from [1]

Required packages

for the frontend, you need the Curses::UI perl module, in Debian you get it via

apt-get install libcurses-ui-perl

On the client side, fai-client is needed and of course a FAI configuration which is update-safe.

Install

Just unpack the tarball.

Command line options

 updater-curses [options] <netgroup|-H host1,host2,...>
 --help            display this help message
 --version         print version
 -o                ordered mode: don't randomize order of hosts
 -s <number>       number of updates running simultanously
 -n                dryrun mode: use a dummy-script instead of really 
                   contacting the clients

Connecting to the clients

A script using ssh is included, but of course you can edit it to match your own needs.

To be able to connect to the clients using the provided libexec/faiupdate, you need to have some way to access them via ssh as root without entering a password.

A solution for this is to install a matching file as /root/.ssh/authorized_keys, start ssh-agent and load the private key into it _before_ starting fai-updater.

Another, but from a security point of view dangerous, possibility is to use a passphrase-less ssh private key into the account under which you run fai-updater.

Some comments on the code

I know the code is quite rough, as though I tried programming cleanly, a lot of hacks have slipped in, and I don't have the time to clean up the code right now due to my diploma thesis' deadline ;)

If you have any questions or suggestions, feel free to write me.

Henning Glawe <glaweh (at) debian (dot) org>