[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-users] Stability of XEN under high load
I get all these errors when I run the script. I named it "refresh.py". It is located in /root. Am I wrong? linux-tlxs:~ # ./refresh.py Traceback (most recent call last): File "./refresh.py", line 25, in ? returncodes = ( proc.wait() for proc in list(procs) ) File "./refresh.py", line 23, in <generator expression> procs = (subprocess.Popen(["ping",ip,"-c","1"],stdin=devnull,stdout=devnull,stderr=d evnull) File "./refresh.py", line 17, in ips matches = regexp.findall("\n".join(list(contents))) File "./refresh.py", line 14, in <generator expression> contents = ( file(t).read(-1) for t in files ) IOError: [Errno 21] Is a directory -----Original Message----- From: xen-users-bounces@xxxxxxxxxxxxxxxxxxx [mailto:xen-users-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Thomas Goirand Sent: Monday, December 01, 2008 6:41 AM Cc: xen-users@xxxxxxxxxxxxxxxxxxx Subject: Re: [Xen-users] Stability of XEN under high load > On Sun, Nov 30, 2008 at 12:13 AM, Bernd Gotschy > <Bernd.Gotschy@xxxxxxxxxxxxxx <mailto:Bernd.Gotschy@xxxxxxxxxxxxxx>> wrote: > Major problem is that under high load we loose some of the network > interfaces and cannot get them working unless we reboot the guest. We have find out quite the opposite way. If one of the VM has no activity, the ARP vs IP cache of most switch will discard the MAC of the VMs. So we have made a very simple python script that we deploy on all of our Xen servers, that simply does a ping of all VMs it finds in the /etc/xen/auto folder. This way, the ARP cache gets refreshed, and everything is working fine. Maybe this is what you are experiencing, no? Anyway, bellow is the script, I hope that helps (take care, the procs = line might appear on 2 lines as I didn't do an attachment). Thomas #!/usr/bin/env python import glob import re import subprocess import os import sys pathspec = "/etc/xen/auto/*" regexp = re.compile(r"vif.*?=.*?ip=([0-9\. ]+)'") files = glob.glob(pathspec) contents = ( file(t).read(-1) for t in files ) def ips(contents): matches = regexp.findall("\n".join(list(contents))) for match in matches: mips = match.split(" ") for ip in mips: yield ip devnull = file("/dev/null","w") procs = ( subprocess.Popen(["ping",ip,"-c","1"],stdin=devnull,stdout=devnull,stderr=de vnull) for ip in ips(contents) ) returncodes = ( proc.wait() for proc in list(procs) ) sys.exit(sum(returncodes)) _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |