)]}'
{"monasca_setup/detection/plugins/postfix.py":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"fe58f64df13ae26f57b773ba6d3c19e24f332e3e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"            agent_user \u003d pwd.getpwuid(uid).pw_name"},{"line_number":27,"context_line":"        except OSError as ex:"},{"line_number":28,"context_line":"            agent_user \u003d None"},{"line_number":29,"context_line":"            log.exception(str(ex))"},{"line_number":30,"context_line":"        else:"},{"line_number":31,"context_line":"            if utils.find_process_cmdline(\u0027postfix\u0027) is not None:"},{"line_number":32,"context_line":"                # Test for sudo access"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_0b25e608","line":29,"range":{"start_line":29,"start_character":26,"end_line":29,"end_character":33},"updated":"2017-05-25 01:09:50.000000000","message":"This should be something like: failure getting agent user name. log.exception already logs all of the exception information so you should put in what was being attempted when the exception was raised.","commit_id":"07f73e9e87dc45c6dbc5fa8f262f1c04ab6a2fda"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"236d0f6027369a5e5286fa2fbecb7ea2cb528881","unresolved":false,"context_lines":[{"line_number":26,"context_line":"            agent_user \u003d pwd.getpwuid(uid).pw_name"},{"line_number":27,"context_line":"        except OSError as ex:"},{"line_number":28,"context_line":"            agent_user \u003d None"},{"line_number":29,"context_line":"            log.exception(str(ex))"},{"line_number":30,"context_line":"        else:"},{"line_number":31,"context_line":"            if utils.find_process_cmdline(\u0027postfix\u0027) is not None:"},{"line_number":32,"context_line":"                # Test for sudo access"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_4397373b","line":29,"range":{"start_line":29,"start_character":26,"end_line":29,"end_character":33},"in_reply_to":"ff0f0b1f_0b25e608","updated":"2017-05-25 10:49:25.000000000","message":"Done","commit_id":"07f73e9e87dc45c6dbc5fa8f262f1c04ab6a2fda"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"fe58f64df13ae26f57b773ba6d3c19e24f332e3e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                             \"Refer to plugin documentation for more detail\")"},{"line_number":37,"context_line":"                    return False"},{"line_number":38,"context_line":"                self.available \u003d True"},{"line_number":39,"context_line":"            else:"},{"line_number":40,"context_line":"                self.available \u003d False"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def build_config(self):"},{"line_number":43,"context_line":"        \"\"\"Build the config as a Plugins object and return."}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_8b67b64d","line":40,"range":{"start_line":39,"start_character":12,"end_line":40,"end_character":38},"updated":"2017-05-25 01:09:50.000000000","message":"If you feel like cleaning this up, remove the else and unindent the second line so it always executes in the case of failure. If not, I understand limiting your change to fixing the real bug.","commit_id":"07f73e9e87dc45c6dbc5fa8f262f1c04ab6a2fda"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"236d0f6027369a5e5286fa2fbecb7ea2cb528881","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                             \"Refer to plugin documentation for more detail\")"},{"line_number":37,"context_line":"                    return False"},{"line_number":38,"context_line":"                self.available \u003d True"},{"line_number":39,"context_line":"            else:"},{"line_number":40,"context_line":"                self.available \u003d False"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def build_config(self):"},{"line_number":43,"context_line":"        \"\"\"Build the config as a Plugins object and return."}],"source_content_type":"text/x-python","patch_set":2,"id":"ff0f0b1f_239a0361","line":40,"range":{"start_line":39,"start_character":12,"end_line":40,"end_character":38},"in_reply_to":"ff0f0b1f_8b67b64d","updated":"2017-05-25 10:49:25.000000000","message":"Done","commit_id":"07f73e9e87dc45c6dbc5fa8f262f1c04ab6a2fda"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"ca5a232d2065dd91e94cac8a31b968f5277f0afe","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            if test_sudo !\u003d 0:"},{"line_number":38,"context_line":"                log.info(\"Postfix found but the required sudo access is not configured.\\n\\t\" +"},{"line_number":39,"context_line":"                         \"Refer to plugin documentation for more detail\")"},{"line_number":40,"context_line":"                return False"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def build_config(self):"},{"line_number":43,"context_line":"        \"\"\"Build the config as a Plugins object and return."}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_28f1ba01","line":40,"range":{"start_line":40,"start_character":23,"end_line":40,"end_character":28},"updated":"2017-05-25 14:40:25.000000000","message":"self.available is still True. Detection code is not the cleanest and it would be best if self.available matched the return code","commit_id":"f2d945863a9a8fe2aaa9e97b82584889ff8ede66"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"55bb77efc1401ec71a0fa8d3e95472b5bdccc475","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            if test_sudo !\u003d 0:"},{"line_number":38,"context_line":"                log.info(\"Postfix found but the required sudo access is not configured.\\n\\t\" +"},{"line_number":39,"context_line":"                         \"Refer to plugin documentation for more detail\")"},{"line_number":40,"context_line":"                return False"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def build_config(self):"},{"line_number":43,"context_line":"        \"\"\"Build the config as a Plugins object and return."}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_55a23b4d","line":40,"range":{"start_line":40,"start_character":23,"end_line":40,"end_character":28},"in_reply_to":"ff0f0b1f_28f1ba01","updated":"2017-05-25 22:11:51.000000000","message":"Ah...I get your point now ;-)","commit_id":"f2d945863a9a8fe2aaa9e97b82584889ff8ede66"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"a6d506ca1523e455857bc316601082c6d6d44b00","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            if test_sudo !\u003d 0:"},{"line_number":38,"context_line":"                log.info(\"Postfix found but the required sudo access is not configured.\\n\\t\" +"},{"line_number":39,"context_line":"                         \"Refer to plugin documentation for more detail\")"},{"line_number":40,"context_line":"                return False"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def build_config(self):"},{"line_number":43,"context_line":"        \"\"\"Build the config as a Plugins object and return."}],"source_content_type":"text/x-python","patch_set":3,"id":"ff0f0b1f_88178a52","line":40,"range":{"start_line":40,"start_character":23,"end_line":40,"end_character":28},"in_reply_to":"ff0f0b1f_55a23b4d","updated":"2017-05-26 09:28:58.000000000","message":"Done","commit_id":"f2d945863a9a8fe2aaa9e97b82584889ff8ede66"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"945aa4247d769ef4ec37106acb186225a6c94998","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                    log.error(\u0027%s\\n%s\u0027 % (detailed_msg, self.ERROR_MSG))"},{"line_number":55,"context_line":"                elif not has_sudoers:"},{"line_number":56,"context_line":"                    detailed_msg \u003d (\u0027%s has no sudo access to \u0027"},{"line_number":57,"context_line":"                                    \u0027\\\u0027find\\\u0027 command.\\n Refer to postfix \u0027"},{"line_number":58,"context_line":"                                    \u0027plugin documentation for \u0027"},{"line_number":59,"context_line":"                                    \u0027more details.\u0027 % agent_user)"},{"line_number":60,"context_line":"                    log.error(\u0027%s\\n%s\u0027 % (detailed_msg, self.ERROR_MSG))"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff0f0b1f_ffbfd7cd","line":57,"range":{"start_line":57,"start_character":37,"end_line":57,"end_character":45},"updated":"2017-05-26 13:53:43.000000000","message":"The problem isn\u0027t that the user has no access to find, but that the user has no access to /var/spool/postfix directory. See the comment under _POSTFIX_CHECK_COMMAND","commit_id":"6fc27038649bfc570c7ef5d5bafca996b25816c7"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"6e0c57e017b2c854e7d1bf3700be9bb291d091e4","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                    log.error(\u0027%s\\n%s\u0027 % (detailed_msg, self.ERROR_MSG))"},{"line_number":55,"context_line":"                elif not has_sudoers:"},{"line_number":56,"context_line":"                    detailed_msg \u003d (\u0027%s has no sudo access to \u0027"},{"line_number":57,"context_line":"                                    \u0027\\\u0027find\\\u0027 command.\\n Refer to postfix \u0027"},{"line_number":58,"context_line":"                                    \u0027plugin documentation for \u0027"},{"line_number":59,"context_line":"                                    \u0027more details.\u0027 % agent_user)"},{"line_number":60,"context_line":"                    log.error(\u0027%s\\n%s\u0027 % (detailed_msg, self.ERROR_MSG))"}],"source_content_type":"text/x-python","patch_set":4,"id":"df140735_51600f33","line":57,"range":{"start_line":57,"start_character":37,"end_line":57,"end_character":45},"in_reply_to":"ff0f0b1f_ffbfd7cd","updated":"2017-05-29 05:16:46.000000000","message":"Done","commit_id":"6fc27038649bfc570c7ef5d5bafca996b25816c7"}]}
