本文整理汇总了Python中virttest.utils_libvirtd.libvirtd_restart函数的典型用法代码示例。如果您正苦于以下问题:Python libvirtd_restart函数的具体用法?Python libvirtd_restart怎么用?Python libvirtd_restart使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了libvirtd_restart函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: unix_transport_setup
def unix_transport_setup():
"""
Setup a unix connect to local libvirtd.
"""
shutil.copy(libvirtd_conf_path, libvirtd_conf_bak_path)
with open(libvirtd_conf_path, 'r') as libvirtdconf_file:
line_list = libvirtdconf_file.readlines()
conf_dict = {r'auth_unix_rw\s*=': 'auth_unix_rw="none"\n', }
for key in conf_dict:
pattern = key
conf_line = conf_dict[key]
flag = False
for index in range(len(line_list)):
line = line_list[index]
if not re.search(pattern, line):
continue
else:
line_list[index] = conf_line
flag = True
break
if not flag:
line_list.append(conf_line)
with open(libvirtd_conf_path, 'w') as libvirtdconf_file:
libvirtdconf_file.writelines(line_list)
# restart libvirtd service
utils_libvirtd.libvirtd_restart()
开发者ID:nasastry,项目名称:tp-libvirt,代码行数:29,代码来源:virsh_connect.py
示例2: prepare_ssl_env
def prepare_ssl_env():
"""
Do prepare for ssl spice connection
"""
# modify qemu.conf
f_obj = open(qemu_conf, "r")
cont = f_obj.read()
# remove the existing setting
left_cont = re.sub(r'\s*spice_tls\s*=.*', '', cont)
left_cont = re.sub(r'\s*spice_tls_x509_cert_dir\s*=.*', '',
left_cont)
# write back to origin file with cut left content
f_obj = open(qemu_conf, "w")
f_obj.write(left_cont)
f_obj.write("spice_tls = 1\n")
f_obj.write("spice_tls_x509_cert_dir = \"/etc/pki/libvirt-spice\"")
f_obj.close()
# make modification effect
utils_libvirtd.libvirtd_restart()
# Generate CA cert
utils_misc.create_x509_dir("/etc/pki/libvirt-spice",
"/C=IL/L=Raanana/O=Red Hat/CN=my CA",
"/C=IL/L=Raanana/O=Red Hat/CN=my server",
passwd)
开发者ID:Hao-Liu,项目名称:tp-libvirt,代码行数:28,代码来源:virsh_domdisplay.py
示例3: restore_hugepages
def restore_hugepages(page_size=4):
"""
To recover hugepages
:param page_size: unit is libvirt/tests/src/svirt/default_dac_check.pykB, it can be 4,2048,1048576,etc
"""
mount_hugepages(page_size)
utils_libvirtd.libvirtd_restart()
开发者ID:balamuruhans,项目名称:tp-libvirt,代码行数:7,代码来源:default_dac_check.py
示例4: unix_transport_recover
def unix_transport_recover():
"""
Recover the libvirtd on local.
"""
if os.path.exists(libvirtd_conf_bak_path):
shutil.copy(libvirtd_conf_bak_path, libvirtd_conf_path)
utils_libvirtd.libvirtd_restart()
开发者ID:nasastry,项目名称:tp-libvirt,代码行数:7,代码来源:virsh_connect.py
示例5: restore_hugepages
def restore_hugepages(page_size=4):
"""
To recover hugepages
:param page_size: unit is kB, it can be 4,2048,1048576,etc
"""
mount_hugepages(page_size)
config.restore()
utils_libvirtd.libvirtd_restart()
开发者ID:balamuruhans,项目名称:tp-libvirt,代码行数:8,代码来源:libvirt_mem.py
示例6: setup_hugepages
def setup_hugepages(page_size=2048, shp_num=1000):
"""
To setup hugepages
:param page_size: unit is kB, it can be 4,2048,1048576,etc
:param shp_num: number of hugepage, string type
"""
mount_hugepages(page_size)
utils_memory.set_num_huge_pages(shp_num)
utils_libvirtd.libvirtd_restart()
开发者ID:balamuruhans,项目名称:tp-libvirt,代码行数:10,代码来源:default_dac_check.py
示例7: run
def run(test, params, env):
"""
Test command: virsh dump.
This command can dump the core of a domain to a file for analysis.
1. Positive testing
1.1 Dump domain with valid options.
1.2 Avoid file system cache when dumping.
1.3 Compress the dump images to valid/invalid formats.
2. Negative testing
2.1 Dump domain to a non-exist directory.
2.2 Dump domain with invalid option.
2.3 Dump a shut-off domain.
"""
vm_name = params.get("main_vm", "vm1")
vm = env.get_vm(vm_name)
options = params.get("dump_options")
dump_file = params.get("dump_file", "vm.core")
if os.path.dirname(dump_file) is "":
dump_file = os.path.join(test.tmpdir, dump_file)
dump_image_format = params.get("dump_image_format")
start_vm = params.get("start_vm") == "yes"
paused_after_start_vm = params.get("paused_after_start_vm") == "yes"
status_error = params.get("status_error", "no") == "yes"
timeout = int(params.get("timeout", "5"))
qemu_conf = "/etc/libvirt/qemu.conf"
def check_domstate(actual, options):
"""
Check the domain status according to dump options.
"""
if options.find('live') >= 0:
domstate = "running"
if options.find('crash') >= 0 or options.find('reset') > 0:
domstate = "running"
if paused_after_start_vm:
domstate = "paused"
elif options.find('crash') >= 0:
domstate = "shut off"
if options.find('reset') >= 0:
domstate = "running"
elif options.find('reset') >= 0:
domstate = "running"
if paused_after_start_vm:
domstate = "paused"
else:
domstate = "running"
if paused_after_start_vm:
domstate = "paused"
if not start_vm:
domstate = "shut off"
logging.debug("Domain should %s after run dump %s", domstate, options)
return (domstate == actual)
def check_dump_format(dump_image_format, dump_file):
"""
Check the format of dumped file.
If 'dump_image_format' is not specified or invalid in qemu.conf, then
the file shoule be normal raw file, otherwise it shoud be compress to
specified format, the supported compress format including: lzop, gzip,
bzip2, and xz.
"""
valid_format = ["lzop", "gzip", "bzip2", "xz"]
if len(dump_image_format) == 0 or dump_image_format not in valid_format:
logging.debug("No need check the dumped file format")
return True
else:
file_cmd = "file %s" % dump_file
(status, output) = commands.getstatusoutput(file_cmd)
if status:
logging.error("Fail to check dumped file %s", dump_file)
return False
logging.debug("Run file %s output: %s", dump_file, output)
actual_format = output.split(" ")[1]
if actual_format.lower() != dump_image_format.lower():
logging.error("Compress dumped file to %s fail: %s" %
(dump_image_format, actual_format))
return False
else:
return True
# Configure dump_image_format in /etc/libvirt/qemu.conf.
if len(dump_image_format):
conf_cmd = ("echo dump_image_format = \\\"%s\\\" >> %s" %
(dump_image_format, qemu_conf))
if os.system(conf_cmd):
logging.error("Config dump_image_format to %s fail",
dump_image_format)
utils_libvirtd.libvirtd_restart()
if not utils_libvirtd.libvirtd_is_running():
raise error.TestNAError("libvirt service is not running!")
# Deal with bypass-cache option
#.........这里部分代码省略.........
开发者ID:FengYang,项目名称:tp-libvirt,代码行数:101,代码来源:virsh_dump.py
示例8: run
def run(test, params, env):
"""
Test numa tuning
1) Positive testing
1.1) get the current numa parameters for a running/shutoff guest
1.2) set the current numa parameters for a running/shutoff guest
1.2.1) set valid 'mode' parameters
1.2.2) set valid 'nodeset' parameters
2) Negative testing
2.1) get numa parameters
2.1.1) invalid options
2.1.2) stop cgroup service
2.2) set numa parameters
2.2.1) invalid 'mode' parameters
2.2.2) invalid 'nodeset' parameters
2.2.3) change 'mode' for a running guest and 'mode' is not 'strict'
2.2.4) change 'nodeset' for running guest with mode of 'interleave'
'interleave' or 'preferred' numa mode
2.2.5) stop cgroup service
"""
try:
utils_misc.find_command("numactl")
except ValueError:
raise error.TestNAError("Command 'numactl' is missing. You must "
"install it.")
# Run test case
vm_name = params.get("vms")
vm = env.get_vm(vm_name)
original_vm_xml = libvirt_xml.VMXML.new_from_inactive_dumpxml(vm_name)
cg = utils_cgroup.CgconfigService()
status_error = params.get("status_error", "no")
libvirtd = params.get("libvirtd", "on")
cgconfig = params.get("cgconfig", "on")
start_vm = params.get("start_vm", "no")
change_parameters = params.get("change_parameters", "no")
# Make sure vm is down if start not requested
if start_vm == "no" and vm.is_alive():
vm.destroy()
# positive and negative testing #########
cgstop = False
try:
if status_error == "no":
if change_parameters == "no":
get_numa_parameter(params, cgstop)
else:
set_numa_parameter(params, cgstop)
if cgconfig == "off":
# If running, then need to shutdown a running guest before
# stopping cgconfig service and will start the guest after
# restarting libvirtd service
if cg.cgconfig_is_running():
if vm.is_alive():
vm.destroy()
cg.cgconfig_stop()
cgstop = True
# If we stopped cg, then refresh libvirtd service
# to get latest cgconfig service change; otherwise,
# if no cg change restart of libvirtd is pointless
if cgstop and libvirtd == "restart":
try:
utils_libvirtd.libvirtd_restart()
finally:
# Not running is not a good thing, but it does happen
# and it will affect other tests
if not utils_libvirtd.libvirtd_is_running():
raise error.TestNAError("libvirt service is not running!")
# Recover previous running guest
if (cgconfig == "off" and libvirtd == "restart" and
not vm.is_alive() and start_vm == "yes"):
vm.start()
if status_error == "yes":
if change_parameters == "no":
get_numa_parameter(params, cgstop)
else:
set_numa_parameter(params, cgstop)
finally:
# Restore guest
original_vm_xml.sync()
# If we stopped cg, then recover and refresh libvirtd to recognize
if cgstop:
cg.cgconfig_start()
utils_libvirtd.libvirtd_restart()
开发者ID:Antique,项目名称:tp-libvirt,代码行数:91,代码来源:virsh_numatune.py
示例9: run
#.........这里部分代码省略.........
# Step (6)
# Buid pool, this step may fail for 'disk' and 'logical' types pool
if pool_type not in ["disk", "logical"]:
option = ""
# Options --overwrite and --no-overwrite can only be used to
# build a filesystem pool, but it will fail for now
# if pool_type == "fs":
# option = '--overwrite'
result = virsh.pool_build(pool_name, option, ignore_status=True)
check_exit_status(result)
# Step (7)
# Pool start
result = virsh.pool_start(pool_name, ignore_status=True)
check_exit_status(result)
# Step (8)
# Pool list
option = "--persistent --type %s" % pool_type
check_pool_list(pool_name, option)
# Step (9)
# Pool autostart
result = virsh.pool_autostart(pool_name, ignore_status=True)
check_exit_status(result)
# Step (10)
# Pool list
option = "--autostart --type %s" % pool_type
check_pool_list(pool_name, option)
# Step (11)
# Restart libvirtd and check the autostart pool
utils_libvirtd.libvirtd_restart()
option = "--autostart --persistent"
check_pool_list(pool_name, option)
# Step (12)
# Pool destroy
if virsh.pool_destroy(pool_name):
logging.debug("Pool %s destroyed.", pool_name)
else:
raise error.TestFail("Destroy pool % failed." % pool_name)
# Step (13)
# Pool autostart disable
result = virsh.pool_autostart(pool_name, "--disable", ignore_status=True)
check_exit_status(result)
# Step (14)
# Repeat step (11)
utils_libvirtd.libvirtd_restart()
option = "--autostart"
check_pool_list(pool_name, option, True)
# Step (15)
# Pool start
# When libvirtd starts up, it'll check to see if any of the storage
# pools have been activated externally. If so, then it'll mark the
# pool as active. This is independent of autostart.
# So a directory based storage pool is thus pretty much always active,
# and so as the SCSI pool.
if pool_type != "scsi" and (pool_type != "dir" or libvirt_version.version_compare(1, 2, 15)):
result = virsh.pool_start(pool_name, ignore_status=True)
check_exit_status(result)
开发者ID:kylazhang,项目名称:tp-libvirt,代码行数:66,代码来源:virsh_pool.py
示例10: run
def run(test, params, env):
"""
Test blkio tuning
1) Positive testing
1.1) get the current blkio parameters for a running/shutoff guest
1.2) set the current blkio parameters for a running/shutoff guest
2) Negative testing
2.1) get blkio parameters for a running/shutoff guest
2.2) set blkio parameters running/shutoff guest
"""
# Run test case
vm_name = params.get("main_vm")
vm = env.get_vm(vm_name)
cg = utils_cgroup.CgconfigService()
cgconfig = params.get("cgconfig", "on")
libvirtd = params.get("libvirtd", "on")
start_vm = params.get("start_vm", "yes")
status_error = params.get("status_error", "no")
change_parameters = params.get("change_parameters", "no")
original_vm_xml = libvirt_xml.VMXML.new_from_inactive_dumpxml(vm_name)
# Make sure vm is down if start not requested
if start_vm == "no" and vm and vm.is_alive():
vm.destroy()
cmd = "cat /sys/block/sda/queue/scheduler"
iosche = results_stdout_52lts(process.run(cmd, shell=True))
logging.debug("iosche value is:%s", iosche)
oldmode = re.findall("\[(.*?)\]", iosche)[0]
with open('/sys/block/sda/queue/scheduler', 'w') as scf:
if 'cfq' in iosche:
scf.write('cfq')
elif 'bfq' in iosche:
scf.write('bfq')
else:
test.fail('Unknown scheduler in "/sys/block/sda/queue/scheduler"')
test_dict = dict(params)
test_dict['vm'] = vm
# positive and negative testing
cgstop = False
try:
if start_vm == "yes" and not vm.is_alive():
vm.start()
vm.wait_for_login()
if status_error == "no":
if change_parameters == "no":
get_blkio_parameter(test, test_dict, cgstop)
else:
set_blkio_parameter(test, test_dict, cgstop)
if cgconfig == "off":
# If running, then need to shutdown a running guest before
# stopping cgconfig service and will start the guest after
# restarting libvirtd service
if cg.cgconfig_is_running():
if vm.is_alive():
vm.destroy()
cg.cgconfig_stop()
cgstop = True
# If we stopped cg, then refresh libvirtd service
# to get latest cgconfig service change; otherwise,
# if no cg change restart of libvirtd is pointless
if cgstop and libvirtd == "restart":
try:
utils_libvirtd.libvirtd_restart()
finally:
# Not running is not a good thing, but it does happen
# and it will affect other tests
if not utils_libvirtd.libvirtd_is_running():
test.fail("libvirt service is not running!")
# Recover previous running guest
if (cgconfig == "off" and libvirtd == "restart" and not vm.is_alive() and start_vm == "yes"):
vm.start()
if status_error == "yes":
if change_parameters == "no":
get_blkio_parameter(test, test_dict, cgstop)
else:
set_blkio_parameter(test, test_dict, cgstop)
finally:
# Restore guest
original_vm_xml.sync()
with open('/sys/block/sda/queue/scheduler', 'w') as scf:
scf.write(oldmode)
# If we stopped cg, then recover and refresh libvirtd to recognize
if cgstop:
cg.cgconfig_start()
utils_libvirtd.libvirtd_restart()
开发者ID:balamuruhans,项目名称:tp-libvirt,代码行数:95,代码来源:virsh_blkiotune.py
示例11: run_virsh_dump
#.........这里部分代码省略.........
domstate = "running"
else:
domstate = "running"
if start_vm == "no":
domstate = "shut off"
logging.debug("Domain should %s after run dump %s", domstate, options)
if domstate == actual:
return True
else:
return False
def check_dump_format(dump_image_format, dump_file):
"""
Check the format of dumped file.
If 'dump_image_format' is not specified or invalid in qemu.conf, then
the file shoule be normal raw file, otherwise it shoud be compress to
specified format, the supported compress format including: lzop, gzip,
bzip2, and xz.
"""
valid_format = ["lzop", "gzip", "bzip2", "xz"]
if len(dump_image_format) == 0 or dump_image_format not in valid_format:
logging.debug("No need check the dumped file format")
return True
else:
file_cmd = "file %s" % dump_file
(status, output) = commands.getstatusoutput(file_cmd)
if status == 0:
logging.debug("Run file %s output: %s", dump_file, output)
actual_format = output.split(" ")[1]
if actual_format == dump_image_format:
if dump_image_format in valid_format:
logging.info("Compress dumped file to %s successfully",
dump_image_format)
return True
else:
logging.error("Compress dumped file to %s fail",
dump_image_format)
return False
else:
logging.error("Fail to check dumped file %s", dump_file)
return False
# Configure dump_image_format in /etc/libvirt/qemu.conf.
if len(dump_image_format) != 0:
conf_cmd = ("echo dump_image_format = \\\"%s\\\" >> %s" %
(dump_image_format, qemu_conf))
if os.system(conf_cmd):
logging.error("Config dump_image_format to %s fail",
dump_image_format)
utils_libvirtd.libvirtd_restart()
# Deal with bypass-cache option
if options.find('bypass-cache') >= 0:
thread.start_new_thread(check_bypass,(dump_file,))
# Guarantee check_bypass function has run before dump
time.sleep(5)
# Run virsh command
cmd_result = virsh.dump(vm_name, dump_file, options,
ignore_status=True, debug=True)
status = cmd_result.exit_status
# Check libvirtd status
if utils_libvirtd.libvirtd_is_running():
if check_domstate(vm.state(), options):
if status_error == "yes":
if status == 0:
raise error.TestFail("Expect fail, but run successfully")
if status_error == "no":
if status != 0:
raise error.TestFail("Expect succeed, but run fail")
else:
if os.path.exists(dump_file):
if check_dump_format(dump_image_format, dump_file):
logging.info("Successfully dump domain to %s",
dump_file)
else:
raise error.TestFail("The format of dumped file "
"is wrong.")
else:
raise error.TestFail("Fail to find domain dumped file.")
else:
raise error.TestFail("Domain status check fail.")
else:
raise error.TestFail("Libvirtd service is dead.")
if os.path.isfile(dump_file):
os.remove(dump_file)
if len(dump_image_format) != 0:
clean_qemu_conf = "sed -i '$d' %s " % qemu_conf
if os.system(clean_qemu_conf):
raise error.TestFail("Fail to recover %s", qemu_conf)
开发者ID:LeiCui,项目名称:virt-test,代码行数:101,代码来源:virsh_dump.py
示例12: check_ipt_rules
def check_ipt_rules(check_ipv4=True, check_ipv6=False):
"""
Check iptables for network/interface
"""
br_name = ast.literal_eval(net_bridge)["name"]
net_forward = ast.literal_eval(params.get("net_forward", "{}"))
net_ipv4 = params.get("net_ipv4")
net_ipv6 = params.get("net_ipv6")
net_dev_in = ""
net_dev_out = ""
if "dev" in net_forward:
net_dev_in = " -i %s" % net_forward["dev"]
net_dev_out = " -o %s" % net_forward["dev"]
ipt_rules = (
"INPUT -i %s -p udp -m udp --dport 53 -j ACCEPT" % br_name,
"INPUT -i %s -p tcp -m tcp --dport 53 -j ACCEPT" % br_name,
"FORWARD -i {0} -o {0} -j ACCEPT".format(br_name),
"FORWARD -o %s -j REJECT --reject-with icmp" % br_name,
"FORWARD -i %s -j REJECT --reject-with icmp" % br_name)
if check_ipv4:
ipv4_rules = list(ipt_rules)
ipv4_rules.extend(
["INPUT -i %s -p udp -m udp --dport 67 -j ACCEPT" % br_name,
"INPUT -i %s -p tcp -m tcp --dport 67 -j ACCEPT" % br_name,
"OUTPUT -o %s -p udp -m udp --dport 68 -j ACCEPT" % br_name,
"POSTROUTING -o %s -p udp -m udp --dport 68 "
"-j CHECKSUM --checksum-fill" % br_name])
ctr_rule = ""
nat_rules = []
if "mode" in net_forward and net_forward["mode"] == "nat":
nat_port = ast.literal_eval(params.get("nat_port"))
p_start = nat_port["start"]
p_end = nat_port["end"]
ctr_rule = " -m .* RELATED,ESTABLISHED"
nat_rules = [("POSTROUTING -s {0} ! -d {0} -p tcp -j MASQUERADE"
" --to-ports {1}-{2}".format(net_ipv4, p_start, p_end)),
("POSTROUTING -s {0} ! -d {0} -p udp -j MASQUERADE"
" --to-ports {1}-{2}".format(net_ipv4, p_start, p_end)),
("POSTROUTING -s {0} ! -d {0}"
" -j MASQUERADE".format(net_ipv4))]
if nat_rules:
ipv4_rules.extend(nat_rules)
if (net_ipv4 and "mode" in net_forward and
net_forward["mode"] in ["nat", "route"]):
rules = [("FORWARD -d %s%s -o %s%s -j ACCEPT"
% (net_ipv4, net_dev_in, br_name, ctr_rule)),
("FORWARD -s %s -i %s%s -j ACCEPT"
% (net_ipv4, br_name, net_dev_out))]
ipv4_rules.extend(rules)
output = to_text(process.system_output('iptables-save'))
logging.debug("iptables: %s", output)
if "mode" in net_forward and net_forward["mode"] == "open":
if re.search(r"%s|%s" % (net_ipv4, br_name), output, re.M):
test.fail("Find iptable rule for open mode")
utils_libvirtd.libvirtd_restart()
output_again = to_text(process.system_output('iptables-save'))
if re.search(r"%s|%s" % (net_ipv4, br_name), output_again, re.M):
test.fail("Find iptable rule for open mode after restart "
"libvirtd")
else:
logging.info("Can't find iptable rule for open mode as expected")
else:
for ipt in ipv4_rules:
if not re.search(r"%s" % ipt, output, re.M):
test.fail("Can't find iptable rule:\n%s" % ipt)
return ipv4_rules
if check_ipv6:
ipv6_rules = list(ipt_rules)
ipt6_rules.extend([
("INPUT -i %s -p udp -m udp --dport 547 -j ACCEPT" % br_name)])
if (net_ipv6 and "mode" in net_forward and
net_forward["mode"] in ["nat", "route"]):
rules = [("FORWARD -d %s%s -o %s -j ACCEPT"
% (net_ipv6, net_dev_in, br_name)),
("FORWARD -s %s -i %s%s -j ACCEPT"
% (net_ipv6, br_name, net_dev_out))]
ipv6_rules.extend(rules)
output = to_text(process.system_output("ip6tables-save"))
logging.debug("ip6tables: %s", output)
if "mode" in net_forward and net_forward["mode"] == "open":
if re.search(r"%s|%s" % (net_ipv6, br_name), output, re.M):
test.fail("Find ip6table rule for open mode")
utils_libvirtd.libvirtd_restart()
output_again = to_text(process.system_output('ip6tables-save'))
if re.search(r"%s|%s" % (net_ipv6, br_name), output_again, re.M):
test.fail("Find ip6table rule for open mode after restart "
"libvirtd")
else:
for ipt in ipv6_rules:
if not re.search(r"%s" % ipt, output, re.M):
test.fail("Can't find ip6table rule:\n%s" % ipt)
return ipv6_rules
开发者ID:nasastry,项目名称:tp-libvirt,代码行数:93,代码来源:iface_network.py
示例13: LibvirtQemuConfig
vm.destroy(gracefully=False)
# Back up xml file.
vm_xml_file = os.path.join(test.tmpdir, "vm.xml")
virsh.dumpxml(vm_name, extra="--inactive", to_file=vm_xml_file)
# Get device path.
device_source_path = ""
if source_path:
device_source_path = test.virtdir
# Prepare test environment.
qemu_config = LibvirtQemuConfig()
if test_disks_format:
qemu_config.allow_disk_format_probing = True
utils_libvirtd.libvirtd_restart()
# Create virtual device file.
disks = []
try:
for i in range(len(device_source_names)):
if test_disk_type_dir:
# If we testing disk type dir option,
# it needn't to create disk image
disks.append({"format": "dir",
"source": device_source_names[i]})
else:
path = "%s/%s.%s" % (device_source_path,
device_source_names[i], device_formats[i])
disk = prepare_disk(path, device_formats[i])
if disk:
开发者ID:nertpinx,项目名称:tp-libvirt,代码行数:31,代码来源:virtual_disks_multidisks.py
示例14: run
#.........这里部分代码省略.........
ignore_status=True, debue=True)
libvirt.check_exit_status(result)
expect_vcpupin = {pin_vcpu: pin_cpu_list}
result = virsh.setvcpus(vm_name, vcpu_plug_num, setvcpu_option,
readonly=setvcpu_readonly,
ignore_status=True, debug=True)
check_setvcpus_result(result, status_error)
if setvcpu_option == "--config":
expect_vcpu_num[2] = vcpu_plug_num
elif setvcpu_option == "--guest":
# vcpuset '--guest' only affect vcpu number in guest
expect_vcpu_num[4] = vcpu_plug_num
else:
expect_vcpu_num[3] = vcpu_plug_num
expect_vcpu_num[4] = vcpu_plug_num
if not status_error:
if not online_new_vcpu(vm, vcpu_plug_num):
raise error.TestFail("Fail to enable new added cpu")
# Pin vcpu
if pin_after_plug:
result = virsh.vcpupin(vm_name, pin_vcpu, pin_cpu_list,
ignore_status=True, debue=True)
libvirt.check_exit_status(result)
expect_vcpupin = {pin_vcpu: pin_cpu_list}
if status_error and check_after_plug_fail:
check_vcpu_number(vm, expect_vcpu_num_bk, {}, setvcpu_option)
if not status_error:
if restart_libvirtd:
utils_libvirtd.libvirtd_restart()
# Check vcpu number and related commands
check_vcpu_number(vm, expect_vcpu_num, expect_vcpupin,
setvcpu_option)
# Control domain
manipulate_domain(vm_name, vm_operation)
if vm_operation != "null":
# Check vcpu number and related commands
check_vcpu_number(vm, expect_vcpu_num, expect_vcpupin,
setvcpu_option)
# Recover domain
manipulate_domain(vm_name, vm_operation, recover=True)
# Resume domain from S4 status may takes long time(QEMU bug),
# here we wait for 10 mins then skip the remaining part of
# tests if domain not resume successfully
try:
vm.wait_for_login(timeout=600)
except Exception, e:
raise error.TestWarn("Skip remaining test steps as domain"
" not resume in 10 mins: %s" % e)
# For hotplug/unplug vcpu without '--config flag, after
# suspend domain to disk(shut off) and re-start it, the
# current live vcpu number will recover to orinial value
if vm_operation == 's4':
if setvcpu_option.count("--config"):
expect_vcpu_num[3] = vcpu_plug_num
expect_vcpu_num[4] = vcpu_plug_num
elif setvcpu_option.count("--guest"):
开发者ID:Antique,项目名称:tp-libvirt,代码行数:67,代码来源:libvirt_vcpu_plug_unplug.py
示例15: run
def run(test, params, env):
"""
Test steps:
1) Get the params from params.
2) check the environment
3) Strat the VM and check whether the VM been started successfully
4) Compare the Hugepage memory size to the Guest memory setted.
5) Check the hugepage memory usage.
6) Clean up
"""
test_type = params.get("test_type", 'normal')
tlbfs_enable = 'yes' == params.get("hugetlbfs_enable", 'no')
shp_num = int(params.get("static_hugepage_num", 1024))
thp_enable = 'yes' == params.get("trans_hugepage_enable", 'no')
mb_enable = 'yes' == params.get("mb_enable", 'yes')
delay = int(params.get("delay_time", 10))
# Skip cases early
vm_names = []
if test_type == "contrast":
vm_names = params.get("vms").split()[:2]
if len(vm_names) < 2:
test.cancel("This test requires two VMs")
# confirm no VM running
allvms = virsh.dom_list('--name').stdout.strip()
if allvms != '':
test.cancel("one or more VMs are alive")
err_range = float(params.get("mem_error_range", 1.25))
else:
vm_names.append(params.get("main_vm"))
if test_type == "stress":
target_path = params.get("target_path", "/tmp/test.out")
elif test_type == "unixbench":
unixbench_control_file = params.get("unixbench_controle_file",
"unixbench5.control")
# backup orignal setting
shp_orig_num = utils_memory.get_num_huge_pages()
thp_orig_status = utils_memory.get_transparent_hugepage()
page_size = utils_memory.get_huge_page_size()
# mount/umount hugetlbfs
tlbfs_status = utils_misc.is_mounted("hugetlbfs", "/dev/hugepages",
"hugetlbfs")
if tlbfs_enable is True:
if tlbfs_status is not True:
utils_misc.mount("hugetlbfs", "/dev/hugepages", "hugetlbfs")
else:
if tlbfs_status is True:
utils_misc.umount("hugetlbfs", "/dev/hugepages", "hugetlbfs")
# set static hugepage
utils_memory.set_num_huge_pages(shp_num)
# enable/disable transparent hugepage
if thp_enable:
utils_memory.set_transparent_hugepage('always')
else:
utils_memory.set_transparent_hugepage('never')
# set/del memoryBacking tag
for vm_name in vm_names:
if mb_enable:
vm_xml.VMXML.set_memoryBacking_tag(vm_name)
else:
vm_xml.VMXML.del_memoryBacking_tag(vm_name)
utils_libvirtd.libvirtd_restart()
non_started_free = utils_memory.get_num_huge_pages_free()
vms = []
sessions = []
try:
for vm_name in vm_names:
# try to start vm and login
try:
vm = env.get_vm(vm_name)
vm.start()
except VMError as e:
if mb_enable and not tlbfs_enable:
# if hugetlbfs not be mounted,
# VM start with memoryBacking tag will fail
logging.debug(e)
else:
error_msg = "Test failed in positive case. error: %s\n" % e
test.fail(error_msg)
if vm.is_alive() is not True:
break
vms.append(vm)
# try to login and run some program
try:
session = vm.wait_for_login()
except (LoginError, ShellError) as e:
error_msg = "Test failed in positive case.\n error: %s\n" % e
test.fail(error_msg)
sessions.append(session)
if test_type == "stress":
#.........这里部分代码省略.........
开发者ID:balamuruhans,项目名称:tp-libvirt,代码行数:101,代码来源:libvirt_hugepage.py
示例16: run
#.........这里部分代码省略.........
result = virsh.setvcpus(vm_name, vcpu_plug_num, setvcpu_option,
readonly=setvcpu_readonly,
ignore_status=True, debug=True)
check_setvcpus_result(result, status_error)
if setvcpu_option == "--config":
expect_vcpu_num['cur_config'] = vcpu_plug_num
elif setvcpu_option == "--guest":
# vcpuset '--guest' only affect vcpu number in guest
expect_vcpu_num['guest_live'] = vcpu_plug_num
else:
expect_vcpu_num['cur_live'] = vcpu_plug_num
expect_vcpu_num['guest_live'] = vcpu_plug_num
if not status_error:
if not utils_misc.wait_for(lambda: utils_misc.check_if_vm_vcpu_match(vcpu_plug_num, vm),
vcpu_max_timeout, text="wait for vcpu online") or not online_new_vcpu(vm, vcpu_plug_num):
test.fail("Fail to enable new added cpu")
# Pin vcpu
if pin_after_plug:
result = virsh.vcpupin(vm_name, pin_vcpu, pin_cpu_list,
ignore_status=True, debug=True)
libvirt.check_exit_status(result)
expect_vcpupin = {pin_vcpu: pin_cpu_list}
if status_error and check_after_plug_fail:
if not utils_hotplug.check_vcpu_value(vm, expect_vcpu_num_bk, {}, setvcpu_option):
logging.error("Expected vcpu check failed")
result_failed += 1
if not status_error:
if restart_libvirtd:
utils_libvirtd.libvirtd_restart()
# Check vcpu number and related commands
if not utils_hotplug.check_vcpu_value(vm, expect_vcpu_num, expect_vcpupin, setvcpu_option):
logging.error("Expected vcpu check failed")
result_failed += 1
# Control domain
manipulate_domain(vm_name, vm_operation)
if vm_operation != "null":
# Check vcpu number and related commands
if not utils_hotplug.check_vcpu_value(vm, expect_vcpu_num, expect_vcpupin, setvcpu_option):
logging.error("Expected vcpu check failed")
result_failed += 1
# Recover domain
manipulate_domain(vm_name, vm_operation, recover=True)
# Resume domain from S4 status may takes long time(QEMU bug),
# here we wait for 10 mins then skip the remaining part of
# tests if domain not resume successfully
try:
vm.wait_for_login(timeout=600)
except Exception as e:
test.warn("Skip remaining test steps as domain"
" not resume in 10 mins: %s" % e)
# For hotplug/unplug vcpu without '--config flag, after
# suspend domain to disk(shut off) and re-start it, the
# current live vcpu number will recover to orinial value
if vm_operation == 's4':
if setvcpu_option.count("--config"):
expect_vcpu_num['cur_live'] = vcpu_plug_num
开发者ID:balamuruhans,项目名称:tp-libvirt,代码行数:67,代码来源:libvirt_vcpu_plug_unplug.py
示例17: run
def run(test, params, env):
"""
Test interface devices update
"""
vm_name = params.get("main_vm")
vm = env.get_vm(vm_name)
new_network_name = params.get("net_name")
expect_error = "yes" == params.ge
|
请发表评论