RenewCrypto: do not consult public key file
authorHelga Velroyen <helgav@google.com>
Thu, 14 Jan 2016 13:35:50 +0000 (14:35 +0100)
committerHelga Velroyen <helgav@google.com>
Fri, 22 Jan 2016 09:39:02 +0000 (10:39 +0100)
commit846733f7fdda1c5d4375e7cdc94857b251424340
treed372b4ff7594e865c9d28758bb7e8c65ec3f6c6f
parent2aa02fa5b1950e9bc3f6a1828948a95cbd4da918
RenewCrypto: do not consult public key file

There is a bug in the current implementation of
backend.RenewCrypto. Before re-generating keys, it checks
if the current key of each node is in the Ganeti public key
file. This was intended as a security feature, but actually
does not work like that. The Ganeti public key file does
only contain the keys of the potential master candidates.
In case of a key-renewal, all nodes' keys are renewed and
that includes the normal nodes (which are not potential
master candidates). This patch removes these checks to
make sure renewal does not fail if a cluster contains
normal nodes.

Note: since potential master candidates are not fully
implemented yet, this did not show up on actual clusters.
The unit test which is implemented in a later patch of
this series revealed this flaw.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>
lib/backend.py
test/py/ganeti.backend_unittest.py