+#
+#
+
# Copyright (C) 2007 Google Inc.
#
# This program is free software; you can redistribute it and/or modify
content)
-@qa_utils.DefineHook('cluster-init')
def TestClusterInit():
"""gnt-cluster init"""
master = qa_config.GetMasterNode()
cmd.append('--bridge=%s' % bridge)
cmd.append('--master-netdev=%s' % bridge)
+ htype = qa_config.get('default-hypervisor', None)
+ if htype:
+ cmd.append('--default-hypervisor=%s' % htype)
+
cmd.append(qa_config.get('name'))
AssertEqual(StartSSH(master['primary'],
utils.ShellQuoteArgs(cmd)).wait(), 0)
-@qa_utils.DefineHook('cluster-verify')
+def TestClusterRename():
+ """gnt-cluster rename"""
+ master = qa_config.GetMasterNode()
+
+ cmd = ['gnt-cluster', 'rename', '-f']
+
+ original_name = qa_config.get('name')
+ rename_target = qa_config.get('rename', None)
+ if rename_target is None:
+ print qa_utils.FormatError('"rename" entry is missing')
+ return
+
+ cmd_1 = cmd + [rename_target]
+ cmd_2 = cmd + [original_name]
+
+ cmd_verify = ['gnt-cluster', 'verify']
+
+ AssertEqual(StartSSH(master['primary'],
+ utils.ShellQuoteArgs(cmd_1)).wait(), 0)
+
+ AssertEqual(StartSSH(master['primary'],
+ utils.ShellQuoteArgs(cmd_verify)).wait(), 0)
+
+ AssertEqual(StartSSH(master['primary'],
+ utils.ShellQuoteArgs(cmd_2)).wait(), 0)
+
+ AssertEqual(StartSSH(master['primary'],
+ utils.ShellQuoteArgs(cmd_verify)).wait(), 0)
+
+
def TestClusterVerify():
"""gnt-cluster verify"""
master = qa_config.GetMasterNode()
utils.ShellQuoteArgs(cmd)).wait(), 0)
-@qa_utils.DefineHook('cluster-info')
def TestClusterInfo():
"""gnt-cluster info"""
master = qa_config.GetMasterNode()
utils.ShellQuoteArgs(cmd)).wait(), 0)
-@qa_utils.DefineHook('cluster-getmaster')
def TestClusterGetmaster():
"""gnt-cluster getmaster"""
master = qa_config.GetMasterNode()
utils.ShellQuoteArgs(cmd)).wait(), 0)
-@qa_utils.DefineHook('cluster-version')
def TestClusterVersion():
"""gnt-cluster version"""
master = qa_config.GetMasterNode()
utils.ShellQuoteArgs(cmd)).wait(), 0)
-@qa_utils.DefineHook('cluster-burnin')
def TestClusterBurnin():
"""Burnin"""
master = qa_config.GetMasterNode()
+ options = qa_config.get('options', {})
+ disk_template = options.get('burnin-disk-template', 'drbd')
+ parallel = options.get('burnin-in-parallel', False)
+ check_inst = options.get('burnin-check-instances', False)
+ do_rename = options.get('burnin-rename', '')
+
# Get as many instances as we need
instances = []
try:
- num = qa_config.get('options', {}).get('burnin-instances', 1)
- for _ in xrange(0, num):
- instances.append(qa_config.AcquireInstance())
- except qa_error.OutOfInstancesError:
- print "Not enough instances, continuing anyway."
+ try:
+ num = qa_config.get('options', {}).get('burnin-instances', 1)
+ for _ in xrange(0, num):
+ instances.append(qa_config.AcquireInstance())
+ except qa_error.OutOfInstancesError:
+ print "Not enough instances, continuing anyway."
- if len(instances) < 1:
- raise qa_error.Error("Burnin needs at least one instance")
+ if len(instances) < 1:
+ raise qa_error.Error("Burnin needs at least one instance")
- # Run burnin
- try:
script = qa_utils.UploadFile(master['primary'], '../tools/burnin')
try:
+ # Run burnin
cmd = [script,
+ '-p',
'--os=%s' % qa_config.get('os'),
- '--os-size=%s' % qa_config.get('os-size'),
- '--swap-size=%s' % qa_config.get('swap-size')]
+ '--disk-size=%s' % ",".join(qa_config.get('disk')),
+ '--disk-growth=%s' % ",".join(qa_config.get('disk-growth')),
+ '--disk-template=%s' % disk_template]
+ if parallel:
+ cmd.append('--parallel')
+ if check_inst:
+ cmd.append('--http-check')
+ if do_rename:
+ cmd.append('--rename=%s' % do_rename)
cmd += [inst['name'] for inst in instances]
AssertEqual(StartSSH(master['primary'],
utils.ShellQuoteArgs(cmd)).wait(), 0)
qa_config.ReleaseInstance(inst)
-@qa_utils.DefineHook('cluster-master-failover')
def TestClusterMasterFailover():
"""gnt-cluster masterfailover"""
master = qa_config.GetMasterNode()
qa_config.ReleaseNode(failovermaster)
-@qa_utils.DefineHook('cluster-copyfile')
def TestClusterCopyfile():
"""gnt-cluster copyfile"""
master = qa_config.GetMasterNode()
_RemoveFileFromAllNodes(testname)
-@qa_utils.DefineHook('cluster-command')
def TestClusterCommand():
"""gnt-cluster command"""
master = qa_config.GetMasterNode()
_RemoveFileFromAllNodes(rfile)
-@qa_utils.DefineHook('cluster-destroy')
def TestClusterDestroy():
"""gnt-cluster destroy"""
master = qa_config.GetMasterNode()