self._server = None
super(UnixDomainWSGIServer, self).__init__(name)
- def start(self, application, file_socket, workers, backlog=128):
+ def start(self, application, file_socket, workers, backlog):
self._socket = eventlet.listen(file_socket,
family=socket.AF_UNIX,
backlog=backlog)
cfg.IntOpt('metadata_workers',
default=0,
help=_('Number of separate worker processes for metadata '
- 'server'))
+ 'server')),
+ cfg.IntOpt('metadata_backlog',
+ default=128,
+ help=_('Number of backlog requests to configure the '
+ 'metadata server socket with'))
]
def __init__(self, conf):
server = UnixDomainWSGIServer('neutron-metadata-agent')
server.start(MetadataProxyHandler(self.conf),
self.conf.metadata_proxy_socket,
- workers=self.conf.metadata_workers)
+ workers=self.conf.metadata_workers,
+ backlog=self.conf.metadata_backlog)
server.wait()
def test_start(self):
mock_app = mock.Mock()
with mock.patch.object(self.server, 'pool') as pool:
- self.server.start(mock_app, '/the/path', workers=0)
+ self.server.start(mock_app, '/the/path', workers=0, backlog=128)
self.eventlet.assert_has_calls([
mock.call.listen(
'/the/path',
launcher = process_launcher.return_value
mock_app = mock.Mock()
- self.server.start(mock_app, '/the/path', workers=2)
+ self.server.start(mock_app, '/the/path', workers=2, backlog=128)
launcher.running = True
launcher.launch_service.assert_called_once_with(self.server._server,
workers=2)
self.addCleanup(mock.patch.stopall)
self.cfg.CONF.metadata_proxy_socket = '/the/path'
self.cfg.CONF.metadata_workers = 0
+ self.cfg.CONF.metadata_backlog = 128
def test_init_doesnot_exists(self):
with mock.patch('os.path.isdir') as isdir:
server.assert_has_calls([
mock.call('neutron-metadata-agent'),
mock.call().start(handler.return_value,
- '/the/path', workers=0),
+ '/the/path', workers=0,
+ backlog=128),
mock.call().wait()]
)