Func 検証中

仕事で。
ぢつは以前、某大学のインターンな方々に動作検証をお願いしていたんですが、動作が微妙ってコトであまりきちんと原因解析せずに (< わしが) puppet の検証をお願いしてた経緯がございました。
で、再度検証の命が下り (ってか立候補したんですが)、今日がっつり確認。以前ハマッていたと思われるナニは /usr/lib/python2.4/site-packages/certmaster/urls.py にて定義されている get_hostname 手続きの以下の箇所でした。

config_file = '/etc/certmaster/minion.conf'
config = read_config(config_file, MinionConfig)

server = config.certmaster
port = 51235

try:
    s = socket.socket()
    s.settimeout(5)
    
    s.connect((server, port))
    (intf, port) = s.getsockname()
    remote_hostname = socket.gethostbyaddr(intf)[0]

上記の gethostbyaddr 手続きの呼び出し部分でコケてました。これ、きちんと python インタープリタの中で確認すれば分かるコトなんですが、s.getsockname 手続きで戻されるのはネットの向こう側ではなく、こちら側の情報でした。
ので、gethostbyaddr 手続きで解決されなければならないのは自ホストになる模様。こんなカンジ。

$ python
Python 2.4.4 (#2, Apr 15 2008, 23:43:20)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> s = socket.socket()
>>> s.connect(('66.249.89.99', 80))
>>> s.getsockname()
('192.168.10.169', 57779)
>>> 

いっちゃん最後のは自端末の IP でこの IP を名前に解決するためのナニが必要、という事になります。いっちゃん簡単なのは /etc/hosts ですな。
自分の名前解決 (しかも逆引き) ができないと使えない、というのもなんと言えばよいのか、と。(意味不明