diff --git a/lib/cmdlib.py b/lib/cmdlib.py index 4496f161c9c91e5e1ca544d81a97e3f8beb24165..4fd253a6ceffc7a465d84bcf572a30455074a34e 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -3568,7 +3568,7 @@ class LUAddNode(LogicalUnit): ("primary_ip", None, ht.NoType), ("secondary_ip", None, ht.TMaybeString), ("readd", False, ht.TBool), - ("nodegroup", None, ht.TMaybeString) + ("group", None, ht.TMaybeString) ] def CheckArguments(self): @@ -3577,8 +3577,8 @@ class LUAddNode(LogicalUnit): self.hostname = netutils.GetHostname(name=self.op.node_name, family=self.primary_ip_family) self.op.node_name = self.hostname.name - if self.op.readd and self.op.nodegroup: - raise errors.OpPrereqError("Cannot pass a nodegroup when a node is" + if self.op.readd and self.op.group: + raise errors.OpPrereqError("Cannot pass a node group when a node is" " being readded", errors.ECODE_INVAL) def BuildHooksEnv(self): @@ -3694,13 +3694,13 @@ class LUAddNode(LogicalUnit): self.new_node = self.cfg.GetNodeInfo(node) assert self.new_node is not None, "Can't retrieve locked node %s" % node else: - nodegroup = cfg.LookupNodeGroup(self.op.nodegroup) + node_group = cfg.LookupNodeGroup(self.op.group) self.new_node = objects.Node(name=node, primary_ip=primary_ip, secondary_ip=secondary_ip, master_candidate=self.master_candidate, offline=False, drained=False, - nodegroup=nodegroup) + group=node_group) def Exec(self, feedback_fn): """Adds the new node to the cluster. diff --git a/lib/config.py b/lib/config.py index 156f1deabac92da39c2f54054886d38560a03177..e7f9c4e00182ab64a3c1e9da8d70351429e03efe 100644 --- a/lib/config.py +++ b/lib/config.py @@ -1079,7 +1079,7 @@ class ConfigWriter: node.serial_no = 1 node.ctime = node.mtime = time.time() - self._UnlockedAddNodeToGroup(node.name, node.nodegroup) + self._UnlockedAddNodeToGroup(node.name, node.group) self._config_data.nodes[node.name] = node self._config_data.cluster.serial_no += 1 self._WriteConfig() @@ -1264,7 +1264,7 @@ class ConfigWriter: # when we're adding the first node to it, since we don't keep a lock in # the meantime. It's ok though, as we'll fail cleanly if the node group # is not found anymore. - raise errors.OpExecError("Unknown nodegroup: %s" % nodegroup_uuid) + raise errors.OpExecError("Unknown node group: %s" % nodegroup_uuid) if node_name not in self._config_data.nodegroups[nodegroup_uuid].members: self._config_data.nodegroups[nodegroup_uuid].members.append(node_name) @@ -1272,13 +1272,13 @@ class ConfigWriter: """Remove a given node from its group. """ - nodegroup = node.nodegroup + nodegroup = node.group if nodegroup not in self._config_data.nodegroups: - logging.warning("Warning: node '%s' has a non-existing nodegroup '%s'" + logging.warning("Warning: node '%s' has unknown node group '%s'" " (while being removed from it)", node.name, nodegroup) nodegroup_obj = self._config_data.nodegroups[nodegroup] if node.name not in nodegroup_obj.members: - logging.warning("Warning: node '%s' not a member of its nodegroup '%s'" + logging.warning("Warning: node '%s' not a member of its node group '%s'" " (while being removed from it)", node.name, nodegroup) else: nodegroup_obj.members.remove(node.name) @@ -1366,14 +1366,14 @@ class ConfigWriter: self._config_data.nodegroups[default_nodegroup_uuid] = default_nodegroup modified = True for node in self._config_data.nodes.values(): - if not node.nodegroup: - node.nodegroup = self.LookupNodeGroup(None) + if not node.group: + node.group = self.LookupNodeGroup(None) modified = True # This is technically *not* an upgrade, but needs to be done both when # nodegroups are being added, and upon normally loading the config, # because the members list of a node group is discarded upon # serializing/deserializing the object. - self._UnlockedAddNodeToGroup(node.name, node.nodegroup) + self._UnlockedAddNodeToGroup(node.name, node.group) if modified: self._WriteConfig() # This is ok even if it acquires the internal lock, as _UpgradeConfig is diff --git a/lib/objects.py b/lib/objects.py index bf1b6bdd8e05d78bdea69ffd44ce84d91224a901..4bdd245bbe59bf6ade7c08004ce688ea9740d11e 100644 --- a/lib/objects.py +++ b/lib/objects.py @@ -939,7 +939,7 @@ class Node(TaggableObject): "master_candidate", "offline", "drained", - "nodegroup", + "group", ] + _TIMESTAMPS + _UUID diff --git a/lib/opcodes.py b/lib/opcodes.py index 652f9a13373b85a9be197d79f7ca89c1dc21af33..238a2a782fcf6c98c07f7393c4f3382963090fd3 100644 --- a/lib/opcodes.py +++ b/lib/opcodes.py @@ -363,11 +363,13 @@ class OpAddNode(OpCode): name is already in the cluster; use this parameter to 'repair' a node that had its configuration broken, or was reinstalled without removal from the cluster. + @type group: C{str} + @ivar group: The node group to which this node will belong. """ OP_ID = "OP_NODE_ADD" OP_DSC_FIELD = "node_name" - __slots__ = ["node_name", "primary_ip", "secondary_ip", "readd", "nodegroup"] + __slots__ = ["node_name", "primary_ip", "secondary_ip", "readd", "group"] class OpQueryNodes(OpCode): diff --git a/scripts/gnt-node b/scripts/gnt-node index d4e7d6b9f13467733126f75551bbf928b6d39392..92d8068694ce9d75edc0d9501854724d11f762da 100755 --- a/scripts/gnt-node +++ b/scripts/gnt-node @@ -214,7 +214,7 @@ def AddNode(opts, args): bootstrap.SetupNodeDaemon(cluster_name, node, opts.ssh_key_check) op = opcodes.OpAddNode(node_name=args[0], secondary_ip=sip, - readd=opts.readd, nodegroup=opts.nodegroup) + readd=opts.readd, group=opts.nodegroup) SubmitOpCode(op, opts=opts)