)]}'
{"oslo_rootwrap/filters.py":[{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"361b32b5f438cfeaeda65bc114aaa257086c9033","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import shutil"},{"line_number":19,"context_line":"import sys"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"if sys.platform !\u003d \u0027win32\u0027:"},{"line_number":22,"context_line":"    import pwd"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_ef05f110","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":27},"updated":"2017-02-23 15:54:21.000000000","message":"Can you add your explanation here as inline comments? I think that will be helpful for other folks know the background.","commit_id":"4d19e21c5bf68187efd4fce93e66da0ee8299719"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"7036ff02a636897207eab1b2503de7c9712ba8ba","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import shutil"},{"line_number":19,"context_line":"import sys"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"if sys.platform !\u003d \u0027win32\u0027:"},{"line_number":22,"context_line":"    import pwd"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_e1a265fb","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":27},"in_reply_to":"da36d5c6_ef05f110","updated":"2017-02-23 16:47:09.000000000","message":"Done","commit_id":"4d19e21c5bf68187efd4fce93e66da0ee8299719"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"4d7afa02bae0e2f5358d9e46fa3a0c6e4a1e11a2","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def _getuid(user):"},{"line_number":26,"context_line":"    \"\"\"Return uid for user.\"\"\""},{"line_number":27,"context_line":"    return pwd.getpwnam(user).pw_uid"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class CommandFilter(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a461143_5d4c6e76","line":27,"updated":"2017-02-02 17:59:31.000000000","message":"should we also rewrite the helper function to work on win32?","commit_id":"4d19e21c5bf68187efd4fce93e66da0ee8299719"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"945dfc70250242bf018449de9924deeff014620e","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def _getuid(user):"},{"line_number":26,"context_line":"    \"\"\"Return uid for user.\"\"\""},{"line_number":27,"context_line":"    return pwd.getpwnam(user).pw_uid"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class CommandFilter(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa31d9ce_82d603ef","line":27,"in_reply_to":"1a430d35_e9718c77","updated":"2017-02-14 17:14:23.000000000","message":"So shouldn\u0027t we then make the line working for win32 too? or why do you think we can avoid support for preexec() on win32?","commit_id":"4d19e21c5bf68187efd4fce93e66da0ee8299719"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"2891fb4e6defcf8f7377a847294f80cc9cf860c6","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def _getuid(user):"},{"line_number":26,"context_line":"    \"\"\"Return uid for user.\"\"\""},{"line_number":27,"context_line":"    return pwd.getpwnam(user).pw_uid"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class CommandFilter(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a430d35_e9718c77","line":27,"in_reply_to":"3a461143_5d4c6e76","updated":"2017-02-07 11:52:17.000000000","message":"Hm, I don\u0027t see the value in it. The only place where this is used is L64, in os.setuid, which doesn\u0027t exist in Windows anyways.\n\nhttps://docs.python.org/2/library/os.html#os.setuid","commit_id":"4d19e21c5bf68187efd4fce93e66da0ee8299719"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"b99755e0ad8f1f05ac8f8aa14d30ac6e9ac7b716","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def _getuid(user):"},{"line_number":26,"context_line":"    \"\"\"Return uid for user.\"\"\""},{"line_number":27,"context_line":"    return pwd.getpwnam(user).pw_uid"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class CommandFilter(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da36d5c6_8441373c","line":27,"in_reply_to":"fa31d9ce_4c710ba8","updated":"2017-02-20 16:04:05.000000000","message":"no rootwrap, and no sudo either.\n\noslo_rootwrap is used to execute commands as root if run_as_root is True [1], but in neutron, we mostly use neutron.agent.common.execute [2], which on Windows it ignores the run_as_root flag [3]. \n\n[1] https://github.com/openstack/neutron/blob/master/neutron/agent/linux/utils.py#L128\n\n[2] https://github.com/openstack/neutron/blob/master/neutron/agent/common/utils.py#L41\n\n[3] https://github.com/openstack/neutron/blob/master/neutron/agent/windows/utils.py#L49","commit_id":"4d19e21c5bf68187efd4fce93e66da0ee8299719"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"a5fe50bf348d56c59910f0bca82e808574dc0211","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def _getuid(user):"},{"line_number":26,"context_line":"    \"\"\"Return uid for user.\"\"\""},{"line_number":27,"context_line":"    return pwd.getpwnam(user).pw_uid"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class CommandFilter(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa31d9ce_e3673ee8","line":27,"in_reply_to":"fa31d9ce_82d603ef","updated":"2017-02-17 10:07:17.000000000","message":"There isn\u0027t any win32 support in oslo_rootwrap. Adding it would be beyond the scope of this bug, and it would take quite some to do so.","commit_id":"4d19e21c5bf68187efd4fce93e66da0ee8299719"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"7f6ab8c11f9e2b9a02f6eaac4f9526171eb77178","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def _getuid(user):"},{"line_number":26,"context_line":"    \"\"\"Return uid for user.\"\"\""},{"line_number":27,"context_line":"    return pwd.getpwnam(user).pw_uid"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class CommandFilter(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa31d9ce_4c710ba8","line":27,"in_reply_to":"fa31d9ce_e3673ee8","updated":"2017-02-17 16:44:21.000000000","message":"Oh. So how does the neutron OVS agent work on win32? Do you avoid using rootwrap, instead relying on sudo?","commit_id":"4d19e21c5bf68187efd4fce93e66da0ee8299719"}]}
