raise errors.OpPrereqError("Cannot pass a node group when a node is"
" being readded", errors.ECODE_INVAL)
+ # OpenvSwitch: Warn user if link is missing
+ if (self.op.ndparams[constants.ND_OVS] and not
+ self.op.ndparams[constants.ND_OVS_LINK]):
+ self.LogInfo("No physical interface for OpenvSwitch was given."
+ " OpenvSwitch will not have an outside connection. This"
+ " might not be what you want.")
+ # OpenvSwitch: Fail if parameters are given, but OVS is not enabled.
+ if (not self.op.ndparams[constants.ND_OVS] and
+ (self.op.ndparams[constants.ND_OVS_NAME] or
+ self.op.ndparams[constants.ND_OVS_LINK])):
+ raise errors.OpPrereqError("OpenvSwitch name or link were given, but"
+ " OpenvSwitch is not enabled. Please enable"
+ " OpenvSwitch with --ovs", errors.ECODE_INVAL)
+
def BuildHooksEnv(self):
"""Build hooks env.
(verifier, nl_payload[failed]))
raise errors.OpExecError("ssh/hostname verification failed")
+ # OpenvSwitch initialization on the node
+ if self.new_node.ndparams[constants.ND_OVS]:
+ result = self.rpc.call_node_configure_ovs(
+ self.new_node.name,
+ self.new_node.ndparams[constants.ND_OVS_NAME],
+ self.new_node.ndparams[constants.ND_OVS_LINK])
+
if self.op.readd:
self.context.ReaddNode(self.new_node)
RedistributeAncillaryFiles(self)