On Mon, Mar 15, 2010 at 6:04 PM, Michael Goldish <mgoldish@xxxxxxxxxx> wrote: > > ----- "Lucas Meneghel Rodrigues" <lmr@xxxxxxxxxx> wrote: > >> From: yogi <anantyog@xxxxxxxxxxxxxxxxxx> >> >> The patch enables doing mulitple install of guest OS in parallel. >> Have added four more options to test_base.cfg, port redirection >> entry "guest_port_unattend_shell" for host to communicate with >> guest during installation, "pxe_dir", 'pxe_image' and >> 'pxe_initrd" to specify locations for kernel and initrd. >> For parallel installation to work in unattended mode, the floppy >> image and pxe boot path also has to be unique for each quest. > > I don't think being unique for each guest is always enough. It's > possible for the same guest to run twice in parallel in different > configurations (e.g. up.Fedora.11 and smp2.Fedora.11 at the same > time). Each such run requires a unique floppy image and pxe path. > Come to think of it, it also requires a unique disk image, so right > now parallel tests on the same guest shouldn't work at all. I'll > think of a solution to that (in the form of a modification to > kvm_scheduler) but in the mean time, parallel tests should work as > long as they're for different guests. > >> All the relevant unattended post install steps for guests were >> changed, now they are server based codes. > > I still think much code can be saved by using the existing remote > login servers (ssh for Linux, rss.exe for Windows) that should > already be running when unattended install is done. > It's not critical however. > >> Changes from v1: >> * Fixed the logic for the new unattended install test (original >> implementation would hang indefinitely if guest dies in the middle >> of the install). >> * Fixed the config changes to make sure the unattended install >> port actually gets redirected so the test can work, also made the >> config specific to unattended install >> * Merged the finish.exe patch, including a binary patch that >> changes the binary shipped to the new version >> * Changed all unattended install files to use the parallel >> mechanism >> >> Tested with Windows 7 and Fedora 11 guests. I (lmr) am going to >> keep this in the queue for a bit so I can test it more in the >> internal test farm and everybody can take a look at the patch. > > See one more comment below in tests_base.cfg.sample. > Other than that everything looks fine. > >> >> Signed-off-by: Yogananth Subramanian <anantyog@xxxxxxxxxxxxxxxxxx> >> Signed-off-by: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> >> --- >> client/tests/kvm/deps/finish.cpp | 111 ++-- >> client/tests/kvm/deps/finish.exe | Bin 26913 -> >> 26926 bytes >> client/tests/kvm/kvm_utils.py | 4 +- >> client/tests/kvm/scripts/unattended.py | 56 +- >> client/tests/kvm/tests/unattended_install.py | 44 +- >> client/tests/kvm/tests_base.cfg.sample | 66 ++- >> client/tests/kvm/unattended/Fedora-10.ks | 12 +- >> client/tests/kvm/unattended/Fedora-11.ks | 11 +- >> client/tests/kvm/unattended/Fedora-12.ks | 11 +- >> client/tests/kvm/unattended/Fedora-8.ks | 11 +- >> client/tests/kvm/unattended/Fedora-9.ks | 11 +- >> client/tests/kvm/unattended/RHEL-3-series.ks | 12 +- >> client/tests/kvm/unattended/RHEL-4-series.ks | 11 +- >> client/tests/kvm/unattended/RHEL-5-series.ks | 11 +- >> client/tests/kvm/unattended/Sles11-64-autoinst.xml | 898 >> ++++++++++++++++++++ >> client/tests/kvm/unattended/win2003-32.sif | 2 +- >> client/tests/kvm/unattended/win2003-64.sif | 2 +- >> .../kvm/unattended/win2008-32-autounattend.xml | 2 +- >> .../kvm/unattended/win2008-64-autounattend.xml | 2 +- >> .../kvm/unattended/win2008-r2-autounattend.xml | 2 +- >> .../tests/kvm/unattended/win7-32-autounattend.xml | 2 +- >> .../tests/kvm/unattended/win7-64-autounattend.xml | 2 +- >> .../kvm/unattended/winvista-32-autounattend.xml | 2 +- >> .../kvm/unattended/winvista-64-autounattend.xml | 2 +- >> client/tests/kvm/unattended/winxp32.sif | 2 +- >> client/tests/kvm/unattended/winxp64.sif | 2 +- >> 26 files changed, 1121 insertions(+), 170 deletions(-) >> create mode 100644 >> client/tests/kvm/unattended/Sles11-64-autoinst.xml >> >> diff --git a/client/tests/kvm/deps/finish.cpp >> b/client/tests/kvm/deps/finish.cpp >> index 9c2867c..e5ba128 100644 >> --- a/client/tests/kvm/deps/finish.cpp >> +++ b/client/tests/kvm/deps/finish.cpp >> @@ -1,12 +1,13 @@ >> -// Simple app that only sends an ack string to the KVM unattended >> install >> -// watch code. >> +// Simple application that creates a server socket, listening for >> connections >> +// of the unattended install test. Once it gets a client connected, >> the >> +// app will send back an ACK string, indicating the install process >> is done. >> // >> // You must link this code with Ws2_32.lib, Mswsock.lib, and >> Advapi32.lib >> // >> // Author: Lucas Meneghel Rodrigues <lmr@xxxxxxxxxx> >> // Code was adapted from an MSDN sample. >> >> -// Usage: finish.exe [Host OS IP] >> +// Usage: finish.exe >> >> // MinGW's ws2tcpip.h only defines getaddrinfo and other functions >> only for >> // the case _WIN32_WINNT >= 0x0501. >> @@ -21,24 +22,18 @@ >> #include <stdlib.h> >> #include <stdio.h> >> >> -#define DEFAULT_BUFLEN 512 >> #define DEFAULT_PORT "12323" >> - >> int main(int argc, char **argv) >> { >> WSADATA wsaData; >> - SOCKET ConnectSocket = INVALID_SOCKET; >> - struct addrinfo *result = NULL, >> - *ptr = NULL, >> - hints; >> + SOCKET ListenSocket = INVALID_SOCKET, ClientSocket = >> INVALID_SOCKET; >> + struct addrinfo *result = NULL, hints; >> char *sendbuf = "done"; >> - char recvbuf[DEFAULT_BUFLEN]; >> - int iResult; >> - int recvbuflen = DEFAULT_BUFLEN; >> + int iResult, iSendResult; >> >> // Validate the parameters >> - if (argc != 2) { >> - printf("usage: %s server-name\n", argv[0]); >> + if (argc != 1) { >> + printf("usage: %s", argv[0]); >> return 1; >> } >> >> @@ -49,72 +44,84 @@ int main(int argc, char **argv) >> return 1; >> } >> >> - ZeroMemory( &hints, sizeof(hints) ); >> - hints.ai_family = AF_UNSPEC; >> + ZeroMemory(&hints, sizeof(hints)); >> + hints.ai_family = AF_INET; >> hints.ai_socktype = SOCK_STREAM; >> hints.ai_protocol = IPPROTO_TCP; >> + hints.ai_flags = AI_PASSIVE; >> >> // Resolve the server address and port >> - iResult = getaddrinfo(argv[1], DEFAULT_PORT, &hints, &result); >> - if ( iResult != 0 ) { >> + iResult = getaddrinfo(NULL, DEFAULT_PORT, &hints, &result); >> + if (iResult != 0) { >> printf("getaddrinfo failed: %d\n", iResult); >> WSACleanup(); >> return 1; >> } >> >> - // Attempt to connect to an address until one succeeds >> - for(ptr=result; ptr != NULL ;ptr=ptr->ai_next) { >> - >> - // Create a SOCKET for connecting to server >> - ConnectSocket = socket(ptr->ai_family, ptr->ai_socktype, >> - ptr->ai_protocol); >> - if (ConnectSocket == INVALID_SOCKET) { >> - printf("Error at socket(): %ld\n", WSAGetLastError()); >> - freeaddrinfo(result); >> - WSACleanup(); >> - return 1; >> - } >> - >> - // Connect to server. >> - iResult = connect( ConnectSocket, ptr->ai_addr, >> (int)ptr->ai_addrlen); >> - if (iResult == SOCKET_ERROR) { >> - closesocket(ConnectSocket); >> - ConnectSocket = INVALID_SOCKET; >> - continue; >> - } >> - break; >> + // Create a SOCKET for connecting to server >> + ListenSocket = socket(result->ai_family, result->ai_socktype, >> + result->ai_protocol); >> + if (ListenSocket == INVALID_SOCKET) { >> + printf("socket failed: %ld\n", WSAGetLastError()); >> + freeaddrinfo(result); >> + WSACleanup(); >> + return 1; >> + } >> + >> + // Setup the TCP listening socket >> + iResult = bind(ListenSocket, result->ai_addr, >> (int)result->ai_addrlen); >> + if (iResult == SOCKET_ERROR) { >> + printf("bind failed: %d\n", WSAGetLastError()); >> + freeaddrinfo(result); >> + closesocket(ListenSocket); >> + WSACleanup(); >> + return 1; >> } >> >> freeaddrinfo(result); >> >> - if (ConnectSocket == INVALID_SOCKET) { >> - printf("Unable to connect to server!\n"); >> + iResult = listen(ListenSocket, SOMAXCONN); >> + if (iResult == SOCKET_ERROR) { >> + printf("listen failed: %d\n", WSAGetLastError()); >> + closesocket(ListenSocket); >> WSACleanup(); >> return 1; >> } >> >> - // Send the ACK buffer >> - iResult = send( ConnectSocket, sendbuf, (int)strlen(sendbuf), 0 >> ); >> - if (iResult == SOCKET_ERROR) { >> - printf("send failed: %d\n", WSAGetLastError()); >> - closesocket(ConnectSocket); >> + // Accept a client socket >> + ClientSocket = accept(ListenSocket, NULL, NULL); >> + if (ClientSocket == INVALID_SOCKET) { >> + printf("accept failed: %d\n", WSAGetLastError()); >> + closesocket(ListenSocket); >> WSACleanup(); >> return 1; >> } >> >> - printf("Bytes Sent: %ld\n", iResult); >> + // No longer need the server socket >> + closesocket(ListenSocket); >> + >> + // Send the ack string to the client >> + iSendResult = send(ClientSocket, sendbuf, sizeof(sendbuf), 0); >> + if (iSendResult == SOCKET_ERROR) { >> + printf("send failed: %d\n", WSAGetLastError()); >> + closesocket(ClientSocket); >> + WSACleanup(); >> + return 1; >> + } >> + // Report the number of bytes sent >> + printf("Bytes sent: %d\n", iSendResult); >> >> - // shutdown the connection since no more data will be sent >> - iResult = shutdown(ConnectSocket, SD_SEND); >> + // Shutdown the connection since we're done >> + iResult = shutdown(ClientSocket, SD_SEND); >> if (iResult == SOCKET_ERROR) { >> printf("shutdown failed: %d\n", WSAGetLastError()); >> - closesocket(ConnectSocket); >> + closesocket(ClientSocket); >> WSACleanup(); >> return 1; >> } >> >> - // cleanup >> - closesocket(ConnectSocket); >> + // Cleanup >> + closesocket(ClientSocket); >> WSACleanup(); >> >> return 0; >> diff --git a/client/tests/kvm/deps/finish.exe >> b/client/tests/kvm/deps/finish.exe >> index >> 5387780fd769fe574ef5c4cc93e57fece35d2132..59792973aea6e405d725371c077d032e2aa936b1 >> 100755 >> GIT binary patch >> delta 4604 >> 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 >> Zp}+ZaM4rB9rIgSZD&O-mJ|>#-{|gl$Ak_c> >> >> delta 4371 >> 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 >> >> diff --git a/client/tests/kvm/kvm_utils.py >> b/client/tests/kvm/kvm_utils.py >> index 4565dc1..9201b87 100644 >> --- a/client/tests/kvm/kvm_utils.py >> +++ b/client/tests/kvm/kvm_utils.py >> @@ -635,7 +635,7 @@ def is_port_free(port): >> >> def find_free_port(start_port, end_port): >> """ >> - Return a free port in the range [start_port, end_port). >> + Return a host free port in the range [start_port, end_port]. >> >> @param start_port: First port that will be checked. >> @param end_port: Port immediately after the last one that will be >> checked. >> @@ -648,7 +648,7 @@ def find_free_port(start_port, end_port): >> >> def find_free_ports(start_port, end_port, count): >> """ >> - Return count free ports in the range [start_port, end_port). >> + Return count of host free ports in the range [start_port, >> end_port]. >> >> @count: Initial number of ports known to be free in the range. >> @param start_port: First port that will be checked. >> diff --git a/client/tests/kvm/scripts/unattended.py >> b/client/tests/kvm/scripts/unattended.py >> index 343f955..3c48fb3 100755 >> --- a/client/tests/kvm/scripts/unattended.py >> +++ b/client/tests/kvm/scripts/unattended.py >> @@ -31,35 +31,31 @@ class UnattendedInstall(object): >> self.deps_dir = os.path.join(kvm_test_dir, 'deps') >> self.unattended_dir = os.path.join(kvm_test_dir, >> 'unattended') >> >> - try: >> - tftp_root = os.environ['KVM_TEST_tftp'] >> + tftp_root = os.environ.get('KVM_TEST_tftp', '') >> + if tftp_root: >> self.tftp_root = os.path.join(kvm_test_dir, tftp_root) >> if not os.path.isdir(self.tftp_root): >> os.makedirs(self.tftp_root) >> - except KeyError: >> - self.tftp_root = '' >> - >> - try: >> - self.kernel_args = os.environ['KVM_TEST_kernel_args'] >> - except KeyError: >> - self.kernel_args = '' >> - >> - try: >> - self.finish_program= >> os.environ['KVM_TEST_finish_program'] >> - except: >> - self.finish_program = None >> - >> + else: >> + self.tftp_root = tftp_root >> >> - cdrom_iso = os.environ['KVM_TEST_cdrom'] >> - self.unattended_file = >> os.environ['KVM_TEST_unattended_file'] >> + self.kernel_args = os.environ.get('KVM_TEST_kernel_args', >> '') >> + self.finish_program= >> os.environ.get('KVM_TEST_finish_program', '') >> + cdrom_iso = os.environ.get('KVM_TEST_cdrom') >> + self.unattended_file = >> os.environ.get('KVM_TEST_unattended_file') >> >> - self.qemu_img_bin = os.environ['KVM_TEST_qemu_img_binary'] >> + self.qemu_img_bin = >> os.environ.get('KVM_TEST_qemu_img_binary') >> if not os.path.isabs(self.qemu_img_bin): >> self.qemu_img_bin = os.path.join(kvm_test_dir, >> self.qemu_img_bin) >> self.cdrom_iso = os.path.join(kvm_test_dir, cdrom_iso) >> self.floppy_mount = tempfile.mkdtemp(prefix='floppy_', >> dir='/tmp') >> self.cdrom_mount = tempfile.mkdtemp(prefix='cdrom_', >> dir='/tmp') >> - self.floppy_img = os.path.join(images_dir, 'floppy.img') >> + flopy_name = os.path.basename(os.environ['KVM_TEST_floppy']) >> + self.floppy_img = os.path.join(images_dir, flopy_name) >> + >> + self.pxe_dir = os.environ.get('KVM_TEST_pxe_dir', '') >> + self.pxe_image = os.environ.get('KVM_TEST_pxe_image', '') >> + self.pxe_initrd = os.environ.get('KVM_TEST_pxe_initrd', '') >> >> >> def create_boot_floppy(self): >> @@ -94,9 +90,15 @@ class UnattendedInstall(object): >> setup_file_dest = os.path.join(self.floppy_mount, >> setup_file) >> shutil.copyfile(setup_file_path, setup_file_dest) >> elif self.unattended_file.endswith('.ks'): >> + # Red Hat kickstart install >> dest_fname = 'ks.cfg' >> elif self.unattended_file.endswith('.xml'): >> - dest_fname = "autounattend.xml" >> + if self.tftp_root is '': >> + # Windows unattended install >> + dest_fname = "autounattend.xml" >> + else: >> + # SUSE autoyast install >> + dest_fname = "autoinst.xml" >> >> dest = os.path.join(self.floppy_mount, dest_fname) >> >> @@ -166,21 +168,20 @@ class UnattendedInstall(object): >> raise SetupError('Could not mount CD image %s.' % >> self.cdrom_iso) >> >> - p = os.path.join('images', 'pxeboot') >> - pxe_dir = os.path.join(self.cdrom_mount, p) >> - pxe_image = os.path.join(pxe_dir, 'vmlinuz') >> - pxe_initrd = os.path.join(pxe_dir, 'initrd.img') >> + pxe_dir = os.path.join(self.cdrom_mount, self.pxe_dir) >> + pxe_image = os.path.join(pxe_dir, self.pxe_image) >> + pxe_initrd = os.path.join(pxe_dir, self.pxe_initrd) >> >> if not os.path.isdir(pxe_dir): >> raise SetupError('The ISO image does not have a %s >> dir. The ' >> 'script assumes that the cd has a %s >> dir ' >> 'where to search for the vmlinuz >> image.' % >> - (p, p)) >> + (self.pxe_dir, self.pxe_dir)) >> >> if not os.path.isfile(pxe_image) or not >> os.path.isfile(pxe_initrd): >> raise SetupError('The location %s is lacking either a >> vmlinuz ' >> 'or a initrd.img file. Cannot find a >> PXE ' >> - 'image to proceed.' % pxe_dir) >> + 'image to proceed.' % self.pxe_dir) >> >> tftp_image = os.path.join(self.tftp_root, 'vmlinuz') >> tftp_initrd = os.path.join(self.tftp_root, 'initrd.img') >> @@ -239,6 +240,9 @@ class UnattendedInstall(object): >> print " floppy_mount: " + str(self.floppy_mount) >> print " floppy_img: " + str(self.floppy_img) >> print " finish_program: " + str(self.finish_program) >> + print " pxe_dir: " + str(self.pxe_dir) >> + print " pxe_image: " + str(self.pxe_image) >> + print " pxe_initrd: " + str(self.pxe_initrd) >> >> self.create_boot_floppy() >> if self.tftp_root: >> diff --git a/client/tests/kvm/tests/unattended_install.py >> b/client/tests/kvm/tests/unattended_install.py >> index e3df72a..ee587a8 100644 >> --- a/client/tests/kvm/tests/unattended_install.py >> +++ b/client/tests/kvm/tests/unattended_install.py >> @@ -13,34 +13,34 @@ def run_unattended_install(test, params, env): >> @param params: Dictionary with the test parameters. >> @param env: Dictionary with test environment. >> """ >> + buf = 1024 >> vm = kvm_test_utils.get_living_vm(env, params.get("main_vm")) >> >> - server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> - server.bind(('', 12323)) >> - server.listen(1) >> + port = >> vm.get_port(int(params.get("guest_port_unattended_install"))) >> + addr = ('localhost', port) >> >> install_timeout = float(params.get("timeout", 3000)) >> logging.info("Starting unattended install watch process. " >> "Timeout set to %ds (%d min)", install_timeout, >> install_timeout/60) >> start_time = time.time() >> - >> - while True: >> - server.settimeout(install_timeout) >> + time_elapsed = 0 >> + while time_elapsed < install_timeout: >> + client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> try: >> - (client, addr) = server.accept() >> - except socket.timeout: >> - server.close() >> - raise error.TestFail('Timeout elapsed while waiting for >> install to ' >> - 'finish.') >> - msg = client.recv(1024) >> - logging.debug("Received '%s' from %s", msg, addr) >> - if msg == 'done': >> - end_time = time.time() >> - time_elapsed = int(end_time - start_time) >> - logging.info('Guest reported successful installation >> after %ds ' >> - '(%d min)', time_elapsed, time_elapsed/60) >> - server.close() >> - break >> - else: >> - logging.error('Got invalid string from client: %s.' % >> msg) >> + client.connect(addr) >> + msg = client.recv(1024) >> + if msg == 'done': >> + break >> + finally: >> + time.sleep(1) >> + client.close() >> + end_time = time.time() >> + time_elapsed = int(end_time - start_time) >> + >> + if time_elapsed < install_timeout: >> + logging.info('Guest reported successful installation after >> %ds ' >> + '(%d min)', time_elapsed, time_elapsed/60) >> + else: >> + raise error.TestFail('Timeout elapsed while waiting for >> install to ' >> + 'finish.') >> diff --git a/client/tests/kvm/tests_base.cfg.sample >> b/client/tests/kvm/tests_base.cfg.sample >> index beae786..c76470d 100644 >> --- a/client/tests/kvm/tests_base.cfg.sample >> +++ b/client/tests/kvm/tests_base.cfg.sample >> @@ -70,6 +70,8 @@ variants: >> floppy = "images/floppy.img" >> extra_params += " -boot d" >> nic_mode = user >> + redirs += " unattended_install" >> + guest_port_unattended_install = 12323 >> >> - boot: install setup unattended_install >> type = boot >> @@ -337,6 +339,9 @@ variants: >> no setup >> shell_prompt = "^\[.*\][\#\$]\s*$" >> unattended_install: >> + pxe_dir = "images/pxeboot" >> + pxe_image = "vmlinuz" >> + pxe_initrd = "initrd.img" >> tftp = "images/tftpboot" >> extra_params += " -bootp /pxelinux.0 -boot n" >> kernel_args = "ks=floppy nicdelay=60" >> @@ -352,10 +357,12 @@ variants: >> steps = Fedora-8-i386.steps >> unattended_install: >> unattended_file = unattended/Fedora-8.ks >> + tftp = "images/f8-32/tftpboot" >> + floppy = "images/f8-32floppy.img" >> >> - 8.64: >> no setup >> - image_name = fc8-64 >> + image_name = f8-64 >> cdrom = linux/Fedora-8-x86_64-DVD.iso >> md5sum = 2cb231a86709dec413425fd2f8bf5295 >> md5sum_1m = 145f6414e19492649a56c89f0a45e719 >> @@ -363,9 +370,11 @@ variants: >> steps = Fedora-8-64.steps >> unattended_install: >> unattended_file = unattended/Fedora-8.ks >> + tftp = "images/f8-64/tftpboot" >> + floppy = "images/f8-64floppy.img" > > Is this intentional or a typo? > tftp is in a subdir of images/ but floppy is directly under images/. > Looks intentional but I'm just making sure. Sure, it was intentional, but now that you've mentioned it, I found that putting the image under the directory makes more sense and it's cleaner. Also I just realized that the 'unique' floppy names for windows guests were missing. The v3 of the patch I am sending have those 2 mistakes corrected. Thank you very much for your review! >> >> - 9.32: >> - image_name = fc9-32 >> + image_name = f9-32 >> cdrom = linux/Fedora-9-i386-DVD.iso >> md5sum = 72601f685ea8c808c303353d8bf4d307 >> md5sum_1m = f24fa25689e5863f1b99984c6feb787f >> @@ -373,9 +382,11 @@ variants: >> steps = Fedora-9-i386.steps >> unattended_install: >> unattended_file = unattended/Fedora-9.ks >> + tftp = "images/f9-32/tftpboot" >> + floppy = "images/f9-32floppy.img" >> >> - 9.64: >> - image_name = fc9-64 >> + image_name = f9-64 >> cdrom = linux/Fedora-9-x86_64-DVD.iso >> md5sum = 05b2ebeed273ec54d6f9ed3d61ea4c96 >> md5sum_1m = 9822ab5097e37e8fe306ef2192727db4 >> @@ -383,25 +394,31 @@ variants: >> steps = Fedora-9-64.steps >> unattended_install: >> unattended_file = unattended/Fedora-9.ks >> + tftp = "images/f9-64/tftpboot" >> + floppy = "images/f9-64floppy.img" >> >> - 10.32: >> - image_name = fc10-32 >> + image_name = f10-32 >> cdrom = linux/Fedora-10-i386-DVD.iso >> md5sum = 27e581edb392728c4a07d00d3fc5ced0 >> md5sum_1m = bd67c68bdf595e4ba7131ec702159181 >> unattended_install: >> unattended_file = >> unattended/Fedora-10.ks >> + tftp = "images/f10-32/tftpboot" >> + floppy = "images/f10-32floppy.img" >> >> - 10.64: >> - image_name = fc10-64 >> + image_name = f10-64 >> cdrom = linux/Fedora-10-x86_64-DVD.iso >> sha1sum = >> f1e5ae7db6a1ba227de7294c4112385922388648 >> md5sum_1m = 732857cbf40c80c34683e874601d982c >> unattended_install: >> unattended_file = >> unattended/Fedora-10.ks >> + tftp = "images/f10-64/tftpboot" >> + floppy = "images/f10-64floppy.img" >> >> - 11.32: >> - image_name = fc11-32 >> + image_name = f11-32 >> cdrom = linux/Fedora-11-i386-DVD.iso >> md5sum = e3b1e2d1ba42aa4705fa5f41771b3927 >> md5sum_1m = dc8ddf90648c247339c721395aa49714 >> @@ -409,30 +426,38 @@ variants: >> steps = Fedora-11-32.steps >> unattended_install: >> unattended_file = >> unattended/Fedora-11.ks >> + tftp = "images/f11-32/tftpboot" >> + floppy = "images/f11-32floppy.img" >> >> - 11.64: >> - image_name = fc11-64 >> + image_name = f11-64 >> cdrom = linux/Fedora-11-x86_64-DVD.iso >> md5sum = 9d419844adeb93120215fe7505c9bce8 >> md5sum_1m = 405ee05e2387a2e4328b008d5bcbdd1e >> unattended_install: >> unattended_file = >> unattended/Fedora-11.ks >> + tftp = "images/f11-64/tftpboot" >> + floppy = "images/f11-64floppy.img" >> >> - 12.32: >> - image_name = fc12-32 >> + image_name = f12-32 >> cdrom = linux/Fedora-12-i386-DVD.iso >> md5sum = 2c4c1c0d09f2fbcfd8ee6a0c5542eeb2 >> md5sum_1m = eee935d7f0cf2ef03f6ddce3a2a50050 >> unattended_install: >> unattended_file = >> unattended/Fedora-12.ks >> + tftp = "images/f12-32/tftpboot" >> + floppy = "images/f12-32floppy.img" >> >> - 12.64: >> - image_name = fc12-64 >> + image_name = f12-64 >> cdrom = linux/Fedora-12-x86_64-DVD.iso >> md5sum = 6dd31e292cc2eb1140544e9b1ba61c56 >> md5sum_1m = 514efbd7698b55ff6768c8605438bfc5 >> unattended_install: >> unattended_file = >> unattended/Fedora-12.ks >> + tftp = "images/f12-64/tftpboot" >> + floppy = "images/f12-64floppy.img" >> >> - DSL-4.2.5: >> no setup dbench bonnie linux_s3 >> @@ -517,6 +542,9 @@ variants: >> block_hotplug: >> modprobe_module = acpiphp >> unattended_install: >> + pxe_dir = "images/pxeboot" >> + pxe_image = "vmlinuz" >> + pxe_initrd = "initrd.img" >> tftp = "images/tftpboot" >> extra_params += " -bootp /pxelinux.0 -boot n" >> kernel_args = "ks=floppy nicdelay=60" >> @@ -533,6 +561,8 @@ variants: >> steps=RHEL-3.9-i386.steps >> unattended_install: >> unattended_file = >> unattended/RHEL-3-series.ks >> + tftp = "images/rhel39-32/tftpboot" >> + floppy = "images/rhel39-32floppy.img" >> >> - 3.9.x86_64: >> no setup autotest linux_s3 >> @@ -545,6 +575,8 @@ variants: >> steps=RHEL-3.9-x86_64.steps >> unattended_install: >> unattended_file = >> unattended/RHEL-3-series.ks >> + tftp = "images/rhel39-64/tftpboot" >> + floppy = "images/rhel39-64floppy.img" >> >> - 4.7.i386: >> no setup autotest >> @@ -556,6 +588,8 @@ variants: >> steps=RHEL-4.7-i386.steps >> unattended_install: >> unattended_file = >> unattended/RHEL-4-series.ks >> + tftp = "images/rhel47-32/tftpboot" >> + floppy = "images/rhel47-32floppy.img" >> >> - 4.7.x86_64: >> no setup autotest >> @@ -567,6 +601,8 @@ variants: >> steps=RHEL-4.7-x86_64.steps >> unattended_install: >> unattended_file = >> unattended/RHEL-4-series.ks >> + tftp = "images/rhel47-64/tftpboot" >> + floppy = "images/rhel47-64floppy.img" >> >> - 4.8.i386: >> no setup autotest >> @@ -576,6 +612,8 @@ variants: >> md5sum_1m = 969c197402b9058f28a278c1f807d15b >> unattended_install: >> unattended_file = >> unattended/RHEL-4-series.ks >> + tftp = "images/rhel48-32/tftpboot" >> + floppy = "images/rhel48-32floppy.img" >> >> - 4.8.x86_64: >> no setup autotest >> @@ -585,6 +623,8 @@ variants: >> md5sum_1m = b11ac0ef7fd345ad712966972db63886 >> unattended_install: >> unattended_file = >> unattended/RHEL-4-series.ks >> + tftp = "images/rhel48-64/tftpboot" >> + floppy = "images/rhel48-64floppy.img" >> >> - 5.3.i386: >> no setup >> @@ -596,6 +636,8 @@ variants: >> steps=RHEL-5.3-i386.steps >> unattended_install: >> unattended_file = >> unattended/RHEL-5-series.ks >> + tftp = "images/rhel53-32/tftpboot" >> + floppy = "images/rhel53-32floppy.img" >> >> - 5.3.x86_64: >> no setup >> @@ -607,6 +649,8 @@ variants: >> steps=RHEL-5.3-x86_64.steps >> unattended_install: >> unattended_file = >> unattended/RHEL-5-series.ks >> + tftp = "images/rhel53-64/tftpboot" >> + floppy = "images/rhel53-64floppy.img" >> >> - 5.4.i386: >> no setup >> @@ -616,6 +660,8 @@ variants: >> md5sum_1m = 0dbeb8f58d213752d8c029e8601abfbb >> unattended_install: >> unattended_file = >> unattended/RHEL-5-series.ks >> + tftp = "images/rhel54-32/tftpboot" >> + floppy = "images/rhel54-32floppy.img" >> >> - 5.4.x86_64: >> no setup >> @@ -625,6 +671,8 @@ variants: >> md5sum_1m = 3e74112003e88a966754849dbb8f5c3f >> unattended_install: >> unattended_file = >> unattended/RHEL-5-series.ks >> + tftp = "images/rhel54-64/tftpboot" >> + floppy = "images/rhel54-64floppy.img" >> >> # Windows section >> - @Windows: >> diff --git a/client/tests/kvm/unattended/Fedora-10.ks >> b/client/tests/kvm/unattended/Fedora-10.ks >> index 41bb391..61e59d7 100644 >> --- a/client/tests/kvm/unattended/Fedora-10.ks >> +++ b/client/tests/kvm/unattended/Fedora-10.ks >> @@ -28,10 +28,10 @@ os.system('dhclient') >> os.system('chkconfig sshd on') >> os.system('iptables -F') >> os.system('echo 0 > /selinux/enforce') >> -port = 12323 >> -buf = 1024 >> -addr = ('10.0.2.2', port) >> -client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> -client.connect(addr) >> -client.sendto('done', addr) >> +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> +server.bind(('', 12323)) >> +server.listen(1) >> +(client, addr) = server.accept() >> +client.send("done") >> client.close() >> + >> diff --git a/client/tests/kvm/unattended/Fedora-11.ks >> b/client/tests/kvm/unattended/Fedora-11.ks >> index 65e42c3..0be7d06 100644 >> --- a/client/tests/kvm/unattended/Fedora-11.ks >> +++ b/client/tests/kvm/unattended/Fedora-11.ks >> @@ -28,11 +28,10 @@ os.system('dhclient') >> os.system('chkconfig sshd on') >> os.system('iptables -F') >> os.system('echo 0 > /selinux/enforce') >> -port = 12323 >> -buf = 1024 >> -addr = ('10.0.2.2', port) >> -client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> -client.connect(addr) >> -client.sendto('done', addr) >> +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> +server.bind(('', 12323)) >> +server.listen(1) >> +(client, addr) = server.accept() >> +client.send("done") >> client.close() >> %end >> diff --git a/client/tests/kvm/unattended/Fedora-12.ks >> b/client/tests/kvm/unattended/Fedora-12.ks >> index 65e42c3..0be7d06 100644 >> --- a/client/tests/kvm/unattended/Fedora-12.ks >> +++ b/client/tests/kvm/unattended/Fedora-12.ks >> @@ -28,11 +28,10 @@ os.system('dhclient') >> os.system('chkconfig sshd on') >> os.system('iptables -F') >> os.system('echo 0 > /selinux/enforce') >> -port = 12323 >> -buf = 1024 >> -addr = ('10.0.2.2', port) >> -client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> -client.connect(addr) >> -client.sendto('done', addr) >> +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> +server.bind(('', 12323)) >> +server.listen(1) >> +(client, addr) = server.accept() >> +client.send("done") >> client.close() >> %end >> diff --git a/client/tests/kvm/unattended/Fedora-8.ks >> b/client/tests/kvm/unattended/Fedora-8.ks >> index 41bb391..f4a872d 100644 >> --- a/client/tests/kvm/unattended/Fedora-8.ks >> +++ b/client/tests/kvm/unattended/Fedora-8.ks >> @@ -28,10 +28,9 @@ os.system('dhclient') >> os.system('chkconfig sshd on') >> os.system('iptables -F') >> os.system('echo 0 > /selinux/enforce') >> -port = 12323 >> -buf = 1024 >> -addr = ('10.0.2.2', port) >> -client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> -client.connect(addr) >> -client.sendto('done', addr) >> +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> +server.bind(('', 12323)) >> +server.listen(1) >> +(client, addr) = server.accept() >> +client.send("done") >> client.close() >> diff --git a/client/tests/kvm/unattended/Fedora-9.ks >> b/client/tests/kvm/unattended/Fedora-9.ks >> index 41bb391..f4a872d 100644 >> --- a/client/tests/kvm/unattended/Fedora-9.ks >> +++ b/client/tests/kvm/unattended/Fedora-9.ks >> @@ -28,10 +28,9 @@ os.system('dhclient') >> os.system('chkconfig sshd on') >> os.system('iptables -F') >> os.system('echo 0 > /selinux/enforce') >> -port = 12323 >> -buf = 1024 >> -addr = ('10.0.2.2', port) >> -client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> -client.connect(addr) >> -client.sendto('done', addr) >> +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> +server.bind(('', 12323)) >> +server.listen(1) >> +(client, addr) = server.accept() >> +client.send("done") >> client.close() >> diff --git a/client/tests/kvm/unattended/RHEL-3-series.ks >> b/client/tests/kvm/unattended/RHEL-3-series.ks >> index 2fcc96e..ad748cb 100644 >> --- a/client/tests/kvm/unattended/RHEL-3-series.ks >> +++ b/client/tests/kvm/unattended/RHEL-3-series.ks >> @@ -27,10 +27,10 @@ import socket, os >> os.system('dhclient') >> os.system('chkconfig sshd on') >> os.system('iptables -F') >> -port = 12323 >> -buf = 1024 >> -addr = ('10.0.2.2', port) >> -client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> -client.connect(addr) >> -client.sendto('done', addr) >> +os.system('echo 0 > /selinux/enforce') >> +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> +server.bind(('', 12323)) >> +server.listen(1) >> +(client, addr) = server.accept() >> +client.send("done") >> client.close() >> diff --git a/client/tests/kvm/unattended/RHEL-4-series.ks >> b/client/tests/kvm/unattended/RHEL-4-series.ks >> index 233c98f..ce4a430 100644 >> --- a/client/tests/kvm/unattended/RHEL-4-series.ks >> +++ b/client/tests/kvm/unattended/RHEL-4-series.ks >> @@ -28,10 +28,9 @@ os.system('dhclient') >> os.system('chkconfig sshd on') >> os.system('iptables -F') >> os.system('echo 0 > /selinux/enforce') >> -port = 12323 >> -buf = 1024 >> -addr = ('10.0.2.2', port) >> -client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> -client.connect(addr) >> -client.sendto('done', addr) >> +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> +server.bind(('', 12323)) >> +server.listen(1) >> +(client, addr) = server.accept() >> +client.send("done") >> client.close() >> diff --git a/client/tests/kvm/unattended/RHEL-5-series.ks >> b/client/tests/kvm/unattended/RHEL-5-series.ks >> index 41bb391..f4a872d 100644 >> --- a/client/tests/kvm/unattended/RHEL-5-series.ks >> +++ b/client/tests/kvm/unattended/RHEL-5-series.ks >> @@ -28,10 +28,9 @@ os.system('dhclient') >> os.system('chkconfig sshd on') >> os.system('iptables -F') >> os.system('echo 0 > /selinux/enforce') >> -port = 12323 >> -buf = 1024 >> -addr = ('10.0.2.2', port) >> -client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> -client.connect(addr) >> -client.sendto('done', addr) >> +server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> +server.bind(('', 12323)) >> +server.listen(1) >> +(client, addr) = server.accept() >> +client.send("done") >> client.close() >> diff --git a/client/tests/kvm/unattended/Sles11-64-autoinst.xml >> b/client/tests/kvm/unattended/Sles11-64-autoinst.xml >> new file mode 100644 >> index 0000000..93e5685 >> --- /dev/null >> +++ b/client/tests/kvm/unattended/Sles11-64-autoinst.xml >> @@ -0,0 +1,898 @@ >> +<?xml version="1.0"?> >> +<!DOCTYPE profile> >> +<profile xmlns="http://www.suse.com/1.0/yast2ns" >> xmlns:config="http://www.suse.com/1.0/configns"> >> + <add-on/> >> + <bootloader> >> + <global> >> + <activate>true</activate> >> + <boot_boot>false</boot_boot> >> + <boot_extended>false</boot_extended> >> + <boot_mbr>false</boot_mbr> >> + <boot_root>true</boot_root> >> + <debug>false</debug> >> + <default>SUSE Linux Enterprise Server 11 - >> 2.6.27.19-5</default> >> + <generic_mbr>true</generic_mbr> >> + <hiddenmenu>false</hiddenmenu> >> + <lines_cache_id>2</lines_cache_id> >> + <timeout config:type="integer">8</timeout> >> + <trusted_grub>false</trusted_grub> >> + </global> >> + <initrd_modules config:type="list"> >> + <initrd_module> >> + <module>processor</module> >> + </initrd_module> >> + <initrd_module> >> + <module>thermal</module> >> + </initrd_module> >> + <initrd_module> >> + <module>ata_piix</module> >> + </initrd_module> >> + <initrd_module> >> + <module>ata_generic</module> >> + </initrd_module> >> + <initrd_module> >> + <module>piix</module> >> + </initrd_module> >> + <initrd_module> >> + <module>ide_pci_generic</module> >> + </initrd_module> >> + <initrd_module> >> + <module>fan</module> >> + </initrd_module> >> + <initrd_module> >> + <module>jbd</module> >> + </initrd_module> >> + <initrd_module> >> + <module>ext3</module> >> + </initrd_module> >> + <initrd_module> >> + <module>edd</module> >> + </initrd_module> >> + </initrd_modules> >> + <loader_type>grub</loader_type> >> + <sections config:type="list"/> >> + </bootloader> >> + <ca_mgm> >> + <CAName>YaST_Default_CA</CAName> >> + <ca_commonName>YaST Default CA (linux-h1i4)</ca_commonName> >> + <country>US</country> >> + <password>ENTER PASSWORD HERE</password> >> + <server_commonName>linux-h1i4.site</server_commonName> >> + <server_email>postmaster@site</server_email> >> + <takeLocalServerName >> config:type="boolean">false</takeLocalServerName> >> + </ca_mgm> >> + <deploy_image> >> + <image_installation >> config:type="boolean">false</image_installation> >> + </deploy_image> >> + <firewall> >> + <FW_ALLOW_FW_BROADCAST_DMZ>no</FW_ALLOW_FW_BROADCAST_DMZ> >> + <FW_ALLOW_FW_BROADCAST_EXT>no</FW_ALLOW_FW_BROADCAST_EXT> >> + <FW_ALLOW_FW_BROADCAST_INT>no</FW_ALLOW_FW_BROADCAST_INT> >> + <FW_CONFIGURATIONS_EXT>sshd</FW_CONFIGURATIONS_EXT> >> + <FW_DEV_DMZ></FW_DEV_DMZ> >> + <FW_DEV_EXT>any</FW_DEV_EXT> >> + <FW_DEV_INT></FW_DEV_INT> >> + <FW_IGNORE_FW_BROADCAST_DMZ>no</FW_IGNORE_FW_BROADCAST_DMZ> >> + <FW_IGNORE_FW_BROADCAST_EXT>yes</FW_IGNORE_FW_BROADCAST_EXT> >> + <FW_IGNORE_FW_BROADCAST_INT>no</FW_IGNORE_FW_BROADCAST_INT> >> + <FW_IPSEC_TRUST>no</FW_IPSEC_TRUST> >> + <FW_LOAD_MODULES>nf_conntrack_netbios_ns</FW_LOAD_MODULES> >> + <FW_LOG_ACCEPT_ALL>no</FW_LOG_ACCEPT_ALL> >> + <FW_LOG_ACCEPT_CRIT>yes</FW_LOG_ACCEPT_CRIT> >> + <FW_LOG_DROP_ALL>no</FW_LOG_DROP_ALL> >> + <FW_LOG_DROP_CRIT>yes</FW_LOG_DROP_CRIT> >> + <FW_MASQUERADE>no</FW_MASQUERADE> >> + <FW_PROTECT_FROM_INT>no</FW_PROTECT_FROM_INT> >> + <FW_ROUTE>no</FW_ROUTE> >> + <enable_firewall config:type="boolean">false</enable_firewall> >> + <start_firewall config:type="boolean">false</start_firewall> >> + </firewall> >> + <general> >> + <ask-list config:type="list"/> >> + <mode> >> + <confirm config:type="boolean">false</confirm> >> + </mode> >> + <mouse> >> + <id>none</id> >> + </mouse> >> + <proposals config:type="list"/> >> + <signature-handling> >> + <accept_file_without_checksum >> config:type="boolean">true</accept_file_without_checksum> >> + <accept_non_trusted_gpg_key >> config:type="boolean">true</accept_non_trusted_gpg_key> >> + <accept_unknown_gpg_key >> config:type="boolean">true</accept_unknown_gpg_key> >> + <accept_unsigned_file >> config:type="boolean">true</accept_unsigned_file> >> + <accept_verification_failed >> config:type="boolean">false</accept_verification_failed> >> + <import_gpg_key config:type="boolean">true</import_gpg_key> >> + </signature-handling> >> + </general> >> + <groups config:type="list"> >> + <group> >> + <gid>1000</gid> >> + >> <group_password>$1$9ibtMhyS$uY16P2nxSWgejk4Ffz/LB0</group_password> >> + <groupname>users</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>19</gid> >> + <group_password>x</group_password> >> + <groupname>floppy</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>1</gid> >> + <group_password>x</group_password> >> + <groupname>bin</groupname> >> + <userlist>daemon</userlist> >> + </group> >> + <group> >> + <gid>41</gid> >> + <group_password>x</group_password> >> + <groupname>xok</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>65533</gid> >> + <group_password>x</group_password> >> + <groupname>nobody</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>43</gid> >> + <group_password>x</group_password> >> + <groupname>modem</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>5</gid> >> + <group_password>x</group_password> >> + <groupname>tty</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>7</gid> >> + <group_password>x</group_password> >> + <groupname>lp</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>104</gid> >> + <group_password>!</group_password> >> + <groupname>uuidd</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>51</gid> >> + <group_password>!</group_password> >> + <groupname>postfix</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>111</gid> >> + <group_password>!</group_password> >> + <groupname>gdm</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>65534</gid> >> + <group_password>x</group_password> >> + <groupname>nogroup</groupname> >> + <userlist>nobody</userlist> >> + </group> >> + <group> >> + <gid>101</gid> >> + <group_password>!</group_password> >> + <groupname>messagebus</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>59</gid> >> + <group_password>!</group_password> >> + <groupname>maildrop</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>33</gid> >> + <group_password>x</group_password> >> + <groupname>video</groupname> >> + <userlist>linux</userlist> >> + </group> >> + <group> >> + <gid>3</gid> >> + <group_password>x</group_password> >> + <groupname>sys</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>15</gid> >> + <group_password>x</group_password> >> + <groupname>shadow</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>20</gid> >> + <group_password>x</group_password> >> + <groupname>cdrom</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>21</gid> >> + <group_password>x</group_password> >> + <groupname>console</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>42</gid> >> + <group_password>x</group_password> >> + <groupname>trusted</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>102</gid> >> + <group_password>!</group_password> >> + <groupname>haldaemon</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>16</gid> >> + <group_password>x</group_password> >> + <groupname>dialout</groupname> >> + <userlist>linux</userlist> >> + </group> >> + <group> >> + <gid>106</gid> >> + <group_password>!</group_password> >> + <groupname>polkituser</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>10</gid> >> + <group_password>x</group_password> >> + <groupname>wheel</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>107</gid> >> + <group_password>!</group_password> >> + <groupname>pulse</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>8</gid> >> + <group_password>x</group_password> >> + <groupname>www</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>40</gid> >> + <group_password>x</group_password> >> + <groupname>games</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>6</gid> >> + <group_password>x</group_password> >> + <groupname>disk</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>17</gid> >> + <group_password>x</group_password> >> + <groupname>audio</groupname> >> + <userlist>pulse</userlist> >> + </group> >> + <group> >> + <gid>110</gid> >> + <group_password>!</group_password> >> + <groupname>suse-ncc</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>49</gid> >> + <group_password>x</group_password> >> + <groupname>ftp</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>25</gid> >> + <group_password>!</group_password> >> + <groupname>at</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>9</gid> >> + <group_password>x</group_password> >> + <groupname>kmem</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>32</gid> >> + <group_password>x</group_password> >> + <groupname>public</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>12</gid> >> + <group_password>x</group_password> >> + <groupname>mail</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>0</gid> >> + <group_password>x</group_password> >> + <groupname>root</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>2</gid> >> + <group_password>x</group_password> >> + <groupname>daemon</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>103</gid> >> + <group_password>!</group_password> >> + <groupname>sfcb</groupname> >> + <userlist>root</userlist> >> + </group> >> + <group> >> + <gid>105</gid> >> + <group_password>!</group_password> >> + <groupname>ntp</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>14</gid> >> + <group_password>x</group_password> >> + <groupname>uucp</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>109</gid> >> + <group_password>!</group_password> >> + <groupname>pulse-access</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>71</gid> >> + <group_password>!</group_password> >> + <groupname>ntadmin</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>62</gid> >> + <group_password>x</group_password> >> + <groupname>man</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>108</gid> >> + <group_password>!</group_password> >> + <groupname>pulse-rt</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>22</gid> >> + <group_password>x</group_password> >> + <groupname>utmp</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>13</gid> >> + <group_password>x</group_password> >> + <groupname>news</groupname> >> + <userlist></userlist> >> + </group> >> + <group> >> + <gid>65</gid> >> + <group_password>!</group_password> >> + <groupname>sshd</groupname> >> + <userlist></userlist> >> + </group> >> + </groups> >> + <host> >> + <hosts config:type="list"> >> + <hosts_entry> >> + <host_address>127.0.0.1</host_address> >> + <names config:type="list"> >> + <name>localhost</name> >> + </names> >> + </hosts_entry> >> + <hosts_entry> >> + <host_address>::1</host_address> >> + <names config:type="list"> >> + <name>localhost ipv6-localhost ipv6-loopback</name> >> + </names> >> + </hosts_entry> >> + <hosts_entry> >> + <host_address>fe00::0</host_address> >> + <names config:type="list"> >> + <name>ipv6-localnet</name> >> + </names> >> + </hosts_entry> >> + <hosts_entry> >> + <host_address>ff00::0</host_address> >> + <names config:type="list"> >> + <name>ipv6-mcastprefix</name> >> + </names> >> + </hosts_entry> >> + <hosts_entry> >> + <host_address>ff02::1</host_address> >> + <names config:type="list"> >> + <name>ipv6-allnodes</name> >> + </names> >> + </hosts_entry> >> + <hosts_entry> >> + <host_address>ff02::2</host_address> >> + <names config:type="list"> >> + <name>ipv6-allrouters</name> >> + </names> >> + </hosts_entry> >> + <hosts_entry> >> + <host_address>ff02::3</host_address> >> + <names config:type="list"> >> + <name>ipv6-allhosts</name> >> + </names> >> + </hosts_entry> >> + </hosts> >> + </host> >> + <iscsi-client> >> + <version>1.0</version> >> + </iscsi-client> >> + <keyboard> >> + <keymap>english-us</keymap> >> + </keyboard> >> + <language> >> + <language>en_US</language> >> + <languages>en_US</languages> >> + </language> >> + <ldap> >> + <base_config_dn></base_config_dn> >> + <bind_dn></bind_dn> >> + <create_ldap config:type="boolean">false</create_ldap> >> + <file_server config:type="boolean">false</file_server> >> + <ldap_domain>dc=example,dc=com</ldap_domain> >> + <ldap_server>127.0.0.1</ldap_server> >> + <ldap_tls config:type="boolean">true</ldap_tls> >> + <ldap_v2 config:type="boolean">false</ldap_v2> >> + <login_enabled config:type="boolean">true</login_enabled> >> + <member_attribute>member</member_attribute> >> + <nss_base_group></nss_base_group> >> + <nss_base_passwd></nss_base_passwd> >> + <nss_base_shadow></nss_base_shadow> >> + <pam_password>exop</pam_password> >> + <start_autofs config:type="boolean">false</start_autofs> >> + <start_ldap config:type="boolean">false</start_ldap> >> + </ldap> >> + <login_settings/> >> + <networking> >> + <dns> >> + <dhcp_hostname config:type="boolean">true</dhcp_hostname> >> + <resolv_conf_policy>auto</resolv_conf_policy> >> + </dns> >> + <interfaces config:type="list"> >> + <interface> >> + <bootproto>dhcp</bootproto> >> + <device>eth0</device> >> + <startmode>auto</startmode> >> + <usercontrol>no</usercontrol> >> + </interface> >> + </interfaces> >> + <managed config:type="boolean">false</managed> >> + <routing> >> + <ip_forward config:type="boolean">false</ip_forward> >> + </routing> >> + </networking> >> + <nis> >> + <netconfig_policy>auto</netconfig_policy> >> + <nis_broadcast config:type="boolean">false</nis_broadcast> >> + <nis_broken_server >> config:type="boolean">false</nis_broken_server> >> + <nis_local_only config:type="boolean">false</nis_local_only> >> + <start_autofs config:type="boolean">false</start_autofs> >> + <start_nis config:type="boolean">false</start_nis> >> + </nis> >> + <partitioning config:type="list"> >> + <drive> >> + <initialize config:type="boolean">true</initialize> >> + <partitions config:type="list"/> >> + <pesize></pesize> >> + <type config:type="symbol">CT_DISK</type> >> + <use>all</use> >> + </drive> >> + </partitioning> >> + <proxy> >> + <enabled config:type="boolean">false</enabled> >> + <ftp_proxy></ftp_proxy> >> + <http_proxy></http_proxy> >> + <https_proxy></https_proxy> >> + <no_proxy>localhost, 127.0.0.1</no_proxy> >> + <proxy_password></proxy_password> >> + <proxy_user></proxy_user> >> + </proxy> >> + <report> >> + <errors> >> + <log config:type="boolean">true</log> >> + <show config:type="boolean">true</show> >> + <timeout config:type="integer">10</timeout> >> + </errors> >> + <messages> >> + <log config:type="boolean">true</log> >> + <show config:type="boolean">true</show> >> + <timeout config:type="integer">10</timeout> >> + </messages> >> + <warnings> >> + <log config:type="boolean">true</log> >> + <show config:type="boolean">true</show> >> + <timeout config:type="integer">10</timeout> >> + </warnings> >> + <yesno_messages> >> + <log config:type="boolean">true</log> >> + <show config:type="boolean">true</show> >> + <timeout config:type="integer">10</timeout> >> + </yesno_messages> >> + </report> >> + <runlevel> >> + <default>3</default> >> + </runlevel> >> + <scripts> >> + <post-scripts config:type="list"> >> + <script> >> + <debug config:type="boolean">true</debug> >> + <feedback config:type="boolean">false</feedback> >> + <filename>server</filename> >> + <interpreter>python</interpreter> >> + <location></location> >> + <network_needed config:type="boolean">true</network_needed> >> + <source><![CDATA[import socket, os >> +os.system('dhclient') >> +os.system('iptables -F') >> +server=socket.socket(socket.AF_INET, socket.SOCK_STREAM) >> +server.bind(('',12323)) >> +server.listen(1) >> +(client, addr) = server.accept() >> +client.send("done") >> +client.close() >> +]]></source> >> + </script> >> + </post-scripts> >> + </scripts> >> + <software> >> + <packages config:type="list"> >> + <package>dhcp-client</package> >> + </packages> >> + <patterns config:type="list"> >> + <pattern>Basis-Devel</pattern> >> + <pattern>base</pattern> >> + <pattern>laptop</pattern> >> + <pattern>Minimal</pattern> >> + </patterns> >> + </software> >> + <timezone> >> + <hwclock>UTC</hwclock> >> + <timezone>America/New_York</timezone> >> + </timezone> >> + <user_defaults> >> + <group>100</group> >> + <groups>video,dialout</groups> >> + <home>/home</home> >> + <inactive>-1</inactive> >> + <shell>/bin/bash</shell> >> + <skel>/etc/skel</skel> >> + </user_defaults> >> + <users config:type="list"> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>linux</fullname> >> + <gid>100</gid> >> + <home>/home/linux</home> >> + <password_settings> >> + <max>99999</max> >> + <min>0</min> >> + <warn>7</warn> >> + </password_settings> >> + <shell>/bin/bash</shell> >> + <uid>1000</uid> >> + >> <user_password>$2a$05$FAAcDkjOVQxuDKvppCzcROelTVQeDSr9FIKSwP02wrg7SBulFkeXK</user_password> >> + <username>linux</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>Games account</fullname> >> + <gid>100</gid> >> + <home>/var/games</home> >> + <shell>/bin/bash</shell> >> + <uid>12</uid> >> + <user_password>*</user_password> >> + <username>games</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>bin</fullname> >> + <gid>1</gid> >> + <home>/bin</home> >> + <shell>/bin/bash</shell> >> + <uid>1</uid> >> + <user_password>*</user_password> >> + <username>bin</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>nobody</fullname> >> + <gid>65533</gid> >> + <home>/var/lib/nobody</home> >> + <shell>/bin/bash</shell> >> + <uid>65534</uid> >> + <user_password>*</user_password> >> + <username>nobody</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>Printing daemon</fullname> >> + <gid>7</gid> >> + <home>/var/spool/lpd</home> >> + <shell>/bin/bash</shell> >> + <uid>4</uid> >> + <user_password>*</user_password> >> + <username>lp</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>User for uuidd</fullname> >> + <gid>104</gid> >> + <home>/var/run/uuidd</home> >> + <password_settings> >> + <max>99999</max> >> + <min>0</min> >> + <warn>7</warn> >> + </password_settings> >> + <shell>/bin/false</shell> >> + <uid>102</uid> >> + <user_password>*</user_password> >> + <username>uuidd</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>Postfix Daemon</fullname> >> + <gid>51</gid> >> + <home>/var/spool/postfix</home> >> + <password_settings> >> + <max>99999</max> >> + <min>0</min> >> + <warn>7</warn> >> + </password_settings> >> + <shell>/bin/false</shell> >> + <uid>51</uid> >> + <user_password>*</user_password> >> + <username>postfix</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>Novell Customer Center User</fullname> >> + <gid>110</gid> >> + <home>/var/lib/YaST2/suse-ncc-fakehome</home> >> + <password_settings> >> + <max>99999</max> >> + <min>0</min> >> + <warn>7</warn> >> + </password_settings> >> + <shell>/bin/bash</shell> >> + <uid>105</uid> >> + <user_password>*</user_password> >> + <username>suse-ncc</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>FTP account</fullname> >> + <gid>49</gid> >> + <home>/srv/ftp</home> >> + <shell>/bin/bash</shell> >> + <uid>40</uid> >> + <user_password>*</user_password> >> + <username>ftp</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>Gnome Display Manager daemon</fullname> >> + <gid>111</gid> >> + <home>/var/lib/gdm</home> >> + <password_settings> >> + <max>99999</max> >> + <min>0</min> >> + <warn>7</warn> >> + </password_settings> >> + <shell>/bin/false</shell> >> + <uid>106</uid> >> + <user_password>*</user_password> >> + <username>gdm</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>Batch jobs daemon</fullname> >> + <gid>25</gid> >> + <home>/var/spool/atjobs</home> >> + <password_settings> >> + <max>99999</max> >> + <min>0</min> >> + <warn>7</warn> >> + </password_settings> >> + <shell>/bin/bash</shell> >> + <uid>25</uid> >> + <user_password>*</user_password> >> + <username>at</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>root</fullname> >> + <gid>0</gid> >> + <home>/root</home> >> + <shell>/bin/bash</shell> >> + <uid>0</uid> >> + >> <user_password>$2a$05$6EDh/ymzfFidFVZ9GxPpR.QLaswYgGBxlmCoy0WUo42stJDGcPcxK</user_password> >> + <username>root</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>Mailer daemon</fullname> >> + <gid>12</gid> >> + <home>/var/spool/clientmqueue</home> >> + <shell>/bin/false</shell> >> + <uid>8</uid> >> + <user_password>*</user_password> >> + <username>mail</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>Daemon</fullname> >> + <gid>2</gid> >> + <home>/sbin</home> >> + <shell>/bin/bash</shell> >> + <uid>2</uid> >> + <user_password>*</user_password> >> + <username>daemon</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>NTP daemon</fullname> >> + <gid>105</gid> >> + <home>/var/lib/ntp</home> >> + <password_settings> >> + <max>99999</max> >> + <min>0</min> >> + <warn>7</warn> >> + </password_settings> >> + <shell>/bin/false</shell> >> + <uid>74</uid> >> + <user_password>*</user_password> >> + <username>ntp</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>Unix-to-Unix CoPy system</fullname> >> + <gid>14</gid> >> + <home>/etc/uucp</home> >> + <shell>/bin/bash</shell> >> + <uid>10</uid> >> + <user_password>*</user_password> >> + <username>uucp</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>User for D-Bus</fullname> >> + <gid>101</gid> >> + <home>/var/run/dbus</home> >> + <password_settings> >> + <min>0</min> >> + <warn>7</warn> >> + </password_settings> >> + <shell>/bin/false</shell> >> + <uid>100</uid> >> + <user_password>*</user_password> >> + <username>messagebus</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>User for haldaemon</fullname> >> + <gid>102</gid> >> + <home>/var/run/hald</home> >> + <password_settings> >> + <min>0</min> >> + <warn>7</warn> >> + </password_settings> >> + <shell>/bin/false</shell> >> + <uid>101</uid> >> + <user_password>*</user_password> >> + <username>haldaemon</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>WWW daemon apache</fullname> >> + <gid>8</gid> >> + <home>/var/lib/wwwrun</home> >> + <shell>/bin/false</shell> >> + <uid>30</uid> >> + <user_password>*</user_password> >> + <username>wwwrun</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>Manual pages viewer</fullname> >> + <gid>62</gid> >> + <home>/var/cache/man</home> >> + <shell>/bin/bash</shell> >> + <uid>13</uid> >> + <user_password>*</user_password> >> + <username>man</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>PolicyKit</fullname> >> + <gid>106</gid> >> + <home>/var/run/PolicyKit</home> >> + <password_settings> >> + <max>99999</max> >> + <min>0</min> >> + <warn>7</warn> >> + </password_settings> >> + <shell>/bin/false</shell> >> + <uid>103</uid> >> + <user_password>*</user_password> >> + <username>polkituser</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>News system</fullname> >> + <gid>13</gid> >> + <home>/etc/news</home> >> + <shell>/bin/bash</shell> >> + <uid>9</uid> >> + <user_password>*</user_password> >> + <username>news</username> >> + </user> >> + <user> >> + <fullname>SSH daemon</fullname> >> + <gid>65</gid> >> + <home>/var/lib/sshd</home> >> + <password_settings> >> + <flag></flag> >> + <inact>-1</inact> >> + <max>99999</max> >> + <min>0</min> >> + <warn>7</warn> >> + </password_settings> >> + <shell>/bin/false</shell> >> + <uid>71</uid> >> + <username>sshd</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">true</encrypted> >> + <fullname>PulseAudio daemon</fullname> >> + <gid>107</gid> >> + <home>/var/lib/pulseaudio</home> >> + <password_settings> >> + <max>99999</max> >> + <min>0</min> >> + <warn>7</warn> >> + </password_settings> >> + <shell>/sbin/nologin</shell> >> + <uid>104</uid> >> + <user_password>*</user_password> >> + <username>pulse</username> >> + </user> >> + </users> >> + <x11> >> + <color_depth config:type="integer">16</color_depth> >> + <display_manager>gdm</display_manager> >> + <enable_3d config:type="boolean">false</enable_3d> >> + <monitor> >> + <display> >> + <max_hsync config:type="integer">38</max_hsync> >> + <max_vsync config:type="integer">60</max_vsync> >> + <min_hsync config:type="integer">31</min_hsync> >> + <min_vsync config:type="integer">50</min_vsync> >> + </display> >> + <monitor_device>800X600@60HZ</monitor_device> >> + <monitor_vendor>--> VESA</monitor_vendor> >> + </monitor> >> + <resolution>800x600 (SVGA)</resolution> >> + <window_manager>gnome</window_manager> >> + </x11> >> +</profile> >> diff --git a/client/tests/kvm/unattended/win2003-32.sif >> b/client/tests/kvm/unattended/win2003-32.sif >> index 85d4694..f58b0b0 100644 >> --- a/client/tests/kvm/unattended/win2003-32.sif >> +++ b/client/tests/kvm/unattended/win2003-32.sif >> @@ -61,4 +61,4 @@ >> Command2="cmd /c net start telnet" >> Command3="cmd /c E:\setuprss.bat" >> Command4="cmd /c netsh interface ip set address local dhcp" >> - Command5="cmd /c ping 10.0.2.2 -n 20 && A:\finish.exe 10.0.2.2" >> + Command5="cmd /c ping 10.0.2.2 -n 20 && A:\finish.exe" >> diff --git a/client/tests/kvm/unattended/win2003-64.sif >> b/client/tests/kvm/unattended/win2003-64.sif >> index 85d4694..f58b0b0 100644 >> --- a/client/tests/kvm/unattended/win2003-64.sif >> +++ b/client/tests/kvm/unattended/win2003-64.sif >> @@ -61,4 +61,4 @@ >> Command2="cmd /c net start telnet" >> Command3="cmd /c E:\setuprss.bat" >> Command4="cmd /c netsh interface ip set address local dhcp" >> - Command5="cmd /c ping 10.0.2.2 -n 20 && A:\finish.exe 10.0.2.2" >> + Command5="cmd /c ping 10.0.2.2 -n 20 && A:\finish.exe" >> diff --git a/client/tests/kvm/unattended/win2008-32-autounattend.xml >> b/client/tests/kvm/unattended/win2008-32-autounattend.xml >> index e5f244b..c6fafac 100644 >> --- a/client/tests/kvm/unattended/win2008-32-autounattend.xml >> +++ b/client/tests/kvm/unattended/win2008-32-autounattend.xml >> @@ -140,7 +140,7 @@ >> </SynchronousCommand> >> <SynchronousCommand wcm:action="add"> >> <Order>7</Order> >> - <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe 10.0.2.2</CommandLine> >> + <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe</CommandLine> >> </SynchronousCommand> >> </FirstLogonCommands> >> <OOBE> >> diff --git a/client/tests/kvm/unattended/win2008-64-autounattend.xml >> b/client/tests/kvm/unattended/win2008-64-autounattend.xml >> index 68f6fcf..2520a7a 100644 >> --- a/client/tests/kvm/unattended/win2008-64-autounattend.xml >> +++ b/client/tests/kvm/unattended/win2008-64-autounattend.xml >> @@ -149,7 +149,7 @@ >> </SynchronousCommand> >> <SynchronousCommand wcm:action="add"> >> <Order>7</Order> >> - <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe 10.0.2.2</CommandLine> >> + <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe</CommandLine> >> </SynchronousCommand> >> </FirstLogonCommands> >> <OOBE> >> diff --git a/client/tests/kvm/unattended/win2008-r2-autounattend.xml >> b/client/tests/kvm/unattended/win2008-r2-autounattend.xml >> index 68f6fcf..2520a7a 100644 >> --- a/client/tests/kvm/unattended/win2008-r2-autounattend.xml >> +++ b/client/tests/kvm/unattended/win2008-r2-autounattend.xml >> @@ -149,7 +149,7 @@ >> </SynchronousCommand> >> <SynchronousCommand wcm:action="add"> >> <Order>7</Order> >> - <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe 10.0.2.2</CommandLine> >> + <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe</CommandLine> >> </SynchronousCommand> >> </FirstLogonCommands> >> <OOBE> >> diff --git a/client/tests/kvm/unattended/win7-32-autounattend.xml >> b/client/tests/kvm/unattended/win7-32-autounattend.xml >> index e858ce9..c37afb7 100644 >> --- a/client/tests/kvm/unattended/win7-32-autounattend.xml >> +++ b/client/tests/kvm/unattended/win7-32-autounattend.xml >> @@ -146,7 +146,7 @@ >> <Order>6</Order> >> </SynchronousCommand> >> <SynchronousCommand wcm:action="add"> >> - <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe 10.0.2.2</CommandLine> >> + <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe</CommandLine> >> <Order>7</Order> >> </SynchronousCommand> >> </FirstLogonCommands> >> diff --git a/client/tests/kvm/unattended/win7-64-autounattend.xml >> b/client/tests/kvm/unattended/win7-64-autounattend.xml >> index 1bff3c9..ad047d0 100644 >> --- a/client/tests/kvm/unattended/win7-64-autounattend.xml >> +++ b/client/tests/kvm/unattended/win7-64-autounattend.xml >> @@ -146,7 +146,7 @@ >> <Order>6</Order> >> </SynchronousCommand> >> <SynchronousCommand wcm:action="add"> >> - <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe 10.0.2.2</CommandLine> >> + <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe</CommandLine> >> <Order>7</Order> >> </SynchronousCommand> >> </FirstLogonCommands> >> diff --git a/client/tests/kvm/unattended/winvista-32-autounattend.xml >> b/client/tests/kvm/unattended/winvista-32-autounattend.xml >> index 443aec6..297c6e5 100644 >> --- a/client/tests/kvm/unattended/winvista-32-autounattend.xml >> +++ b/client/tests/kvm/unattended/winvista-32-autounattend.xml >> @@ -147,7 +147,7 @@ >> </SynchronousCommand> >> <SynchronousCommand wcm:action="add"> >> <Order>7</Order> >> - <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe 10.0.2.2</CommandLine> >> + <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe</CommandLine> >> </SynchronousCommand> >> </FirstLogonCommands> >> </component> >> diff --git a/client/tests/kvm/unattended/winvista-64-autounattend.xml >> b/client/tests/kvm/unattended/winvista-64-autounattend.xml >> index ec35cbb..71eae87 100644 >> --- a/client/tests/kvm/unattended/winvista-64-autounattend.xml >> +++ b/client/tests/kvm/unattended/winvista-64-autounattend.xml >> @@ -148,7 +148,7 @@ >> </SynchronousCommand> >> <SynchronousCommand wcm:action="add"> >> <Order>7</Order> >> - <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe 10.0.2.2</CommandLine> >> + <CommandLine>%WINDIR%\System32\cmd /c ping 10.0.2.2 -n 20 >> && A:\finish.exe</CommandLine> >> </SynchronousCommand> >> </FirstLogonCommands> >> </component> >> diff --git a/client/tests/kvm/unattended/winxp32.sif >> b/client/tests/kvm/unattended/winxp32.sif >> index 4711a3d..7562846 100644 >> --- a/client/tests/kvm/unattended/winxp32.sif >> +++ b/client/tests/kvm/unattended/winxp32.sif >> @@ -70,4 +70,4 @@ >> [GuiRunOnce] >> Command0="cmd /c E:\setuprss.bat" >> Command1="cmd /c netsh interface ip set address local dhcp" >> - Command2="cmd /c ping 10.0.2.2 -n 20 && A:\finish.exe 10.0.2.2" >> + Command2="cmd /c ping 10.0.2.2 -n 20 && A:\finish.exe" >> diff --git a/client/tests/kvm/unattended/winxp64.sif >> b/client/tests/kvm/unattended/winxp64.sif >> index 4711a3d..7562846 100644 >> --- a/client/tests/kvm/unattended/winxp64.sif >> +++ b/client/tests/kvm/unattended/winxp64.sif >> @@ -70,4 +70,4 @@ >> [GuiRunOnce] >> Command0="cmd /c E:\setuprss.bat" >> Command1="cmd /c netsh interface ip set address local dhcp" >> - Command2="cmd /c ping 10.0.2.2 -n 20 && A:\finish.exe 10.0.2.2" >> + Command2="cmd /c ping 10.0.2.2 -n 20 && A:\finish.exe" >> -- >> 1.6.6.1 >> >> -- >> To unsubscribe from this list: send the line "unsubscribe kvm" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html > _______________________________________________ > Autotest mailing list > Autotest@xxxxxxxxxxxxxxx > http://test.kernel.org/cgi-bin/mailman/listinfo/autotest > -- Lucas -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html