Allow iallocator to work without LVM storage
authorIustin Pop <iustin@google.com>
Fri, 1 Mar 2013 11:45:38 +0000 (12:45 +0100)
committerIustin Pop <iustin@google.com>
Mon, 4 Mar 2013 10:35:44 +0000 (11:35 +0100)
commit36a566e87f9133d73329c900870815bce32b20ce
tree18dce401dd45c12f4841ddf7d7d533510b1a03a1
parent91c17910376c5dea82daf3825d22c3bef3a8cd98
Allow iallocator to work without LVM storage

Currently, the iallocator interface requires LVM storage, due to the
way it computes the node storage information.

By changing the code to understand that GetVGName() can return None,
and by setting the disk_total/disk_free node parameters to the value
zero, we can workaround this issue until proper multi-storage
reporting is implemented.

The hail iallocator plugin works without changes once this is
implemented, as it already handles non-LVM storage as "foreign"
storage (with unlimited capacity).

The patch also changes a bit how the parameters are retrieved and
used; hopefully this is a bit safer and more readable.

Signed-off-by: Iustin Pop <iustin@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
lib/masterd/iallocator.py