On Mon, Sep 14, 2009 at 10:58:01AM +0300, Uri Lublin wrote: > On 09/14/2009 08:26 AM, Yolkfull Chow wrote: >> On Wed, Sep 09, 2009 at 09:12:05PM +0300, Michael Goldish wrote: >>> This module is meant to reduce code size by performing common test procedures. >>> Generally, code here should look like test code. > >>> +def wait_for_login(vm, nic_index=0, timeout=240): >>> + """ >>> + Try logging into a VM repeatedly. Stop on success or when timeout expires. >>> + >>> + @param vm: VM object. >>> + @param nic_index: Index of NIC to access in the VM. >>> + @param timeout: Time to wait before giving up. >>> + @return: A shell session object. >>> + """ >>> + logging.info("Waiting for guest to be up...") >>> + session = kvm_utils.wait_for(lambda: vm.remote_login(nic_index=nic_index), >>> + timeout, 0, 2) >>> + if not session: >>> + raise error.TestFail("Could not log into guest") >> >> Hi Michael, I think we should also add a parameter 'vm_name' for >> wait_for_login(). On the assumption that we boot more than one VMs, it's >> hard to know which guest failed to login according to message above. >> What do you think? :-) >> > > The VM object ("vm" parameter) "knows" its own name. > It is a good idea to add that name to log/error messages, since we do > want to run different tests (VMs) in parallel (although the logs should > be also saved in different directories/files). > Yes, I did ignore that we could use 'vm.name' instead of adding a parameter for wait_for_login(). Therefore those log/error messages could be added something like this: if not session: raise error.TestFail("Could not log into guest %s" vm.name) Thanks for pointing out that. :-) > Regards, > Uri. > -- > 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 -- 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