X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/f4bc1f2cadcdf1ccba63cc72eb9eaa336fe07950..149a54392714573f3586b55f374ec24a935fb3ea:/qa/qa_node.py diff --git a/qa/qa_node.py b/qa/qa_node.py index be5edcd..6caa48e 100644 --- a/qa/qa_node.py +++ b/qa/qa_node.py @@ -1,3 +1,6 @@ +# +# + # Copyright (C) 2007 Google Inc. # # This program is free software; you can redistribute it and/or modify @@ -25,16 +28,19 @@ import qa_utils from qa_utils import AssertEqual, StartSSH -@qa_utils.DefineHook('node-add') -def _NodeAdd(node): +def _NodeAdd(node, readd=False): master = qa_config.GetMasterNode() - if node.get('_added', False): + if not readd and node.get('_added', False): raise qa_error.Error("Node %s already in cluster" % node['primary']) + elif readd and not node.get('_added', False): + raise qa_error.Error("Node %s not yet in cluster" % node['primary']) - cmd = ['gnt-node', 'add'] + cmd = ['gnt-node', 'add', "--no-ssh-key-check"] if node.get('secondary', None): cmd.append('--secondary-ip=%s' % node['secondary']) + if readd: + cmd.append('--readd') cmd.append(node['primary']) AssertEqual(StartSSH(master['primary'], utils.ShellQuoteArgs(cmd)).wait(), 0) @@ -42,7 +48,6 @@ def _NodeAdd(node): node['_added'] = True -@qa_utils.DefineHook('node-remove') def _NodeRemove(node): master = qa_config.GetMasterNode() @@ -57,7 +62,7 @@ def TestNodeAddAll(): master = qa_config.GetMasterNode() for node in qa_config.get('nodes'): if node != master: - _NodeAdd(node) + _NodeAdd(node, readd=False) def TestNodeRemoveAll(): @@ -68,7 +73,11 @@ def TestNodeRemoveAll(): _NodeRemove(node) -@qa_utils.DefineHook('node-info') +def TestNodeReadd(node): + """gnt-node add --readd""" + _NodeAdd(node, readd=True) + + def TestNodeInfo(): """gnt-node info""" master = qa_config.GetMasterNode() @@ -78,7 +87,6 @@ def TestNodeInfo(): utils.ShellQuoteArgs(cmd)).wait(), 0) -@qa_utils.DefineHook('node-volumes') def TestNodeVolumes(): """gnt-node volumes""" master = qa_config.GetMasterNode() @@ -88,7 +96,6 @@ def TestNodeVolumes(): utils.ShellQuoteArgs(cmd)).wait(), 0) -@qa_utils.DefineHook('node-failover') def TestNodeFailover(node, node2): """gnt-node failover""" master = qa_config.GetMasterNode() @@ -109,7 +116,6 @@ def TestNodeFailover(node, node2): utils.ShellQuoteArgs(cmd)).wait(), 0) -@qa_utils.DefineHook('node-evacuate') def TestNodeEvacuate(node, node2): """gnt-node evacuate""" master = qa_config.GetMasterNode()