Revision d0c8c01d qa/qa_instance.py
b/qa/qa_instance.py | ||
---|---|---|
42 | 42 |
|
43 | 43 |
|
44 | 44 |
def _GetGenericAddParameters(): |
45 |
params = ['-B', '%s=%s' % (constants.BE_MEMORY, qa_config.get('mem'))]
|
|
46 |
for idx, size in enumerate(qa_config.get('disk')):
|
|
45 |
params = ["-B", "%s=%s" % (constants.BE_MEMORY, qa_config.get("mem"))]
|
|
46 |
for idx, size in enumerate(qa_config.get("disk")):
|
|
47 | 47 |
params.extend(["--disk", "%s:size=%s" % (idx, size)]) |
48 | 48 |
return params |
49 | 49 |
|
... | ... | |
51 | 51 |
def _DiskTest(node, disk_template): |
52 | 52 |
instance = qa_config.AcquireInstance() |
53 | 53 |
try: |
54 |
cmd = (['gnt-instance', 'add',
|
|
55 |
'--os-type=%s' % qa_config.get('os'),
|
|
56 |
'--disk-template=%s' % disk_template,
|
|
57 |
'--node=%s' % node] +
|
|
54 |
cmd = (["gnt-instance", "add",
|
|
55 |
"--os-type=%s" % qa_config.get("os"),
|
|
56 |
"--disk-template=%s" % disk_template,
|
|
57 |
"--node=%s" % node] +
|
|
58 | 58 |
_GetGenericAddParameters()) |
59 |
cmd.append(instance['name'])
|
|
59 |
cmd.append(instance["name"])
|
|
60 | 60 |
|
61 | 61 |
AssertCommand(cmd) |
62 | 62 |
|
... | ... | |
70 | 70 |
|
71 | 71 |
def TestInstanceAddWithPlainDisk(node): |
72 | 72 |
"""gnt-instance add -t plain""" |
73 |
return _DiskTest(node['primary'], 'plain')
|
|
73 |
return _DiskTest(node["primary"], "plain")
|
|
74 | 74 |
|
75 | 75 |
|
76 | 76 |
def TestInstanceAddWithDrbdDisk(node, node2): |
77 | 77 |
"""gnt-instance add -t drbd""" |
78 |
return _DiskTest("%s:%s" % (node['primary'], node2['primary']),
|
|
79 |
'drbd')
|
|
78 |
return _DiskTest("%s:%s" % (node["primary"], node2["primary"]),
|
|
79 |
"drbd")
|
|
80 | 80 |
|
81 | 81 |
|
82 | 82 |
def TestInstanceRemove(instance): |
... | ... | |
98 | 98 |
|
99 | 99 |
def TestInstanceReboot(instance): |
100 | 100 |
"""gnt-instance reboot""" |
101 |
options = qa_config.get('options', {})
|
|
101 |
options = qa_config.get("options", {})
|
|
102 | 102 |
reboot_types = options.get("reboot-types", constants.REBOOT_TYPES) |
103 | 103 |
name = instance["name"] |
104 | 104 |
for rtype in reboot_types: |
... | ... | |
163 | 163 |
|
164 | 164 |
def TestInstanceFailover(instance): |
165 | 165 |
"""gnt-instance failover""" |
166 |
cmd = ['gnt-instance', 'failover', '--force', instance['name']]
|
|
166 |
cmd = ["gnt-instance", "failover", "--force", instance["name"]]
|
|
167 | 167 |
# failover ... |
168 | 168 |
AssertCommand(cmd) |
169 | 169 |
# ... and back |
... | ... | |
196 | 196 |
test_kernel = "/sbin/init" |
197 | 197 |
test_initrd = test_kernel |
198 | 198 |
|
199 |
orig_memory = qa_config.get('mem')
|
|
199 |
orig_memory = qa_config.get("mem")
|
|
200 | 200 |
#orig_bridge = qa_config.get("bridge", "xen-br0") |
201 | 201 |
args = [ |
202 | 202 |
["-B", "%s=128" % constants.BE_MEMORY], |
... | ... | |
255 | 255 |
# due to unused pnode arg |
256 | 256 |
# FIXME: should be removed from the function completely |
257 | 257 |
def buildcmd(args): |
258 |
cmd = ['gnt-instance', 'replace-disks']
|
|
258 |
cmd = ["gnt-instance", "replace-disks"]
|
|
259 | 259 |
cmd.extend(args) |
260 | 260 |
cmd.append(instance["name"]) |
261 | 261 |
return cmd |
... | ... | |
297 | 297 |
|
298 | 298 |
def TestInstanceImport(node, newinst, expnode, name): |
299 | 299 |
"""gnt-backup import""" |
300 |
cmd = (['gnt-backup', 'import',
|
|
301 |
'--disk-template=plain',
|
|
302 |
'--no-ip-check',
|
|
303 |
'--net', '0:mac=generate',
|
|
304 |
'--src-node=%s' % expnode['primary'],
|
|
305 |
'--src-dir=%s/%s' % (constants.EXPORT_DIR, name),
|
|
306 |
'--node=%s' % node['primary']] +
|
|
300 |
cmd = (["gnt-backup", "import",
|
|
301 |
"--disk-template=plain",
|
|
302 |
"--no-ip-check",
|
|
303 |
"--net", "0:mac=generate",
|
|
304 |
"--src-node=%s" % expnode["primary"],
|
|
305 |
"--src-dir=%s/%s" % (constants.EXPORT_DIR, name),
|
|
306 |
"--node=%s" % node["primary"]] +
|
|
307 | 307 |
_GetGenericAddParameters()) |
308 |
cmd.append(newinst['name'])
|
|
308 |
cmd.append(newinst["name"])
|
|
309 | 309 |
AssertCommand(cmd) |
310 | 310 |
|
311 | 311 |
|
... | ... | |
324 | 324 |
node2_full = qa_utils.ResolveNodeName(node2) |
325 | 325 |
|
326 | 326 |
print qa_utils.FormatInfo("Getting physical disk names") |
327 |
cmd = ['gnt-node', 'volumes', '--separator=|', '--no-headers',
|
|
328 |
'--output=node,phys,instance',
|
|
329 |
node['primary'], node2['primary']]
|
|
330 |
output = qa_utils.GetCommandOutput(master['primary'], sq(cmd))
|
|
327 |
cmd = ["gnt-node", "volumes", "--separator=|", "--no-headers",
|
|
328 |
"--output=node,phys,instance",
|
|
329 |
node["primary"], node2["primary"]]
|
|
330 |
output = qa_utils.GetCommandOutput(master["primary"], sq(cmd))
|
|
331 | 331 |
|
332 | 332 |
# Get physical disk names |
333 |
re_disk = re.compile(r'^/dev/([a-z]+)\d+$')
|
|
333 |
re_disk = re.compile(r"^/dev/([a-z]+)\d+$")
|
|
334 | 334 |
node2disk = {} |
335 | 335 |
for line in output.splitlines(): |
336 |
(node_name, phys, inst) = line.split('|')
|
|
336 |
(node_name, phys, inst) = line.split("|")
|
|
337 | 337 |
if inst == instance_full: |
338 | 338 |
if node_name not in node2disk: |
339 | 339 |
node2disk[node_name] = [] |
... | ... | |
359 | 359 |
AssertCommand(" && ".join(cmds), node=node_name) |
360 | 360 |
|
361 | 361 |
print qa_utils.FormatInfo("Getting device paths") |
362 |
cmd = ['gnt-instance', 'activate-disks', instance['name']]
|
|
363 |
output = qa_utils.GetCommandOutput(master['primary'], sq(cmd))
|
|
362 |
cmd = ["gnt-instance", "activate-disks", instance["name"]]
|
|
363 |
output = qa_utils.GetCommandOutput(master["primary"], sq(cmd))
|
|
364 | 364 |
devpath = [] |
365 | 365 |
for line in output.splitlines(): |
366 |
(_, _, tmpdevpath) = line.split(':')
|
|
366 |
(_, _, tmpdevpath) = line.split(":")
|
|
367 | 367 |
devpath.append(tmpdevpath) |
368 | 368 |
print devpath |
369 | 369 |
|
370 | 370 |
print qa_utils.FormatInfo("Getting drbd device paths") |
371 |
cmd = ['gnt-instance', 'info', instance['name']]
|
|
372 |
output = qa_utils.GetCommandOutput(master['primary'], sq(cmd))
|
|
373 |
pattern = (r'\s+-\s+sd[a-z]+,\s+type:\s+drbd8?,\s+.*$'
|
|
374 |
r'\s+primary:\s+(/dev/drbd\d+)\s+')
|
|
371 |
cmd = ["gnt-instance", "info", instance["name"]]
|
|
372 |
output = qa_utils.GetCommandOutput(master["primary"], sq(cmd))
|
|
373 |
pattern = (r"\s+-\s+sd[a-z]+,\s+type:\s+drbd8?,\s+.*$"
|
|
374 |
r"\s+primary:\s+(/dev/drbd\d+)\s+")
|
|
375 | 375 |
drbddevs = re.findall(pattern, output, re.M) |
376 | 376 |
print drbddevs |
377 | 377 |
|
Also available in: Unified diff