)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"6f2c8d9a308b1af6da568cb103f19f104ad1882b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow metadata proxy to log with nobody user/group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently metadata proxy cannot be runned with nobody user/group as"},{"line_number":10,"context_line":"metadata proxy (as others services) uses WatchedFileHandler handler to"},{"line_number":11,"context_line":"log to file which does not support permissions drop (the process must"},{"line_number":12,"context_line":"able to r/w after permissions drop to \"watch\" the file)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a80dd14_edf30a9d","line":9,"updated":"2015-03-05 16:59:16.000000000","message":"runned \u003d\u003e run","commit_id":"211e802cb32633b6d49e70198daa6650d7d42fd0"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"a4874d28f1cfc70a12f49fa97980070e6a5eda49","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow metadata proxy to log with nobody user/group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently metadata proxy cannot be runned with nobody user/group as"},{"line_number":10,"context_line":"metadata proxy (as others services) uses WatchedFileHandler handler to"},{"line_number":11,"context_line":"log to file which does not support permissions drop (the process must"},{"line_number":12,"context_line":"able to r/w after permissions drop to \"watch\" the file)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a80dd14_c041ad3a","line":9,"in_reply_to":"9a80dd14_edf30a9d","updated":"2015-03-05 17:04:31.000000000","message":"Done","commit_id":"211e802cb32633b6d49e70198daa6650d7d42fd0"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"d29ffc61ee06a56529d866fdc700628ddaa5e674","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Cedric Brandily \u003czzelle@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-26 14:43:43 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow metadata proxy to log with nobody user/group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently metadata proxy cannot run with nobody user/group as"},{"line_number":10,"context_line":"metadata proxy (as others services) uses WatchedFileHandler handler to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da9b358b_0e0e5c34","line":7,"updated":"2015-03-30 05:53:56.000000000","message":"running it with a less privilege is fine.\nbut how nobody is related?  nobody is a traditional user for nfs.","commit_id":"c1afc620524da16f3b0df26053a3c80d22ce212b"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"c14103bceb2b17eeda190b1a8cddb6521e29a58d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Cedric Brandily \u003czzelle@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-26 14:43:43 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow metadata proxy to log with nobody user/group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently metadata proxy cannot run with nobody user/group as"},{"line_number":10,"context_line":"metadata proxy (as others services) uses WatchedFileHandler handler to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da9b358b_678f4b24","line":7,"in_reply_to":"da9b358b_0e0e5c34","updated":"2015-03-30 08:35:09.000000000","message":"\"nobody\" is the conventional name of a user account which owns no files, is in no privileged groups, and has no abilities except those which every other user has.\n\nie: nobody is the less privileged account (nfs uses it or nfsnobody when users are squashed)","commit_id":"c1afc620524da16f3b0df26053a3c80d22ce212b"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"0218a284b8463f9bed7f1233dd424795c295eb57","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Cedric Brandily \u003czzelle@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-26 14:43:43 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow metadata proxy to log with nobody user/group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently metadata proxy cannot run with nobody user/group as"},{"line_number":10,"context_line":"metadata proxy (as others services) uses WatchedFileHandler handler to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da9b358b_e750c80c","line":7,"in_reply_to":"da9b358b_678f4b24","updated":"2015-03-31 10:30:20.000000000","message":"afaik nobody is a user for nfs.  using it as a generic less-priviledged user sounds like an abuse.\nhowever i have to admit i\u0027m not so familiar with what recent linux distributions do.  is it a common practice these days?","commit_id":"c1afc620524da16f3b0df26053a3c80d22ce212b"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"a944789b89bc4af542ba2f04c018c66cb0505c68","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Cedric Brandily \u003czzelle@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-26 14:43:43 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow metadata proxy to log with nobody user/group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently metadata proxy cannot run with nobody user/group as"},{"line_number":10,"context_line":"metadata proxy (as others services) uses WatchedFileHandler handler to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da9b358b_1215083f","line":7,"in_reply_to":"da9b358b_8aa461a6","updated":"2015-04-01 02:54:54.000000000","message":"i still disagree about the history but i guess it isn\u0027t important as far as it\u0027s a common practice these days.","commit_id":"c1afc620524da16f3b0df26053a3c80d22ce212b"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"52a605bfe32264a5dddd7facb1cafd27ff9a4bb3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Cedric Brandily \u003czzelle@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-26 14:43:43 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow metadata proxy to log with nobody user/group"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently metadata proxy cannot run with nobody user/group as"},{"line_number":10,"context_line":"metadata proxy (as others services) uses WatchedFileHandler handler to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"da9b358b_8aa461a6","line":7,"in_reply_to":"da9b358b_e750c80c","updated":"2015-03-31 11:24:23.000000000","message":"afaik, it\u0027s the opposite: nobody is the generic less-prviileged user. \n\nThat\u0027s why nfs uses it* when the user is squashed \n\n*sometimes nfs uses a different user: nfsnobody.","commit_id":"c1afc620524da16f3b0df26053a3c80d22ce212b"}],"etc/dhcp_agent.ini":[{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"8f9326577f5547c2c91db9d188426e0866d5d199","unresolved":false,"context_lines":[{"line_number":83,"context_line":"# (if empty: dhcp agent effective group)"},{"line_number":84,"context_line":"# metadata_proxy_group \u003d"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"# Metadata proxy log mode, must be one of the 3 following modes:"},{"line_number":87,"context_line":"# \u0027legacy\u0027: metadata proxy inherits its log config from agent one (default),"},{"line_number":88,"context_line":"# \u0027unwatched\u0027: similar to legacy but requires copytruncate option in logrotate"},{"line_number":89,"context_line":"# (if used), \u0027syslog\u0027: metadata proxy uses syslog. unwatched and syslog modes"}],"source_content_type":"text/x-properties","patch_set":4,"id":"9a80dd14_6e5df914","line":86,"updated":"2015-03-08 09:14:43.000000000","message":"Having the same configuration in both dhcp and l3 agent sounds to trouble to me! \nWe should be able to use only one and do not allow mix \u0026 mingle kind of configuration!!","commit_id":"0b02afdacc39a0ffc2037995e62726c2a56243ee"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"8705ed01ba722e9c7d4f880d422a1068ed69f9b4","unresolved":false,"context_lines":[{"line_number":83,"context_line":"# (if empty: dhcp agent effective group)"},{"line_number":84,"context_line":"# metadata_proxy_group \u003d"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"# Metadata proxy log mode, must be one of the 3 following modes:"},{"line_number":87,"context_line":"# \u0027legacy\u0027: metadata proxy inherits its log config from agent one (default),"},{"line_number":88,"context_line":"# \u0027unwatched\u0027: similar to legacy but requires copytruncate option in logrotate"},{"line_number":89,"context_line":"# (if used), \u0027syslog\u0027: metadata proxy uses syslog. unwatched and syslog modes"}],"source_content_type":"text/x-properties","patch_set":4,"id":"9a80dd14_feafa9e0","line":86,"in_reply_to":"9a80dd14_6e5df914","updated":"2015-03-20 17:13:31.000000000","message":"Done","commit_id":"0b02afdacc39a0ffc2037995e62726c2a56243ee"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"0a1abd65ceffbffdfaee14db921ea0a13fa1c7b5","unresolved":false,"context_lines":[{"line_number":83,"context_line":"# (if empty: dhcp agent effective group)"},{"line_number":84,"context_line":"# metadata_proxy_group \u003d"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"# Metadata proxy log mode, must be one of the 3 following modes:"},{"line_number":87,"context_line":"# \u0027legacy\u0027: metadata proxy inherits its log config from agent one (default),"},{"line_number":88,"context_line":"# \u0027unwatched\u0027: similar to legacy but requires copytruncate option in logrotate"},{"line_number":89,"context_line":"# (if used), \u0027syslog\u0027: metadata proxy uses syslog. unwatched and syslog modes"}],"source_content_type":"text/x-properties","patch_set":4,"id":"9a80dd14_2c00fb34","line":86,"in_reply_to":"9a80dd14_6e5df914","updated":"2015-03-17 10:16:01.000000000","message":"In practice, metadata proxy is enabled on dhcp agents or l3 agents but not on both? Moreover if we move metadata_proxy_log_mode to neutron.conf then we define in the shared config file configurations shared by only 2 agents but not all services which could be confusing for deployers?","commit_id":"0b02afdacc39a0ffc2037995e62726c2a56243ee"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"54fac0bdc96ed7de8f678061b0bae89e96e723a2","unresolved":false,"context_lines":[{"line_number":89,"context_line":"# (if used), \u0027syslog\u0027: metadata proxy uses syslog. unwatched and syslog modes"},{"line_number":90,"context_line":"# allow to run metadata with nobody user/group but not legacy one."},{"line_number":91,"context_line":"# metadata_proxy_log_mode \u003d legacy"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"# Location of Metadata Proxy UNIX domain socket"},{"line_number":94,"context_line":"# metadata_proxy_socket \u003d $state_path/metadata_proxy"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-properties","patch_set":4,"id":"9a80dd14_083c75c7","line":92,"updated":"2015-03-08 02:24:44.000000000","message":"I\u0027d like to see clearer descriptions of each of the modes. As written, I\u0027m not sure a non-developer is going to be able to make sense of it.\nAlso, if the default is \"legacy\", it implies it\u0027s old. So what\u0027s the recommended value, what release are we going to make it the default value, and add that to the comment.","commit_id":"0b02afdacc39a0ffc2037995e62726c2a56243ee"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"8705ed01ba722e9c7d4f880d422a1068ed69f9b4","unresolved":false,"context_lines":[{"line_number":89,"context_line":"# (if used), \u0027syslog\u0027: metadata proxy uses syslog. unwatched and syslog modes"},{"line_number":90,"context_line":"# allow to run metadata with nobody user/group but not legacy one."},{"line_number":91,"context_line":"# metadata_proxy_log_mode \u003d legacy"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"# Location of Metadata Proxy UNIX domain socket"},{"line_number":94,"context_line":"# metadata_proxy_socket \u003d $state_path/metadata_proxy"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-properties","patch_set":4,"id":"9a80dd14_3eb6a13e","line":92,"in_reply_to":"9a80dd14_083c75c7","updated":"2015-03-20 17:13:31.000000000","message":"Done","commit_id":"0b02afdacc39a0ffc2037995e62726c2a56243ee"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"0a1abd65ceffbffdfaee14db921ea0a13fa1c7b5","unresolved":false,"context_lines":[{"line_number":89,"context_line":"# (if used), \u0027syslog\u0027: metadata proxy uses syslog. unwatched and syslog modes"},{"line_number":90,"context_line":"# allow to run metadata with nobody user/group but not legacy one."},{"line_number":91,"context_line":"# metadata_proxy_log_mode \u003d legacy"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"# Location of Metadata Proxy UNIX domain socket"},{"line_number":94,"context_line":"# metadata_proxy_socket \u003d $state_path/metadata_proxy"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-properties","patch_set":4,"id":"9a80dd14_975010d6","line":92,"in_reply_to":"9a80dd14_083c75c7","updated":"2015-03-17 10:16:01.000000000","message":"IMO, \"legacy\" and \"\"unwatched\" names are not meaningful and partially incorrect (at least for legacy) but i failed to find better names.\n\nI should perhaps prefer normal/unprivileged/syslog as mode names?\n\nThe targeted default value is for the moment unclear as a follow-up change is required to allow running metadata proxy with nobody user/group (indeed the metadata proxy must be able to connect to the metadata agent socket). In this change, we will need to choose the default behavior:\n\n* neutron user/group + legacy mode\n* nobody user/group + unwtached or syslog mode + proxy socket permissions change","commit_id":"0b02afdacc39a0ffc2037995e62726c2a56243ee"}],"etc/neutron.conf":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"2882728e039eb50cec5aecd85b917b9c1b6a1500","unresolved":false,"context_lines":[{"line_number":246,"context_line":"# metadata_proxy_user/group is not allowed to read/write its log file and"},{"line_number":247,"context_line":"# \u0027copytruncate\u0027 logrotate option must be used if logrotate is enabled on"},{"line_number":248,"context_line":"# metadata proxy log files."},{"line_number":249,"context_line":"# metadata_proxy_watch_log \u003d False"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"# Location of Metadata Proxy UNIX domain socket"}],"source_content_type":"text/plain","patch_set":9,"id":"fa963961_4b9fcd5f","line":249,"updated":"2015-03-26 14:35:30.000000000","message":"Nit: shouldn\u0027t the commented use of this show the default value (True)?","commit_id":"80048ac9ad50b77ca762b4f1c246356ff0fd3ce8"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"9ccce946a12068631403caed05bfb232caee1ba4","unresolved":false,"context_lines":[{"line_number":246,"context_line":"# metadata_proxy_user/group is not allowed to read/write its log file and"},{"line_number":247,"context_line":"# \u0027copytruncate\u0027 logrotate option must be used if logrotate is enabled on"},{"line_number":248,"context_line":"# metadata proxy log files."},{"line_number":249,"context_line":"# metadata_proxy_watch_log \u003d False"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"# Location of Metadata Proxy UNIX domain socket"}],"source_content_type":"text/plain","patch_set":9,"id":"fa963961_cb9e3d07","line":249,"in_reply_to":"fa963961_4b9fcd5f","updated":"2015-03-26 14:44:07.000000000","message":"Oups","commit_id":"80048ac9ad50b77ca762b4f1c246356ff0fd3ce8"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"e6fa660c4780c6b650cc39abbddb1be9a243a860","unresolved":false,"context_lines":[{"line_number":231,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d end of items for l3 extension \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d items for metadata proxy configuration \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":234,"context_line":"# if metadata_proxy_user is not agent effective user or root, then:"},{"line_number":235,"context_line":"#   set metadata_proxy_watch_log \u003d False"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"# User (uid or name) running metadata proxy after its initialization"}],"source_content_type":"text/plain","patch_set":10,"id":"da9b358b_27c4705d","line":234,"updated":"2015-03-31 10:45:26.000000000","message":"put this description down with the config option. The alignment makes it look like another config option","commit_id":"c1afc620524da16f3b0df26053a3c80d22ce212b"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"09284563debb5c91d18c312f4d3bac3f8567da59","unresolved":false,"context_lines":[{"line_number":231,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d end of items for l3 extension \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d items for metadata proxy configuration \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":234,"context_line":"# if metadata_proxy_user is not agent effective user or root, then:"},{"line_number":235,"context_line":"#   set metadata_proxy_watch_log \u003d False"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"# User (uid or name) running metadata proxy after its initialization"}],"source_content_type":"text/plain","patch_set":10,"id":"da9b358b_aae045fb","line":234,"in_reply_to":"da9b358b_27c4705d","updated":"2015-03-31 11:20:13.000000000","message":"It\u0027s related to https://review.openstack.org/#/c/165115/6/etc/neutron.conf: \n\n* metadata_proxy_user/group/watch_log on dhcp/l3 agent side \n* metadata_proxy_socket_mode on metadata agent side (daughter change)\n\nare interdependent so there is no reason to describe such dependency in a specific option.","commit_id":"c1afc620524da16f3b0df26053a3c80d22ce212b"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"1bee8df52a291e3b0422f253b8d63139499580db","unresolved":false,"context_lines":[{"line_number":231,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d end of items for l3 extension \u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d items for metadata proxy configuration \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":234,"context_line":"# if metadata_proxy_user is not agent effective user or root, then:"},{"line_number":235,"context_line":"#   set metadata_proxy_watch_log \u003d False"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"# User (uid or name) running metadata proxy after its initialization"}],"source_content_type":"text/plain","patch_set":10,"id":"da9b358b_95d239ff","line":234,"in_reply_to":"da9b358b_aae045fb","updated":"2015-03-31 16:05:27.000000000","message":"Done","commit_id":"c1afc620524da16f3b0df26053a3c80d22ce212b"}],"neutron/agent/common/config.py":[{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"54fac0bdc96ed7de8f678061b0bae89e96e723a2","unresolved":false,"context_lines":[{"line_number":69,"context_line":"SYSLOG_LOG \u003d \u0027syslog\u0027"},{"line_number":70,"context_line":"UNWATCHED_LOG \u003d \u0027unwatched\u0027"},{"line_number":71,"context_line":"LOG_MODES \u003d [LEGACY_LOG, SYSLOG_LOG, UNWATCHED_LOG]"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def get_log_args(conf, log_file_name, log_mode\u003dLEGACY_LOG):"},{"line_number":75,"context_line":"    cmd_args \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_283939d7","line":72,"updated":"2015-03-08 02:24:44.000000000","message":"This should like be a tuple, not a list.","commit_id":"0b02afdacc39a0ffc2037995e62726c2a56243ee"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"0a1abd65ceffbffdfaee14db921ea0a13fa1c7b5","unresolved":false,"context_lines":[{"line_number":69,"context_line":"SYSLOG_LOG \u003d \u0027syslog\u0027"},{"line_number":70,"context_line":"UNWATCHED_LOG \u003d \u0027unwatched\u0027"},{"line_number":71,"context_line":"LOG_MODES \u003d [LEGACY_LOG, SYSLOG_LOG, UNWATCHED_LOG]"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def get_log_args(conf, log_file_name, log_mode\u003dLEGACY_LOG):"},{"line_number":75,"context_line":"    cmd_args \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_4cc52f3c","line":72,"in_reply_to":"9a80dd14_283939d7","updated":"2015-03-17 10:16:01.000000000","message":"Done","commit_id":"0b02afdacc39a0ffc2037995e62726c2a56243ee"},{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"54fac0bdc96ed7de8f678061b0bae89e96e723a2","unresolved":false,"context_lines":[{"line_number":71,"context_line":"LOG_MODES \u003d [LEGACY_LOG, SYSLOG_LOG, UNWATCHED_LOG]"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def get_log_args(conf, log_file_name, log_mode\u003dLEGACY_LOG):"},{"line_number":75,"context_line":"    cmd_args \u003d []"},{"line_number":76,"context_line":"    if conf.debug:"},{"line_number":77,"context_line":"        cmd_args.append(\u0027--debug\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_4832edf2","line":74,"updated":"2015-03-08 02:24:44.000000000","message":"I\u0027d suggest adding this arg via **kwargs, and then kwargs.get(\u0027log_mode\u0027, LEGACY_LOG)","commit_id":"0b02afdacc39a0ffc2037995e62726c2a56243ee"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"0a1abd65ceffbffdfaee14db921ea0a13fa1c7b5","unresolved":false,"context_lines":[{"line_number":71,"context_line":"LOG_MODES \u003d [LEGACY_LOG, SYSLOG_LOG, UNWATCHED_LOG]"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"def get_log_args(conf, log_file_name, log_mode\u003dLEGACY_LOG):"},{"line_number":75,"context_line":"    cmd_args \u003d []"},{"line_number":76,"context_line":"    if conf.debug:"},{"line_number":77,"context_line":"        cmd_args.append(\u0027--debug\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_6cc2f335","line":74,"in_reply_to":"9a80dd14_4832edf2","updated":"2015-03-17 10:16:01.000000000","message":"Done","commit_id":"0b02afdacc39a0ffc2037995e62726c2a56243ee"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"e6fa660c4780c6b650cc39abbddb1be9a243a860","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            log_dir \u003d os.path.dirname(conf.log_file)"},{"line_number":92,"context_line":"        if log_dir:"},{"line_number":93,"context_line":"            cmd_args.append(\u0027--log-dir\u003d%s\u0027 % log_dir)"},{"line_number":94,"context_line":"        if not kwargs.get(\u0027metadata_proxy_watch_log\u0027, True):"},{"line_number":95,"context_line":"            cmd_args.append(\u0027--metadata_proxy_watch_log\u003dfalse\u0027)"},{"line_number":96,"context_line":"    else:"},{"line_number":97,"context_line":"        if conf.use_syslog:"}],"source_content_type":"text/x-python","patch_set":10,"id":"da9b358b_07a28cae","line":94,"updated":"2015-03-31 10:45:26.000000000","message":"It might just be me, but these gets that default to true to cancel a negative are confusing.\n\nWould the following work?\n\nif kwargs.get(\u0027metadata_proxy_watch_log\u0027) is False:\n    cmd_args.append(\u0027--metadata_proxy_watch_log\u003dfalse\u0027)","commit_id":"c1afc620524da16f3b0df26053a3c80d22ce212b"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"09284563debb5c91d18c312f4d3bac3f8567da59","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            log_dir \u003d os.path.dirname(conf.log_file)"},{"line_number":92,"context_line":"        if log_dir:"},{"line_number":93,"context_line":"            cmd_args.append(\u0027--log-dir\u003d%s\u0027 % log_dir)"},{"line_number":94,"context_line":"        if not kwargs.get(\u0027metadata_proxy_watch_log\u0027, True):"},{"line_number":95,"context_line":"            cmd_args.append(\u0027--metadata_proxy_watch_log\u003dfalse\u0027)"},{"line_number":96,"context_line":"    else:"},{"line_number":97,"context_line":"        if conf.use_syslog:"}],"source_content_type":"text/x-python","patch_set":10,"id":"da9b358b_ca570901","line":94,"in_reply_to":"da9b358b_07a28cae","updated":"2015-03-31 11:20:13.000000000","message":"According to pep8[1], it should be:\n\n  if not $expression\n\nI agree that in this case it\u0027s a bit confusing, perhaps i should do:\n\n  no_watch_log \u003d kwargs.get(...)\n  if no_watch_log:\n\n\nPS: iirc, in general, you cannot ensure an expression evaluated to True \"is True\" only is \"\u003d\u003d True\"\n\n[1] https://www.python.org/dev/peps/pep-0008/ \"Don\u0027t compare boolean values to True or False using \u003d\u003d .\"","commit_id":"c1afc620524da16f3b0df26053a3c80d22ce212b"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"70fd236e6de31826c873698885729e03c5d5e268","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            log_dir \u003d os.path.dirname(conf.log_file)"},{"line_number":92,"context_line":"        if log_dir:"},{"line_number":93,"context_line":"            cmd_args.append(\u0027--log-dir\u003d%s\u0027 % log_dir)"},{"line_number":94,"context_line":"        if kwargs.get(\u0027metadata_proxy_watch_log\u0027, True) is False:"},{"line_number":95,"context_line":"            cmd_args.append(\u0027--metadata_proxy_watch_log\u003dfalse\u0027)"},{"line_number":96,"context_line":"    else:"},{"line_number":97,"context_line":"        if conf.use_syslog:"}],"source_content_type":"text/x-python","patch_set":12,"id":"da9b358b_52a5d99f","line":94,"updated":"2015-03-31 21:31:52.000000000","message":"now the \", True\" default value change can go away","commit_id":"fd1e01c3fcdc18fb62f0009f14e96ecf2d603116"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"11f519254c9154322ce82682c506c17e482cc7e4","unresolved":false,"context_lines":[{"line_number":73,"context_line":"]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"def get_log_args(conf, log_file_name, **kwargs):"},{"line_number":77,"context_line":"    cmd_args \u003d []"},{"line_number":78,"context_line":"    if conf.debug:"},{"line_number":79,"context_line":"        cmd_args.append(\u0027--debug\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"baa041b7_f2afa692","line":76,"updated":"2015-04-01 20:06:31.000000000","message":"rather than kwargs it seems you could have used an explicit keyword parameter","commit_id":"850cfc0332e4560ce32494bfbb0e24ab952c5600"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"e8ffd1f91defa645a379764fd8075826bcbf9a20","unresolved":false,"context_lines":[{"line_number":73,"context_line":"]"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"def get_log_args(conf, log_file_name, **kwargs):"},{"line_number":77,"context_line":"    cmd_args \u003d []"},{"line_number":78,"context_line":"    if conf.debug:"},{"line_number":79,"context_line":"        cmd_args.append(\u0027--debug\u0027)"}],"source_content_type":"text/x-python","patch_set":17,"id":"baa041b7_f23fa6d4","line":76,"in_reply_to":"baa041b7_f2afa692","updated":"2015-04-01 20:25:49.000000000","message":"Doug requests the opposite in PS4[1]\n\n[1] https://review.openstack.org/#/c/161494/4/neutron/agent/common/config.py","commit_id":"850cfc0332e4560ce32494bfbb0e24ab952c5600"}],"neutron/agent/linux/daemon.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"1779b20577e6dcf1b9cefd01af36e730ca86019b","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    to_replace \u003d [h for h in log_root.handlers"},{"line_number":70,"context_line":"                  if isinstance(h, handlers.WatchedFileHandler)]"},{"line_number":71,"context_line":"    for handler in to_replace:"},{"line_number":72,"context_line":"        new_handler \u003d std_logging.FileHandler(handler.baseFilename,"},{"line_number":73,"context_line":"                                              mode\u003dhandler.mode,"},{"line_number":74,"context_line":"                                              encoding\u003dhandler.encoding,"},{"line_number":75,"context_line":"                                              delay\u003dhandler.delay)"}],"source_content_type":"text/x-python","patch_set":14,"id":"da9b358b_ebf85dc5","line":72,"updated":"2015-04-01 13:23:31.000000000","message":"Note: I am a bit uneasy that we rely on undocumented attributes, but it seems that cpython 34 has the same attribute names, so we\u0027re pretty portable.\n\nNot sure whether we should check other python implementations.","commit_id":"8b96871f4430e052e64d6fcd128b874d65aaf19d"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"6cc186480e81b6a688e7acd5a2b9e740259524c4","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    to_replace \u003d [h for h in log_root.handlers"},{"line_number":70,"context_line":"                  if isinstance(h, handlers.WatchedFileHandler)]"},{"line_number":71,"context_line":"    for handler in to_replace:"},{"line_number":72,"context_line":"        new_handler \u003d std_logging.FileHandler(handler.baseFilename,"},{"line_number":73,"context_line":"                                              mode\u003dhandler.mode,"},{"line_number":74,"context_line":"                                              encoding\u003dhandler.encoding,"},{"line_number":75,"context_line":"                                              delay\u003dhandler.delay)"}],"source_content_type":"text/x-python","patch_set":14,"id":"baa041b7_8096d692","line":72,"in_reply_to":"da9b358b_ebf85dc5","updated":"2015-04-01 13:29:19.000000000","message":"i find no alternative :s","commit_id":"8b96871f4430e052e64d6fcd128b874d65aaf19d"}],"neutron/agent/linux/utils.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"ea039d805215e645998f48fad5af32b7c4186e14","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import fcntl"},{"line_number":17,"context_line":"import glob"},{"line_number":18,"context_line":"import grp"},{"line_number":19,"context_line":"import httplib"},{"line_number":20,"context_line":"import os"},{"line_number":21,"context_line":"import pwd"}],"source_content_type":"text/x-python","patch_set":15,"id":"baa041b7_ca13d40c","line":18,"updated":"2015-04-01 16:51:02.000000000","message":"oups","commit_id":"0baf78229017dc69e75cc4377bd870249a1f6a24"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ef0ca4e91d2b807ee8abf61c79c4a4c9cdf2c490","unresolved":false,"context_lines":[{"line_number":341,"context_line":"    euid \u003d os.geteuid()"},{"line_number":342,"context_line":"    if str(user_id_or_name) \u003d\u003d str(euid):"},{"line_number":343,"context_line":"        return True"},{"line_number":344,"context_line":"    effective_user_name \u003d pwd.getpwuid(euid)[0]"},{"line_number":345,"context_line":"    return user_id_or_name \u003d\u003d effective_user_name"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"baa041b7_556c069c","line":344,"updated":"2015-04-01 15:59:37.000000000","message":"nit: doing: pwd.getpwuid(euid).pw_name would be a bit more transparent.","commit_id":"0baf78229017dc69e75cc4377bd870249a1f6a24"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"ea039d805215e645998f48fad5af32b7c4186e14","unresolved":false,"context_lines":[{"line_number":341,"context_line":"    euid \u003d os.geteuid()"},{"line_number":342,"context_line":"    if str(user_id_or_name) \u003d\u003d str(euid):"},{"line_number":343,"context_line":"        return True"},{"line_number":344,"context_line":"    effective_user_name \u003d pwd.getpwuid(euid)[0]"},{"line_number":345,"context_line":"    return user_id_or_name \u003d\u003d effective_user_name"},{"line_number":346,"context_line":""},{"line_number":347,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"baa041b7_8af6ecd5","line":344,"in_reply_to":"baa041b7_556c069c","updated":"2015-04-01 16:51:02.000000000","message":"Done","commit_id":"0baf78229017dc69e75cc4377bd870249a1f6a24"}],"neutron/agent/metadata/driver.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"6f2c8d9a308b1af6da568cb103f19f104ad1882b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                          \"group)\")),"},{"line_number":49,"context_line":"        cfg.StrOpt(\u0027metadata_proxy_log_mode\u0027,"},{"line_number":50,"context_line":"                   default\u003dconfig.LEGACY_LOG,"},{"line_number":51,"context_line":"                   choices\u003dconfig.LOG_MODES,"},{"line_number":52,"context_line":"                   help\u003d_(\"Metadata proxy log mode, must be one of the 3 \""},{"line_number":53,"context_line":"                          \"following modes: \u0027legacy\u0027: metadata proxy \""},{"line_number":54,"context_line":"                          \"inherits its log config from agent one (default), \""}],"source_content_type":"text/x-python","patch_set":3,"id":"9a80dd14_ed214afd","line":51,"updated":"2015-03-05 16:59:16.000000000","message":"nice!","commit_id":"211e802cb32633b6d49e70198daa6650d7d42fd0"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"7a995cc838a5606dad6b48d35a9c367ccccc8675","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                          \"its initialization (if empty: agent effective \""},{"line_number":50,"context_line":"                          \"group)\")),"},{"line_number":51,"context_line":"        cfg.BoolOpt(\u0027metadata_proxy_watch_log\u0027,"},{"line_number":52,"context_line":"                   default\u003dTrue,"},{"line_number":53,"context_line":"                   help\u003d_(\"Enable/Disable log watch by metadata proxy, it \""},{"line_number":54,"context_line":"                          \"should be disabled when metadata_proxy_user/group \""},{"line_number":55,"context_line":"                          \"is not allowed to read/write its log file and \""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6ced46_344c359e","line":52,"updated":"2015-03-26 09:24:12.000000000","message":"pathetic nit - can you please align\n(\u0027metadata...,\n default\u003dTrue,\n help\u003d_(...","commit_id":"88e51b96f967ab76d3abac8fe8bb6fc000d79aba"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"91f04efb3732f196f89a57e7b9fb27d807fd247b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                          \"its initialization (if empty: agent effective \""},{"line_number":50,"context_line":"                          \"group)\")),"},{"line_number":51,"context_line":"        cfg.BoolOpt(\u0027metadata_proxy_watch_log\u0027,"},{"line_number":52,"context_line":"                   default\u003dTrue,"},{"line_number":53,"context_line":"                   help\u003d_(\"Enable/Disable log watch by metadata proxy, it \""},{"line_number":54,"context_line":"                          \"should be disabled when metadata_proxy_user/group \""},{"line_number":55,"context_line":"                          \"is not allowed to read/write its log file and \""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a6ced46_a5fab1ba","line":52,"in_reply_to":"1a6ced46_344c359e","updated":"2015-03-26 10:21:03.000000000","message":"Done","commit_id":"88e51b96f967ab76d3abac8fe8bb6fc000d79aba"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"1779b20577e6dcf1b9cefd01af36e730ca86019b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                          \"group)\")),"},{"line_number":52,"context_line":"        cfg.BoolOpt(\u0027metadata_proxy_watch_log\u0027,"},{"line_number":53,"context_line":"                    default\u003dNone,"},{"line_number":54,"context_line":"                    help\u003d_(\"Enable/Disable log watch by metadata proxy, it \""},{"line_number":55,"context_line":"                           \"should be disabled when metadata_proxy_user/group \""},{"line_number":56,"context_line":"                           \"is not allowed to read/write its log file and \""},{"line_number":57,"context_line":"                           \"copytruncate logrotate option must be used if \""}],"source_content_type":"text/x-python","patch_set":14,"id":"da9b358b_abd6d5ee","line":54,"updated":"2015-04-01 13:23:31.000000000","message":", -\u003e .","commit_id":"8b96871f4430e052e64d6fcd128b874d65aaf19d"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"6cc186480e81b6a688e7acd5a2b9e740259524c4","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                          \"group)\")),"},{"line_number":52,"context_line":"        cfg.BoolOpt(\u0027metadata_proxy_watch_log\u0027,"},{"line_number":53,"context_line":"                    default\u003dNone,"},{"line_number":54,"context_line":"                    help\u003d_(\"Enable/Disable log watch by metadata proxy, it \""},{"line_number":55,"context_line":"                           \"should be disabled when metadata_proxy_user/group \""},{"line_number":56,"context_line":"                           \"is not allowed to read/write its log file and \""},{"line_number":57,"context_line":"                           \"copytruncate logrotate option must be used if \""}],"source_content_type":"text/x-python","patch_set":14,"id":"baa041b7_a0f79af4","line":54,"in_reply_to":"da9b358b_abd6d5ee","updated":"2015-04-01 13:29:19.000000000","message":"Done","commit_id":"8b96871f4430e052e64d6fcd128b874d65aaf19d"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"1779b20577e6dcf1b9cefd01af36e730ca86019b","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        if watch_log is None:"},{"line_number":134,"context_line":"            # NOTE(cbrandily): Commonly, log watching can be enabled only"},{"line_number":135,"context_line":"            # when metadata proxy user is agent effective user (id/name)."},{"line_number":136,"context_line":"            current_user \u003d pwd.getpwuid(current_user_id)[0]"},{"line_number":137,"context_line":"            watch_log \u003d (user \u003d\u003d current_user_id or user \u003d\u003d current_user)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        return user, group, watch_log"}],"source_content_type":"text/x-python","patch_set":14,"id":"da9b358b_abe01597","line":136,"updated":"2015-04-01 13:23:31.000000000","message":"getpass.getuser?","commit_id":"8b96871f4430e052e64d6fcd128b874d65aaf19d"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"9d2b7f3389747a4c23fca52385f49eb2b3bd3c7f","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        if watch_log is None:"},{"line_number":134,"context_line":"            # NOTE(cbrandily): Commonly, log watching can be enabled only"},{"line_number":135,"context_line":"            # when metadata proxy user is agent effective user (id/name)."},{"line_number":136,"context_line":"            current_user \u003d pwd.getpwuid(current_user_id)[0]"},{"line_number":137,"context_line":"            watch_log \u003d (user \u003d\u003d current_user_id or user \u003d\u003d current_user)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        return user, group, watch_log"}],"source_content_type":"text/x-python","patch_set":14,"id":"baa041b7_a0b43ad1","line":136,"in_reply_to":"baa041b7_a05b1a2e","updated":"2015-04-01 13:36:14.000000000","message":"Ah right, sorry.","commit_id":"8b96871f4430e052e64d6fcd128b874d65aaf19d"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"6cc186480e81b6a688e7acd5a2b9e740259524c4","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        if watch_log is None:"},{"line_number":134,"context_line":"            # NOTE(cbrandily): Commonly, log watching can be enabled only"},{"line_number":135,"context_line":"            # when metadata proxy user is agent effective user (id/name)."},{"line_number":136,"context_line":"            current_user \u003d pwd.getpwuid(current_user_id)[0]"},{"line_number":137,"context_line":"            watch_log \u003d (user \u003d\u003d current_user_id or user \u003d\u003d current_user)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        return user, group, watch_log"}],"source_content_type":"text/x-python","patch_set":14,"id":"baa041b7_a05b1a2e","line":136,"in_reply_to":"da9b358b_abe01597","updated":"2015-04-01 13:29:19.000000000","message":"it returns the user not the effective user","commit_id":"8b96871f4430e052e64d6fcd128b874d65aaf19d"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"1779b20577e6dcf1b9cefd01af36e730ca86019b","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            # NOTE(cbrandily): Commonly, log watching can be enabled only"},{"line_number":135,"context_line":"            # when metadata proxy user is agent effective user (id/name)."},{"line_number":136,"context_line":"            current_user \u003d pwd.getpwuid(current_user_id)[0]"},{"line_number":137,"context_line":"            watch_log \u003d (user \u003d\u003d current_user_id or user \u003d\u003d current_user)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        return user, group, watch_log"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"da9b358b_2bb9a579","line":137,"updated":"2015-04-01 13:23:31.000000000","message":"You seem to compare apples with oranges: metadata_proxy_user is string, while current_user_id is int.","commit_id":"8b96871f4430e052e64d6fcd128b874d65aaf19d"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"1122c883d4ccefe597f218c9a28f0a82e5dad951","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            # NOTE(cbrandily): Commonly, log watching can be enabled only"},{"line_number":135,"context_line":"            # when metadata proxy user is agent effective user (id/name)."},{"line_number":136,"context_line":"            current_user \u003d pwd.getpwuid(current_user_id)[0]"},{"line_number":137,"context_line":"            watch_log \u003d (user \u003d\u003d current_user_id or user \u003d\u003d current_user)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        return user, group, watch_log"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baa041b7_1ab6addc","line":137,"in_reply_to":"baa041b7_e0780292","updated":"2015-04-01 15:43:20.000000000","message":"Done","commit_id":"8b96871f4430e052e64d6fcd128b874d65aaf19d"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"6cc186480e81b6a688e7acd5a2b9e740259524c4","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            # NOTE(cbrandily): Commonly, log watching can be enabled only"},{"line_number":135,"context_line":"            # when metadata proxy user is agent effective user (id/name)."},{"line_number":136,"context_line":"            current_user \u003d pwd.getpwuid(current_user_id)[0]"},{"line_number":137,"context_line":"            watch_log \u003d (user \u003d\u003d current_user_id or user \u003d\u003d current_user)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        return user, group, watch_log"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"baa041b7_e0780292","line":137,"in_reply_to":"da9b358b_2bb9a579","updated":"2015-04-01 13:29:19.000000000","message":"oups","commit_id":"8b96871f4430e052e64d6fcd128b874d65aaf19d"}],"neutron/agent/metadata/namespace_proxy.py":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"2882728e039eb50cec5aecd85b917b9c1b6a1500","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                          \"its initialization\")),"},{"line_number":163,"context_line":"        cfg.BoolOpt(\u0027metadata_proxy_watch_log\u0027,"},{"line_number":164,"context_line":"                    default\u003dTrue,"},{"line_number":165,"context_line":"                    help\u003d_(\"Watch file log, should be disabled to run \""},{"line_number":166,"context_line":"                           \"metadata proxy with nobody user/group\")),"},{"line_number":167,"context_line":"    ]"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"fa963961_0b04257c","line":165,"updated":"2015-03-26 14:35:30.000000000","message":"nit: log, should -\u003e log. Should\n\nPeriod at end of sentence on next line, per oslo help message guidelines.","commit_id":"80048ac9ad50b77ca762b4f1c246356ff0fd3ce8"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"9ccce946a12068631403caed05bfb232caee1ba4","unresolved":false,"context_lines":[{"line_number":162,"context_line":"                          \"its initialization\")),"},{"line_number":163,"context_line":"        cfg.BoolOpt(\u0027metadata_proxy_watch_log\u0027,"},{"line_number":164,"context_line":"                    default\u003dTrue,"},{"line_number":165,"context_line":"                    help\u003d_(\"Watch file log, should be disabled to run \""},{"line_number":166,"context_line":"                           \"metadata proxy with nobody user/group\")),"},{"line_number":167,"context_line":"    ]"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"fa963961_6badf130","line":165,"in_reply_to":"fa963961_0b04257c","updated":"2015-03-26 14:44:07.000000000","message":"Done","commit_id":"80048ac9ad50b77ca762b4f1c246356ff0fd3ce8"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"14bad9ba94fe56f83bae7e934903ffdc7d5f28de","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        cfg.BoolOpt(\u0027metadata_proxy_watch_log\u0027,"},{"line_number":164,"context_line":"                    default\u003dTrue,"},{"line_number":165,"context_line":"                    help\u003d_(\"Watch file log. Log watch should be disabled to \""},{"line_number":166,"context_line":"                           \"run metadata proxy with nobody user/group.\")),"},{"line_number":167,"context_line":"    ]"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    cfg.CONF.register_cli_opts(opts)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_d730b203","line":166,"updated":"2015-04-01 02:53:35.000000000","message":"can you mention what kind of privilege this is about, instead of just saying nobody?","commit_id":"fa332c0afe6ab1fb610f7e394a3b1e082c128938"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"4d147c2a17d9cdd735be018bfde1ff7553f22b87","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        cfg.BoolOpt(\u0027metadata_proxy_watch_log\u0027,"},{"line_number":164,"context_line":"                    default\u003dTrue,"},{"line_number":165,"context_line":"                    help\u003d_(\"Watch file log. Log watch should be disabled to \""},{"line_number":166,"context_line":"                           \"run metadata proxy with nobody user/group.\")),"},{"line_number":167,"context_line":"    ]"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    cfg.CONF.register_cli_opts(opts)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da9b358b_00436943","line":166,"in_reply_to":"da9b358b_d730b203","updated":"2015-04-01 08:53:40.000000000","message":"Done","commit_id":"fa332c0afe6ab1fb610f7e394a3b1e082c128938"}]}
