Comment #3 on issue 742 by [email protected]: gnt-cluster verify reports
ERROR:ENODEHOOKS when a node is offline
http://code.google.com/p/ganeti/issues/detail?id=742
The reason why _CheckConfigNode can handle either node UUID's or node names
is LUNodeAdd. The newly added node therein has no UUID when the
BuildHooksNodes() method is invoked, so the new node is addressed by its
node name instead.
Having _CheckConfigNode fall back to the node name was probably not the
wisest solution. At this point in the control flow it's pretty impossible
(or really hacky) to figure out whether it's ok to talk to the node by name
or not.
The patch which is attached will probably break node adds, but if you
return the name instead of None in foo it would probably work. But in any
case, it's not a clean solution.
IMHO, the best approach to fix this would be to accept node UUIDs only in
_CheckConfigNode() and fix LUNodeAdd to only use node UUIDs in
BuildHooksNodes(). The problem there is that BuildHooksNodes() is called
before the LU is actually executed, so the node UUID is not known at this
point.
I see two potential fixes for that:
* Reserve an UUID before BuildHooksNodes() is called and use this UUID
then during Exec()
* Add a AppendPostHooksNodes() method which is called before POST hooks
are called, so LUNodeAdd could add the UUID of the newly added node during
this method.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings