Merge "mdns: Expose option to customize tcp keepidle"
This commit is contained in:
commit
35be2ac4e9
@ -23,16 +23,18 @@ MDNS_GROUP = cfg.OptGroup(
|
||||
|
||||
MDNS_OPTS = [
|
||||
cfg.IntOpt('workers',
|
||||
help='Number of mdns worker processes to spawn'),
|
||||
help='Number of mDNS worker processes to spawn'),
|
||||
cfg.IntOpt('threads', default=1000,
|
||||
help='Number of mdns greenthreads to spawn'),
|
||||
help='Number of mDNS greenthreads to spawn'),
|
||||
cfg.ListOpt('listen',
|
||||
default=['0.0.0.0:%d' % DEFAULT_MDNS_PORT],
|
||||
help='mDNS host:port pairs to listen on'),
|
||||
cfg.IntOpt('tcp_backlog', default=100,
|
||||
help='mDNS TCP Backlog'),
|
||||
cfg.IntOpt('tcp_keepidle',
|
||||
help='mDNS TCP Keepidle in seconds'),
|
||||
cfg.FloatOpt('tcp_recv_timeout', default=0.5,
|
||||
help='mDNS TCP Receive Timeout'),
|
||||
help='mDNS TCP Receive Timeout in seconds'),
|
||||
cfg.BoolOpt('query_enforce_tsig', default=False,
|
||||
help='Enforce all incoming queries (including AXFR) are TSIG '
|
||||
'signed'),
|
||||
|
@ -42,6 +42,7 @@ class Service(service.Service):
|
||||
self.dns_application, self.tg,
|
||||
CONF['service:mdns'].listen,
|
||||
CONF['service:mdns'].tcp_backlog,
|
||||
CONF['service:mdns'].tcp_keepidle,
|
||||
CONF['service:mdns'].tcp_recv_timeout,
|
||||
)
|
||||
|
||||
|
@ -142,11 +142,13 @@ class WSGIService(Service):
|
||||
class DNSService:
|
||||
_TCP_RECV_MAX_SIZE = 65535
|
||||
|
||||
def __init__(self, app, tg, listen, tcp_backlog, tcp_recv_timeout):
|
||||
def __init__(self, app, tg, listen, tcp_backlog, tcp_keepidle,
|
||||
tcp_recv_timeout):
|
||||
self._running = threading.Event()
|
||||
self.app = app
|
||||
self.tg = tg
|
||||
self.tcp_backlog = tcp_backlog
|
||||
self.tcp_keepidle = tcp_keepidle
|
||||
self.tcp_recv_timeout = tcp_recv_timeout
|
||||
self.listen = listen
|
||||
|
||||
@ -170,7 +172,7 @@ class DNSService:
|
||||
|
||||
def _start(self, host, port):
|
||||
sock_tcp = utils.bind_tcp(
|
||||
host, port, self.tcp_backlog
|
||||
host, port, self.tcp_backlog, self.tcp_keepidle
|
||||
)
|
||||
sock_udp = utils.bind_udp(
|
||||
host, port
|
||||
|
@ -270,6 +270,7 @@ class TestDNSService(oslotest.base.BaseTestCase):
|
||||
self.application, self.tg,
|
||||
CONF['service:mdns'].listen,
|
||||
CONF['service:mdns'].tcp_backlog,
|
||||
CONF['service:mdns'].tcp_keepidle,
|
||||
CONF['service:mdns'].tcp_recv_timeout,
|
||||
)
|
||||
self.service._running = mock.Mock()
|
||||
@ -279,6 +280,9 @@ class TestDNSService(oslotest.base.BaseTestCase):
|
||||
self.assertEqual(
|
||||
CONF['service:mdns'].tcp_backlog, self.service.tcp_backlog
|
||||
)
|
||||
self.assertEqual(
|
||||
CONF['service:mdns'].tcp_keepidle, self.service.tcp_keepidle
|
||||
)
|
||||
self.assertEqual(
|
||||
CONF['service:mdns'].tcp_recv_timeout,
|
||||
self.service.tcp_recv_timeout
|
||||
@ -291,7 +295,8 @@ class TestDNSService(oslotest.base.BaseTestCase):
|
||||
|
||||
mock_bind_udp.assert_called_with('0.0.0.0', 5354)
|
||||
mock_bind_tcp.assert_called_with(
|
||||
'0.0.0.0', 5354, CONF['service:mdns'].tcp_backlog
|
||||
'0.0.0.0', 5354, CONF['service:mdns'].tcp_backlog,
|
||||
CONF['service:mdns'].tcp_keepidle,
|
||||
)
|
||||
|
||||
def test_service_stop(self):
|
||||
@ -353,6 +358,7 @@ class TestDNSService(oslotest.base.BaseTestCase):
|
||||
self.application, self.tg,
|
||||
CONF['service:mdns'].listen,
|
||||
CONF['service:mdns'].tcp_backlog,
|
||||
CONF['service:mdns'].tcp_keepidle,
|
||||
CONF['service:mdns'].tcp_recv_timeout,
|
||||
)
|
||||
self.service._running = mock.Mock()
|
||||
|
@ -0,0 +1,5 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
The new ``[service:mdns] tcp_keepidle`` option has been added. This option
|
||||
allows customizing TCP keepidle set for socket used by designate-mdns.
|
Loading…
x
Reference in New Issue
Block a user