Revision 66787da5

b/qa/ganeti-qa.py
230 230
  RunTestIf("group-list", qa_group.TestGroupListAllFields)
231 231

  
232 232

  
233
def RunGroupRwTests():
234
  """Run tests for adding/removing/renaming groups.
235

  
236
  """
237
  RunTestIf("group-rwops", qa_group.TestGroupAddRemoveRename)
238

  
233 239
def RunExportImportTests(instance, pnode, snode):
234 240
  """Tries to export and import the instance.
235 241

  
......
358 364

  
359 365
  RunCommonNodeTests()
360 366
  RunGroupListTests()
367
  RunGroupRwTests()
361 368

  
362 369
  pnode = qa_config.AcquireNode(exclude=qa_config.GetMasterNode())
363 370
  try:
b/qa/qa-sample.json
33 33
    }
34 34
  ],
35 35

  
36
  "groups": {
37
    "group-with-nodes": "default",
38
    "inexistent-groups": [
39
      "group1",
40
      "group2",
41
      "group3"
42
    ]
43
  }
44

  
36 45
  "tests": {
37 46
    "env": true,
38 47
    "os": true,
......
54 63
    "cluster-modify": true,
55 64

  
56 65
    "group-list": true,
66
    "group-rwops": true,
57 67

  
58 68
    "node-info": true,
59 69
    "node-volumes": true,
b/qa/qa_group.py
19 19
# 02110-1301, USA.
20 20

  
21 21

  
22
import qa_config
22 23
from qa_utils import AssertCommand
23 24

  
24 25

  
26
def TestGroupAddRemoveRename():
27
  """gnt-group add/remove/rename"""
28
  groups = qa_config.get("groups", {})
29

  
30
  existing_group_with_nodes = groups.get("group-with-nodes", "default")
31
  group1, group2, group3 = groups.get("inexistent-groups",
32
                                      ["group1", "group2", "group3"])[:3]
33

  
34
  AssertCommand(["gnt-group", "add", group1])
35
  AssertCommand(["gnt-group", "add", group2])
36
  AssertCommand(["gnt-group", "add", group2], fail=True)
37
  AssertCommand(["gnt-group", "add", existing_group_with_nodes], fail=True)
38

  
39
  AssertCommand(["gnt-group", "rename", group1, group2], fail=True)
40
  AssertCommand(["gnt-group", "rename", group1, group3])
41

  
42
  try:
43
    AssertCommand(["gnt-group", "rename", existing_group_with_nodes, group1])
44

  
45
    AssertCommand(["gnt-group", "remove", group2])
46
    AssertCommand(["gnt-group", "remove", group3])
47
    AssertCommand(["gnt-group", "remove", group1], fail=True)
48
  finally:
49
    # Try to ensure idempotency re groups that already existed.
50
    AssertCommand(["gnt-group", "rename", group1, existing_group_with_nodes])
51

  
52

  
25 53
def TestGroupListDefaultFields():
26 54
  """gnt-group list"""
27 55
  AssertCommand(["gnt-group", "list"])

Also available in: Unified diff