)]}'
{"trove/guestagent/api.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"a46ae26a88e9425ee43d658692b3207acc6e5295","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                      topic\u003dkwargs.get(\u0027topic\u0027),"},{"line_number":71,"context_line":"                      version\u003dkwargs.get(\u0027version\u0027))"},{"line_number":72,"context_line":"        except common.RemoteError as r:"},{"line_number":73,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"},{"line_number":74,"context_line":"            raise exception.GuestError(original_message\u003dr.value)"},{"line_number":75,"context_line":"        except Exception as e:"},{"line_number":76,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_b0e4a53c","line":73,"updated":"2014-07-21 14:23:52.000000000","message":"casting instead of calling","commit_id":"f53b8f10b69fe7a30ab494a02530ce4e90b98d30"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"e91124fd7b336e99701178bd0bd4a8904037613c","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                      topic\u003dkwargs.get(\u0027topic\u0027),"},{"line_number":71,"context_line":"                      version\u003dkwargs.get(\u0027version\u0027))"},{"line_number":72,"context_line":"        except common.RemoteError as r:"},{"line_number":73,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"},{"line_number":74,"context_line":"            raise exception.GuestError(original_message\u003dr.value)"},{"line_number":75,"context_line":"        except Exception as e:"},{"line_number":76,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_824d943d","line":73,"in_reply_to":"baada198_8b03f640","updated":"2014-07-21 16:05:41.000000000","message":"It\u0027s a moot point Denis, as LOG.exception also prints out the stack trace (so the developer can see exactly where it was thrown).","commit_id":"f53b8f10b69fe7a30ab494a02530ce4e90b98d30"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"805cdb4b5ccfb4021a78e46cedf7eebea69f3542","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                      topic\u003dkwargs.get(\u0027topic\u0027),"},{"line_number":71,"context_line":"                      version\u003dkwargs.get(\u0027version\u0027))"},{"line_number":72,"context_line":"        except common.RemoteError as r:"},{"line_number":73,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"},{"line_number":74,"context_line":"            raise exception.GuestError(original_message\u003dr.value)"},{"line_number":75,"context_line":"        except Exception as e:"},{"line_number":76,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_8b03f640","line":73,"in_reply_to":"baada198_b0e4a53c","updated":"2014-07-21 14:54:18.000000000","message":"Calling makes more sense to the user who will see this exception. The LOG.debug above says casting and the developer can see that.","commit_id":"f53b8f10b69fe7a30ab494a02530ce4e90b98d30"},{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"ab54cc58e289f6500f6941738db7159af83f87f9","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                      topic\u003dkwargs.get(\u0027topic\u0027),"},{"line_number":71,"context_line":"                      version\u003dkwargs.get(\u0027version\u0027))"},{"line_number":72,"context_line":"        except common.RemoteError as r:"},{"line_number":73,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"},{"line_number":74,"context_line":"            raise exception.GuestError(original_message\u003dr.value)"},{"line_number":75,"context_line":"        except Exception as e:"},{"line_number":76,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_902161b6","line":73,"in_reply_to":"baada198_b0e4a53c","updated":"2014-07-21 14:40:06.000000000","message":"I disagree with your comment, Denis.  Using the term \"casting\", while technically correct, would just be confusing to users who most likely would have no idea what \"casting\" even means.","commit_id":"f53b8f10b69fe7a30ab494a02530ce4e90b98d30"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"a46ae26a88e9425ee43d658692b3207acc6e5295","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"},{"line_number":74,"context_line":"            raise exception.GuestError(original_message\u003dr.value)"},{"line_number":75,"context_line":"        except Exception as e:"},{"line_number":76,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"},{"line_number":77,"context_line":"            raise exception.GuestError(original_message\u003dstr(e))"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def _cast_with_consumer(self, method_name, **kwargs):"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_f0d1bd57","line":76,"updated":"2014-07-21 14:23:52.000000000","message":"same","commit_id":"f53b8f10b69fe7a30ab494a02530ce4e90b98d30"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"a46ae26a88e9425ee43d658692b3207acc6e5295","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            conn \u003d rpc.create_connection(new\u003dTrue)"},{"line_number":83,"context_line":"            conn.create_consumer(self._get_routing_key(), None, fanout\u003dFalse)"},{"line_number":84,"context_line":"        except common.RemoteError as r:"},{"line_number":85,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"},{"line_number":86,"context_line":"            raise exception.GuestError(original_message\u003dr.value)"},{"line_number":87,"context_line":"        except Exception as e:"},{"line_number":88,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_70c5ad8c","line":85,"updated":"2014-07-21 14:23:52.000000000","message":"Error casting with consumer","commit_id":"f53b8f10b69fe7a30ab494a02530ce4e90b98d30"},{"author":{"_account_id":9782,"name":"Morgan Jones","email":"morgan@tesora.com","username":"vgnbkr"},"change_message_id":"ab54cc58e289f6500f6941738db7159af83f87f9","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            conn \u003d rpc.create_connection(new\u003dTrue)"},{"line_number":83,"context_line":"            conn.create_consumer(self._get_routing_key(), None, fanout\u003dFalse)"},{"line_number":84,"context_line":"        except common.RemoteError as r:"},{"line_number":85,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"},{"line_number":86,"context_line":"            raise exception.GuestError(original_message\u003dr.value)"},{"line_number":87,"context_line":"        except Exception as e:"},{"line_number":88,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_30109558","line":85,"in_reply_to":"baada198_70c5ad8c","updated":"2014-07-21 14:40:06.000000000","message":"Done","commit_id":"f53b8f10b69fe7a30ab494a02530ce4e90b98d30"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"a46ae26a88e9425ee43d658692b3207acc6e5295","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"},{"line_number":86,"context_line":"            raise exception.GuestError(original_message\u003dr.value)"},{"line_number":87,"context_line":"        except Exception as e:"},{"line_number":88,"context_line":"            LOG.exception(_(\"Error calling %s\") % method_name)"},{"line_number":89,"context_line":"            raise exception.GuestError(original_message\u003dstr(e))"},{"line_number":90,"context_line":"        finally:"},{"line_number":91,"context_line":"            if conn:"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_90c0817d","line":88,"updated":"2014-07-21 14:23:52.000000000","message":"same","commit_id":"f53b8f10b69fe7a30ab494a02530ce4e90b98d30"}],"trove/guestagent/dbaas.py":[{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"0520f7584d876c63338b727eada2d03030ea3f47","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    try:"},{"line_number":64,"context_line":"        stats \u003d os.statvfs(fs_path)"},{"line_number":65,"context_line":"    except OSError as err:"},{"line_number":66,"context_line":"        LOG.exception(_(\"Error getting volume stats. (%(err)s))\") %"},{"line_number":67,"context_line":"                      {\u0027err\u0027: err})"},{"line_number":68,"context_line":"        raise RuntimeError(\"Filesystem not found (%s)\" % fs_path)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_538fe522","line":66,"updated":"2014-07-21 05:34:03.000000000","message":"LOG.exception already prints out the exception message, and traceback automatically -- so you don\u0027t need to add the exception message to the logged string.","commit_id":"4a35347afd26159b02585668579410fe5b9797fe"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"3dc5cb77e9022db1a3a7a9f25e24441a24141baf","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    try:"},{"line_number":64,"context_line":"        stats \u003d os.statvfs(fs_path)"},{"line_number":65,"context_line":"    except OSError as err:"},{"line_number":66,"context_line":"        LOG.exception(_(\"Error getting volume stats. (%(err)s))\") %"},{"line_number":67,"context_line":"                      {\u0027err\u0027: err})"},{"line_number":68,"context_line":"        raise RuntimeError(\"Filesystem not found (%s)\" % fs_path)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_fa327e0e","line":66,"in_reply_to":"baada198_538fe522","updated":"2014-07-21 13:54:45.000000000","message":"Done","commit_id":"4a35347afd26159b02585668579410fe5b9797fe"}],"trove/guestagent/pkg.py":[{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"0520f7584d876c63338b727eada2d03030ea3f47","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                          run_as_root\u003dTrue, root_helper\u003d\"sudo\")"},{"line_number":111,"context_line":"        except ProcessExecutionError as err:"},{"line_number":112,"context_line":"            LOG.error(_(\"Error removing conflict %(package)s (%(err)s)\") %"},{"line_number":113,"context_line":"                      {\u0027package\u0027: package_name, \u0027err\u0027: err})"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def _install(self, packages, time_out):"},{"line_number":116,"context_line":"        \"\"\"Attempts to install packages."}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_7394e936","line":113,"updated":"2014-07-21 05:34:03.000000000","message":"Probably better to use LOG.exception here since it will automagically log the exception message, and traceback.","commit_id":"4a35347afd26159b02585668579410fe5b9797fe"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"3dc5cb77e9022db1a3a7a9f25e24441a24141baf","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                          run_as_root\u003dTrue, root_helper\u003d\"sudo\")"},{"line_number":111,"context_line":"        except ProcessExecutionError as err:"},{"line_number":112,"context_line":"            LOG.error(_(\"Error removing conflict %(package)s (%(err)s)\") %"},{"line_number":113,"context_line":"                      {\u0027package\u0027: package_name, \u0027err\u0027: err})"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def _install(self, packages, time_out):"},{"line_number":116,"context_line":"        \"\"\"Attempts to install packages."}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_7a266ecf","line":113,"in_reply_to":"baada198_7394e936","updated":"2014-07-21 13:54:45.000000000","message":"Done","commit_id":"4a35347afd26159b02585668579410fe5b9797fe"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"0520f7584d876c63338b727eada2d03030ea3f47","unresolved":false,"context_lines":[{"line_number":231,"context_line":"            utils.execute(\"dpkg\", \"--configure\", \"-a\", run_as_root\u003dTrue,"},{"line_number":232,"context_line":"                          root_helper\u003d\"sudo\")"},{"line_number":233,"context_line":"        except ProcessExecutionError as err:"},{"line_number":234,"context_line":"            LOG.error(_(\"Error fixing dpkg (%s)\") % err)"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    def _fix_package_selections(self, packages, config_opts):"},{"line_number":237,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_f3c63948","line":234,"updated":"2014-07-21 05:34:03.000000000","message":"Probably better to use LOG.exception here since it will automagically log the exception message, and traceback.","commit_id":"4a35347afd26159b02585668579410fe5b9797fe"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"3dc5cb77e9022db1a3a7a9f25e24441a24141baf","unresolved":false,"context_lines":[{"line_number":231,"context_line":"            utils.execute(\"dpkg\", \"--configure\", \"-a\", run_as_root\u003dTrue,"},{"line_number":232,"context_line":"                          root_helper\u003d\"sudo\")"},{"line_number":233,"context_line":"        except ProcessExecutionError as err:"},{"line_number":234,"context_line":"            LOG.error(_(\"Error fixing dpkg (%s)\") % err)"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"    def _fix_package_selections(self, packages, config_opts):"},{"line_number":237,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_ba2c86ad","line":234,"in_reply_to":"baada198_f3c63948","updated":"2014-07-21 13:54:45.000000000","message":"Done","commit_id":"4a35347afd26159b02585668579410fe5b9797fe"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"0520f7584d876c63338b727eada2d03030ea3f47","unresolved":false,"context_lines":[{"line_number":339,"context_line":"                          root_helper\u003d\"sudo\")"},{"line_number":340,"context_line":"        except ProcessExecutionError as err:"},{"line_number":341,"context_line":"            LOG.error(_(\"Error updating the apt sources (%(err))\") %"},{"line_number":342,"context_line":"                      {\u0027err\u0027: err})"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        result \u003d self._install(packages, time_out)"},{"line_number":345,"context_line":"        if result !\u003d OK:"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_13c00d2a","line":342,"updated":"2014-07-21 05:34:03.000000000","message":"Probably better to use LOG.exception here since it will automagically log the exception message, and traceback.","commit_id":"4a35347afd26159b02585668579410fe5b9797fe"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"3dc5cb77e9022db1a3a7a9f25e24441a24141baf","unresolved":false,"context_lines":[{"line_number":339,"context_line":"                          root_helper\u003d\"sudo\")"},{"line_number":340,"context_line":"        except ProcessExecutionError as err:"},{"line_number":341,"context_line":"            LOG.error(_(\"Error updating the apt sources (%(err))\") %"},{"line_number":342,"context_line":"                      {\u0027err\u0027: err})"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        result \u003d self._install(packages, time_out)"},{"line_number":345,"context_line":"        if result !\u003d OK:"}],"source_content_type":"text/x-python","patch_set":4,"id":"baada198_da277ac5","line":342,"in_reply_to":"baada198_13c00d2a","updated":"2014-07-21 13:54:45.000000000","message":"Done","commit_id":"4a35347afd26159b02585668579410fe5b9797fe"}],"trove/guestagent/volume.py":[{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"e91124fd7b336e99701178bd0bd4a8904037613c","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def _check_format(self):"},{"line_number":67,"context_line":"        \"\"\"Checks that an unmounted volume is formatted.\"\"\""},{"line_number":68,"context_line":"        cmd \u003d \"sudo dumpe2fs %s\" % self.device_path"},{"line_number":69,"context_line":"        LOG.debug(\"Checking format of %s.\" % cmd)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        child \u003d pexpect.spawn(cmd)"},{"line_number":72,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_fcc8b623","line":69,"updated":"2014-07-21 16:05:41.000000000","message":"Shouldn\u0027t this be:\n\n  LOG.debug(\"Checking that volume %s is formatted: %s.\" % (self.device_path, cmd))\n\nOr something along those lines?  I think \u0027Checking format of sudo dumpe2fs /dev/sd0\u0027 might be confusing ...","commit_id":"f53b8f10b69fe7a30ab494a02530ce4e90b98d30"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"39056bb530ccc659a689ed34917eb914881823e5","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def _check_format(self):"},{"line_number":67,"context_line":"        \"\"\"Checks that an unmounted volume is formatted.\"\"\""},{"line_number":68,"context_line":"        cmd \u003d \"sudo dumpe2fs %s\" % self.device_path"},{"line_number":69,"context_line":"        LOG.debug(\"Checking format of %s.\" % cmd)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        child \u003d pexpect.spawn(cmd)"},{"line_number":72,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_85eafe9d","line":69,"in_reply_to":"baada198_fcc8b623","updated":"2014-07-21 16:32:42.000000000","message":"Done","commit_id":"f53b8f10b69fe7a30ab494a02530ce4e90b98d30"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"e91124fd7b336e99701178bd0bd4a8904037613c","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        cmd \u003d \"sudo mkfs -t %s %s %s\" % (volume_fstype,"},{"line_number":90,"context_line":"                                         format_options, self.device_path)"},{"line_number":91,"context_line":"        volume_format_timeout \u003d CONF.volume_format_timeout"},{"line_number":92,"context_line":"        LOG.debug(\"Will invoke mkfs %s.\", cmd)"},{"line_number":93,"context_line":"        child \u003d pexpect.spawn(cmd, timeout\u003dvolume_format_timeout)"},{"line_number":94,"context_line":"        # child.expect(\"(y,n)\")"},{"line_number":95,"context_line":"        # child.sendline(\u0027y\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_bc555e1f","line":92,"updated":"2014-07-21 16:05:41.000000000","message":"mkfs will be repeated twice here:\n\n  Will invoke mkfs sudo mkfs -t ...\n\nMaybe replace the first mkfs with a colon?\n\n  Will invoke: sudo mkfs -t ...\n\nOr better yet:\n\n  LOG.debug(\"Formatting volume %s: %s.\" % (self.device_path, cmd))","commit_id":"f53b8f10b69fe7a30ab494a02530ce4e90b98d30"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"39056bb530ccc659a689ed34917eb914881823e5","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        cmd \u003d \"sudo mkfs -t %s %s %s\" % (volume_fstype,"},{"line_number":90,"context_line":"                                         format_options, self.device_path)"},{"line_number":91,"context_line":"        volume_format_timeout \u003d CONF.volume_format_timeout"},{"line_number":92,"context_line":"        LOG.debug(\"Will invoke mkfs %s.\", cmd)"},{"line_number":93,"context_line":"        child \u003d pexpect.spawn(cmd, timeout\u003dvolume_format_timeout)"},{"line_number":94,"context_line":"        # child.expect(\"(y,n)\")"},{"line_number":95,"context_line":"        # child.sendline(\u0027y\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_a52c6203","line":92,"in_reply_to":"baada198_bc555e1f","updated":"2014-07-21 16:32:42.000000000","message":"Done","commit_id":"f53b8f10b69fe7a30ab494a02530ce4e90b98d30"}]}
