On Thu, Dec 18, 2014 at 2:21 PM, <abhis...@gmail.com> wrote: > I have many machines on which the following command returns nothing (but does > not throw an error as well > > python -c 'import socket; socket.gethostbyname(socket.getfqdn())' > > > but on just one machine. this command throws > > Traceback (most recent call last): > File "<string>", line 1, in <module> > socket.gaierror: [Errno -3] Temporary failure in name resolution > > > I searched the internet and most people had this problem because of a bad > /etc/hosts file or /etc/sysconfig/network file > > but in my case this files are absolutely correct > > /etc/hosts > 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 > ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 > 156.17.148.40 cm1work > 156.17.148.41 hd1work > 156.17.148.42 hd2work > 156.17.148.43 hd3work > > /etc/sysconfig/network > NETWORKING=yes > HOSTNAME=h3work > GATEWAY=156.17.148.1 > > but this command just won't work
What you have here is a networking issue, not a Python one, so you may well find you can't get the help you need here. But I'll try. Have you checked /etc/nsswitch.conf? What about /etc/resolv.conf or equivalent? What's the FQDN returned in the first step? If there's a difference in any of those, it might give a clue. If all else fails, try stracing the process: strace python -c 'import socket; socket.gethostbyname(socket.getfqdn())' and see if there are any obvious errors. This is a bit of nutting out and analysis, so I wouldn't be surprised if you get lots of wrong answers before you find the right one. It's like Edison said (or is said to have said): you're finding a thousand ways to NOT make a light bulb. ChrisA -- https://mail.python.org/mailman/listinfo/python-list