On Mon, Jan 10, 2011 at 11:28 +0000, Michael Hanselmann <[email protected]>
wrote:
> Am 9. Januar 2011 16:04 schrieb Adeodato Simo <[email protected]>:
> > --- a/qa/qa_group.py
> > +++ b/qa/qa_group.py
> > +def TestAssignNodesIncludingSplit(orig_group, node1, node2):
> > + """gnt-group assign-nodes --force"""
> > + groups = qa_config.get("groups", {})
> > + other_group = groups.get("inexistent-groups", ["group1"])[0]
> > +
> > + master_node = qa_config.GetMasterNode()["primary"]
> > +
> > + def AssertInGroup(group, nodes):
> > + expected_output = (group + "\n") * len(nodes)
> > + real_output = GetCommandOutput(master_node,
> > + "gnt-node list --no-headers -o group " +
> > + utils.ShellQuoteArgs(nodes))
> > + AssertEqual(expected_output, real_output)
> If you use .splitlines, the code becomes simpler:
> AssertEqual(real_output.splitlines(), [group] * len(nodes))
Done.
> > + AssertCommand(["gnt-group", "assign-nodes", orig_group, node1],
> > fail=True)
> Can you please add a comment as to why this should fail?
Done.
diff --git qa/qa_group.py qa/qa_group.py
index b61b983..3fd345d 100644
--- qa/qa_group.py
+++ qa/qa_group.py
@@ -98,18 +98,21 @@ def TestGroupListFields():
def TestAssignNodesIncludingSplit(orig_group, node1, node2):
- """gnt-group assign-nodes --force"""
+ """gnt-group assign-nodes --force
+
+ Expects node1 and node2 to be primary and secondary for a common instance.
+
+ """
groups = qa_config.get("groups", {})
other_group = groups.get("inexistent-groups", ["group1"])[0]
master_node = qa_config.GetMasterNode()["primary"]
def AssertInGroup(group, nodes):
- expected_output = (group + "\n") * len(nodes)
real_output = GetCommandOutput(master_node,
"gnt-node list --no-headers -o group " +
utils.ShellQuoteArgs(nodes))
- AssertEqual(expected_output, real_output)
+ AssertEqual(real_output.splitlines(), [group] * len(nodes))
AssertInGroup(orig_group, [node1, node2])
AssertCommand(["gnt-group", "add", other_group])
@@ -118,6 +121,8 @@ def TestAssignNodesIncludingSplit(orig_group, node1, node2):
AssertCommand(["gnt-group", "assign-nodes", other_group, node1, node2])
AssertInGroup(other_group, [node1, node2])
+ # This should fail because moving node1 to orig_group would leave their
+ # common instance split between orig_group and other_group.
AssertCommand(["gnt-group", "assign-nodes", orig_group, node1], fail=True)
AssertInGroup(other_group, [node1, node2])
--
Adeodato Simo | [email protected]
Corp Computing Services SRE (Dublin)