2
0
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:
Jarrod Johnson
2016-06-01 09:15:16 -04:00
parent f85ee82df3
commit 3c876566a6
3 changed files with 7 additions and 5 deletions

View File

@@ -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

View File

@@ -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:

View File

@@ -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/