)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"3a5aad92df5501486c8fa6b8ac1ff2d0ee3f555b","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Sample output:"},{"line_number":17,"context_line":"$ ps xw | grep neutron-server"},{"line_number":18,"context_line":" 1126 pts/2    S+     0:00 grep --color\u003dauto neutron-server"},{"line_number":19,"context_line":"25355 ?        Ss     0:26 /usr/bin/python /usr/local/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini"},{"line_number":20,"context_line":"25368 ?        S      0:00 neutron-server: api worker"},{"line_number":21,"context_line":"25369 ?        S      0:00 neutron-server: api worker"},{"line_number":22,"context_line":"25370 ?        S      0:00 neutron-server: api worker"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9fdfeff1_68281932","line":19,"range":{"start_line":19,"start_character":73,"end_line":19,"end_character":164},"updated":"2019-02-17 13:14:38.000000000","message":"Nit: a bit long, you can reduce this to --config-file \u003cpath\u003e ...","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"c6da91f8e88f18e141711e623b94661fafa95072","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Sample output:"},{"line_number":17,"context_line":"$ ps xw | grep neutron-server"},{"line_number":18,"context_line":" 1126 pts/2    S+     0:00 grep --color\u003dauto neutron-server"},{"line_number":19,"context_line":"25355 ?        Ss     0:26 /usr/bin/python /usr/local/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini"},{"line_number":20,"context_line":"25368 ?        S      0:00 neutron-server: api worker"},{"line_number":21,"context_line":"25369 ?        S      0:00 neutron-server: api worker"},{"line_number":22,"context_line":"25370 ?        S      0:00 neutron-server: api worker"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9fdfeff1_bf5151db","line":19,"range":{"start_line":19,"start_character":73,"end_line":19,"end_character":164},"in_reply_to":"9fdfeff1_68281932","updated":"2019-02-18 06:17:05.000000000","message":"Done","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"3a5aad92df5501486c8fa6b8ac1ff2d0ee3f555b","unresolved":false,"context_lines":[{"line_number":17,"context_line":"$ ps xw | grep neutron-server"},{"line_number":18,"context_line":" 1126 pts/2    S+     0:00 grep --color\u003dauto neutron-server"},{"line_number":19,"context_line":"25355 ?        Ss     0:26 /usr/bin/python /usr/local/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini"},{"line_number":20,"context_line":"25368 ?        S      0:00 neutron-server: api worker"},{"line_number":21,"context_line":"25369 ?        S      0:00 neutron-server: api worker"},{"line_number":22,"context_line":"25370 ?        S      0:00 neutron-server: api worker"},{"line_number":23,"context_line":"25371 ?        S      0:00 neutron-server: api worker"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9fdfeff1_e813a9ff","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":53},"updated":"2019-02-17 13:14:38.000000000","message":"Works for both BSD and System V? I mean `ps aux` and `ps -ef` ?","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"69678aadbfa67f129d8f6af0943583e4f2b9c73b","unresolved":false,"context_lines":[{"line_number":17,"context_line":"$ ps xw | grep neutron-server"},{"line_number":18,"context_line":" 1126 pts/2    S+     0:00 grep --color\u003dauto neutron-server"},{"line_number":19,"context_line":"25355 ?        Ss     0:26 /usr/bin/python /usr/local/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini"},{"line_number":20,"context_line":"25368 ?        S      0:00 neutron-server: api worker"},{"line_number":21,"context_line":"25369 ?        S      0:00 neutron-server: api worker"},{"line_number":22,"context_line":"25370 ?        S      0:00 neutron-server: api worker"},{"line_number":23,"context_line":"25371 ?        S      0:00 neutron-server: api worker"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9fdfeff1_6b99f36a","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":53},"in_reply_to":"9fdfeff1_e813a9ff","updated":"2019-02-17 17:46:13.000000000","message":"Yes.","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"3a5aad92df5501486c8fa6b8ac1ff2d0ee3f555b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"25374 ?        S      0:02 neutron-server: services worker"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The \"normal\" looking ps output is the main parent."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Depends-On: https://review.openstack.org/637119"},{"line_number":31,"context_line":"Change-Id: I0e664a5f8e792d85b8f5483fb8c6f1cd59a677cd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9fdfeff1_a83281a5","line":29,"updated":"2019-02-17 13:14:38.000000000","message":"Nit: neutron needs the LP Tracer.","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"a42d1a5769ca15755f06d2fae73bdb609f59db56","unresolved":false,"context_lines":[{"line_number":26,"context_line":"25374 ?        S      0:02 neutron-server: services worker"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The \"normal\" looking ps output is the main parent."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Depends-On: https://review.openstack.org/637119"},{"line_number":31,"context_line":"Change-Id: I0e664a5f8e792d85b8f5483fb8c6f1cd59a677cd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9fdfeff1_1f009d33","line":29,"in_reply_to":"9fdfeff1_0ba4e7a4","updated":"2019-02-18 08:14:33.000000000","message":"I mean add a Launchpad bug to trace this nice proposal. IMO, it will be one RFE.","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"e436a3771f89759c2184440532e419a20b99c634","unresolved":false,"context_lines":[{"line_number":26,"context_line":"25374 ?        S      0:02 neutron-server: services worker"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The \"normal\" looking ps output is the main parent."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Depends-On: https://review.openstack.org/637119"},{"line_number":31,"context_line":"Change-Id: I0e664a5f8e792d85b8f5483fb8c6f1cd59a677cd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9fdfeff1_048fe42e","line":29,"in_reply_to":"9fdfeff1_1f009d33","updated":"2019-02-18 20:35:45.000000000","message":"Ahh, fair point. I\u0027ll add one now.","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"69678aadbfa67f129d8f6af0943583e4f2b9c73b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"25374 ?        S      0:02 neutron-server: services worker"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The \"normal\" looking ps output is the main parent."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Depends-On: https://review.openstack.org/637119"},{"line_number":31,"context_line":"Change-Id: I0e664a5f8e792d85b8f5483fb8c6f1cd59a677cd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9fdfeff1_0ba4e7a4","line":29,"in_reply_to":"9fdfeff1_a83281a5","updated":"2019-02-17 17:46:13.000000000","message":"I\u0027m not following what you mean here.  What is this?","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"}],"neutron/conf/common.py":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"3a5aad92df5501486c8fa6b8ac1ff2d0ee3f555b","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    cfg.IntOpt(\u0027send_events_interval\u0027, default\u003d2,"},{"line_number":111,"context_line":"               help\u003d_(\u0027Number of seconds between sending events to nova if \u0027"},{"line_number":112,"context_line":"                      \u0027there are any events to send.\u0027)),"},{"line_number":113,"context_line":"    cfg.BoolOpt(\u0027setproctitle\u0027, default\u003dTrue,"},{"line_number":114,"context_line":"                help\u003d_(\"Set process name to match worker role.\")),"},{"line_number":115,"context_line":"    cfg.StrOpt(\u0027ipam_driver\u0027, default\u003d\u0027internal\u0027,"},{"line_number":116,"context_line":"               help\u003d_(\"Neutron IPAM (IP address management) driver to use. \""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_4825155b","line":113,"range":{"start_line":113,"start_character":40,"end_line":113,"end_character":44},"updated":"2019-02-17 13:14:38.000000000","message":"It\u0027s better to set to False to prevent some upgrading issue of OP tools.","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"69678aadbfa67f129d8f6af0943583e4f2b9c73b","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    cfg.IntOpt(\u0027send_events_interval\u0027, default\u003d2,"},{"line_number":111,"context_line":"               help\u003d_(\u0027Number of seconds between sending events to nova if \u0027"},{"line_number":112,"context_line":"                      \u0027there are any events to send.\u0027)),"},{"line_number":113,"context_line":"    cfg.BoolOpt(\u0027setproctitle\u0027, default\u003dTrue,"},{"line_number":114,"context_line":"                help\u003d_(\"Set process name to match worker role.\")),"},{"line_number":115,"context_line":"    cfg.StrOpt(\u0027ipam_driver\u0027, default\u003d\u0027internal\u0027,"},{"line_number":116,"context_line":"               help\u003d_(\"Neutron IPAM (IP address management) driver to use. \""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_2b9f6b50","line":113,"range":{"start_line":113,"start_character":40,"end_line":113,"end_character":44},"in_reply_to":"9fdfeff1_4825155b","updated":"2019-02-17 17:46:13.000000000","message":"See reply on the neutron-lib review.","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dabb8b85a984c69c01101885bbd889657298166e","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    cfg.IntOpt(\u0027send_events_interval\u0027, default\u003d2,"},{"line_number":111,"context_line":"               help\u003d_(\u0027Number of seconds between sending events to nova if \u0027"},{"line_number":112,"context_line":"                      \u0027there are any events to send.\u0027)),"},{"line_number":113,"context_line":"    cfg.StrOpt(\u0027setproctitle\u0027, default\u003d\u0027on\u0027,"},{"line_number":114,"context_line":"               help\u003d_(\"Set process name to match child worker role. \""},{"line_number":115,"context_line":"                      \"Available options are off, which retains previous \""},{"line_number":116,"context_line":"                      \"behavior, brief, which renames processes to be \""}],"source_content_type":"text/x-python","patch_set":9,"id":"9fdfeff1_462946f0","line":113,"updated":"2019-02-20 15:17:03.000000000","message":"So I guess these values were defined by an external library, and the neutron-lib change has merged...","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"52ea7038c52045c21d94cd3d0bc3f2d27fbf71e7","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    cfg.IntOpt(\u0027send_events_interval\u0027, default\u003d2,"},{"line_number":111,"context_line":"               help\u003d_(\u0027Number of seconds between sending events to nova if \u0027"},{"line_number":112,"context_line":"                      \u0027there are any events to send.\u0027)),"},{"line_number":113,"context_line":"    cfg.StrOpt(\u0027setproctitle\u0027, default\u003d\u0027on\u0027,"},{"line_number":114,"context_line":"               help\u003d_(\"Set process name to match child worker role. \""},{"line_number":115,"context_line":"                      \"Available options are off, which retains previous \""},{"line_number":116,"context_line":"                      \"behavior, brief, which renames processes to be \""}],"source_content_type":"text/x-python","patch_set":9,"id":"9fdfeff1_f725825d","line":113,"in_reply_to":"9fdfeff1_462946f0","updated":"2019-02-20 16:43:52.000000000","message":"It hasn\u0027t released yet, so we still have time to change them if you want. I used these three, because I kinda intended to introduce a later change called \"verbose\" or something similar, which would set the title to whatever operation the process was doing.","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dabb8b85a984c69c01101885bbd889657298166e","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                      \u0027there are any events to send.\u0027)),"},{"line_number":113,"context_line":"    cfg.StrOpt(\u0027setproctitle\u0027, default\u003d\u0027on\u0027,"},{"line_number":114,"context_line":"               help\u003d_(\"Set process name to match child worker role. \""},{"line_number":115,"context_line":"                      \"Available options are off, which retains previous \""},{"line_number":116,"context_line":"                      \"behavior, brief, which renames processes to be \""},{"line_number":117,"context_line":"                      \"neutron-server: role, or on, which renames processes \""},{"line_number":118,"context_line":"                      \"to be neutron-server: role (original string).\")),"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fdfeff1_e6507a61","line":115,"range":{"start_line":115,"start_character":45,"end_line":115,"end_character":48},"updated":"2019-02-20 15:17:03.000000000","message":"You should put single quotes around the values and output so they are move obvious, eg \u0027off\u0027, and maybe just a little re-format:\n\n\"... Available options are: \u0027off\u0027 - retains the previous behavior; \u0027brief\u0027 - renames processes to be \u0027neutron-server: role\u0027; \u0027on\u0027 - renames processes to be \u0027neutron-server: role (original string)\u0027.\"","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"a6654b81d40c08c3ab79084b4961b3b9731aef73","unresolved":false,"context_lines":[{"line_number":112,"context_line":"                      \u0027there are any events to send.\u0027)),"},{"line_number":113,"context_line":"    cfg.StrOpt(\u0027setproctitle\u0027, default\u003d\u0027on\u0027,"},{"line_number":114,"context_line":"               help\u003d_(\"Set process name to match child worker role. \""},{"line_number":115,"context_line":"                      \"Available options are off, which retains previous \""},{"line_number":116,"context_line":"                      \"behavior, brief, which renames processes to be \""},{"line_number":117,"context_line":"                      \"neutron-server: role, or on, which renames processes \""},{"line_number":118,"context_line":"                      \"to be neutron-server: role (original string).\")),"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fdfeff1_db1ac4c4","line":115,"range":{"start_line":115,"start_character":45,"end_line":115,"end_character":48},"in_reply_to":"9fdfeff1_e6507a61","updated":"2019-02-22 05:33:06.000000000","message":"Done","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"04b0d95d98eaa2a92a8bd7fda3c7bd973866e23f","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    cfg.StrOpt(\u0027setproctitle\u0027, default\u003d\u0027on\u0027,"},{"line_number":114,"context_line":"               help\u003d_(\"Set process name to match child worker role. \""},{"line_number":115,"context_line":"                      \"Available options are: \u0027off\u0027 - retains the previous \""},{"line_number":116,"context_line":"                      \"behavior; \u0027brief\u0027 - renames processes to \""},{"line_number":117,"context_line":"                      \"\u0027neutron-server: role\u0027; \u0027on\u0027 - renames processes \""},{"line_number":118,"context_line":"                      \"to \u0027neutron-server: role (original string)\u0027.\")),"},{"line_number":119,"context_line":"    cfg.StrOpt(\u0027ipam_driver\u0027, default\u003d\u0027internal\u0027,"},{"line_number":120,"context_line":"               help\u003d_(\"Neutron IPAM (IP address management) driver to use. \""}],"source_content_type":"text/x-python","patch_set":14,"id":"9fdfeff1_079373a4","line":117,"range":{"start_line":116,"start_character":33,"end_line":117,"end_character":45},"updated":"2019-03-01 16:16:50.000000000","message":"for me it\u0027s fine but I wonder what is use case for this \"brief\" mode","commit_id":"72f5bf780fe37ae9ef0b38dd4bc5daa72e1992fb"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"363cf9b02603b6ae829f848758685361eed5003e","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    cfg.StrOpt(\u0027setproctitle\u0027, default\u003d\u0027on\u0027,"},{"line_number":114,"context_line":"               help\u003d_(\"Set process name to match child worker role. \""},{"line_number":115,"context_line":"                      \"Available options are: \u0027off\u0027 - retains the previous \""},{"line_number":116,"context_line":"                      \"behavior; \u0027brief\u0027 - renames processes to \""},{"line_number":117,"context_line":"                      \"\u0027neutron-server: role\u0027; \u0027on\u0027 - renames processes \""},{"line_number":118,"context_line":"                      \"to \u0027neutron-server: role (original string)\u0027.\")),"},{"line_number":119,"context_line":"    cfg.StrOpt(\u0027ipam_driver\u0027, default\u003d\u0027internal\u0027,"},{"line_number":120,"context_line":"               help\u003d_(\"Neutron IPAM (IP address management) driver to use. \""}],"source_content_type":"text/x-python","patch_set":14,"id":"9fdfeff1_473adbe5","line":117,"range":{"start_line":116,"start_character":33,"end_line":117,"end_character":45},"in_reply_to":"9fdfeff1_0790534d","updated":"2019-03-01 16:37:35.000000000","message":"re-worded","commit_id":"72f5bf780fe37ae9ef0b38dd4bc5daa72e1992fb"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"50c75575468b03f280c960bfcd64b0d73512dccd","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    cfg.StrOpt(\u0027setproctitle\u0027, default\u003d\u0027on\u0027,"},{"line_number":114,"context_line":"               help\u003d_(\"Set process name to match child worker role. \""},{"line_number":115,"context_line":"                      \"Available options are: \u0027off\u0027 - retains the previous \""},{"line_number":116,"context_line":"                      \"behavior; \u0027brief\u0027 - renames processes to \""},{"line_number":117,"context_line":"                      \"\u0027neutron-server: role\u0027; \u0027on\u0027 - renames processes \""},{"line_number":118,"context_line":"                      \"to \u0027neutron-server: role (original string)\u0027.\")),"},{"line_number":119,"context_line":"    cfg.StrOpt(\u0027ipam_driver\u0027, default\u003d\u0027internal\u0027,"},{"line_number":120,"context_line":"               help\u003d_(\"Neutron IPAM (IP address management) driver to use. \""}],"source_content_type":"text/x-python","patch_set":14,"id":"9fdfeff1_0790534d","line":117,"range":{"start_line":116,"start_character":33,"end_line":117,"end_character":45},"in_reply_to":"9fdfeff1_079373a4","updated":"2019-03-01 16:21:22.000000000","message":"brief is what\u0027s in the git commit message, it\u0027s much prettier than the default of \"on\", which is way way long, to alleviate the backwards compat concerns","commit_id":"72f5bf780fe37ae9ef0b38dd4bc5daa72e1992fb"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"21e01e419e5a3b7e55952a06642ff38a66a08514","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    cfg.StrOpt(\u0027setproctitle\u0027, default\u003d\u0027on\u0027,"},{"line_number":114,"context_line":"               help\u003d_(\"Set process name to match child worker role. \""},{"line_number":115,"context_line":"                      \"Available options are: \u0027off\u0027 - retains the previous \""},{"line_number":116,"context_line":"                      \"behavior; \u0027brief\u0027 - renames processes to \""},{"line_number":117,"context_line":"                      \"\u0027neutron-server: role\u0027; \u0027on\u0027 - renames processes \""},{"line_number":118,"context_line":"                      \"to \u0027neutron-server: role (original string)\u0027.\")),"},{"line_number":119,"context_line":"    cfg.StrOpt(\u0027ipam_driver\u0027, default\u003d\u0027internal\u0027,"},{"line_number":120,"context_line":"               help\u003d_(\"Neutron IPAM (IP address management) driver to use. \""}],"source_content_type":"text/x-python","patch_set":14,"id":"9fdfeff1_4f10adac","line":117,"range":{"start_line":116,"start_character":33,"end_line":117,"end_character":45},"in_reply_to":"9fdfeff1_473adbe5","updated":"2019-03-01 20:02:10.000000000","message":"ok, thx. I probably missed it in commit message somehow :)","commit_id":"72f5bf780fe37ae9ef0b38dd4bc5daa72e1992fb"}],"neutron/service.py":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"3a5aad92df5501486c8fa6b8ac1ff2d0ee3f555b","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        # TODO(dougwig) - older versions neutorn-lib do not support the"},{"line_number":102,"context_line":"        # setproctitle feature; don\u0027t die with them for now."},{"line_number":103,"context_line":"        try:"},{"line_number":104,"context_line":"            super(RpcWorker, self).__init__("},{"line_number":105,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":106,"context_line":"                set_proctitle\u003dcfg.CONF.setproctitle"},{"line_number":107,"context_line":"            )"},{"line_number":108,"context_line":"        except TypeError as e:"},{"line_number":109,"context_line":"            super(RpcWorker, self).__init__("},{"line_number":110,"context_line":"                worker_process_count\u003dworker_process_count,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_e8e889df","line":107,"range":{"start_line":104,"start_character":35,"end_line":107,"end_character":13},"updated":"2019-02-17 13:14:38.000000000","message":"So many duplicated code, it\u0027s better to add optional parameters `**kwargs` to the parent class, and then check if the `set_proctitle` was set there, then you will save these code here.","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"a42d1a5769ca15755f06d2fae73bdb609f59db56","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        # TODO(dougwig) - older versions neutorn-lib do not support the"},{"line_number":102,"context_line":"        # setproctitle feature; don\u0027t die with them for now."},{"line_number":103,"context_line":"        try:"},{"line_number":104,"context_line":"            super(RpcWorker, self).__init__("},{"line_number":105,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":106,"context_line":"                set_proctitle\u003dcfg.CONF.setproctitle"},{"line_number":107,"context_line":"            )"},{"line_number":108,"context_line":"        except TypeError as e:"},{"line_number":109,"context_line":"            super(RpcWorker, self).__init__("},{"line_number":110,"context_line":"                worker_process_count\u003dworker_process_count,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_5f9f0501","line":107,"range":{"start_line":104,"start_character":35,"end_line":107,"end_character":13},"in_reply_to":"9fdfeff1_4baf4f7c","updated":"2019-02-18 08:14:33.000000000","message":"But you are repeating yourself everywhere, right? Including such try catch. DRY : ). I don\u0027t think it is now too hard to read for such situation. You can explicitly set the new param set_proctitle to all these super calls, so it is visible. Yes, everything has its opposite, the parent class implicitly accept all unknow params. But we still explicitly find/check the parm from \u0027kwargs\u0027. And we have so many examples:\nhttps://github.com/openstack/neutron/search?l\u003dPython\u0026q\u003din+kwargs","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"e436a3771f89759c2184440532e419a20b99c634","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        # TODO(dougwig) - older versions neutorn-lib do not support the"},{"line_number":102,"context_line":"        # setproctitle feature; don\u0027t die with them for now."},{"line_number":103,"context_line":"        try:"},{"line_number":104,"context_line":"            super(RpcWorker, self).__init__("},{"line_number":105,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":106,"context_line":"                set_proctitle\u003dcfg.CONF.setproctitle"},{"line_number":107,"context_line":"            )"},{"line_number":108,"context_line":"        except TypeError as e:"},{"line_number":109,"context_line":"            super(RpcWorker, self).__init__("},{"line_number":110,"context_line":"                worker_process_count\u003dworker_process_count,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_44864c16","line":107,"range":{"start_line":104,"start_character":35,"end_line":107,"end_character":13},"in_reply_to":"9fdfeff1_5f9f0501","updated":"2019-02-18 20:35:45.000000000","message":"I see both sides of this one, so it\u0027s hard for me. The try\u0027s are temporary until the supporting change in neutron-lib merges and is released (it also doesn\u0027t have kwargs, so it\u0027d be there regardless.) . For the rest, there are only a few spots it\u0027d remove, at the cost of what, to me at least, is readability.  Note how in some places the CONF is passed in, in . others False, due to the balance of how all our pieces launch things. Let me . take another look, maybe there is some boiling down that can be done.","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"69678aadbfa67f129d8f6af0943583e4f2b9c73b","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        # TODO(dougwig) - older versions neutorn-lib do not support the"},{"line_number":102,"context_line":"        # setproctitle feature; don\u0027t die with them for now."},{"line_number":103,"context_line":"        try:"},{"line_number":104,"context_line":"            super(RpcWorker, self).__init__("},{"line_number":105,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":106,"context_line":"                set_proctitle\u003dcfg.CONF.setproctitle"},{"line_number":107,"context_line":"            )"},{"line_number":108,"context_line":"        except TypeError as e:"},{"line_number":109,"context_line":"            super(RpcWorker, self).__init__("},{"line_number":110,"context_line":"                worker_process_count\u003dworker_process_count,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_4baf4f7c","line":107,"range":{"start_line":104,"start_character":35,"end_line":107,"end_character":13},"in_reply_to":"9fdfeff1_e8e889df","updated":"2019-02-17 17:46:13.000000000","message":"I\u0027m not a fan of using kwargs when we know the argument, as opposed to something truly variable. It makes the card really hard to read over time, because it becomes really difficult to see what\u0027s actually being passed where, without inserting a print statement or using a debugger. I appreciate this feedback, but don\u0027t agree with it. Though I\u0027ll bow to consensus if other folks want kwargs.","commit_id":"78f2d66352cdc4819811bd7b842a93dcc47ec737"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dabb8b85a984c69c01101885bbd889657298166e","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def start(self):"},{"line_number":109,"context_line":"        super(RpcWorker, self).start(desc\u003d\"rpc worker\")"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        for plugin in self._plugins:"},{"line_number":112,"context_line":"            if hasattr(plugin, self.start_listeners_method):"},{"line_number":113,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fdfeff1_a64a72a9","line":110,"updated":"2019-02-20 15:17:03.000000000","message":"nit: whitespace change","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"a6654b81d40c08c3ab79084b4961b3b9731aef73","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"    def start(self):"},{"line_number":109,"context_line":"        super(RpcWorker, self).start(desc\u003d\"rpc worker\")"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        for plugin in self._plugins:"},{"line_number":112,"context_line":"            if hasattr(plugin, self.start_listeners_method):"},{"line_number":113,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fdfeff1_3b8190c4","line":110,"in_reply_to":"9fdfeff1_a64a72a9","updated":"2019-02-22 05:33:06.000000000","message":"Done","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"}],"neutron/worker.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ae0b1bb2a41cc0870b75136dccc4cad426465e5c","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    def __init__(self, worker_process_count\u003d1, set_proctitle\u003dNone):"},{"line_number":21,"context_line":"        # TODO(dougwig) - older versions neutron-lib do not support the"},{"line_number":22,"context_line":"        # setproctitle feature; don\u0027t die with them for now."},{"line_number":23,"context_line":"        if set_proctitle is None:"},{"line_number":24,"context_line":"            set_proctitle \u003d cfg.CONF.setproctitle"},{"line_number":25,"context_line":"        try:"},{"line_number":26,"context_line":"            super(NeutronBaseWorker, self).__init__("},{"line_number":27,"context_line":"                worker_process_count\u003dworker_process_count,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_9424e20e","line":24,"range":{"start_line":23,"start_character":8,"end_line":24,"end_character":49},"updated":"2019-02-25 15:52:21.000000000","message":"nit: set_proctitle \u003d set_proctitle or cfg.CONF.setproctitle","commit_id":"268d0c6eeaafab7bcd8a1c92633a8232125ef9ba"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"b4dcbdedfd21243a5773f3e199941df7f751b613","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    def __init__(self, worker_process_count\u003d1, set_proctitle\u003dNone):"},{"line_number":21,"context_line":"        # TODO(dougwig) - older versions neutron-lib do not support the"},{"line_number":22,"context_line":"        # setproctitle feature; don\u0027t die with them for now."},{"line_number":23,"context_line":"        if set_proctitle is None:"},{"line_number":24,"context_line":"            set_proctitle \u003d cfg.CONF.setproctitle"},{"line_number":25,"context_line":"        try:"},{"line_number":26,"context_line":"            super(NeutronBaseWorker, self).__init__("},{"line_number":27,"context_line":"                worker_process_count\u003dworker_process_count,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_c4261bcc","line":24,"range":{"start_line":23,"start_character":8,"end_line":24,"end_character":49},"in_reply_to":"9fdfeff1_9424e20e","updated":"2019-02-26 20:13:33.000000000","message":"Done","commit_id":"268d0c6eeaafab7bcd8a1c92633a8232125ef9ba"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ae0b1bb2a41cc0870b75136dccc4cad426465e5c","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        if set_proctitle is None:"},{"line_number":24,"context_line":"            set_proctitle \u003d cfg.CONF.setproctitle"},{"line_number":25,"context_line":"        try:"},{"line_number":26,"context_line":"            super(NeutronBaseWorker, self).__init__("},{"line_number":27,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":28,"context_line":"                set_proctitle\u003dset_proctitle"},{"line_number":29,"context_line":"            )"},{"line_number":30,"context_line":"        except TypeError as e:"},{"line_number":31,"context_line":"            super(NeutronBaseWorker, self).__init__("},{"line_number":32,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":33,"context_line":"            )"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def start(self, name\u003d\"neutron-server\", desc\u003dNone):"},{"line_number":36,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_b441e665","line":33,"range":{"start_line":26,"start_character":0,"end_line":33,"end_character":13},"updated":"2019-02-25 15:52:21.000000000","message":"1) I would prefer to force the neutron-lib version\n2) Please, use the reflective tools provided by Python:\n\n\u003e\u003e\u003e import inspect \n\u003e\u003e\u003e from neutron_lib import worker\n\u003e\u003e\u003e inspect.getargspec(worker.BaseWorker.__init__)\nArgSpec(args\u003d[\u0027self\u0027, \u0027worker_process_count\u0027], varargs\u003dNone, keywords\u003dNone, defaults\u003d(1,))","commit_id":"268d0c6eeaafab7bcd8a1c92633a8232125ef9ba"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"31a5e18fb33ff68600d1a53e1f4f38bb8b1e8398","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        if set_proctitle is None:"},{"line_number":24,"context_line":"            set_proctitle \u003d cfg.CONF.setproctitle"},{"line_number":25,"context_line":"        try:"},{"line_number":26,"context_line":"            super(NeutronBaseWorker, self).__init__("},{"line_number":27,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":28,"context_line":"                set_proctitle\u003dset_proctitle"},{"line_number":29,"context_line":"            )"},{"line_number":30,"context_line":"        except TypeError as e:"},{"line_number":31,"context_line":"            super(NeutronBaseWorker, self).__init__("},{"line_number":32,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":33,"context_line":"            )"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def start(self, name\u003d\"neutron-server\", desc\u003dNone):"},{"line_number":36,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_bcd9c883","line":33,"range":{"start_line":26,"start_character":0,"end_line":33,"end_character":13},"in_reply_to":"9fdfeff1_21f5b557","updated":"2019-02-25 18:09:11.000000000","message":"Right, I didn\u0027t say it doesn\u0027t work. It results in this:\n\n/Users/dwiegley/work/open-source/neutron/.tox/shared/lib/python3.7/site-packages/neutron_lib/db/api.py:155: DeprecationWarning: inspect.getargspec() is deprecated since Python 3.0, use inspect.signature() or inspect.getfullargspec()\n  if \u0027jitter\u0027 in inspect.getargspec(oslo_db_api.wrap_db_retry.__init__).args:\n^C... stopped\n\nI\u0027d rather pin to the lib version than introduce another of those.","commit_id":"268d0c6eeaafab7bcd8a1c92633a8232125ef9ba"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"18c0d7aa9ac804581f55a8d3698f5be50ae94566","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        if set_proctitle is None:"},{"line_number":24,"context_line":"            set_proctitle \u003d cfg.CONF.setproctitle"},{"line_number":25,"context_line":"        try:"},{"line_number":26,"context_line":"            super(NeutronBaseWorker, self).__init__("},{"line_number":27,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":28,"context_line":"                set_proctitle\u003dset_proctitle"},{"line_number":29,"context_line":"            )"},{"line_number":30,"context_line":"        except TypeError as e:"},{"line_number":31,"context_line":"            super(NeutronBaseWorker, self).__init__("},{"line_number":32,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":33,"context_line":"            )"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def start(self, name\u003d\"neutron-server\", desc\u003dNone):"},{"line_number":36,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_21f5b557","line":33,"range":{"start_line":26,"start_character":0,"end_line":33,"end_character":13},"in_reply_to":"9fdfeff1_8894c645","updated":"2019-02-25 17:49:07.000000000","message":"I\u0027ve tested this both with 2.7 and 3.5: http://paste.openstack.org/show/746065/","commit_id":"268d0c6eeaafab7bcd8a1c92633a8232125ef9ba"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"bac875e34cec9ee76c6a004ca96c651a5503c86a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        if set_proctitle is None:"},{"line_number":24,"context_line":"            set_proctitle \u003d cfg.CONF.setproctitle"},{"line_number":25,"context_line":"        try:"},{"line_number":26,"context_line":"            super(NeutronBaseWorker, self).__init__("},{"line_number":27,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":28,"context_line":"                set_proctitle\u003dset_proctitle"},{"line_number":29,"context_line":"            )"},{"line_number":30,"context_line":"        except TypeError as e:"},{"line_number":31,"context_line":"            super(NeutronBaseWorker, self).__init__("},{"line_number":32,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":33,"context_line":"            )"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def start(self, name\u003d\"neutron-server\", desc\u003dNone):"},{"line_number":36,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_8894c645","line":33,"range":{"start_line":26,"start_character":0,"end_line":33,"end_character":13},"in_reply_to":"9fdfeff1_b441e665","updated":"2019-02-25 16:05:14.000000000","message":"I\u0027ve done that in a few other places, and it results in an annoying and impossible to get rid of DeprecationWarning, since getargspec/getfullargspec/signature are not backwards compatible at all, and six has nothing for it.","commit_id":"268d0c6eeaafab7bcd8a1c92633a8232125ef9ba"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"b4dcbdedfd21243a5773f3e199941df7f751b613","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        if set_proctitle is None:"},{"line_number":24,"context_line":"            set_proctitle \u003d cfg.CONF.setproctitle"},{"line_number":25,"context_line":"        try:"},{"line_number":26,"context_line":"            super(NeutronBaseWorker, self).__init__("},{"line_number":27,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":28,"context_line":"                set_proctitle\u003dset_proctitle"},{"line_number":29,"context_line":"            )"},{"line_number":30,"context_line":"        except TypeError as e:"},{"line_number":31,"context_line":"            super(NeutronBaseWorker, self).__init__("},{"line_number":32,"context_line":"                worker_process_count\u003dworker_process_count,"},{"line_number":33,"context_line":"            )"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def start(self, name\u003d\"neutron-server\", desc\u003dNone):"},{"line_number":36,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_841ed36d","line":33,"range":{"start_line":26,"start_character":0,"end_line":33,"end_character":13},"in_reply_to":"9fdfeff1_bcd9c883","updated":"2019-02-26 20:13:33.000000000","message":"Bumped library version, removed","commit_id":"268d0c6eeaafab7bcd8a1c92633a8232125ef9ba"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ae0b1bb2a41cc0870b75136dccc4cad426465e5c","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def start(self, name\u003d\"neutron-server\", desc\u003dNone):"},{"line_number":36,"context_line":"        try:"},{"line_number":37,"context_line":"            super(NeutronBaseWorker, self).start(name\u003dname, desc\u003ddesc)"},{"line_number":38,"context_line":"        except TypeError as e:"},{"line_number":39,"context_line":"            super(NeutronBaseWorker, self).start()"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_b436c601","line":37,"updated":"2019-02-25 15:52:21.000000000","message":"At this point you can now which version of worker.BaseWorker you have. That\u0027s better than handling an exception.","commit_id":"268d0c6eeaafab7bcd8a1c92633a8232125ef9ba"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"b4dcbdedfd21243a5773f3e199941df7f751b613","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def start(self, name\u003d\"neutron-server\", desc\u003dNone):"},{"line_number":36,"context_line":"        try:"},{"line_number":37,"context_line":"            super(NeutronBaseWorker, self).start(name\u003dname, desc\u003ddesc)"},{"line_number":38,"context_line":"        except TypeError as e:"},{"line_number":39,"context_line":"            super(NeutronBaseWorker, self).start()"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_4709cd28","line":37,"in_reply_to":"9fdfeff1_b436c601","updated":"2019-02-26 20:13:33.000000000","message":"Removed","commit_id":"268d0c6eeaafab7bcd8a1c92633a8232125ef9ba"}],"neutron/wsgi.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ae0b1bb2a41cc0870b75136dccc4cad426465e5c","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        self._launch(application, workers)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def _launch(self, application, workers\u003d0, desc\u003dNone):"},{"line_number":179,"context_line":"        if desc is None:"},{"line_number":180,"context_line":"            set_proctitle \u003d \"off\""},{"line_number":181,"context_line":"        else:"},{"line_number":182,"context_line":"            set_proctitle \u003d CONF.setproctitle"},{"line_number":183,"context_line":"        service \u003d WorkerService(self, application, set_proctitle,"},{"line_number":184,"context_line":"                                self.disable_ssl, workers)"},{"line_number":185,"context_line":"        if workers \u003c 1:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_28527a14","line":182,"range":{"start_line":179,"start_character":9,"end_line":182,"end_character":45},"updated":"2019-02-25 15:52:21.000000000","message":"nit: set_proctitle \u003d \"off\" if not desc else CONF.setproctitle","commit_id":"268d0c6eeaafab7bcd8a1c92633a8232125ef9ba"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"b4dcbdedfd21243a5773f3e199941df7f751b613","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        self._launch(application, workers)"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"    def _launch(self, application, workers\u003d0, desc\u003dNone):"},{"line_number":179,"context_line":"        if desc is None:"},{"line_number":180,"context_line":"            set_proctitle \u003d \"off\""},{"line_number":181,"context_line":"        else:"},{"line_number":182,"context_line":"            set_proctitle \u003d CONF.setproctitle"},{"line_number":183,"context_line":"        service \u003d WorkerService(self, application, set_proctitle,"},{"line_number":184,"context_line":"                                self.disable_ssl, workers)"},{"line_number":185,"context_line":"        if workers \u003c 1:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9fdfeff1_c72dbd8f","line":182,"range":{"start_line":179,"start_character":9,"end_line":182,"end_character":45},"in_reply_to":"9fdfeff1_28527a14","updated":"2019-02-26 20:13:33.000000000","message":"Done","commit_id":"268d0c6eeaafab7bcd8a1c92633a8232125ef9ba"}],"releasenotes/notes/setproctitle_workers-bc27a8baa5ef2279.yaml":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dabb8b85a984c69c01101885bbd889657298166e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - Neutron child processes now set their process titles"},{"line_number":3,"context_line":"    to match their roles (api worker, rpc worker, etc)."},{"line_number":4,"context_line":"    This behavior can be disabled by setting the"},{"line_number":5,"context_line":"    ``setproctitle`` config option in ``[default]`` in"},{"line_number":6,"context_line":"    neutron.conf to ``off``. The original process string"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_e6839aa8","line":3,"range":{"start_line":3,"start_character":26,"end_line":3,"end_character":36},"updated":"2019-02-20 15:17:03.000000000","message":"should put single quotes (or maybe `` ?) around these.  And since there are only 4 can just add them all here.","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"a6654b81d40c08c3ab79084b4961b3b9731aef73","unresolved":false,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - Neutron child processes now set their process titles"},{"line_number":3,"context_line":"    to match their roles (api worker, rpc worker, etc)."},{"line_number":4,"context_line":"    This behavior can be disabled by setting the"},{"line_number":5,"context_line":"    ``setproctitle`` config option in ``[default]`` in"},{"line_number":6,"context_line":"    neutron.conf to ``off``. The original process string"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_1bd4ccba","line":3,"range":{"start_line":3,"start_character":26,"end_line":3,"end_character":36},"in_reply_to":"9fdfeff1_e6839aa8","updated":"2019-02-22 05:33:06.000000000","message":"Done","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dabb8b85a984c69c01101885bbd889657298166e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"  - Neutron child processes now set their process titles"},{"line_number":3,"context_line":"    to match their roles (api worker, rpc worker, etc)."},{"line_number":4,"context_line":"    This behavior can be disabled by setting the"},{"line_number":5,"context_line":"    ``setproctitle`` config option in ``[default]`` in"},{"line_number":6,"context_line":"    neutron.conf to ``off``. The original process string"},{"line_number":7,"context_line":"    is also appended to the end, to help with scripting that"},{"line_number":8,"context_line":"    is looking for the old strings. There is also an option"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_6666ca2c","line":5,"range":{"start_line":5,"start_character":35,"end_line":5,"end_character":37},"updated":"2019-02-20 15:17:03.000000000","message":"s/in the","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"a6654b81d40c08c3ab79084b4961b3b9731aef73","unresolved":false,"context_lines":[{"line_number":2,"context_line":"  - Neutron child processes now set their process titles"},{"line_number":3,"context_line":"    to match their roles (api worker, rpc worker, etc)."},{"line_number":4,"context_line":"    This behavior can be disabled by setting the"},{"line_number":5,"context_line":"    ``setproctitle`` config option in ``[default]`` in"},{"line_number":6,"context_line":"    neutron.conf to ``off``. The original process string"},{"line_number":7,"context_line":"    is also appended to the end, to help with scripting that"},{"line_number":8,"context_line":"    is looking for the old strings. There is also an option"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_bbe2609f","line":5,"range":{"start_line":5,"start_character":35,"end_line":5,"end_character":37},"in_reply_to":"9fdfeff1_6666ca2c","updated":"2019-02-22 05:33:06.000000000","message":"Done","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dabb8b85a984c69c01101885bbd889657298166e","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    neutron.conf to ``off``. The original process string"},{"line_number":7,"context_line":"    is also appended to the end, to help with scripting that"},{"line_number":8,"context_line":"    is looking for the old strings. There is also an option"},{"line_number":9,"context_line":"    called \u0027brief\u0027, which results in much shorter, and easier"},{"line_number":10,"context_line":"    to read, process names, if desired."},{"line_number":11,"context_line":"upgrade:"},{"line_number":12,"context_line":"  - The change to the process string happens by default. The old"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_e6715ae0","line":9,"range":{"start_line":9,"start_character":11,"end_line":9,"end_character":18},"updated":"2019-02-20 15:17:03.000000000","message":"s/``brief``","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"a6654b81d40c08c3ab79084b4961b3b9731aef73","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    neutron.conf to ``off``. The original process string"},{"line_number":7,"context_line":"    is also appended to the end, to help with scripting that"},{"line_number":8,"context_line":"    is looking for the old strings. There is also an option"},{"line_number":9,"context_line":"    called \u0027brief\u0027, which results in much shorter, and easier"},{"line_number":10,"context_line":"    to read, process names, if desired."},{"line_number":11,"context_line":"upgrade:"},{"line_number":12,"context_line":"  - The change to the process string happens by default. The old"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_dbdde4dd","line":9,"range":{"start_line":9,"start_character":11,"end_line":9,"end_character":18},"in_reply_to":"9fdfeff1_e6715ae0","updated":"2019-02-22 05:33:06.000000000","message":"Done","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dabb8b85a984c69c01101885bbd889657298166e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    is also appended to the end, to help with scripting that"},{"line_number":8,"context_line":"    is looking for the old strings. There is also an option"},{"line_number":9,"context_line":"    called \u0027brief\u0027, which results in much shorter, and easier"},{"line_number":10,"context_line":"    to read, process names, if desired."},{"line_number":11,"context_line":"upgrade:"},{"line_number":12,"context_line":"  - The change to the process string happens by default. The old"},{"line_number":13,"context_line":"    string is still part of the new proctitle, but any scripts"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_46186683","line":10,"updated":"2019-02-20 15:17:03.000000000","message":"I know you already said it\u0027s the default behavior, but maybe just state that: \"The default setting for this option is ``on``.\"","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"a6654b81d40c08c3ab79084b4961b3b9731aef73","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    is also appended to the end, to help with scripting that"},{"line_number":8,"context_line":"    is looking for the old strings. There is also an option"},{"line_number":9,"context_line":"    called \u0027brief\u0027, which results in much shorter, and easier"},{"line_number":10,"context_line":"    to read, process names, if desired."},{"line_number":11,"context_line":"upgrade:"},{"line_number":12,"context_line":"  - The change to the process string happens by default. The old"},{"line_number":13,"context_line":"    string is still part of the new proctitle, but any scripts"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_7bee388c","line":10,"in_reply_to":"9fdfeff1_46186683","updated":"2019-02-22 05:33:06.000000000","message":"Done","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dabb8b85a984c69c01101885bbd889657298166e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    called \u0027brief\u0027, which results in much shorter, and easier"},{"line_number":10,"context_line":"    to read, process names, if desired."},{"line_number":11,"context_line":"upgrade:"},{"line_number":12,"context_line":"  - The change to the process string happens by default. The old"},{"line_number":13,"context_line":"    string is still part of the new proctitle, but any scripts"},{"line_number":14,"context_line":"    looking for exact string matches of the old string may"},{"line_number":15,"context_line":"    need to be modified (this is not likely.)"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_a67b52bc","line":12,"range":{"start_line":12,"start_character":22,"end_line":12,"end_character":29},"updated":"2019-02-20 15:17:03.000000000","message":"s/process title","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"a6654b81d40c08c3ab79084b4961b3b9731aef73","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    called \u0027brief\u0027, which results in much shorter, and easier"},{"line_number":10,"context_line":"    to read, process names, if desired."},{"line_number":11,"context_line":"upgrade:"},{"line_number":12,"context_line":"  - The change to the process string happens by default. The old"},{"line_number":13,"context_line":"    string is still part of the new proctitle, but any scripts"},{"line_number":14,"context_line":"    looking for exact string matches of the old string may"},{"line_number":15,"context_line":"    need to be modified (this is not likely.)"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_9bf19c6d","line":12,"range":{"start_line":12,"start_character":22,"end_line":12,"end_character":29},"in_reply_to":"9fdfeff1_a67b52bc","updated":"2019-02-22 05:33:06.000000000","message":"Done","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dabb8b85a984c69c01101885bbd889657298166e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    to read, process names, if desired."},{"line_number":11,"context_line":"upgrade:"},{"line_number":12,"context_line":"  - The change to the process string happens by default. The old"},{"line_number":13,"context_line":"    string is still part of the new proctitle, but any scripts"},{"line_number":14,"context_line":"    looking for exact string matches of the old string may"},{"line_number":15,"context_line":"    need to be modified (this is not likely.)"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_66348afc","line":13,"range":{"start_line":13,"start_character":36,"end_line":13,"end_character":45},"updated":"2019-02-20 15:17:03.000000000","message":"s/process title\n\nI\u0027m just trying to make them somewhat consistent since in the release notes \u0027features\u0027 are separate from \u0027upgrades\u0027.","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"a6654b81d40c08c3ab79084b4961b3b9731aef73","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    to read, process names, if desired."},{"line_number":11,"context_line":"upgrade:"},{"line_number":12,"context_line":"  - The change to the process string happens by default. The old"},{"line_number":13,"context_line":"    string is still part of the new proctitle, but any scripts"},{"line_number":14,"context_line":"    looking for exact string matches of the old string may"},{"line_number":15,"context_line":"    need to be modified (this is not likely.)"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_3be8b07a","line":13,"range":{"start_line":13,"start_character":36,"end_line":13,"end_character":45},"in_reply_to":"9fdfeff1_66348afc","updated":"2019-02-22 05:33:06.000000000","message":"Done","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"dabb8b85a984c69c01101885bbd889657298166e","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  - The change to the process string happens by default. The old"},{"line_number":13,"context_line":"    string is still part of the new proctitle, but any scripts"},{"line_number":14,"context_line":"    looking for exact string matches of the old string may"},{"line_number":15,"context_line":"    need to be modified (this is not likely.)"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_e6acfa36","line":15,"range":{"start_line":15,"start_character":24,"end_line":15,"end_character":45},"updated":"2019-02-20 15:17:03.000000000","message":"I would delete this part","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"a6654b81d40c08c3ab79084b4961b3b9731aef73","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  - The change to the process string happens by default. The old"},{"line_number":13,"context_line":"    string is still part of the new proctitle, but any scripts"},{"line_number":14,"context_line":"    looking for exact string matches of the old string may"},{"line_number":15,"context_line":"    need to be modified (this is not likely.)"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fdfeff1_5beb3477","line":15,"range":{"start_line":15,"start_character":24,"end_line":15,"end_character":45},"in_reply_to":"9fdfeff1_e6acfa36","updated":"2019-02-22 05:33:06.000000000","message":"Done","commit_id":"efb9a1b7c83500be1402d314b457848e1d01f92d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f872fbffd5e4c26f0368dbdbb7c5700c5ffe6aba","unresolved":false,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - Neutron child processes now set their process titles"},{"line_number":3,"context_line":"    to match their roles (``api worker``, ``rpc worker``,"},{"line_number":4,"context_line":"    ``periodic worker``, ``services worker``, and any defined"},{"line_number":5,"context_line":"    by workers from out-of-tree plugins.) This behavior can be"},{"line_number":6,"context_line":"    disabled by setting the ``setproctitle`` config option in the"},{"line_number":7,"context_line":"    ``[default]`` section in neutron.conf to ``off``. The original"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"9fdfeff1_11f411ce","line":4,"updated":"2019-03-01 15:02:02.000000000","message":"I know I\u0027m a nitpicker, but looking at the job output at http://logs.openstack.org/19/637019/14/check/build-openstack-releasenotes/13cffd0/html/unreleased.html it might be best to not have these in ``, but just a single quote, like \u0027api worker\u0027 (i\u0027m assuming that will render correctly, can verify with tox -e releasenotes). But just a nit, just looked odd being all bold.","commit_id":"72f5bf780fe37ae9ef0b38dd4bc5daa72e1992fb"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"363cf9b02603b6ae829f848758685361eed5003e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"features:"},{"line_number":2,"context_line":"  - Neutron child processes now set their process titles"},{"line_number":3,"context_line":"    to match their roles (``api worker``, ``rpc worker``,"},{"line_number":4,"context_line":"    ``periodic worker``, ``services worker``, and any defined"},{"line_number":5,"context_line":"    by workers from out-of-tree plugins.) This behavior can be"},{"line_number":6,"context_line":"    disabled by setting the ``setproctitle`` config option in the"},{"line_number":7,"context_line":"    ``[default]`` section in neutron.conf to ``off``. The original"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"9fdfeff1_072053af","line":4,"in_reply_to":"9fdfeff1_11f411ce","updated":"2019-03-01 16:37:35.000000000","message":"Done","commit_id":"72f5bf780fe37ae9ef0b38dd4bc5daa72e1992fb"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f872fbffd5e4c26f0368dbdbb7c5700c5ffe6aba","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    setting is ``brief``, once the deployer has verified that none"},{"line_number":15,"context_line":"    of their tooling depends on the older strings."},{"line_number":16,"context_line":"upgrade:"},{"line_number":17,"context_line":"  - The change to the process title happens by default. The old"},{"line_number":18,"context_line":"    string is still part of the new process title, but any scripts"},{"line_number":19,"context_line":"    looking for exact string matches of the old string may"},{"line_number":20,"context_line":"    need to be modified."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"9fdfeff1_d1e7690e","line":17,"updated":"2019-03-01 15:02:02.000000000","message":"Since this is in a different section, it might not be obvious in the release notes that it\u0027s referring to the new option, especially when things are added and they\u0027re not near each other any more.   Maybe \u0027The change to the process title happens by default with the new ``setproctitle`` config option. ...\u0027","commit_id":"72f5bf780fe37ae9ef0b38dd4bc5daa72e1992fb"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"363cf9b02603b6ae829f848758685361eed5003e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    setting is ``brief``, once the deployer has verified that none"},{"line_number":15,"context_line":"    of their tooling depends on the older strings."},{"line_number":16,"context_line":"upgrade:"},{"line_number":17,"context_line":"  - The change to the process title happens by default. The old"},{"line_number":18,"context_line":"    string is still part of the new process title, but any scripts"},{"line_number":19,"context_line":"    looking for exact string matches of the old string may"},{"line_number":20,"context_line":"    need to be modified."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"9fdfeff1_a72aa78d","line":17,"in_reply_to":"9fdfeff1_d1e7690e","updated":"2019-03-01 16:37:35.000000000","message":"Done","commit_id":"72f5bf780fe37ae9ef0b38dd4bc5daa72e1992fb"}]}
