autotest/autotest — Issue #74: boottool: write replacement for perl-based version
Author: clebergnu
Created: 2011-11-16 09:21:04+00:00
State: open

`client/tools/boottool` has been used successfully to manage boot entries (querying, adding, removing and updating them), but it's showing its age. New Linux distributions, such as Fedora 16, ship with grub2, which is not supported by boottool. On the other hand, grubby has support for all the bootloaders that boottool supports and more, including grub2.

So, let's write a replacement for boottool. The plan is:

* Write a new boottool, in python, that leverages grubby
* Keep the current boottool around, and use it by default on all bootloaders but grub2
* Test one bootloader at a time, starting with grub (v1), and then make the new boottool responsible for it
* When all bootloaders have been tested on the new boottool, drop the current perl-based boottool

We have to be careful and support:

* The command-line arguments syntax and semantics
* The client side API (which is also used in the server side API)
* Grubby local installation and version check on client side
* Pushing grubby to hosts on server side