Revision e7c6e02b qa/qa_node.py

b/qa/qa_node.py
29 29

  
30 30

  
31 31
@qa_utils.DefineHook('node-add')
32
def _NodeAdd(node):
32
def _NodeAdd(node, readd=False):
33 33
  master = qa_config.GetMasterNode()
34 34

  
35
  if node.get('_added', False):
35
  if not readd and node.get('_added', False):
36 36
    raise qa_error.Error("Node %s already in cluster" % node['primary'])
37
  elif readd and not node.get('_added', False):
38
    raise qa_error.Error("Node not yet %s in cluster" % node['primary'])
37 39

  
38 40
  cmd = ['gnt-node', 'add']
39 41
  if node.get('secondary', None):
40 42
    cmd.append('--secondary-ip=%s' % node['secondary'])
43
  if readd:
44
    cmd.append('--readd')
41 45
  cmd.append(node['primary'])
42 46
  AssertEqual(StartSSH(master['primary'],
43 47
                       utils.ShellQuoteArgs(cmd)).wait(), 0)
......
60 64
  master = qa_config.GetMasterNode()
61 65
  for node in qa_config.get('nodes'):
62 66
    if node != master:
63
      _NodeAdd(node)
67
      _NodeAdd(node, readd=False)
64 68

  
65 69

  
66 70
def TestNodeRemoveAll():
......
71 75
      _NodeRemove(node)
72 76

  
73 77

  
78
@qa_utils.DefineHook('node-readd')
79
def TestNodeReadd(node):
80
  """gnt-node add --readd"""
81
  _NodeAdd(node, readd=True)
82

  
83

  
74 84
@qa_utils.DefineHook('node-info')
75 85
def TestNodeInfo():
76 86
  """gnt-node info"""

Also available in: Unified diff