def main(): """Main program. """ colors.check_for_colors() parser = optparse.OptionParser(usage="%prog [options] <config-file>") parser.add_option("--yes-do-it", dest="yes_do_it", action="store_true", help="Really execute the tests") (opts, args) = parser.parse_args() if len(args) == 1: (config_file, ) = args else: parser.error("Wrong number of arguments.") if not opts.yes_do_it: print ("Executing this script irreversibly destroys any Ganeti\n" "configuration on all nodes involved. If you really want\n" "to start testing, supply the --yes-do-it option.") sys.exit(1) qa_config.Load(config_file) primary = qa_config.GetMasterNode().primary qa_utils.StartMultiplexer(primary) print ("SSH command for primary node: %s" % utils.ShellQuoteArgs(qa_utils.GetSSHCommand(primary, ""))) print ("SSH command for other nodes: %s" % utils.ShellQuoteArgs(qa_utils.GetSSHCommand("NODE", ""))) try: RunQa() finally: qa_utils.CloseMultiplexers()
def Main(): parser = optparse.OptionParser(usage="%prog [options] <config-file>") parser.add_option("--yes-do-it", dest="yes_do_it", action="store_true", help="Really execute the tests") parser.add_option("--show-invocations", dest="show_invocations", action="store_true", help="Show which client methods have and have not been " "called") (opts, args) = parser.parse_args() if not opts.yes_do_it: print ("Executing this script irreversibly destroys any Ganeti\n" "configuration on all nodes involved. If you really want\n" "to start testing, supply the --yes-do-it option.") sys.exit(1) qa_config.Load(args[0]) # Only the master will be present after a fresh QA cluster setup, so we have # to invoke this to get all the other nodes. qa_node.TestNodeAddAll() client = GanetiRapiClientWrapper() Workload(client) qa_node.TestNodeRemoveAll() # The method invoked has the naming of the protected method, and pylint does # not like this. Disabling the warning is healthier than explicitly adding and # maintaining an exception for this method in the wrapper. if opts.show_invocations: # pylint: disable=W0212 client._OutputMethodInvocationDetails()