"""Script for doing QA on Ganeti.
-You can create the required known_hosts file using ssh-keyscan. It's mandatory
-to use the full name of a node (FQDN). For security reasons, verify the keys
-before using them.
-Example: ssh-keyscan -t rsa node{1,2,3,4}.example.com > known_hosts
"""
import sys
import qa_instance
import qa_node
import qa_os
-import qa_other
import qa_rapi
import qa_tags
import qa_utils
"""Main program.
"""
- parser = optparse.OptionParser(usage="%prog [options] <config-file>"
- " <known-hosts-file>")
+ parser = optparse.OptionParser(usage="%prog [options] <config-file>")
parser.add_option('--dry-run', dest='dry_run',
action="store_true",
help="Show what would be done")
help="Really execute the tests")
(qa_config.options, args) = parser.parse_args()
- if len(args) == 2:
- (config_file, known_hosts_file) = args
+ if len(args) == 1:
+ (config_file, ) = args
else:
- parser.error("Not enough arguments.")
+ parser.error("Wrong number of arguments.")
if not qa_config.options.yes_do_it:
print ("Executing this script irreversibly destroys any Ganeti\n"
qa_config.Load(config_file)
- RunTest(qa_other.UploadKnownHostsFile, known_hosts_file)
-
RunEnvTests()
SetupCluster()
RunClusterTests()
+++ /dev/null
-#
-#
-
-# Copyright (C) 2007 Google Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-
-from ganeti import utils
-from ganeti import constants
-
-import qa_config
-import qa_utils
-
-from qa_utils import AssertEqual, StartSSH
-
-
-def UploadKnownHostsFile(localpath):
- """Uploading known_hosts file.
-
- """
- master = qa_config.GetMasterNode()
-
- tmpfile = qa_utils.UploadFile(master['primary'], localpath)
- try:
- cmd = ['mv', tmpfile, constants.SSH_KNOWN_HOSTS_FILE]
- AssertEqual(StartSSH(master['primary'],
- utils.ShellQuoteArgs(cmd)).wait(), 0)
- except:
- cmd = ['rm', '-f', tmpfile]
- AssertEqual(StartSSH(master['primary'],
- utils.ShellQuoteArgs(cmd)).wait(), 0)
- raise