mirror of
https://github.com/xcat2/confluent.git
synced 2025-08-24 12:10:26 +00:00
Switch to green DNS host resolution
The stock getaddrinfo can hang up all of confluent if misbehaving. Patch pyghmi and switch to using greendns in confluent internal lookups.
This commit is contained in:
@@ -27,7 +27,7 @@ __author__ = 'jjohnson2'
|
||||
|
||||
import confluent.config.configmanager as configmanager
|
||||
import itertools
|
||||
import socket
|
||||
from eventlet.support import greendns
|
||||
|
||||
manager_to_nodemap = {}
|
||||
|
||||
@@ -46,7 +46,7 @@ def node_by_manager(manager):
|
||||
"""
|
||||
|
||||
manageraddresses = []
|
||||
for tmpaddr in socket.getaddrinfo(manager, None):
|
||||
for tmpaddr in greendns.getaddrinfo(manager, None):
|
||||
manageraddresses.append(tmpaddr[4][0])
|
||||
cfm = configmanager.ConfigManager(None)
|
||||
if manager in manager_to_nodemap:
|
||||
@@ -67,7 +67,7 @@ def node_by_manager(manager):
|
||||
if currhm in manageraddresses:
|
||||
manager_to_nodemap[manager] = node
|
||||
return node
|
||||
for curraddr in socket.getaddrinfo(currhm, None):
|
||||
for curraddr in greendns.getaddrinfo(currhm, None):
|
||||
curraddr = curraddr[4][0]
|
||||
if curraddr in manageraddresses:
|
||||
manager_to_nodemap[manager] = node
|
||||
|
@@ -23,6 +23,7 @@ import eventlet.event
|
||||
import eventlet.green.threading as threading
|
||||
import eventlet.greenpool as greenpool
|
||||
import eventlet.queue as queue
|
||||
import eventlet.support.greendns
|
||||
import pyghmi.constants as pygconstants
|
||||
import pyghmi.exceptions as pygexc
|
||||
console = eventlet.import_patched('pyghmi.ipmi.console')
|
||||
@@ -31,6 +32,7 @@ import socket
|
||||
|
||||
console.session.select = eventlet.green.select
|
||||
console.session.threading = eventlet.green.threading
|
||||
console.session.socket.getaddrinfo = eventlet.support.greendns.getaddrinfo
|
||||
|
||||
|
||||
def exithandler():
|
||||
@@ -854,7 +856,7 @@ class IpmiHandler(object):
|
||||
if self.element[-1] == 'all':
|
||||
servers = self.inputdata.ntp_servers(self.node)
|
||||
for idx in servers:
|
||||
self.ipmicmd.set_ntp_server(server[idx],
|
||||
self.ipmicmd.set_ntp_server(servers[idx],
|
||||
int(idx[-1])-1)
|
||||
return
|
||||
else:
|
||||
|
@@ -12,7 +12,7 @@ Group: Development/Libraries
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||
Prefix: %{_prefix}
|
||||
BuildArch: noarch
|
||||
Requires: python-pyghmi, python-eventlet, python-greenlet, python-crypto >= 2.6.1, confluent_client, pyparsing, python-paramiko
|
||||
Requires: python-pyghmi, python-eventlet, python-greenlet, python-crypto >= 2.6.1, confluent_client, pyparsing, python-paramiko, python-dnspython
|
||||
Vendor: Jarrod Johnson <jjohnson2@lenovo.com>
|
||||
Url: http://xcat.sf.net/
|
||||
|
||||
|
Reference in New Issue
Block a user