)]}'
{"etc/quantum.conf":[{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"unresolved":false,"context_lines":[{"line_number":30,"context_line":"# Port the bind the API server to"},{"line_number":31,"context_line":"bind_port \u003d 9696"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# Sets the value of TCP_KEEPIDLE in seconds for each server socket."},{"line_number":34,"context_line":"# Not supported on OS X."},{"line_number":35,"context_line":"#tcp_keepidle \u003d 600"},{"line_number":36,"context_line":""}],"source_content_type":"text/plain","patch_set":7,"id":"AAAAM3%2F%2B170%3D","line":33,"updated":"2013-02-17 18:35:30.000000000","message":"I\u0027d prefer to see these options lower in the file, as currently they obscure very important options that the user must fill in, like \"core_plugin\".  \n\nthe example nova.conf has them lower in a wsgi options section.  Also, for the ssl_ca_file and tcp_keepidle, please mention \"API server\" like you do in the comments for ssl_key_file and ssl_cert_file, as it can get confusing when there are a bunch of different options in the file.","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":30,"context_line":"# Port the bind the API server to"},{"line_number":31,"context_line":"bind_port \u003d 9696"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"# Sets the value of TCP_KEEPIDLE in seconds for each server socket."},{"line_number":34,"context_line":"# Not supported on OS X."},{"line_number":35,"context_line":"#tcp_keepidle \u003d 600"},{"line_number":36,"context_line":""}],"source_content_type":"text/plain","patch_set":7,"id":"AAAAM3%2F%2B1pc%3D","line":33,"in_reply_to":"AAAAM3%2F%2B170%3D","updated":"2013-02-18 02:43:57.000000000","message":"Done","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"unresolved":false,"context_lines":[{"line_number":44,"context_line":"#ssl_key_file \u003d /path/to/keyfile"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# CA certificate file to use to verify connecting clients"},{"line_number":47,"context_line":"#ssl_ca_file \u003d /path/to/cafile"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"# Path to the extensions.  Note that this can be a colon-separated list of"},{"line_number":50,"context_line":"# paths.  For example:"}],"source_content_type":"text/plain","patch_set":7,"id":"AAAAM3%2F%2B17w%3D","line":47,"updated":"2013-02-17 18:35:30.000000000","message":"it might be good to note that this field is not required for running the server with SSL.  otherwise I think a lot of people would be confused.  For example \"Not required for running the API server with SSL.  Only required if API clients need to authenticate to the API server using SSL certificates signed by a trusted CA\".","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":44,"context_line":"#ssl_key_file \u003d /path/to/keyfile"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# CA certificate file to use to verify connecting clients"},{"line_number":47,"context_line":"#ssl_ca_file \u003d /path/to/cafile"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"# Path to the extensions.  Note that this can be a colon-separated list of"},{"line_number":50,"context_line":"# paths.  For example:"}],"source_content_type":"text/plain","patch_set":7,"id":"AAAAM3%2F%2B1pM%3D","line":47,"in_reply_to":"AAAAM3%2F%2B17w%3D","updated":"2013-02-18 02:43:57.000000000","message":"Done","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"unresolved":false,"context_lines":[{"line_number":170,"context_line":"# Defined in rpc_notifier, can be comma separated values."},{"line_number":171,"context_line":"# The actual topic names will be %s.%(default_notification_level)s"},{"line_number":172,"context_line":"notification_topics \u003d notifications"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"# Sets the value of TCP_KEEPIDLE in seconds to use for each server socket when"},{"line_number":175,"context_line":"# starting API server. Not supported on OS X."},{"line_number":176,"context_line":"#tcp_keepidle \u003d 600"}],"source_content_type":"text/plain","patch_set":15,"id":"AAAAM3%2F%2B0SE%3D","line":173,"updated":"2013-02-18 17:39:03.000000000","message":"Reading the file, it looks like these options are underneath the header of \"Notification System Options\" above.  Normally I might suggest adding a section, but I\u0027m guessing that would be inconsistent with what other projects do for these same variables, so just a comment indicating that the set of options are WSGI parameters related to the API server should be sufficient.","commit_id":"c156c85ffcb7acc1a18dd3e5fa1d4e4303ca1fca"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"unresolved":false,"context_lines":[{"line_number":170,"context_line":"# Defined in rpc_notifier, can be comma separated values."},{"line_number":171,"context_line":"# The actual topic names will be %s.%(default_notification_level)s"},{"line_number":172,"context_line":"notification_topics \u003d notifications"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"# Sets the value of TCP_KEEPIDLE in seconds to use for each server socket when"},{"line_number":175,"context_line":"# starting API server. Not supported on OS X."},{"line_number":176,"context_line":"#tcp_keepidle \u003d 600"}],"source_content_type":"text/plain","patch_set":15,"id":"AAAAM3%2F%2BzTQ%3D","line":173,"in_reply_to":"AAAAM3%2F%2B0SE%3D","updated":"2013-02-19 02:13:12.000000000","message":"Done","commit_id":"c156c85ffcb7acc1a18dd3e5fa1d4e4303ca1fca"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":236,"context_line":"# Enable SSL on the API server"},{"line_number":237,"context_line":"#use_ssl \u003d False"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"# Certificate file to use when starting API server securely"},{"line_number":240,"context_line":"#ssl_cert_file \u003d /path/to/certfile"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"# Private key file to use when starting API server securely"}],"source_content_type":"text/plain","patch_set":20,"id":"AAAAOH%2F%2F2Sc%3D","line":239,"updated":"2013-03-25 07:56:40.000000000","message":"I think it is better to use the same wording among L.236 - 249. How about changing it to \"when SSL is enabled on the API server\"?\nSame thing can say to ssl_key_file and ssl_ca_file.","commit_id":"84c2d5377a15ac29ea866bddf57503aa43458218"}],"quantum/tests/unit/test_wsgi.py":[{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import os"},{"line_number":19,"context_line":"import socket"},{"line_number":20,"context_line":"import ssl"},{"line_number":21,"context_line":"import urllib2"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"import mock"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2B13k%3D","line":20,"updated":"2013-02-17 20:00:16.000000000","message":"doesn\u0027t seem like this import is being used","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"import os"},{"line_number":19,"context_line":"import socket"},{"line_number":20,"context_line":"import ssl"},{"line_number":21,"context_line":"import urllib2"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"import mock"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2B1pE%3D","line":20,"in_reply_to":"AAAAM3%2F%2B13k%3D","updated":"2013-02-18 02:43:57.000000000","message":"Done","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":26,"context_line":"from quantum.api.v2 import attributes"},{"line_number":27,"context_line":"from quantum.common import constants"},{"line_number":28,"context_line":"from quantum.common import exceptions as exception"},{"line_number":29,"context_line":"from quantum.openstack.common import cfg"},{"line_number":30,"context_line":"from quantum import wsgi"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAM3%2F%2B1Gw%3D","line":29,"updated":"2013-02-18 10:04:33.000000000","message":"please use: from oslo.config import cfg - should be line 23","commit_id":"9fbd20f7218f0d3f676a0919513444491180ee44"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"unresolved":false,"context_lines":[{"line_number":26,"context_line":"from quantum.api.v2 import attributes"},{"line_number":27,"context_line":"from quantum.common import constants"},{"line_number":28,"context_line":"from quantum.common import exceptions as exception"},{"line_number":29,"context_line":"from quantum.openstack.common import cfg"},{"line_number":30,"context_line":"from quantum import wsgi"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAM3%2F%2B1AI%3D","line":29,"in_reply_to":"AAAAM3%2F%2B1Gw%3D","updated":"2013-02-18 11:41:48.000000000","message":"Done","commit_id":"9fbd20f7218f0d3f676a0919513444491180ee44"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":80,"context_line":"                    mock_listen.assert_called_once_with("},{"line_number":81,"context_line":"                        (\u0027fe80::204:acff:fe96:da87%eth0\u0027, 1234, 0, 2),"},{"line_number":82,"context_line":"                        family\u003dsocket.AF_INET6,"},{"line_number":83,"context_line":"                        backlog\u003d4096"},{"line_number":84,"context_line":"                    )"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"                    mock_pool.spawn.assert_has_calls(["}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAM3%2F%2B1Gk%3D","line":83,"updated":"2013-02-18 10:04:33.000000000","message":"why not use the CFG backlog?","commit_id":"9fbd20f7218f0d3f676a0919513444491180ee44"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"unresolved":false,"context_lines":[{"line_number":80,"context_line":"                    mock_listen.assert_called_once_with("},{"line_number":81,"context_line":"                        (\u0027fe80::204:acff:fe96:da87%eth0\u0027, 1234, 0, 2),"},{"line_number":82,"context_line":"                        family\u003dsocket.AF_INET6,"},{"line_number":83,"context_line":"                        backlog\u003d4096"},{"line_number":84,"context_line":"                    )"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"                    mock_pool.spawn.assert_has_calls(["}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAM3%2F%2B1AE%3D","line":83,"in_reply_to":"AAAAM3%2F%2B1Gk%3D","updated":"2013-02-18 11:41:48.000000000","message":"Done","commit_id":"9fbd20f7218f0d3f676a0919513444491180ee44"}],"quantum/wsgi.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"811dffe194fe9c3790db6fe3f1862e3a068a4690","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            return ssl.wrap_socket(sock, **ssl_kwargs)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        sock \u003d None"},{"line_number":134,"context_line":"        retry_until \u003d time.time() + 30"},{"line_number":135,"context_line":"        while not sock and time.time() \u003c retry_until:"},{"line_number":136,"context_line":"            try:"},{"line_number":137,"context_line":"                sock \u003d eventlet.listen(bind_addr,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FSb0%3D","line":134,"updated":"2013-01-30 05:16:59.000000000","message":"Shouldn\u0027t 30 be a constant?","commit_id":"59e2cb5e9628fc4435a3b1fc8df4b128760ce153"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            return ssl.wrap_socket(sock, **ssl_kwargs)"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        sock \u003d None"},{"line_number":134,"context_line":"        retry_until \u003d time.time() + 30"},{"line_number":135,"context_line":"        while not sock and time.time() \u003c retry_until:"},{"line_number":136,"context_line":"            try:"},{"line_number":137,"context_line":"                sock \u003d eventlet.listen(bind_addr,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FR7I%3D","line":134,"in_reply_to":"AAAAM3%2F%2FSb0%3D","updated":"2013-01-30 13:21:26.000000000","message":"Done","commit_id":"59e2cb5e9628fc4435a3b1fc8df4b128760ce153"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"811dffe194fe9c3790db6fe3f1862e3a068a4690","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                if use_ssl:"},{"line_number":141,"context_line":"                    sock \u003d wrap_ssl(sock)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"            except socket.error, err:"},{"line_number":144,"context_line":"                if err.args[0] !\u003d errno.EADDRINUSE:"},{"line_number":145,"context_line":"                    raise"},{"line_number":146,"context_line":"                eventlet.sleep(0.1)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FSbw%3D","line":143,"updated":"2013-01-30 05:16:59.000000000","message":"except socket.error as err:","commit_id":"59e2cb5e9628fc4435a3b1fc8df4b128760ce153"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                if use_ssl:"},{"line_number":141,"context_line":"                    sock \u003d wrap_ssl(sock)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"            except socket.error, err:"},{"line_number":144,"context_line":"                if err.args[0] !\u003d errno.EADDRINUSE:"},{"line_number":145,"context_line":"                    raise"},{"line_number":146,"context_line":"                eventlet.sleep(0.1)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FR7Y%3D","line":143,"in_reply_to":"AAAAM3%2F%2FSbw%3D","updated":"2013-01-30 13:21:26.000000000","message":"Done","commit_id":"59e2cb5e9628fc4435a3b1fc8df4b128760ce153"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"811dffe194fe9c3790db6fe3f1862e3a068a4690","unresolved":false,"context_lines":[{"line_number":141,"context_line":"                    sock \u003d wrap_ssl(sock)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"            except socket.error, err:"},{"line_number":144,"context_line":"                if err.args[0] !\u003d errno.EADDRINUSE:"},{"line_number":145,"context_line":"                    raise"},{"line_number":146,"context_line":"                eventlet.sleep(0.1)"},{"line_number":147,"context_line":"        if not sock:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FSbY%3D","line":144,"updated":"2013-01-30 05:16:59.000000000","message":"if err.errno !\u003d errno.EADDRINUSE:","commit_id":"59e2cb5e9628fc4435a3b1fc8df4b128760ce153"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":141,"context_line":"                    sock \u003d wrap_ssl(sock)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"            except socket.error, err:"},{"line_number":144,"context_line":"                if err.args[0] !\u003d errno.EADDRINUSE:"},{"line_number":145,"context_line":"                    raise"},{"line_number":146,"context_line":"                eventlet.sleep(0.1)"},{"line_number":147,"context_line":"        if not sock:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FR7U%3D","line":144,"in_reply_to":"AAAAM3%2F%2FSbY%3D","updated":"2013-01-30 13:21:26.000000000","message":"Done","commit_id":"59e2cb5e9628fc4435a3b1fc8df4b128760ce153"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"unresolved":false,"context_lines":[{"line_number":80,"context_line":"        self.pool \u003d eventlet.GreenPool(threads)"},{"line_number":81,"context_line":"        self.name \u003d name"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    _RETRY_UNTIL_WINDOW \u003d 30"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _get_socket(self, host, port, backlog):"},{"line_number":86,"context_line":"        bind_addr \u003d (host, port)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FPaM%3D","line":83,"updated":"2013-01-31 19:46:19.000000000","message":"Should this be conf variable?","commit_id":"2a87cfb2cb6c797cd9132460a988e4d9b38dbb21"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        self.pool \u003d eventlet.GreenPool(threads)"},{"line_number":81,"context_line":"        self.name \u003d name"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    _RETRY_UNTIL_WINDOW \u003d 30"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _get_socket(self, host, port, backlog):"},{"line_number":86,"context_line":"        bind_addr \u003d (host, port)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2B2cM%3D","line":83,"in_reply_to":"AAAAM3%2F%2FN8M%3D","updated":"2013-02-17 02:25:34.000000000","message":"sounds good","commit_id":"2a87cfb2cb6c797cd9132460a988e4d9b38dbb21"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"unresolved":false,"context_lines":[{"line_number":80,"context_line":"        self.pool \u003d eventlet.GreenPool(threads)"},{"line_number":81,"context_line":"        self.name \u003d name"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    _RETRY_UNTIL_WINDOW \u003d 30"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _get_socket(self, host, port, backlog):"},{"line_number":86,"context_line":"        bind_addr \u003d (host, port)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FN8M%3D","line":83,"in_reply_to":"AAAAM3%2F%2FOUw%3D","updated":"2013-02-01 19:04:29.000000000","message":"I got it. Let\u0027s stay it constant now. If user want to configure it, he may send patch :)","commit_id":"2a87cfb2cb6c797cd9132460a988e4d9b38dbb21"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        self.pool \u003d eventlet.GreenPool(threads)"},{"line_number":81,"context_line":"        self.name \u003d name"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    _RETRY_UNTIL_WINDOW \u003d 30"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _get_socket(self, host, port, backlog):"},{"line_number":86,"context_line":"        bind_addr \u003d (host, port)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FOUw%3D","line":83,"in_reply_to":"AAAAM3%2F%2FPaM%3D","updated":"2013-02-01 13:38:08.000000000","message":"Let\u0027s see if we get any feedback from users about this. We have too many configuration options if you ask me :)","commit_id":"2a87cfb2cb6c797cd9132460a988e4d9b38dbb21"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"unresolved":false,"context_lines":[{"line_number":148,"context_line":"                eventlet.sleep(0.1)"},{"line_number":149,"context_line":"        if not sock:"},{"line_number":150,"context_line":"            raise RuntimeError(_(\"Could not bind to %(host)s:%(port)s \""},{"line_number":151,"context_line":"                               \"after trying for 30 seconds\") %"},{"line_number":152,"context_line":"                               {\u0027host\u0027: host, \u0027port\u0027: port})"},{"line_number":153,"context_line":"        sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)"},{"line_number":154,"context_line":"        # sockets can hang around forever without keepalive"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FPaU%3D","line":151,"updated":"2013-01-31 19:46:19.000000000","message":"30 should be self._RETRY_UNTIL_WINDOW","commit_id":"2a87cfb2cb6c797cd9132460a988e4d9b38dbb21"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                eventlet.sleep(0.1)"},{"line_number":149,"context_line":"        if not sock:"},{"line_number":150,"context_line":"            raise RuntimeError(_(\"Could not bind to %(host)s:%(port)s \""},{"line_number":151,"context_line":"                               \"after trying for 30 seconds\") %"},{"line_number":152,"context_line":"                               {\u0027host\u0027: host, \u0027port\u0027: port})"},{"line_number":153,"context_line":"        sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)"},{"line_number":154,"context_line":"        # sockets can hang around forever without keepalive"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FOUs%3D","line":151,"in_reply_to":"AAAAM3%2F%2FPaU%3D","updated":"2013-02-01 13:38:08.000000000","message":"will fix","commit_id":"2a87cfb2cb6c797cd9132460a988e4d9b38dbb21"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":42,"context_line":"socket_opts \u003d ["},{"line_number":43,"context_line":"    cfg.IntOpt(\u0027backlog\u0027,"},{"line_number":44,"context_line":"               default\u003d4096,"},{"line_number":45,"context_line":"               help\u003d\"Number of backlog requests to configure the socket with\"),"},{"line_number":46,"context_line":"    cfg.IntOpt(\u0027tcp_keepidle\u0027,"},{"line_number":47,"context_line":"               default\u003d600,"},{"line_number":48,"context_line":"               help\u003d\"Sets the value of TCP_KEEPIDLE in seconds for each \""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2B%2FN4%3D","line":45,"updated":"2013-02-12 12:20:26.000000000","message":"please set these in the i18n format _(\"...\")","commit_id":"47e9034eaa2e337b0149ddd2e5b30a64e49e48f1"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":42,"context_line":"socket_opts \u003d ["},{"line_number":43,"context_line":"    cfg.IntOpt(\u0027backlog\u0027,"},{"line_number":44,"context_line":"               default\u003d4096,"},{"line_number":45,"context_line":"               help\u003d\"Number of backlog requests to configure the socket with\"),"},{"line_number":46,"context_line":"    cfg.IntOpt(\u0027tcp_keepidle\u0027,"},{"line_number":47,"context_line":"               default\u003d600,"},{"line_number":48,"context_line":"               help\u003d\"Sets the value of TCP_KEEPIDLE in seconds for each \""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2B%2FJo%3D","line":45,"in_reply_to":"AAAAM3%2F%2B%2FN4%3D","updated":"2013-02-12 13:30:11.000000000","message":"Done","commit_id":"47e9034eaa2e337b0149ddd2e5b30a64e49e48f1"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        return sock"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def start(self, application, port, host\u003d\u00270.0.0.0\u0027, backlog\u003d128):"},{"line_number":168,"context_line":"        \"\"\"Run a WSGI server with the given application.\"\"\""},{"line_number":169,"context_line":"        self._host \u003d host"},{"line_number":170,"context_line":"        self._port \u003d port"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2B%2FNw%3D","line":167,"updated":"2013-02-12 12:20:26.000000000","message":"why is backlog set to 128 when we have a configuration variable?","commit_id":"47e9034eaa2e337b0149ddd2e5b30a64e49e48f1"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        return sock"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    def start(self, application, port, host\u003d\u00270.0.0.0\u0027, backlog\u003d128):"},{"line_number":168,"context_line":"        \"\"\"Run a WSGI server with the given application.\"\"\""},{"line_number":169,"context_line":"        self._host \u003d host"},{"line_number":170,"context_line":"        self._port \u003d port"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2B%2FJs%3D","line":167,"in_reply_to":"AAAAM3%2F%2B%2FNw%3D","updated":"2013-02-12 13:30:11.000000000","message":"Done","commit_id":"47e9034eaa2e337b0149ddd2e5b30a64e49e48f1"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"unresolved":false,"context_lines":[{"line_number":25,"context_line":"import sys"},{"line_number":26,"context_line":"from xml.etree import ElementTree as etree"},{"line_number":27,"context_line":"import time"},{"line_number":28,"context_line":"from xml.dom import minidom"},{"line_number":29,"context_line":"from xml.parsers import expat"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"import eventlet.wsgi"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2B134%3D","line":28,"updated":"2013-02-17 20:00:16.000000000","message":"nit: fix ordering of imports L26 to L28","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":25,"context_line":"import sys"},{"line_number":26,"context_line":"from xml.etree import ElementTree as etree"},{"line_number":27,"context_line":"import time"},{"line_number":28,"context_line":"from xml.dom import minidom"},{"line_number":29,"context_line":"from xml.parsers import expat"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"import eventlet.wsgi"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2B1kc%3D","line":28,"in_reply_to":"AAAAM3%2F%2B134%3D","updated":"2013-02-18 02:43:57.000000000","message":"Done","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":64,"context_line":"                      \"the server securely\")),"},{"line_number":65,"context_line":"]"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"CONF \u003d cfg.CONF"},{"line_number":68,"context_line":"CONF.register_opts(socket_opts)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2B2P4%3D","line":67,"updated":"2013-02-17 08:11:00.000000000","message":"Just out of interest why do you do this? Personally I prefer cfg.CONF.xxx","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                      \"the server securely\")),"},{"line_number":65,"context_line":"]"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"CONF \u003d cfg.CONF"},{"line_number":68,"context_line":"CONF.register_opts(socket_opts)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2B2Cg%3D","line":67,"in_reply_to":"AAAAM3%2F%2B2P4%3D","updated":"2013-02-17 15:53:35.000000000","message":"Oslo/Nova etc, seem to have this pattern of usage, that\u0027s where i picked it up from. I don\u0027t mind changing it, please let me know","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":83,"context_line":"        self.pool \u003d eventlet.GreenPool(threads)"},{"line_number":84,"context_line":"        self.name \u003d name"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    _RETRY_UNTIL_WINDOW \u003d 30"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _get_socket(self, host, port, backlog):"},{"line_number":89,"context_line":"        bind_addr \u003d (host, port)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2B2QM%3D","line":86,"updated":"2013-02-17 08:11:00.000000000","message":"Why is this not a configuration variable?","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        self.pool \u003d eventlet.GreenPool(threads)"},{"line_number":84,"context_line":"        self.name \u003d name"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    _RETRY_UNTIL_WINDOW \u003d 30"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _get_socket(self, host, port, backlog):"},{"line_number":89,"context_line":"        bind_addr \u003d (host, port)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2B1l0%3D","line":86,"in_reply_to":"AAAAM3%2F%2B178%3D","updated":"2013-02-18 02:43:57.000000000","message":"Done","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"unresolved":false,"context_lines":[{"line_number":83,"context_line":"        self.pool \u003d eventlet.GreenPool(threads)"},{"line_number":84,"context_line":"        self.name \u003d name"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    _RETRY_UNTIL_WINDOW \u003d 30"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _get_socket(self, host, port, backlog):"},{"line_number":89,"context_line":"        bind_addr \u003d (host, port)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2B178%3D","line":86,"in_reply_to":"AAAAM3%2F%2B2AE%3D","updated":"2013-02-17 18:35:30.000000000","message":"I tend to agree that we expose too many things via config variables.  In fact, I felt the same way about the tcp_keepidle in this patchset, but I see that nova already exposes that as well, so consistency is probably the right approach here.","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        self.pool \u003d eventlet.GreenPool(threads)"},{"line_number":84,"context_line":"        self.name \u003d name"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    _RETRY_UNTIL_WINDOW \u003d 30"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    def _get_socket(self, host, port, backlog):"},{"line_number":89,"context_line":"        bind_addr \u003d (host, port)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2B2AE%3D","line":86,"in_reply_to":"AAAAM3%2F%2B2QM%3D","updated":"2013-02-17 15:53:35.000000000","message":"Nachi and I had a discussion in patch 4 - https://review.openstack.org/#/c/20459/4/quantum/wsgi.py,unified where i mentioned \"Let\u0027s see if we get any feedback from users about this. We have too many configuration options if you ask me :)\"","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"unresolved":false,"context_lines":[{"line_number":119,"context_line":"        if use_ssl and (not cert_file or not key_file):"},{"line_number":120,"context_line":"            raise RuntimeError(_(\"When running server in SSL mode, you must \""},{"line_number":121,"context_line":"                                 \"specify both a cert_file and key_file \""},{"line_number":122,"context_line":"                                 \"option value in your configuration file\"))"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        def wrap_ssl(sock):"},{"line_number":125,"context_line":"            ssl_kwargs \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2B174%3D","line":122,"updated":"2013-02-17 18:35:30.000000000","message":"it took me a second to follow the logic here.  Why not just put all of these tests in a block under if use_ssl, then we can just have the test be a check if the path exists (since a path to filename None will fail) for both cert_file and key_file (ca_file, it appears, can still be empty).  \n\nthis would also let you get rid of the last if statement, since if either of those filenames are empty and use_ssl was true, one of the checks above would fail.","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"c8e8413e6b6e49b8a5f6464f9c36de431a319a96","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        if use_ssl and (not cert_file or not key_file):"},{"line_number":120,"context_line":"            raise RuntimeError(_(\"When running server in SSL mode, you must \""},{"line_number":121,"context_line":"                                 \"specify both a cert_file and key_file \""},{"line_number":122,"context_line":"                                 \"option value in your configuration file\"))"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        def wrap_ssl(sock):"},{"line_number":125,"context_line":"            ssl_kwargs \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAM3%2F%2B1k0%3D","line":122,"in_reply_to":"AAAAM3%2F%2B174%3D","updated":"2013-02-18 02:43:57.000000000","message":"Done","commit_id":"a124de543aa44fbfbd21e39f0cef66ed9f071c73"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"0b34c6461474e288fcfc52e3413aa6bb49ba76af","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        cert_file \u003d CONF.ssl_cert_file"},{"line_number":107,"context_line":"        key_file \u003d CONF.ssl_key_file"},{"line_number":108,"context_line":"        ca_file \u003d CONF.ssl_ca_file"},{"line_number":109,"context_line":"        use_ssl \u003d cert_file or key_file"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if use_ssl:"},{"line_number":112,"context_line":"            if not os.path.exists(cert_file):"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAM3%2F%2B1jk%3D","line":109,"updated":"2013-02-18 02:49:21.000000000","message":"Why not introduce an option \u0027use_ssl\u0027 directly? is it more clearly for user?","commit_id":"f8fdd9071329bed2e038b4fd8a2cc992b0813e44"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"unresolved":false,"context_lines":[{"line_number":106,"context_line":"        cert_file \u003d CONF.ssl_cert_file"},{"line_number":107,"context_line":"        key_file \u003d CONF.ssl_key_file"},{"line_number":108,"context_line":"        ca_file \u003d CONF.ssl_ca_file"},{"line_number":109,"context_line":"        use_ssl \u003d cert_file or key_file"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        if use_ssl:"},{"line_number":112,"context_line":"            if not os.path.exists(cert_file):"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAM3%2F%2B1h8%3D","line":109,"in_reply_to":"AAAAM3%2F%2B1jk%3D","updated":"2013-02-18 03:02:37.000000000","message":"Done","commit_id":"f8fdd9071329bed2e038b4fd8a2cc992b0813e44"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"unresolved":false,"context_lines":[{"line_number":106,"context_line":"                          {\u0027host\u0027: host, \u0027port\u0027: port})"},{"line_number":107,"context_line":"            sys.exit(1)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        cert_file \u003d CONF.ssl_cert_file"},{"line_number":110,"context_line":"        key_file \u003d CONF.ssl_key_file"},{"line_number":111,"context_line":"        ca_file \u003d CONF.ssl_ca_file"},{"line_number":112,"context_line":"        use_ssl \u003d cert_file or key_file"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAM3%2F%2B1hE%3D","line":109,"updated":"2013-02-18 03:15:01.000000000","message":"nit remove these and use CONF.name directly. Having local variables here for this doesn\u0027t seem to buy us anything. It  also doesn\u0027t look like you are running into a line warp issue which requires shorting the name.","commit_id":"7aaec4fad6b71ab4b1a41f06ccbb98ececd6474a"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"unresolved":false,"context_lines":[{"line_number":106,"context_line":"                          {\u0027host\u0027: host, \u0027port\u0027: port})"},{"line_number":107,"context_line":"            sys.exit(1)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        cert_file \u003d CONF.ssl_cert_file"},{"line_number":110,"context_line":"        key_file \u003d CONF.ssl_key_file"},{"line_number":111,"context_line":"        ca_file \u003d CONF.ssl_ca_file"},{"line_number":112,"context_line":"        use_ssl \u003d cert_file or key_file"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAM3%2F%2B1bs%3D","line":109,"in_reply_to":"AAAAM3%2F%2B1hE%3D","updated":"2013-02-18 04:15:03.000000000","message":"Done","commit_id":"7aaec4fad6b71ab4b1a41f06ccbb98ececd6474a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":24,"context_line":"import ssl"},{"line_number":25,"context_line":"import sys"},{"line_number":26,"context_line":"import time"},{"line_number":27,"context_line":"from xml.dom import minidom"},{"line_number":28,"context_line":"from xml.etree import ElementTree as etree"},{"line_number":29,"context_line":"from xml.parsers import expat"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAM3%2F%2B1G4%3D","line":27,"updated":"2013-02-18 10:04:33.000000000","message":"is this import used? minidom?","commit_id":"9fbd20f7218f0d3f676a0919513444491180ee44"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"unresolved":false,"context_lines":[{"line_number":24,"context_line":"import ssl"},{"line_number":25,"context_line":"import sys"},{"line_number":26,"context_line":"import time"},{"line_number":27,"context_line":"from xml.dom import minidom"},{"line_number":28,"context_line":"from xml.etree import ElementTree as etree"},{"line_number":29,"context_line":"from xml.parsers import expat"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAM3%2F%2B0%2F8%3D","line":27,"in_reply_to":"AAAAM3%2F%2B1G4%3D","updated":"2013-02-18 11:41:48.000000000","message":"Done","commit_id":"9fbd20f7218f0d3f676a0919513444491180ee44"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":37,"context_line":"from quantum.common import constants"},{"line_number":38,"context_line":"from quantum.common import exceptions as exception"},{"line_number":39,"context_line":"from quantum import context"},{"line_number":40,"context_line":"from quantum.openstack.common import cfg"},{"line_number":41,"context_line":"from quantum.openstack.common import jsonutils"},{"line_number":42,"context_line":"from quantum.openstack.common import log as logging"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAM3%2F%2B1G0%3D","line":40,"updated":"2013-02-18 10:04:33.000000000","message":"you will need to make use of :\nfrom oslo.config import cfg - this should be at line 32","commit_id":"9fbd20f7218f0d3f676a0919513444491180ee44"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"unresolved":false,"context_lines":[{"line_number":37,"context_line":"from quantum.common import constants"},{"line_number":38,"context_line":"from quantum.common import exceptions as exception"},{"line_number":39,"context_line":"from quantum import context"},{"line_number":40,"context_line":"from quantum.openstack.common import cfg"},{"line_number":41,"context_line":"from quantum.openstack.common import jsonutils"},{"line_number":42,"context_line":"from quantum.openstack.common import log as logging"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAAM3%2F%2B0%2F4%3D","line":40,"in_reply_to":"AAAAM3%2F%2B1G0%3D","updated":"2013-02-18 11:41:48.000000000","message":"Done","commit_id":"9fbd20f7218f0d3f676a0919513444491180ee44"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"unresolved":false,"context_lines":[{"line_number":44,"context_line":"    cfg.IntOpt(\u0027backlog\u0027,"},{"line_number":45,"context_line":"               default\u003d4096,"},{"line_number":46,"context_line":"               help\u003d_(\"Number of backlog requests to configure \""},{"line_number":47,"context_line":"                      \"the socket with\")),"},{"line_number":48,"context_line":"    cfg.IntOpt(\u0027tcp_keepidle\u0027,"},{"line_number":49,"context_line":"               default\u003d600,"},{"line_number":50,"context_line":"               help\u003d_(\"Sets the value of TCP_KEEPIDLE in seconds for each \""}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAM3%2F%2B0Rs%3D","line":47,"updated":"2013-02-18 17:39:03.000000000","message":"it seems like backlog and retry_until_window are not described in the update quantum.conf .  While this is not required for correctness, it is the common practice and seems like a good idea to follow.","commit_id":"c156c85ffcb7acc1a18dd3e5fa1d4e4303ca1fca"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"unresolved":false,"context_lines":[{"line_number":44,"context_line":"    cfg.IntOpt(\u0027backlog\u0027,"},{"line_number":45,"context_line":"               default\u003d4096,"},{"line_number":46,"context_line":"               help\u003d_(\"Number of backlog requests to configure \""},{"line_number":47,"context_line":"                      \"the socket with\")),"},{"line_number":48,"context_line":"    cfg.IntOpt(\u0027tcp_keepidle\u0027,"},{"line_number":49,"context_line":"               default\u003d600,"},{"line_number":50,"context_line":"               help\u003d_(\"Sets the value of TCP_KEEPIDLE in seconds for each \""}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAM3%2F%2BzTk%3D","line":47,"in_reply_to":"AAAAM3%2F%2B0Rs%3D","updated":"2013-02-19 02:13:12.000000000","message":"Done","commit_id":"c156c85ffcb7acc1a18dd3e5fa1d4e4303ca1fca"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"0b34c6461474e288fcfc52e3413aa6bb49ba76af","unresolved":false,"context_lines":[{"line_number":54,"context_line":"               help\u003d_(\"Number of seconds to keep retrying to listen\")),"},{"line_number":55,"context_line":"    cfg.BoolOpt(\u0027use_ssl\u0027,"},{"line_number":56,"context_line":"                default\u003dFalse,"},{"line_number":57,"context_line":"                help\u003d\u0027Enable SSL on the API server\u0027),"},{"line_number":58,"context_line":"    cfg.StrOpt(\u0027ssl_ca_file\u0027,"},{"line_number":59,"context_line":"               default\u003dNone,"},{"line_number":60,"context_line":"               help\u003d_(\"CA certificate file to use to verify \""}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAM3%2F%2B050%3D","line":57,"updated":"2013-02-18 21:52:35.000000000","message":"wrapped by _()","commit_id":"c156c85ffcb7acc1a18dd3e5fa1d4e4303ca1fca"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"unresolved":false,"context_lines":[{"line_number":54,"context_line":"               help\u003d_(\"Number of seconds to keep retrying to listen\")),"},{"line_number":55,"context_line":"    cfg.BoolOpt(\u0027use_ssl\u0027,"},{"line_number":56,"context_line":"                default\u003dFalse,"},{"line_number":57,"context_line":"                help\u003d\u0027Enable SSL on the API server\u0027),"},{"line_number":58,"context_line":"    cfg.StrOpt(\u0027ssl_ca_file\u0027,"},{"line_number":59,"context_line":"               default\u003dNone,"},{"line_number":60,"context_line":"               help\u003d_(\"CA certificate file to use to verify \""}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAAM3%2F%2BzTw%3D","line":57,"in_reply_to":"AAAAM3%2F%2B050%3D","updated":"2013-02-19 02:13:12.000000000","message":"Done","commit_id":"c156c85ffcb7acc1a18dd3e5fa1d4e4303ca1fca"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":89,"context_line":"        self.name \u003d name"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    def _get_socket(self, host, port, backlog):"},{"line_number":92,"context_line":"        bind_addr \u003d (host, port)"},{"line_number":93,"context_line":"        # TODO(dims): eventlet\u0027s green dns/socket module does not actually"},{"line_number":94,"context_line":"        # support IPv6 in getaddrinfo(). We need to get around this in the"},{"line_number":95,"context_line":"        # future or monitor upstream for a fix"}],"source_content_type":"text/x-python","patch_set":20,"id":"AAAAOH%2F%2F2Sg%3D","line":92,"updated":"2013-03-25 07:56:40.000000000","message":"Why this assignment is needed? I prefer to using host and port directly in L.97-98. One reason is bind_addr here is just used in L.97-98. Another reason is that assignments to bind_addr occurs twice and such assignments should be avoided if possible.","commit_id":"84c2d5377a15ac29ea866bddf57503aa43458218"}]}
