)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"b2862c394553fda0988e0e2385f3a8507b4d1252","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch added 2 command line parameters -debug-host and -debug-port"},{"line_number":10,"context_line":"which are used to connect to an external debugger such as pycharm or eclipse."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":"Closes-bug: #1251021"},{"line_number":14,"context_line":"Change-Id: I6ede9bf0813eafbeb91d858c297d4c160aafceba"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAATn%2F%2FIow%3D","line":12,"updated":"2013-11-14 00:13:45.000000000","message":"@Tracy, this is a great feature for debugging, but we may need to provide more for the docimpact. Please refer to http://justwriteclick.com/2013/09/17/openstack-docimpact-flag-walk-through/ for what we need provide for this part. Thanks.","commit_id":"77c3ff93fa7cc66bbf804fbb515d667a72902649"}],"doc/source/devref/development.environment.rst":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"62c60eed2314b70200047922edc1bd944db6615f","unresolved":false,"context_lines":[{"line_number":146,"context_line":"----------------------"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Some modern IDE such as pycharm (commercial) or Eclipse (open source) support remote debugging.  In order to run nova with remote debugging, start the nova process"},{"line_number":149,"context_line":"with the following parameters "},{"line_number":150,"context_line":"--remote_debug-host \u003chost IP where the debugger is running\u003e"},{"line_number":151,"context_line":"--remote_debug-port \u003cport it is listening on\u003e"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"AAAATn%2F9Ow4%3D","line":149,"updated":"2013-12-13 18:29:53.000000000","message":"whitespace","commit_id":"e22c86f4e92709855863a88e60f0f79e028b3dc0"},{"author":{"_account_id":7575,"name":"Sabari","email":"smurugesan@vmware.com","username":"sabari"},"change_message_id":"d43b53dd659367416e2abbf87d74a4a11e8cb0e9","unresolved":false,"context_lines":[{"line_number":150,"context_line":"--remote_debug-host \u003chost IP where the debugger is running\u003e"},{"line_number":151,"context_line":"--remote_debug-port \u003cport it is listening on\u003e"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Before you start your nova process, start the remote debugger using the instructions for that debugger.  "},{"line_number":154,"context_line":"For pycharm - http://blog.jetbrains.com/pycharm/2010/12/python-remote-debug-with-pycharm/"},{"line_number":155,"context_line":"For Eclipse - http://pydev.org/manual_adv_remote_debugger.html"},{"line_number":156,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"AAAATn%2F9O0E%3D","line":153,"updated":"2013-12-13 18:19:49.000000000","message":"Can you take care of whitespacE ?","commit_id":"e22c86f4e92709855863a88e60f0f79e028b3dc0"}],"nova/cmd/__init__.py":[{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"5c338c07842800c26675034c31d0b83f2de0e3ee","unresolved":false,"context_lines":[{"line_number":32,"context_line":"import eventlet"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"if \u0027--debug-host\u0027 and \u0027--debug-port\u0027 in sys.argv:"},{"line_number":35,"context_line":"    eventlet.monkey_patch(os\u003dFalse, socket\u003dTrue)"},{"line_number":36,"context_line":"else:"},{"line_number":37,"context_line":"    eventlet.monkey_patch(os\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FI4Q%3D","line":35,"updated":"2013-11-13 22:56:56.000000000","message":"This change seems unnecessary.\n\n \u003e\u003e\u003e import eventlet\n \u003e\u003e\u003e eventlet.monkey_patch(os\u003dFalse)\n \u003e\u003e\u003e import socket\n \u003e\u003e\u003e import eventlet.patcher\n \u003e\u003e\u003e eventlet.patcher.is_monkey_patched(socket)\n True","commit_id":"eb5ae034a9338732f7359dea0a2c485d1a88819e"},{"author":{"_account_id":7400,"name":"Tracy Jones","email":"tjones@vmware.com","username":"tracyajones"},"change_message_id":"25cb25d1d61af2f29aa91ed23efef44b00961774","unresolved":false,"context_lines":[{"line_number":32,"context_line":"import eventlet"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"if \u0027--debug-host\u0027 and \u0027--debug-port\u0027 in sys.argv:"},{"line_number":35,"context_line":"    eventlet.monkey_patch(os\u003dFalse, socket\u003dTrue)"},{"line_number":36,"context_line":"else:"},{"line_number":37,"context_line":"    eventlet.monkey_patch(os\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2FIzQ%3D","line":35,"in_reply_to":"AAAATn%2F%2FI4Q%3D","updated":"2013-11-13 23:17:09.000000000","message":"I can\u0027t explain that (yet) and I get the same thing you did.  But If i leave off that line then the code hangs trying to make a connection to the debug socket\n\nIf i step through the patcher code i see socket is false by default and does get set here\n\n-\u003e if on[\u0027os\u0027] and not already_patched.get(\u0027os\u0027):\n(Pdb) print already_patched\n{}\n\n\u003e /usr/local/lib/python2.7/dist-packages/eventlet/patcher.py(232)monkey_patch()\n-\u003e if on[\u0027socket\u0027] and not already_patched.get(\u0027socket\u0027):\n(Pdb) \n\u003e /usr/local/lib/python2.7/dist-packages/eventlet/patcher.py(233)monkey_patch()\n-\u003e modules_to_patch +\u003d _green_socket_modules()\n\n\n(Pdb) bt\n  /usr/local/bin/nova-compute(6)\u003cmodule\u003e()\n-\u003e from nova.cmd.compute import main\n  /opt/stack/nova/nova/cmd/__init__.py(36)\u003cmodule\u003e()\n-\u003e eventlet.monkey_patch(os\u003dFalse, socket\u003dTrue)\n\u003e /usr/local/lib/python2.7/dist-packages/eventlet/patcher.py(226)monkey_patch()","commit_id":"eb5ae034a9338732f7359dea0a2c485d1a88819e"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"dcc07977ec603592ac683119dd0cdafbfb604f21","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"import eventlet"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"if \u0027--debug-host\u0027 and \u0027--debug-port\u0027 in sys.argv:"},{"line_number":35,"context_line":"    eventlet.monkey_patch(os\u003dFalse, socket\u003dTrue)"},{"line_number":36,"context_line":"else:"},{"line_number":37,"context_line":"    eventlet.monkey_patch(os\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FHp4%3D","line":34,"updated":"2013-11-14 07:15:56.000000000","message":"This should be  \"if \u0027--debug-host\u0027 in sys.argv and \u0027--debug-port\u0027 in sys.argv\" ?","commit_id":"e89eba0e339723c6ef4807af278b8ce4028345a8"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"d29d4c8fb5f9248b470e30fd30aaac0c0c397698","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"import eventlet"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"if \u0027--debug-host\u0027 and \u0027--debug-port\u0027 in sys.argv:"},{"line_number":35,"context_line":"    eventlet.monkey_patch(os\u003dFalse, socket\u003dTrue)"},{"line_number":36,"context_line":"else:"},{"line_number":37,"context_line":"    eventlet.monkey_patch(os\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FEkQ%3D","line":34,"in_reply_to":"AAAATn%2F%2FFt0%3D","updated":"2013-11-14 20:09:00.000000000","message":"Yeah Alex\u0027s suggestion is correct.","commit_id":"e89eba0e339723c6ef4807af278b8ce4028345a8"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8dde54fecd540e27c80f05628c0a3d24adedec3c","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"import eventlet"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"if \u0027--debug-host\u0027 and \u0027--debug-port\u0027 in sys.argv:"},{"line_number":35,"context_line":"    eventlet.monkey_patch(os\u003dFalse, socket\u003dTrue)"},{"line_number":36,"context_line":"else:"},{"line_number":37,"context_line":"    eventlet.monkey_patch(os\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FFt0%3D","line":34,"in_reply_to":"AAAATn%2F%2FGBQ%3D","updated":"2013-11-14 14:49:41.000000000","message":"oops, I have tried, you are right, it \u0027also\u0027 works! :)","commit_id":"e89eba0e339723c6ef4807af278b8ce4028345a8"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8d5a5c97547cce076609c696fb2b71274111a3c3","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"import eventlet"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"if \u0027--debug-host\u0027 and \u0027--debug-port\u0027 in sys.argv:"},{"line_number":35,"context_line":"    eventlet.monkey_patch(os\u003dFalse, socket\u003dTrue)"},{"line_number":36,"context_line":"else:"},{"line_number":37,"context_line":"    eventlet.monkey_patch(os\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FGBQ%3D","line":34,"in_reply_to":"AAAATn%2F%2FHos%3D","updated":"2013-11-14 13:53:55.000000000","message":"no, I think it\u0027s not only \u0027also\u0027 works, it\u0027s \u0027always\u0027 works. :)","commit_id":"e89eba0e339723c6ef4807af278b8ce4028345a8"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"c5120ef9d77afdc343da68c129c97b23fda8a6d3","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"import eventlet"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"if \u0027--debug-host\u0027 and \u0027--debug-port\u0027 in sys.argv:"},{"line_number":35,"context_line":"    eventlet.monkey_patch(os\u003dFalse, socket\u003dTrue)"},{"line_number":36,"context_line":"else:"},{"line_number":37,"context_line":"    eventlet.monkey_patch(os\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FHos%3D","line":34,"in_reply_to":"AAAATn%2F%2FHp4%3D","updated":"2013-11-14 07:27:31.000000000","message":"Alex, I think that the above also works, right? ;-)","commit_id":"e89eba0e339723c6ef4807af278b8ce4028345a8"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"3977ef4ab3e71b056a5e3f0ff656149d3723aadb","unresolved":false,"context_lines":[{"line_number":32,"context_line":"import eventlet"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"if \u0027--debug-host\u0027 in sys.argv and \u0027--debug-port\u0027 in sys.argv:"},{"line_number":35,"context_line":"    eventlet.monkey_patch(os\u003dFalse, socket\u003dTrue)"},{"line_number":36,"context_line":"else:"},{"line_number":37,"context_line":"    eventlet.monkey_patch(os\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2B44A%3D","line":35,"updated":"2013-11-18 22:46:57.000000000","message":"So, I\u0027m still concerned about this line since it doesn\u0027t make sense to me (see patch set 3).\n\nI believe you that it only works when it\u0027s here, but I think we should understand exactly why and have it documented in a comment in the code right here before merging anything.","commit_id":"ea06dd3a3ed2695eacf9d0b20b0e876d892cd96c"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"de68a5412c5881d87815016efbcc04d176ce24b3","unresolved":false,"context_lines":[{"line_number":32,"context_line":"import eventlet"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"if \u0027--debug-host\u0027 in sys.argv and \u0027--debug-port\u0027 in sys.argv:"},{"line_number":35,"context_line":"    eventlet.monkey_patch(os\u003dFalse, socket\u003dTrue)"},{"line_number":36,"context_line":"else:"},{"line_number":37,"context_line":"    eventlet.monkey_patch(os\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2B4fY%3D","line":35,"in_reply_to":"AAAATn%2F%2B44A%3D","updated":"2013-11-19 00:50:32.000000000","message":"So, eventlet.monkey_patch defaults to monkey patching everything unless any of the parameters is True, when it defaults to patching nothing but the ones passed as True.\n\nSo this is \u0027fixing\u0027 it by disabling monkey patching of the other modules that can be patched - os\u003dNone, select\u003dNone, socket\u003dNone, thread\u003dNone, time\u003dNone, psycopg\u003dNone\n\nso one of select, thread, time or psycopg breaks pydev when patched.\nTo debug: pass them all in as True, then disable them one at a time. (Or do a binary chop).","commit_id":"ea06dd3a3ed2695eacf9d0b20b0e876d892cd96c"},{"author":{"_account_id":7400,"name":"Tracy Jones","email":"tjones@vmware.com","username":"tracyajones"},"change_message_id":"150f2a6b4c61750a111bce9e1708ddbf1163eb6c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"import eventlet"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"if \u0027--debug-host\u0027 in sys.argv and \u0027--debug-port\u0027 in sys.argv:"},{"line_number":35,"context_line":"    eventlet.monkey_patch(os\u003dFalse, socket\u003dTrue)"},{"line_number":36,"context_line":"else:"},{"line_number":37,"context_line":"    eventlet.monkey_patch(os\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2B4QE%3D","line":35,"in_reply_to":"AAAATn%2F%2B4fY%3D","updated":"2013-11-19 02:02:21.000000000","message":"so the normal call is os\u003dFalse which enables everything but os??  That doesn\u0027t explain what i am seeing but it gives me a pointer or sorts.  I am suspecting it\u0027s threading without much but a guess.","commit_id":"ea06dd3a3ed2695eacf9d0b20b0e876d892cd96c"},{"author":{"_account_id":7400,"name":"Tracy Jones","email":"tjones@vmware.com","username":"tracyajones"},"change_message_id":"1333a8f2ad28a6cab1fef8dccd8cc5df4b8348ff","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"if \u0027--debug-host\u0027 in sys.argv and \u0027--debug-port\u0027 in sys.argv:"},{"line_number":35,"context_line":"    eventlet.monkey_patch(os\u003dFalse, socket\u003dTrue)"},{"line_number":36,"context_line":"else:"},{"line_number":37,"context_line":"    eventlet.monkey_patch(os\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAATn%2F%2B4hk%3D","line":36,"updated":"2013-11-19 00:37:59.000000000","message":"Ok i\u0027ll dig into this further and update when i have the exact reason why this is needed","commit_id":"ea06dd3a3ed2695eacf9d0b20b0e876d892cd96c"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"69968605d36265f5c0fe781b80b9118b724944fb","unresolved":false,"context_lines":[{"line_number":34,"context_line":"if \u0027--debug-host\u0027 in sys.argv and \u0027--debug-port\u0027 in sys.argv:"},{"line_number":35,"context_line":"    # turn off thread patching to enable the remote debugger"},{"line_number":36,"context_line":"    eventlet.monkey_patch(os\u003dFalse, select\u003dTrue, socket\u003dTrue, thread\u003dFalse,"},{"line_number":37,"context_line":"                      time\u003dTrue, psycopg\u003dTrue)"},{"line_number":38,"context_line":"else:"},{"line_number":39,"context_line":"    eventlet.monkey_patch(os\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2BXCE%3D","line":37,"updated":"2013-11-26 23:07:48.000000000","message":"why not just (os\u003dFalse, thread\u003dFalse) ?\n\nIIRC, that results in making the rest True by default","commit_id":"3a2a2f7e8831aafbba1a58b0a59df57943453a77"}],"nova/service.py":[{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"109ef60309346e405a044bf911b707d2957dddba","unresolved":false,"context_lines":[{"line_number":108,"context_line":"cli_opts \u003d ["},{"line_number":109,"context_line":"        cfg.StrOpt(\u0027debug-host\u0027,"},{"line_number":110,"context_line":"                    default\u003dNone,"},{"line_number":111,"context_line":"                    help\u003d\u0027Connect to debug host\u0027),"},{"line_number":112,"context_line":"        cfg.IntOpt(\u0027debug-port\u0027,"},{"line_number":113,"context_line":"                    default\u003dNone,"},{"line_number":114,"context_line":"                    help\u003d\u0027Connect to debug host port\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FIYs%3D","line":111,"updated":"2013-11-14 02:19:26.000000000","message":"host name not ip, right? if so can you make it more clear?","commit_id":"e89eba0e339723c6ef4807af278b8ce4028345a8"},{"author":{"_account_id":7040,"name":"GuoHui LIu","email":"liuguohui@gmail.com","username":"guohliu"},"change_message_id":"109ef60309346e405a044bf911b707d2957dddba","unresolved":false,"context_lines":[{"line_number":264,"context_line":"            from pydev import pydevd"},{"line_number":265,"context_line":"            LOG \u003d logging.getLogger(\u0027nova.compute\u0027)"},{"line_number":266,"context_line":"            LOG.debug(_(\u0027Listening on %(host)s:%(port)s for debug connection\u0027),"},{"line_number":267,"context_line":"                {\u0027host\u0027: CONF.debug_port, \u0027port\u0027: CONF.debug_host})"},{"line_number":268,"context_line":"            pydevd.settrace(host\u003dCONF.debug_host,"},{"line_number":269,"context_line":"                            port\u003dCONF.debug_port,"},{"line_number":270,"context_line":"                            stdoutToServer\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FIY8%3D","line":267,"updated":"2013-11-14 02:19:26.000000000","message":"the order is wrong, it should be {\u0027host\u0027: CONF.debug_host, \u0027port\u0027: CONF.debug_port}, right?","commit_id":"e89eba0e339723c6ef4807af278b8ce4028345a8"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"d29d4c8fb5f9248b470e30fd30aaac0c0c397698","unresolved":false,"context_lines":[{"line_number":264,"context_line":"            from pydev import pydevd"},{"line_number":265,"context_line":"            LOG \u003d logging.getLogger(\u0027nova.compute\u0027)"},{"line_number":266,"context_line":"            LOG.debug(_(\u0027Listening on %(host)s:%(port)s for debug connection\u0027),"},{"line_number":267,"context_line":"                {\u0027host\u0027: CONF.debug_port, \u0027port\u0027: CONF.debug_host})"},{"line_number":268,"context_line":"            pydevd.settrace(host\u003dCONF.debug_host,"},{"line_number":269,"context_line":"                            port\u003dCONF.debug_port,"},{"line_number":270,"context_line":"                            stdoutToServer\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FEk4%3D","line":267,"in_reply_to":"AAAATn%2F%2FIY8%3D","updated":"2013-11-14 20:09:00.000000000","message":"Doesn\u0027t really matter.","commit_id":"e89eba0e339723c6ef4807af278b8ce4028345a8"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"2db54dfe655c83771ae1519e28293d0452c3effe","unresolved":false,"context_lines":[{"line_number":108,"context_line":"cli_opts \u003d ["},{"line_number":109,"context_line":"        cfg.StrOpt(\u0027debug-host\u0027,"},{"line_number":110,"context_line":"                    default\u003dNone,"},{"line_number":111,"context_line":"                    help\u003d\u0027Connect to debug host (ip or name)\u0027),"},{"line_number":112,"context_line":"        cfg.IntOpt(\u0027debug-port\u0027,"},{"line_number":113,"context_line":"                    default\u003dNone,"},{"line_number":114,"context_line":"                    help\u003d\u0027Connect to debug host port\u0027),"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2B%2FhU%3D","line":111,"updated":"2013-11-16 02:57:50.000000000","message":"It is better change to \"debug host to connect\" or what else but we need to identify that this description is an explanation for \"debug-host\".","commit_id":"b3a06d540c74fdd31ec1f445f1cacf18a8ea6d46"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"2db54dfe655c83771ae1519e28293d0452c3effe","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                    default\u003dNone,"},{"line_number":111,"context_line":"                    help\u003d\u0027Connect to debug host (ip or name)\u0027),"},{"line_number":112,"context_line":"        cfg.IntOpt(\u0027debug-port\u0027,"},{"line_number":113,"context_line":"                    default\u003dNone,"},{"line_number":114,"context_line":"                    help\u003d\u0027Connect to debug host port\u0027),"},{"line_number":115,"context_line":"    ]"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2B%2FhY%3D","line":113,"updated":"2013-11-16 02:57:50.000000000","message":"I noticed that all IntOpt has a default value, not sure if we can also define a default value for this.","commit_id":"b3a06d540c74fdd31ec1f445f1cacf18a8ea6d46"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"2db54dfe655c83771ae1519e28293d0452c3effe","unresolved":false,"context_lines":[{"line_number":111,"context_line":"                    help\u003d\u0027Connect to debug host (ip or name)\u0027),"},{"line_number":112,"context_line":"        cfg.IntOpt(\u0027debug-port\u0027,"},{"line_number":113,"context_line":"                    default\u003dNone,"},{"line_number":114,"context_line":"                    help\u003d\u0027Connect to debug host port\u0027),"},{"line_number":115,"context_line":"    ]"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2B%2FhQ%3D","line":114,"updated":"2013-11-16 02:57:50.000000000","message":"What about use \"debug host port to connect\"?","commit_id":"b3a06d540c74fdd31ec1f445f1cacf18a8ea6d46"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"2db54dfe655c83771ae1519e28293d0452c3effe","unresolved":false,"context_lines":[{"line_number":262,"context_line":"            periodic_fuzzy_delay \u003d CONF.periodic_fuzzy_delay"},{"line_number":263,"context_line":"        if CONF.debug_host and CONF.debug_port:"},{"line_number":264,"context_line":"            from pydev import pydevd"},{"line_number":265,"context_line":"            LOG \u003d logging.getLogger(\u0027nova.compute\u0027)"},{"line_number":266,"context_line":"            LOG.debug(_(\u0027Listening on %(host)s:%(port)s for debug connection\u0027),"},{"line_number":267,"context_line":"                {\u0027host\u0027: CONF.debug_port, \u0027port\u0027: CONF.debug_host})"},{"line_number":268,"context_line":"            pydevd.settrace(host\u003dCONF.debug_host,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2B%2Fhg%3D","line":265,"updated":"2013-11-16 02:57:50.000000000","message":"Is it correct that we always use \"nova.compute\" as logger? What happened if I was debugging nova -scheduler?","commit_id":"b3a06d540c74fdd31ec1f445f1cacf18a8ea6d46"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"2db54dfe655c83771ae1519e28293d0452c3effe","unresolved":false,"context_lines":[{"line_number":268,"context_line":"            pydevd.settrace(host\u003dCONF.debug_host,"},{"line_number":269,"context_line":"                            port\u003dCONF.debug_port,"},{"line_number":270,"context_line":"                            stdoutToServer\u003dFalse,"},{"line_number":271,"context_line":"                            stderrToServer\u003dFalse)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        service_obj \u003d cls(host, binary, topic, manager,"},{"line_number":274,"context_line":"                          report_interval\u003dreport_interval,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2B%2FhM%3D","line":271,"updated":"2013-11-16 02:57:50.000000000","message":"Is it possible to add a unit test for this, i.e. test_create_with_debug()?","commit_id":"b3a06d540c74fdd31ec1f445f1cacf18a8ea6d46"},{"author":{"_account_id":7400,"name":"Tracy Jones","email":"tjones@vmware.com","username":"tracyajones"},"change_message_id":"534f6192f5099af303b1c4c2e9908e8fbb506bbc","unresolved":false,"context_lines":[{"line_number":269,"context_line":"                            port\u003dCONF.debug_port,"},{"line_number":270,"context_line":"                            stdoutToServer\u003dFalse,"},{"line_number":271,"context_line":"                            stderrToServer\u003dFalse)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        service_obj \u003d cls(host, binary, topic, manager,"},{"line_number":274,"context_line":"                          report_interval\u003dreport_interval,"},{"line_number":275,"context_line":"                          periodic_enable\u003dperiodic_enable,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2B53Y%3D","line":272,"updated":"2013-11-18 18:54:04.000000000","message":"Jay - i am not sure i can do this.  When people want to run remote debugging they need to make sure pydev is in their env.  I can\u0027t make that assumption for unit tests that people run in their env.  Can you recommend a way to work around this?","commit_id":"b3a06d540c74fdd31ec1f445f1cacf18a8ea6d46"},{"author":{"_account_id":7494,"name":"Guangya Liu","email":"gyliu513@gmail.com","username":"JayLau"},"change_message_id":"d6d3ed6ee5d14a7cfd61486cf5714acf1c0bfc5f","unresolved":false,"context_lines":[{"line_number":269,"context_line":"                            port\u003dCONF.debug_port,"},{"line_number":270,"context_line":"                            stdoutToServer\u003dFalse,"},{"line_number":271,"context_line":"                            stderrToServer\u003dFalse)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        service_obj \u003d cls(host, binary, topic, manager,"},{"line_number":274,"context_line":"                          report_interval\u003dreport_interval,"},{"line_number":275,"context_line":"                          periodic_enable\u003dperiodic_enable,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2BtcU%3D","line":272,"in_reply_to":"AAAATn%2F%2B53Y%3D","updated":"2013-11-21 08:37:48.000000000","message":"Tracy, sorry for replying late.\n\nAfter some thinking, I also did not find a good way for unit test this part, so I\u0027m ok if you do not add unit test for this. Thanks","commit_id":"b3a06d540c74fdd31ec1f445f1cacf18a8ea6d46"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"69968605d36265f5c0fe781b80b9118b724944fb","unresolved":false,"context_lines":[{"line_number":108,"context_line":"cli_opts \u003d ["},{"line_number":109,"context_line":"        cfg.StrOpt(\u0027debug-host\u0027,"},{"line_number":110,"context_line":"                    default\u003dNone,"},{"line_number":111,"context_line":"                    help\u003d\u0027Debug host (ip or name) to connect\u0027),"},{"line_number":112,"context_line":"        cfg.IntOpt(\u0027debug-port\u0027,"},{"line_number":113,"context_line":"                    help\u003d\u0027Debug port to connect\u0027),"},{"line_number":114,"context_line":"    ]"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2BXCA%3D","line":111,"updated":"2013-11-26 23:07:48.000000000","message":"I think these need much more information.  It should be clear that this is for pydev.  In fact, it may make sense to put them in a [pydev] config options group.\n\nAlso, I\u0027d like a giant warning about the fact that this also involves tweaking eventlet, meaning that behavior will be different than normal, and bugs that you don\u0027t normally see could occur.","commit_id":"3a2a2f7e8831aafbba1a58b0a59df57943453a77"},{"author":{"_account_id":7629,"name":"Shawn Hartsock","email":"hartsock@acm.org","username":"hartsocks"},"change_message_id":"e5da70ffe5d1d5ea5a17d1076c6d1f6649005b3f","unresolved":false,"context_lines":[{"line_number":108,"context_line":"cli_opts \u003d ["},{"line_number":109,"context_line":"        cfg.StrOpt(\u0027debug-host\u0027,"},{"line_number":110,"context_line":"                    default\u003dNone,"},{"line_number":111,"context_line":"                    help\u003d\u0027Debug host (ip or name) to connect\u0027),"},{"line_number":112,"context_line":"        cfg.IntOpt(\u0027debug-port\u0027,"},{"line_number":113,"context_line":"                    help\u003d\u0027Debug port to connect\u0027),"},{"line_number":114,"context_line":"    ]"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAATn%2F%2BD6M%3D","line":111,"in_reply_to":"AAAATn%2F%2BXCA%3D","updated":"2013-12-02 23:01:00.000000000","message":"So... the warnings in the logger ain\u0027t enough?\n\nI do like the idea of a pydev config group.","commit_id":"3a2a2f7e8831aafbba1a58b0a59df57943453a77"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"604d3231e6fc8c3cde68bd3b61147a02fea3e72e","unresolved":false,"context_lines":[{"line_number":126,"context_line":"CONF \u003d cfg.CONF"},{"line_number":127,"context_line":"CONF.register_opts(service_opts)"},{"line_number":128,"context_line":"CONF.import_opt(\u0027host\u0027, \u0027nova.netconf\u0027)"},{"line_number":129,"context_line":"CONF.register_cli_opts(cli_opts, \u0027pycharm\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"class Service(service.Service):"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAATn%2F9auc%3D","line":129,"updated":"2013-12-11 18:36:40.000000000","message":"in the commit message you say this isn\u0027t just for pycharm, so why is the group pycharm?","commit_id":"b3c8570db6ed971fc7873d5950d4170b30ad077f"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"c718ff7c966ba3ebd47bcb40034f2dbcb2d4ea73","unresolved":false,"context_lines":[{"line_number":126,"context_line":"CONF \u003d cfg.CONF"},{"line_number":127,"context_line":"CONF.register_opts(service_opts)"},{"line_number":128,"context_line":"CONF.import_opt(\u0027host\u0027, \u0027nova.netconf\u0027)"},{"line_number":129,"context_line":"CONF.register_cli_opts(cli_opts, \u0027pycharm\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"class Service(service.Service):"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAATn%2F9awg%3D","line":129,"updated":"2013-12-11 18:29:08.000000000","message":"why CLI only?","commit_id":"b3c8570db6ed971fc7873d5950d4170b30ad077f"},{"author":{"_account_id":7400,"name":"Tracy Jones","email":"tjones@vmware.com","username":"tracyajones"},"change_message_id":"3ff56f7213222c83621dd3d44fa6cba19e28f5f7","unresolved":false,"context_lines":[{"line_number":126,"context_line":"CONF \u003d cfg.CONF"},{"line_number":127,"context_line":"CONF.register_opts(service_opts)"},{"line_number":128,"context_line":"CONF.import_opt(\u0027host\u0027, \u0027nova.netconf\u0027)"},{"line_number":129,"context_line":"CONF.register_cli_opts(cli_opts, \u0027pycharm\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"class Service(service.Service):"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAATn%2F9Zos%3D","line":129,"in_reply_to":"AAAATn%2F9auc%3D","updated":"2013-12-11 22:17:15.000000000","message":"I\u0027ll change it to remote-debug?","commit_id":"b3c8570db6ed971fc7873d5950d4170b30ad077f"},{"author":{"_account_id":7400,"name":"Tracy Jones","email":"tjones@vmware.com","username":"tracyajones"},"change_message_id":"3ff56f7213222c83621dd3d44fa6cba19e28f5f7","unresolved":false,"context_lines":[{"line_number":126,"context_line":"CONF \u003d cfg.CONF"},{"line_number":127,"context_line":"CONF.register_opts(service_opts)"},{"line_number":128,"context_line":"CONF.import_opt(\u0027host\u0027, \u0027nova.netconf\u0027)"},{"line_number":129,"context_line":"CONF.register_cli_opts(cli_opts, \u0027pycharm\u0027)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"class Service(service.Service):"}],"source_content_type":"text/x-python","patch_set":13,"id":"AAAATn%2F9Zok%3D","line":129,"in_reply_to":"AAAATn%2F9awg%3D","updated":"2013-12-11 22:17:15.000000000","message":"Wouldn\u0027t people just use command line options when debugging?  I can do it in both but didn\u0027t think it was useful in nova.conf","commit_id":"b3c8570db6ed971fc7873d5950d4170b30ad077f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"62c60eed2314b70200047922edc1bd944db6615f","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"cli_opts \u003d ["},{"line_number":109,"context_line":"        cfg.StrOpt(\u0027host\u0027,"},{"line_number":110,"context_line":"                    default\u003dNone,"},{"line_number":111,"context_line":"                    help\u003d\u0027Debug host (ip or name) to connect. Note \u0027"},{"line_number":112,"context_line":"                        \u0027that using the remote debug option changes how \u0027"},{"line_number":113,"context_line":"                        \u0027Nova uses the eventlet library to support async IO. \u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9Owc%3D","line":110,"updated":"2013-12-13 18:29:53.000000000","message":"the default is None - you do not need this here","commit_id":"e22c86f4e92709855863a88e60f0f79e028b3dc0"},{"author":{"_account_id":7400,"name":"Tracy Jones","email":"tjones@vmware.com","username":"tracyajones"},"change_message_id":"20c27211513106f75265770e526054e1ed713435","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"cli_opts \u003d ["},{"line_number":109,"context_line":"        cfg.StrOpt(\u0027host\u0027,"},{"line_number":110,"context_line":"                    default\u003dNone,"},{"line_number":111,"context_line":"                    help\u003d\u0027Debug host (ip or name) to connect. Note \u0027"},{"line_number":112,"context_line":"                        \u0027that using the remote debug option changes how \u0027"},{"line_number":113,"context_line":"                        \u0027Nova uses the eventlet library to support async IO. \u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9OkU%3D","line":110,"in_reply_to":"AAAATn%2F9Opk%3D","updated":"2013-12-13 19:13:48.000000000","message":"no - we want debugging to be disabled by default.  doing something here will enable debugging (and change the thread model)","commit_id":"e22c86f4e92709855863a88e60f0f79e028b3dc0"},{"author":{"_account_id":7629,"name":"Shawn Hartsock","email":"hartsock@acm.org","username":"hartsocks"},"change_message_id":"caf88adf78d013845292c636e78cd0864d3aaf49","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"cli_opts \u003d ["},{"line_number":109,"context_line":"        cfg.StrOpt(\u0027host\u0027,"},{"line_number":110,"context_line":"                    default\u003dNone,"},{"line_number":111,"context_line":"                    help\u003d\u0027Debug host (ip or name) to connect. Note \u0027"},{"line_number":112,"context_line":"                        \u0027that using the remote debug option changes how \u0027"},{"line_number":113,"context_line":"                        \u0027Nova uses the eventlet library to support async IO. \u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"AAAATn%2F9Opk%3D","line":110,"in_reply_to":"AAAATn%2F9Owc%3D","updated":"2013-12-13 18:53:14.000000000","message":"is there a not None sensible default? Would \u0027localhost\u0027 make sense here?","commit_id":"e22c86f4e92709855863a88e60f0f79e028b3dc0"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"d94af361177f68b390e9d5d8f8d96cfe745dca7a","unresolved":false,"context_lines":[{"line_number":275,"context_line":"                 \u0027port\u0027: CONF.remote_debug.port})"},{"line_number":276,"context_line":"            pydevd.settrace(host\u003dCONF.remote_debug.host,"},{"line_number":277,"context_line":"                            port\u003dCONF.remote_debug.port,"},{"line_number":278,"context_line":"                            stdoutToServer\u003dFalse,"},{"line_number":279,"context_line":"                            stderrToServer\u003dFalse)"},{"line_number":280,"context_line":"            LOG.warn(_(\u0027WARNING: Using the remote debug option changes how \u0027"},{"line_number":281,"context_line":"                \u0027Nova uses the eventlet library to support async IO. This \u0027"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAATn%2F9N7U%3D","line":278,"updated":"2013-12-13 21:50:12.000000000","message":"Do you know what stdoutToServer and stderrToServer do?","commit_id":"0d655e6bce7b0355066d3b2330eb90872a2e1bb8"},{"author":{"_account_id":7400,"name":"Tracy Jones","email":"tjones@vmware.com","username":"tracyajones"},"change_message_id":"6463d1b4b4b8246feb81c2a10100e47538e3204a","unresolved":false,"context_lines":[{"line_number":275,"context_line":"                 \u0027port\u0027: CONF.remote_debug.port})"},{"line_number":276,"context_line":"            pydevd.settrace(host\u003dCONF.remote_debug.host,"},{"line_number":277,"context_line":"                            port\u003dCONF.remote_debug.port,"},{"line_number":278,"context_line":"                            stdoutToServer\u003dFalse,"},{"line_number":279,"context_line":"                            stderrToServer\u003dFalse)"},{"line_number":280,"context_line":"            LOG.warn(_(\u0027WARNING: Using the remote debug option changes how \u0027"},{"line_number":281,"context_line":"                \u0027Nova uses the eventlet library to support async IO. This \u0027"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAATn%2F9NvY%3D","line":278,"in_reply_to":"AAAATn%2F9N7U%3D","updated":"2013-12-13 22:48:49.000000000","message":"i believe it sends stdout and stderr to the remote debug server console.  I did not do it as i didn\u0027t want to take the bandwidth hit.","commit_id":"0d655e6bce7b0355066d3b2330eb90872a2e1bb8"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"746575dff9c83e48436f2880d215109cf6a287f2","unresolved":false,"context_lines":[{"line_number":275,"context_line":"                 \u0027port\u0027: CONF.remote_debug.port})"},{"line_number":276,"context_line":"            pydevd.settrace(host\u003dCONF.remote_debug.host,"},{"line_number":277,"context_line":"                            port\u003dCONF.remote_debug.port,"},{"line_number":278,"context_line":"                            stdoutToServer\u003dFalse,"},{"line_number":279,"context_line":"                            stderrToServer\u003dFalse)"},{"line_number":280,"context_line":"            LOG.warn(_(\u0027WARNING: Using the remote debug option changes how \u0027"},{"line_number":281,"context_line":"                \u0027Nova uses the eventlet library to support async IO. This \u0027"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAATn%2F9Nsk%3D","line":278,"in_reply_to":"AAAATn%2F9Nuw%3D","updated":"2013-12-13 23:14:41.000000000","message":"Gotcha, thanks.","commit_id":"0d655e6bce7b0355066d3b2330eb90872a2e1bb8"},{"author":{"_account_id":7400,"name":"Tracy Jones","email":"tjones@vmware.com","username":"tracyajones"},"change_message_id":"61286e48f83d741bc6d4f4ed554a3555b91d5c0b","unresolved":false,"context_lines":[{"line_number":275,"context_line":"                 \u0027port\u0027: CONF.remote_debug.port})"},{"line_number":276,"context_line":"            pydevd.settrace(host\u003dCONF.remote_debug.host,"},{"line_number":277,"context_line":"                            port\u003dCONF.remote_debug.port,"},{"line_number":278,"context_line":"                            stdoutToServer\u003dFalse,"},{"line_number":279,"context_line":"                            stderrToServer\u003dFalse)"},{"line_number":280,"context_line":"            LOG.warn(_(\u0027WARNING: Using the remote debug option changes how \u0027"},{"line_number":281,"context_line":"                \u0027Nova uses the eventlet library to support async IO. This \u0027"}],"source_content_type":"text/x-python","patch_set":16,"id":"AAAATn%2F9Nuw%3D","line":278,"in_reply_to":"AAAATn%2F9NvY%3D","updated":"2013-12-13 22:55:17.000000000","message":"I\u0027m wrong - it does nothing (for me).  I tried them both as True and stdout/stderr still go to my console in openstack and not in the debug server console","commit_id":"0d655e6bce7b0355066d3b2330eb90872a2e1bb8"}]}
