Using just socket.gethostbyaddr(socket.gethostname())[0] caused some
issues recently in one of my DHCP testing environments. Breaking down
the calls showed the following:

>>> socket.gethostname()
'dhcp-186-211.bos.redhat.com'
>>> socket.gethostbyname("dhcp-186-211.bos.redhat.com")
'10.16.186.211'
>>> socket.gethostbyaddr(socket.gethostname())[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
socket.herror: [Errno 1] Unknown host

While just a socket.gethostname() could have worked, using the
socket.getfqdn() seemed to be safer just in case.
---
 lib/VirtLib/live.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lib/VirtLib/live.py b/lib/VirtLib/live.py
index c929e71..6a10474 100644
--- a/lib/VirtLib/live.py
+++ b/lib/VirtLib/live.py
@@ -100,6 +100,9 @@ def hostname(server):
     return out
 
 def full_hostname(server):
-    """To return the fully qualifiec domain name(FQDN) of the system"""
+    """To return the fully qualified domain name(FQDN) of the system"""
 
-    return socket.gethostbyaddr(socket.gethostname())[0]
+    if socket.getfqdn().find('.') >= 0:
+        return socket.getfqdn()
+    else:
+        return socket.gethostbyaddr(socket.gethostname())[0]
-- 
1.8.3.1

_______________________________________________
Libvirt-cim mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvirt-cim

Reply via email to