本文整理汇总了Python中virttest.libvirt_vm.normalize_connect_uri函数的典型用法代码示例。如果您正苦于以下问题:Python normalize_connect_uri函数的具体用法?Python normalize_connect_uri怎么用?Python normalize_connect_uri使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了normalize_connect_uri函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: run_virsh_uri
def run_virsh_uri(test, params, env):
"""
Test the command virsh uri
(1) Call virsh uri
(2) Call virsh -c remote_uri uri
(3) Call virsh uri with an unexpected option
(4) Call virsh uri with libvirtd service stop
"""
connect_uri = libvirt_vm.normalize_connect_uri( params.get("connect_uri",
"default") )
option = params.get("options")
target_uri = params.get("target_uri")
if target_uri:
if target_uri.count('EXAMPLE.COM'):
raise error.TestError('target_uri configuration set to sample value')
logging.info("The target_uri: %s", target_uri)
cmd = "virsh -c %s uri" % target_uri
else:
cmd = "virsh uri %s" % option
# Prepare libvirtd service
check_libvirtd = params.has_key("libvirtd")
if check_libvirtd:
libvirtd = params.get("libvirtd")
if libvirtd == "off":
libvirt_vm.service_libvirtd_control("stop")
# Run test case
logging.info("The command: %s", cmd)
try:
uri_test = virsh.canonical_uri(option, uri=connect_uri,
ignore_status=False,
debug=True)
status = 0 # good
except error.CmdError:
status = 1 # bad
uri_test = ''
# Recover libvirtd service start
if libvirtd == "off":
libvirt_vm.service_libvirtd_control("start")
# Check status_error
status_error = params.get("status_error")
if status_error == "yes":
if status == 0:
raise error.TestFail("Command: %s succeeded "
"(incorrect command)" % cmd)
else:
logging.info("command: %s is a expected error", cmd)
elif status_error == "no":
if cmp(target_uri, uri_test) != 0:
raise error.TestFail("Virsh cmd uri %s != %s." %
(uri_test, target_uri))
if status != 0:
raise error.TestFail("Command: %s failed "
"(correct command)" % cmd)
开发者ID:kongove,项目名称:virt-test,代码行数:60,代码来源:virsh_uri.py
示例2: run
def run(test, params, env):
"""
Test command virsh cpu-models
"""
cpu_arch = params.get("cpu_arch", "")
option = params.get("option", "")
target_uri = params.get("target_uri", "default")
status_error = "yes" == params.get("status_error", "no")
logging.debug(target_uri.count('EXAMPLE.COM'))
if target_uri.count('EXAMPLE.COM'):
raise error.TestNAError("Please replace '%s' with valid uri" %
target_uri)
connect_uri = libvirt_vm.normalize_connect_uri(target_uri)
arch_list = []
if not cpu_arch:
try:
capa = capability_xml.CapabilityXML()
guest_map = capa.get_guest_capabilities()
guest_arch = []
for v in guest_map.values():
guest_arch += v.keys()
for arch in set(guest_arch):
arch_list.append(arch)
except Exception, e:
raise error.TestError("Fail to get guest arch list of the"
" host supported:\n%s" % e)
开发者ID:Chenditang,项目名称:tp-libvirt,代码行数:26,代码来源:virsh_cpu_models.py
示例3: run
def run(test, params, env):
"""
Test the command virsh domcapabilities
"""
target_uri = params.get("target_uri", "default")
if target_uri.count("EXAMPLE.COM"):
raise error.TestNAError("Please replace '%s' with valid uri" %
target_uri)
connect_uri = libvirt_vm.normalize_connect_uri(target_uri)
virsh_options = params.get("virsh_options", "")
virttype = params.get("virttype_value", "")
emulatorbin = params.get("emulatorbin_value", "")
arch = params.get("arch_value", "")
machine = params.get("machine_value", "")
option_dict = {'arch': arch, 'virttype': virttype,
'emulatorbin': emulatorbin, 'machine': machine}
options_list = [option_dict]
extra_option = params.get("extra_option", "")
# Get --virttype, --emulatorbin, --arch and --machine values from
# virsh capabilities output, then assemble option for testing
# This will ignore the virttype, emulatorbin, arch and machine values
if virsh_options == "AUTO":
options_list = []
capa_xml = capability_xml.CapabilityXML()
guest_capa = capa_xml.get_guest_capabilities()
for arch_prop in guest_capa.values():
for arch in arch_prop.keys():
machine_list = arch_prop[arch]['machine']
virttype_list = []
emulatorbin_list = [arch_prop[arch]['emulator']]
for key in arch_prop[arch].keys():
if key.startswith("domain_"):
virttype_list.append(key[7:])
if arch_prop[arch][key].values():
emulatorbin_list.append(arch_prop[arch][key]['emulator'])
for virttype in virttype_list:
for emulatorbin in emulatorbin_list:
for machine in machine_list:
option_dict = {'arch': arch,
'virttype': virttype,
'emulatorbin': emulatorbin,
'machine': machine}
options_list.append(option_dict)
# Run test cases
for option in options_list:
result = virsh.domcapabilities(virttype=option['virttype'],
emulatorbin=option['emulatorbin'],
arch=option['arch'],
machine=option['machine'],
options=extra_option,
uri=connect_uri,
ignore_status=True,
debug=True)
# Check status_error
status_error = "yes" == params.get("status_error", "no")
utlv.check_exit_status(result, status_error)
开发者ID:CongLi,项目名称:tp-libvirt,代码行数:57,代码来源:virsh_domcapabilities.py
示例4: run
def run(test, params, env):
"""
Test command: virsh net-info <network>
The command returns basic information about virtual network.
"""
# Gather test parameters
uri = libvirt_vm.normalize_connect_uri(params.get("connect_uri",
"default"))
status_error = params.get("status_error", "no")
net_name = params.get("testing_net_name", "default")
net_ref = params.get("netinfo_net_ref", "name")
extra = params.get("netinfo_options_extra", "")
virsh_dargs = {'uri': uri, 'debug': True, 'ignore_status': True}
virsh_instance = virsh.VirshPersistent(**virsh_dargs)
# Get all network instance
origin_nets = network_xml.NetworkXML.new_all_networks_dict(virsh_instance)
# Prepare network for following test.
try:
netxml = origin_nets[net_name]
except KeyError:
virsh_instance.close_session()
raise error.TestNAError("'%s' virtual network doesn't exist." % net_name)
if net_ref == "name":
net_ref = netxml.name
elif net_ref == "uuid":
net_ref = netxml.uuid
elif net_ref.find("invalid") != -1:
net_ref = params.get(net_ref)
# Run test case
result = virsh.net_info(net_ref, extra, **virsh_dargs)
status = result.exit_status
output = result.stdout.strip()
err = result.stderr.strip()
virsh_instance.close_session()
# Check status_error
if status_error == "yes":
if status == 0 or err == "":
raise error.TestFail("Run successfully with wrong command!")
elif status_error == "no":
if status != 0 or output == "":
raise error.TestFail("Run failed with right command")
开发者ID:yangdongsheng,项目名称:tp-libvirt,代码行数:50,代码来源:virsh_net_info.py
示例5: run
def run(test, params, env):
"""
Test the command virsh version
(1) Call virsh version
(2) Call virsh version with an unexpected option
(3) Call virsh version with libvirtd service stop
"""
connect_uri = libvirt_vm.normalize_connect_uri(params.get("connect_uri",
"default"))
# Prepare libvirtd service
check_libvirtd = params.has_key("libvirtd")
if check_libvirtd:
libvirtd = params.get("libvirtd")
if libvirtd == "off":
utils_libvirtd.libvirtd_stop()
# Run test case
option = params.get("virsh_version_options")
try:
output = virsh.version(option, uri=connect_uri,
ignore_status=False, debug=True)
status = 0 # good
except error.CmdError:
status = 1 # bad
# Recover libvirtd service start
if libvirtd == "off":
utils_libvirtd.libvirtd_start()
# Check status_error
status_error = params.get("status_error")
if status_error == "yes":
if status == 0:
raise error.TestFail("Command 'virsh version %s' succeeded "
"(incorrect command)" % option)
elif status_error == "no":
if status != 0:
raise error.TestFail("Command 'virsh version %s' failed "
"(correct command)" % option)
开发者ID:yangdongsheng,项目名称:tp-libvirt,代码行数:42,代码来源:virsh_version.py
示例6: run
def run(test, params, env):
"""
Test command virsh cpu-models
"""
cpu_arch = params.get("cpu_arch", "")
option = params.get("option", "")
status_error = "yes" == params.get("status_error", "no")
remote_ref = params.get("remote_ref", "")
connect_uri = libvirt_vm.normalize_connect_uri(params.get("connect_uri",
"default"))
if remote_ref == "remote":
remote_ip = params.get("remote_ip", "REMOTE.EXAMPLE.COM")
remote_pwd = params.get("remote_pwd", None)
if 'EXAMPLE.COM' in remote_ip:
test.cancel("Please replace '%s' with valid remote ip" % remote_ip)
ssh_key.setup_ssh_key(remote_ip, "root", remote_pwd)
connect_uri = libvirt_vm.complete_uri(remote_ip)
arch_list = []
if not cpu_arch:
try:
capa = capability_xml.CapabilityXML()
guest_map = capa.get_guest_capabilities()
guest_arch = []
for v in list(itervalues(guest_map)):
guest_arch += list(v.keys())
for arch in set(guest_arch):
arch_list.append(arch)
except Exception as e:
test.error("Fail to get guest arch list of the host"
" supported:\n%s" % e)
else:
arch_list.append(cpu_arch)
for arch in arch_list:
logging.debug("Get the CPU models for arch: %s" % arch)
result = virsh.cpu_models(arch, options=option, uri=connect_uri,
ignore_status=True, debug=True)
utlv.check_exit_status(result, expect_error=status_error)
开发者ID:nasastry,项目名称:tp-libvirt,代码行数:41,代码来源:virsh_cpu_models.py
示例7: run
def run(test, params, env):
"""
Test the command virsh version
(1) Call virsh version
(2) Call virsh version with an unexpected option
(3) Call virsh version with libvirtd service stop
"""
connect_uri = libvirt_vm.normalize_connect_uri(params.get("connect_uri",
"default"))
libvirtd = params.get("libvirtd", "on")
option = params.get("virsh_version_options")
status_error = (params.get("status_error") == "yes")
# Prepare libvirtd service
if libvirtd == "off":
utils_libvirtd.libvirtd_stop()
# Run test case
result = virsh.version(option, uri=connect_uri, debug=True)
# Recover libvirtd service start
if libvirtd == "off":
utils_libvirtd.libvirtd_start()
# Check status_error
if status_error:
if not result.exit_status:
test.fail("Command 'virsh version %s' succeeded "
"(incorrect command)" % option)
else:
if result.exit_status:
test.fail("Command 'virsh version %s' failed "
"(correct command)" % option)
if option.count("daemon") and not result.stdout.count("daemon"):
test.fail("No daemon information outputed!")
开发者ID:nasastry,项目名称:tp-libvirt,代码行数:37,代码来源:virsh_version.py
示例8: run_virt_edit
def run_virt_edit(test, params, env):
"""
Test of virt-edit.
1) Get and init parameters for test.
2) Prepare environment.
3) Run virt-edit command and get result.
5) Recover environment.
6) Check result.
"""
vm_name = params.get("main_vm")
vm = env.get_vm(vm_name)
uri = libvirt_vm.normalize_connect_uri( params.get("connect_uri",
"default"))
start_vm = params.get("start_vm", "no")
vm_ref = params.get("virt_edit_vm_ref", vm_name)
file_ref = params.get("virt_edit_file_ref", "/etc/hosts")
created_img = params.get("virt_edit_created_img", "/tmp/foo.img")
foo_line = params.get("foo_line", "")
options = params.get("virt_edit_options")
options_suffix = params.get("virt_edit_options_suffix")
status_error = params.get("status_error", "no")
# virt-edit should not be used when vm is running.
# (for normal test)
if vm.is_alive() and start_vm == "no":
vm.destroy(gracefully=True)
dom_disk_dict = vm.get_disk_devices() # TODO
dom_uuid = vm.get_uuid()
if vm_ref == "domdisk":
if len(dom_disk_dict) != 1:
raise error.TestError("Only one disk device should exist on "
"%s:\n%s." % (vm_name, dom_disk_dict))
disk_detail = dom_disk_dict.values()[0]
vm_ref = disk_detail['source']
logging.info("disk to be edit:%s", vm_ref)
elif vm_ref == "domname":
vm_ref = vm_name
elif vm_ref == "domuuid":
vm_ref = dom_uuid
elif vm_ref == "createdimg":
vm_ref = created_img
utils.run("dd if=/dev/zero of=%s bs=256M count=1" % created_img)
# Decide whether pass a exprt for virt-edit command.
if foo_line != "":
expr = "s/$/%s/" % foo_line
else:
expr = ""
# Stop libvirtd if test need.
libvirtd = params.get("libvirtd", "on")
if libvirtd == "off":
utils_libvirtd.libvirtd_stop()
# Run test
virsh_dargs = {'ignore_status': True, 'debug': True, 'uri': uri}
result = lgf.virt_edit_cmd(vm_ref, file_ref, options,
options_suffix, expr, **virsh_dargs)
status = result.exit_status
# Recover libvirtd.
if libvirtd == "off":
utils_libvirtd.libvirtd_start()
utils.run("rm -f %s" % created_img)
status_error = (status_error == "yes")
if status != 0:
if not status_error:
raise error.TestFail("Command executed failed.")
else:
if (expr != "" and
(not login_to_check_foo_line(vm, file_ref, foo_line))):
raise error.TestFail("Virt-edit to add %s in %s failed."
"Test failed." % (foo_line, file_ref))
开发者ID:LeiCui,项目名称:virt-test,代码行数:79,代码来源:virt_edit.py
示例9: run_virsh_attach_detach_interface
def run_virsh_attach_detach_interface(test, params, env):
"""
Test virsh {at|de}tach-interface command.
1) Prepare test environment and its parameters
2) Attach the required interface
3) According test type(only attach or both attach and detach):
a.Go on to test detach(if attaching is correct)
b.Return GOOD or raise TestFail(if attaching is wrong)
4) Check if attached interface is correct:
a.Try to catch it in vm's XML file
b.Try to catch it in vm
5) Detach the attached interface
6) Check result
"""
vm_name = params.get("main_vm")
vm = env.get_vm(vm_name)
# Test parameters
uri = libvirt_vm.normalize_connect_uri(params.get("connect_uri",
"default"))
vm_ref = params.get("at_detach_iface_vm_ref", "domname")
options_suffix = params.get("at_detach_iface_options_suffix", "")
status_error = "yes" == params.get("status_error", "no")
start_vm = params.get("start_vm")
# Should attach must be pass for detach test.
correct_attach = "yes" == params.get("correct_attach", "no")
# Interface specific attributes.
iface_type = params.get("at_detach_iface_type", "network")
iface_source = params.get("at_detach_iface_source", "default")
iface_mac = params.get("at_detach_iface_mac", "created")
virsh_dargs = {'ignore_status': True, 'uri': uri}
# Get a bridge name for test if iface_type is bridge.
# If there is no bridge other than virbr0, raise TestNAError
if iface_type == "bridge":
host_bridge = utils_net.Bridge()
bridge_list = host_bridge.list_br()
try:
bridge_list.remove("virbr0")
except AttributeError:
pass # If no virbr0, just pass is ok
logging.debug("Useful bridges:%s", bridge_list)
# just choosing one bridge on host.
if len(bridge_list):
iface_source = bridge_list[0]
else:
raise error.TestNAError("No useful bridge on host "
"other than 'virbr0'.")
dom_uuid = vm.get_uuid()
dom_id = vm.get_id()
# To confirm vm's state
if start_vm == "no" and vm.is_alive():
vm.destroy()
# Test both detach and attach, So collect info
# both of them for result check.
# When something wrong with interface, set it to 1
fail_flag = 0
result_info = []
# Set attach-interface domain
if vm_ref == "domname":
vm_ref = vm_name
elif vm_ref == "domid":
vm_ref = dom_id
elif vm_ref == "domuuid":
vm_ref = dom_uuid
elif vm_ref == "hexdomid" and dom_id is not None:
vm_ref = hex(int(dom_id))
# Get a mac address if iface_mac is 'created'.
if iface_mac == "created" or correct_attach:
iface_mac = utils_net.generate_mac_address_simple()
# Set attach-interface options and Start attach-interface test
if correct_attach:
options = set_options("network", "default", iface_mac, "", "attach")
attach_result = virsh.attach_interface(vm_name, options,
**virsh_dargs)
else:
options = set_options(iface_type, iface_source, iface_mac,
options_suffix, "attach")
attach_result = virsh.attach_interface(vm_ref, options, **virsh_dargs)
attach_status = attach_result.exit_status
logging.debug(attach_result)
# If attach interface failed.
if attach_status:
if not status_error:
fail_flag = 1
result_info.append("Attach Failed: %s" % attach_result)
elif status_error:
# Here we just use it to exit, do not mean test failed
fail_flag = 1
# If attach interface succeeded.
#.........这里部分代码省略.........
开发者ID:Antique,项目名称:virt-test,代码行数:101,代码来源:virsh_attach_detach_interface.py
示例10: run_virsh_net_autostart
def run_virsh_net_autostart(test, params, env):
"""
Test command: virsh net-autostart.
"""
# Gather test parameters
uri = libvirt_vm.normalize_connect_uri(params.get("connect_uri",
"default"))
status_error = "yes" == params.get("status_error", "no")
net_ref = params.get("net_autostart_net_ref", "netname")
disable = "yes" == params.get("net_autostart_disable", "no")
extra = params.get("net_autostart_extra", "") # extra cmd-line params.
# Make easy to maintain
virsh_dargs = {'uri': uri, 'debug': False, 'ignore_status': True}
virsh_instance = virsh.VirshPersistent(**virsh_dargs)
# Prepare environment and record current net_state_dict
backup = network_xml.NetworkXML.new_all_networks_dict(virsh_instance)
backup_state = virsh_instance.net_state_dict()
logging.debug("Backed up network(s): %s", backup_state)
try:
default_xml = backup['default']
except (KeyError, AttributeError):
raise error.TestNAError("Test requires default network to exist")
# To guarantee cleanup will be executed
try:
# Remove all network before test
for netxml in backup.values():
netxml.orbital_nuclear_strike()
# Prepare default property for network
# Transeint network can not be set autostart
# So confirm persistent is true for test
default_xml['persistent'] = True
netname = "default"
netuuid = default_xml.uuid
# Set network 'default' to inactive
# Since we do not reboot host to check(instead of restarting libvirtd)
# If default network is active, we cann't check "--disable".
# Because active network will not be inactive after restarting libvirtd
# even we set autostart to False. While inactive network will be active
# after restarting libvirtd if we set autostart to True
default_xml['active'] = False
currents = network_xml.NetworkXML.new_all_networks_dict(virsh_instance)
current_state = virsh_instance.net_state_dict()
logging.debug("Current network(s): %s", current_state)
# Prepare options and arguments
if net_ref == "netname":
net_ref = netname
elif net_ref == "netuuid":
net_ref = netuuid
if disable:
net_ref += " --disable"
# Run test case
# Use function in virsh module directly for both normal and error test
result = virsh.net_autostart(net_ref, extra, **virsh_dargs)
logging.debug(result)
status = result.exit_status
# Close down persistent virsh session (including for all netxml copies)
if hasattr(virsh_instance, 'close_session'):
virsh_instance.close_session()
# Check if autostart or disable is successful with libvirtd restart.
# TODO: Since autostart is designed for host reboot,
# we'd better check it with host reboot.
utils_libvirtd.libvirtd_restart()
# Reopen default_xml
virsh_instance = virsh.VirshPersistent(**virsh_dargs)
currents = network_xml.NetworkXML.new_all_networks_dict(virsh_instance)
current_state = virsh_instance.net_state_dict()
logging.debug("Current network(s): %s", current_state)
default_xml = currents['default']
is_active = default_xml['active']
finally:
# Recover environment
leftovers = network_xml.NetworkXML.new_all_networks_dict(
virsh_instance)
for netxml in leftovers.values():
netxml.orbital_nuclear_strike()
# Recover from backup
for netxml in backup.values():
# If network is transient
if ((not backup_state[netxml.name]['persistent'])
and backup_state[netxml.name]['active']):
netxml.create()
continue
# autostart = True requires persistent = True first!
for state in ['persistent', 'autostart', 'active']:
try:
#.........这里部分代码省略.........
开发者ID:FT4VT,项目名称:FT4VM-L1_test,代码行数:101,代码来源:virsh_net_autostart.py
示例11: run
#.........这里部分代码省略.........
" attachment")
else:
if vm_state in ["paused", "running", "transient"]:
if active_attached:
raise exceptions.TestFail("Active domain XML not updated"
" when --live options used for"
" detachment")
if flags.count("current") or flags == "":
if attach:
if vm_state in ["paused", "running", "transient"]:
if not active_attached:
raise exceptions.TestFail("Active domain XML not updated"
" when --current options used "
"for attachment")
elif vm_state == "shutoff" and not inactive_attached:
raise exceptions.TestFail("Inactive domain XML not updated"
" when --current options used for"
" attachment")
else:
if vm_state in ["paused", "running", "transient"]:
if active_attached:
raise exceptions.TestFail("Active domain XML not updated"
" when --current options used "
"for detachment")
elif vm_state == "shutoff" and inactive_attached:
raise exceptions.TestFail("Inactive domain XML not updated "
"when --current options used for "
"detachment")
vm_name = params.get("main_vm")
vm = env.get_vm(vm_name)
# Test parameters
uri = libvirt_vm.normalize_connect_uri(params.get("connect_uri",
"default"))
vm_ref = params.get("at_detach_iface_vm_ref", "domname")
at_options_suffix = params.get("at_dt_iface_at_options", "")
dt_options_suffix = params.get("at_dt_iface_dt_options", "")
at_status_error = "yes" == params.get("at_status_error", "no")
dt_status_error = "yes" == params.get("dt_status_error", "no")
pre_vm_state = params.get("at_dt_iface_pre_vm_state")
# Skip if libvirt doesn't support --live/--current.
if (at_options_suffix.count("--live") or
dt_options_suffix.count("--live")):
if not libvirt_version.version_compare(1, 0, 5):
raise exceptions.TestSkipError("update-device doesn't"
" support --live")
if (at_options_suffix.count("--current") or
dt_options_suffix.count("--current")):
if not libvirt_version.version_compare(1, 0, 5):
raise exceptions.TestSkipError("virsh update-device "
"doesn't support --current")
# Interface specific attributes.
iface_type = params.get("at_detach_iface_type", "network")
if iface_type == "bridge":
try:
utils_misc.find_command("brctl")
except ValueError:
raise exceptions.TestSkipError("Command 'brctl' is missing."
" You must install it.")
iface_source = params.get("at_detach_iface_source", "default")
iface_mac = params.get("at_detach_iface_mac", "created")
virsh_dargs = {'ignore_status': True, 'uri': uri, 'debug': True}
开发者ID:lento-sun,项目名称:tp-libvirt,代码行数:67,代码来源:virsh_attach_detach_interface_matrix.py
示例12: run_virsh_ttyconsole
def run_virsh_ttyconsole(test, params, env):
"""
Test command: virsh ttyconsole.
1) Config console in xml file.
2) Run test for virsh ttyconsole.
3) Result check.
"""
os_type = params.get("os_type")
if os_type == "windows":
raise error.TestNAError("SKIP:Do not support Windows.")
# Get parameters
vm_name = params.get("main_vm")
vm = env.get_vm(vm_name)
uri = libvirt_vm.normalize_connect_uri(params.get("connect_uri",
"default"))
vm_ref = params.get("virsh_ttyconsole_vm_ref", "domname")
vm_state = params.get("vm_state", "running")
option_suffix = params.get("virsh_ttyconsole_option_suffix", "")
vm_uuid = vm.get_uuid()
vm_id = ""
virsh_dargs = {'ignore_status': True, 'uri': uri}
# A backup of original vm
vmxml_backup = vm_xml.VMXML.new_from_dumpxml(vm_name)
if vm.is_alive():
vm.destroy()
# Config vm for tty console
xml_console_config(vm_name)
vm.destroy()
# Prepare vm state for test
if vm_state != "shutoff":
vm.start()
vm.wait_for_login()
vm_id = vm.get_id()
if vm_state == "paused":
vm.pause()
# Prepare options
if vm_ref == "domname":
vm_ref = vm_name
elif vm_ref == "domuuid":
vm_ref = vm_uuid
elif vm_ref == "domid":
vm_ref = vm_id
elif vm_id and vm_ref == "hex_id":
vm_ref = hex(int(vm_id))
if option_suffix:
vm_ref += " %s" % option_suffix
# Run test command
result = virsh.ttyconsole(vm_ref, **virsh_dargs)
status = result.exit_status
logging.debug(result)
# Recover state of vm.
if vm_state == "paused":
vm.resume()
# Recover vm
if vm.is_alive():
vm.destroy()
xml_console_recover(vmxml_backup)
# check status_error
status_error = params.get("status_error")
if status_error == "yes":
if status == 0:
raise error.TestFail("Run successful with wrong command!")
elif status_error == "no":
if status != 0:
raise error.TestFail("Run failed with right command.")
开发者ID:FT4VT,项目名称:FT4VM-L1_test,代码行数:76,代码来源:virsh_ttyconsole.py
示例13: run
def run(test, params, env):
"""
Test command: virsh net-start.
"""
# Gather test parameters
uri = libvirt_vm.normalize_connect_uri(params.get("connect_uri",
"default"))
status_error = "yes" == params.get("status_error", "no")
inactive_default = "yes" == params.get("net_start_inactive_default", "yes")
net_ref = params.get("net_start_net_ref", "netname") # default is tested
extra = params.get("net_start_options_extra", "") # extra cmd-line params.
# make easy to maintain
virsh_dargs = {'uri': uri, 'debug': True, 'ignore_status': True}
virsh_instance = virsh.VirshPersistent(**virsh_dargs)
# libvirt acl polkit related params
if not libvirt_version.version_compare(1, 1, 1):
if params.get('setup_libvirt_polkit') == 'yes':
raise error.TestNAError("API acl test not supported in current"
+ " libvirt version.")
virsh_uri = params.get("virsh_uri")
unprivileged_user = params.get('unprivileged_user')
if unprivileged_user:
if unprivileged_user.count('EXAMPLE'):
unprivileged_user = 'testacl'
# Get all network instance
origin_nets = network_xml.NetworkXML.new_all_networks_dict(virsh_instance)
# Prepare default network for following test.
try:
default_netxml = origin_nets['default']
except KeyError:
virsh_instance.close_session()
raise error.TestNAError("Test requires default network to exist")
# To confirm default network is active
if not default_netxml.active:
default_netxml.active = True
# inactive default according test's need
if inactive_default:
logging.info("Stopped default network")
default_netxml.active = False
# State before run command
origin_state = virsh_instance.net_state_dict()
logging.debug("Origin network(s) state: %s", origin_state)
if net_ref == "netname":
net_ref = default_netxml.name
elif net_ref == "netuuid":
net_ref = default_netxml.uuid
if params.get('setup_libvirt_polkit') == 'yes':
virsh_dargs = {'uri': virsh_uri, 'unprivileged_user': unprivileged_user,
'debug': False, 'ignore_status': True}
# Run test case
result = virsh.net_start(net_ref, extra, **virsh_dargs)
logging.debug(result)
status = result.exit_status
# Get current net_stat_dict
current_state = virsh_instance.net_state_dict()
logging.debug("Current network(s) state: %s", current_state)
is_default_active = current_state['default']['active']
# Recover default state to active
if not is_default_active:
default_netxml.active = True
virsh_instance.close_session()
# Check status_error
if status_error:
if not status:
raise error.TestFail("Run successfully with wrong command!")
else:
if status:
raise error.TestFail("Run failed with right command")
else:
if not is_default_active:
raise error.TestFail("Execute cmd successfully but "
"default is inactive actually.")
开发者ID:Acidburn0zzz,项目名称:tp-libvirt,代码行数:86,代码来源:virsh_net_start.py
示例14: run
def run(test, params, env):
"""
Test command: virsh net-define/net-undefine.
1) Collect parameters&environment info before test
2) Prepare options for command
3) Execute command for test
4) Check state of defined network
5) Recover environment
6) Check result
"""
uri = libvirt_vm.normalize_connect_uri(params.get("connect_uri",
"default"))
net_name = params.get("net_define_undefine_net_name", "default")
net_uuid = params.get("net_define_undefine_net_uuid", "")
options_ref = params.get("net_define_undefine_options_ref", "default")
trans_ref = params.get("net_define_undefine_trans_ref", "trans")
extra_args = params.get("net_define_undefine_extra", "")
remove_existing = params.get("net_define_undefine_remove_existing", "yes")
status_error = "yes" == params.get("status_error", "no")
check_states = "yes" == params.get("check_states", "no")
net_persistent = "yes" == params.get("net_persistent")
net_active = "yes" == params.get("net_active")
expect_msg = params.get("net_define_undefine_err_msg")
# define multi ip/dhcp sections in network
multi_ip = "yes" == params.get("multi_ip", "no")
netmask = params.get("netmask")
prefix_v6 = params.get("prefix_v6")
single_v6_range = "yes" == params.get("single_v6_range", "no")
# Get 2nd ipv4 dhcp range
dhcp_ranges_start = params.get("dhcp_ranges_start", None)
dhcp_ranges_end = params.get("dhcp_ranges_end", None)
# Get 2 groups of ipv6 ip address and dhcp section
address_v6_1 = params.get("address_v6_1")
dhcp_ranges_v6_start_1 = params.get("dhcp_ranges_v6_start_1", None)
dhcp_ranges_v6_end_1 = params.get("dhcp_ranges_v6_end_1", None)
address_v6_2 = params.get("address_v6_2")
dhcp_ranges_v6_start_2 = params.get("dhcp_ranges_v6_start_2", None)
dhcp_ranges_v6_end_2 = params.get("dhcp_ranges_v6_end_2", None)
# Edit net xml forward/ip part then define/start to check invalid setting
edit_xml = "yes" == params.get("edit_xml", "no")
address_v4 = params.get("address_v4")
nat_port_start = params.get("nat_port_start")
nat_port_end = params.get("nat_port_end")
test_port = "yes" == params.get("test_port", "no")
virsh_dargs = {'uri': uri, 'debug': False, 'ignore_status': True}
virsh_instance = virsh.VirshPersistent(**virsh_dargs)
# libvirt acl polkit related params
if not libvirt_version.version_compare(1, 1, 1):
if params.get('setup_libvirt_polkit') == 'yes':
test.cancel("API acl test not supported in current"
" libvirt version.")
virsh_uri = params.get("virsh_uri")
unprivileged_user = params.get('unprivileged_user')
if unprivileged_user:
if unprivileged_user.count('EXAMPLE'):
unprivileged_user = 'testacl'
# Prepare environment and record current net_state_dict
backup = network_xml.NetworkXML.new_all_networks_dict(virsh_instance)
backup_state = virsh_instance.net_state_dict()
logging.debug("Backed up network(s): %s", backup_state)
# Make some XML to use for testing, for now we just copy 'default'
test_xml = xml_utils.TempXMLFile() # temporary file
try:
# LibvirtXMLBase.__str__ returns XML content
test_xml.write(str(backup['default']))
test_xml.flush()
except (KeyError, AttributeError):
test.cancel("Test requires default network to exist")
testnet_xml = get_network_xml_instance(virsh_dargs, test_xml, net_name,
net_uuid, bridge=None)
if remove_existing:
for netxml in list(backup.values()):
netxml.orbital_nuclear_strike()
# Test both define and undefine, So collect info
# both of them for result check.
# When something wrong with network, set it to 1
fail_flag = 0
result_info = []
if options_ref == "correct_arg":
define_options = testnet_xml.xml
undefine_options = net_name
elif options_ref == "no_option":
define_options = ""
undefine_options = ""
elif options_ref == "not_exist_option":
define_options = "/not/exist/file"
#.........这里部分代码省略.........
开发者ID:nasastry,项目名称:tp-libvirt,代码行数:101,代码来源:virsh_net_define_undefine.py
示例15: run
def run(test, params, env):
"""
Test command: virsh net-define/net-undefine.
1) Collect parameters&environment info before test
2) Prepare options for command
3) Execute command for test
4) Check state of defined network
5) Recover environment
6) Check result
"""
uri = libvirt_vm.normalize_connect_uri(params.get("connect_uri",
"default"))
net_name = params.get("net_define_undefine_net_name", "default")
net_uuid = params.get("net_define_undefine_net_uuid", "")
options_ref = params.get("net_define_undefine_options_ref", "default")
trans_ref = params.get("net_define_undefine_trans_ref", "trans")
extra_args = params.get("net_define_undefine_extra", "")
remove_existing = params.get("net_define_undefine_remove_existing", "yes")
status_error = "yes" == params.get("status_error", "no")
check_states = "yes" == params.get("check_states", "no")
virsh_dargs = {'uri': uri, 'debug': False, 'ignore_status': True}
virsh_instance = virsh.VirshPersistent(**virsh_dargs)
# libvirt acl polkit related params
if not libvirt_version.version_compare(1, 1, 1):
if params.get('setup_libvirt_polkit') == 'yes':
raise error.TestNAError("API acl test not supported in current"
" libvirt version.")
virsh_uri = params.get("virsh_uri")
unprivileged_user = params.get('unprivileged_user')
if unprivileged_user:
if unprivileged_user.count('EXAMPLE'):
unprivileged_user = 'testacl'
# Prepare environment and record current net_state_dict
backup = network_xml.NetworkXML.new_all_networks_dict(virsh_instance)
backup_state = virsh_instance.net_state_dict()
logging.debug("Backed up network(s): %s", backup_state)
# Make some XML to use for testing, for now we just copy 'default'
test_xml = xml_utils.TempXMLFile() # temporary file
try:
# LibvirtXMLBase.__str__ returns XML content
test_xml.write(str(backup['default']))
test_xml.flush()
except (KeyError, AttributeError):
raise error.TestNAError("Test requires default network to exist")
testnet_xml = get_network_xml_instance(virsh_dargs, test_xml, net_name,
net_uuid, bridge=None)
if remove_existing:
for netxml in backup.values():
netxml.orbital_nuclear_strike()
# Test both define and undefine, So collec
|
请发表评论