def remote_case(params, vm_name): """ Test remote case. """ remote_ip = params.get("remote_ip", "REMOTE.EXAMPLE.COM") remote_pwd = params.get("remote_pwd", None) local_ip = params.get("local_ip", "LOCAL.EXAMPLE.COM") local_pwd = params.get("local_pwd", None) # Used for connecting from remote to local connect_uri = params.get("remote_connect_uri", "qemu+ssh://LOCAL.EXAMPLE.COM/system") # Verify connect_uri/remote_ip/local_ip is useful for this test. if ("EXAMPLE" in remote_ip or "EXAMPLE" in connect_uri or "EXAMPLE" in local_ip): test.cancel("Please set remote_ip or connect_uri or local_ip.") status = 0 output = "" err = "" try: ssh_key.setup_remote_ssh_key(remote_ip, "root", remote_pwd, local_ip, "root", local_pwd) vcback = virsh.VirshConnectBack(remote_ip=remote_ip, remote_pwd=remote_pwd, uri=connect_uri, debug=True, ignore_status=True) cmdresult = vcback.vcpuinfo(vm_name) status = cmdresult.exit_status output = cmdresult.stdout.strip() vcback.close_session() if status != 0: err = output except process.CmdError: status = 1 output = "" err = "remote test failed" # Maintain result format conformance with local test return status, output, err
def remote_case(params, vm_name): """ Test remote case. """ remote_ip = params.get("remote_ip", "REMOTE.EXAMPLE.COM") remote_pwd = params.get("remote_pwd", None) # Used for connecting from remote to local connect_uri = params.get("remote_connect_uri", "qemu+ssh://LOCAL.EXAMPLE.COM/system") # Verify connect_uri is useful for this test. if not virsh.VirshConnectBack.kosher_args(remote_ip, connect_uri): raise error.TestNAError("The connect_uri parameter '%s' does " "not point at fully-qualified host " "from perspective of remote support " "system at '%s'." % (connect_uri, remote_ip)) status = 0 output = "" err = "" try: vcback = virsh.VirshConnectBack(remote_ip=remote_ip, remote_pwd=remote_pwd, uri=connect_uri, debug=True, ignore_status=True) cmdresult = vcback.vcpuinfo(vm_name) status = cmdresult.exit_status output = cmdresult.stdout vcback.close_session() if status != 0: err = output except error.CmdError: status = 1 output = "" err = "remote test failed" # Maintain result format conformance with local test return status, output, err