| OLD | NEW |
| 1 import logging, time, os | 1 import logging, time, os |
| 2 from autotest_lib.client.common_lib import error | 2 from autotest_lib.client.common_lib import error |
| 3 import kvm_test_utils, kvm_utils, rss_file_transfer | 3 from autotest_lib.client.virt import virt_utils, virt_test_utils, rss_client |
| 4 | 4 |
| 5 | 5 |
| 6 def run_whql_client_install(test, params, env): | 6 def run_whql_client_install(test, params, env): |
| 7 """ | 7 """ |
| 8 WHQL DTM client installation: | 8 WHQL DTM client installation: |
| 9 1) Log into the guest (the client machine) and into a DTM server machine | 9 1) Log into the guest (the client machine) and into a DTM server machine |
| 10 2) Stop the DTM client service (wttsvc) on the client machine | 10 2) Stop the DTM client service (wttsvc) on the client machine |
| 11 3) Delete the client machine from the server's data store | 11 3) Delete the client machine from the server's data store |
| 12 4) Rename the client machine (give it a randomly generated name) | 12 4) Rename the client machine (give it a randomly generated name) |
| 13 5) Move the client machine into the server's workgroup | 13 5) Move the client machine into the server's workgroup |
| (...skipping 16 matching lines...) Expand all Loading... |
| 30 server_shell_port = int(params.get("server_shell_port")) | 30 server_shell_port = int(params.get("server_shell_port")) |
| 31 server_file_transfer_port = int(params.get("server_file_transfer_port")) | 31 server_file_transfer_port = int(params.get("server_file_transfer_port")) |
| 32 server_studio_path = params.get("server_studio_path", "%programfiles%\\ " | 32 server_studio_path = params.get("server_studio_path", "%programfiles%\\ " |
| 33 "Microsoft Driver Test Manager\\Studio") | 33 "Microsoft Driver Test Manager\\Studio") |
| 34 server_username = params.get("server_username") | 34 server_username = params.get("server_username") |
| 35 server_password = params.get("server_password") | 35 server_password = params.get("server_password") |
| 36 client_username = params.get("client_username") | 36 client_username = params.get("client_username") |
| 37 client_password = params.get("client_password") | 37 client_password = params.get("client_password") |
| 38 dsso_delete_machine_binary = params.get("dsso_delete_machine_binary", | 38 dsso_delete_machine_binary = params.get("dsso_delete_machine_binary", |
| 39 "deps/whql_delete_machine_15.exe") | 39 "deps/whql_delete_machine_15.exe") |
| 40 dsso_delete_machine_binary = kvm_utils.get_path(test.bindir, | 40 dsso_delete_machine_binary = virt_utils.get_path(test.bindir, |
| 41 dsso_delete_machine_binary) | 41 dsso_delete_machine_binary) |
| 42 install_timeout = float(params.get("install_timeout", 600)) | 42 install_timeout = float(params.get("install_timeout", 600)) |
| 43 install_cmd = params.get("install_cmd") | 43 install_cmd = params.get("install_cmd") |
| 44 wtt_services = params.get("wtt_services") | 44 wtt_services = params.get("wtt_services") |
| 45 | 45 |
| 46 # Stop WTT service(s) on client | 46 # Stop WTT service(s) on client |
| 47 for svc in wtt_services.split(): | 47 for svc in wtt_services.split(): |
| 48 kvm_test_utils.stop_windows_service(session, svc) | 48 virt_test_utils.stop_windows_service(session, svc) |
| 49 | 49 |
| 50 # Copy dsso_delete_machine_binary to server | 50 # Copy dsso_delete_machine_binary to server |
| 51 rss_file_transfer.upload(server_address, server_file_transfer_port, | 51 rss_client.upload(server_address, server_file_transfer_port, |
| 52 dsso_delete_machine_binary, server_studio_path, | 52 dsso_delete_machine_binary, server_studio_path, |
| 53 timeout=60) | 53 timeout=60) |
| 54 | 54 |
| 55 # Open a shell session with server | 55 # Open a shell session with server |
| 56 server_session = kvm_utils.remote_login("nc", server_address, | 56 server_session = virt_utils.remote_login("nc", server_address, |
| 57 server_shell_port, "", "", | 57 server_shell_port, "", "", |
| 58 session.prompt, session.linesep) | 58 session.prompt, session.linesep) |
| 59 server_session.set_status_test_command(session.status_test_command) | 59 server_session.set_status_test_command(session.status_test_command) |
| 60 | 60 |
| 61 # Get server and client information | 61 # Get server and client information |
| 62 cmd = "echo %computername%" | 62 cmd = "echo %computername%" |
| 63 server_name = server_session.cmd_output(cmd).strip() | 63 server_name = server_session.cmd_output(cmd).strip() |
| 64 client_name = session.cmd_output(cmd).strip() | 64 client_name = session.cmd_output(cmd).strip() |
| 65 cmd = "wmic computersystem get domain" | 65 cmd = "wmic computersystem get domain" |
| 66 server_workgroup = server_session.cmd_output(cmd).strip() | 66 server_workgroup = server_session.cmd_output(cmd).strip() |
| 67 server_workgroup = server_workgroup.splitlines()[-1] | 67 server_workgroup = server_workgroup.splitlines()[-1] |
| 68 regkey = r"HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" | 68 regkey = r"HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" |
| 69 cmd = "reg query %s /v Domain" % regkey | 69 cmd = "reg query %s /v Domain" % regkey |
| 70 o = server_session.cmd_output(cmd).strip().splitlines()[-1] | 70 o = server_session.cmd_output(cmd).strip().splitlines()[-1] |
| 71 try: | 71 try: |
| 72 server_dns_suffix = o.split(None, 2)[2] | 72 server_dns_suffix = o.split(None, 2)[2] |
| 73 except IndexError: | 73 except IndexError: |
| 74 server_dns_suffix = "" | 74 server_dns_suffix = "" |
| 75 | 75 |
| 76 # Delete the client machine from the server's data store (if it's there) | 76 # Delete the client machine from the server's data store (if it's there) |
| 77 server_session.cmd("cd %s" % server_studio_path) | 77 server_session.cmd("cd %s" % server_studio_path) |
| 78 cmd = "%s %s %s" % (os.path.basename(dsso_delete_machine_binary), | 78 cmd = "%s %s %s" % (os.path.basename(dsso_delete_machine_binary), |
| 79 server_name, client_name) | 79 server_name, client_name) |
| 80 server_session.cmd(cmd, print_func=logging.info) | 80 server_session.cmd(cmd, print_func=logging.info) |
| 81 server_session.close() | 81 server_session.close() |
| 82 | 82 |
| 83 # Rename the client machine | 83 # Rename the client machine |
| 84 client_name = "autotest_%s" % kvm_utils.generate_random_string(4) | 84 client_name = "autotest_%s" % virt_utils.generate_random_string(4) |
| 85 logging.info("Renaming client machine to '%s'", client_name) | 85 logging.info("Renaming client machine to '%s'", client_name) |
| 86 cmd = ('wmic computersystem where name="%%computername%%" rename name="%s"' | 86 cmd = ('wmic computersystem where name="%%computername%%" rename name="%s"' |
| 87 % client_name) | 87 % client_name) |
| 88 session.cmd(cmd, timeout=600) | 88 session.cmd(cmd, timeout=600) |
| 89 | 89 |
| 90 # Join the server's workgroup | 90 # Join the server's workgroup |
| 91 logging.info("Joining workgroup '%s'", server_workgroup) | 91 logging.info("Joining workgroup '%s'", server_workgroup) |
| 92 cmd = ('wmic computersystem where name="%%computername%%" call ' | 92 cmd = ('wmic computersystem where name="%%computername%%" call ' |
| 93 'joindomainorworkgroup name="%s"' % server_workgroup) | 93 'joindomainorworkgroup name="%s"' % server_workgroup) |
| 94 session.cmd(cmd, timeout=600) | 94 session.cmd(cmd, timeout=600) |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 cmd = ('reg add ' | 127 cmd = ('reg add ' |
| 128 '"HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\winlogon" ' | 128 '"HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\winlogon" ' |
| 129 '/v "%s" /d "%s" /t REG_SZ /f') | 129 '/v "%s" /d "%s" /t REG_SZ /f') |
| 130 session.cmd(cmd % ("AutoAdminLogon", "1")) | 130 session.cmd(cmd % ("AutoAdminLogon", "1")) |
| 131 session.cmd(cmd % ("DefaultUserName", client_username)) | 131 session.cmd(cmd % ("DefaultUserName", client_username)) |
| 132 session.cmd(cmd % ("DefaultPassword", client_password)) | 132 session.cmd(cmd % ("DefaultPassword", client_password)) |
| 133 | 133 |
| 134 # Reboot one more time | 134 # Reboot one more time |
| 135 session = vm.reboot(session) | 135 session = vm.reboot(session) |
| 136 session.close() | 136 session.close() |
| OLD | NEW |