)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4dba738ecdcd29289884badd0b90467b84b7d117","unresolved":false,"context_lines":[{"line_number":10,"context_line":"in several places. This patch corrects this issue. This was discovered"},{"line_number":11,"context_line":"while adding logic to determine if the network_cache needs to be updated."},{"line_number":12,"context_line":"While updating the __eq__ operator to check all of the objects fields"},{"line_number":13,"context_line":"rather than just id there tests started failing."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-bug: # 1260891"},{"line_number":16,"context_line":"Related to blueprint: smarter-network-cache-update"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F%2BNTg%3D","line":13,"updated":"2014-01-29 02:36:44.000000000","message":"s/id there/if their/?","commit_id":"bae460edb2cdd801ab575d9da03874d8370d3113"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4dba738ecdcd29289884badd0b90467b84b7d117","unresolved":false,"context_lines":[{"line_number":12,"context_line":"While updating the __eq__ operator to check all of the objects fields"},{"line_number":13,"context_line":"rather than just id there tests started failing."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-bug: # 1260891"},{"line_number":16,"context_line":"Related to blueprint: smarter-network-cache-update"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I6d144aecf95725146aa0fc4f4fe5a3f16c434d14"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F%2BNSk%3D","line":15,"updated":"2014-01-29 02:36:44.000000000","message":"This isn\u0027t linking correctly to launchpad, I think the space is messing that up.","commit_id":"bae460edb2cdd801ab575d9da03874d8370d3113"}],"nova/network/model.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4dba738ecdcd29289884badd0b90467b84b7d117","unresolved":false,"context_lines":[{"line_number":129,"context_line":"                                   for floating_ip in fixed_ip[\u0027floating_ips\u0027]]"},{"line_number":130,"context_line":"        return fixed_ip"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def __eq__(self, other):"},{"line_number":133,"context_line":"        keys \u003d [\u0027address\u0027, \u0027type\u0027, \u0027version\u0027, \u0027floating_ips\u0027]"},{"line_number":134,"context_line":"        for key in keys:"},{"line_number":135,"context_line":"            if self[key] !\u003d other[key]:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2BNTE%3D","line":132,"updated":"2014-01-29 02:36:44.000000000","message":"Suggest calling the super.__eq__ method and then also checking \u0027floating_ips\u0027 after that.","commit_id":"bae460edb2cdd801ab575d9da03874d8370d3113"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"8bfdf03c095a62cee6e9d7f3761bb95f037dce2e","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def __eq__(self, other):"},{"line_number":84,"context_line":"        keys \u003d [\u0027address\u0027, \u0027type\u0027, \u0027version\u0027]"},{"line_number":85,"context_line":"        for key in keys:"},{"line_number":86,"context_line":"            if self[key] !\u003d other[key]:"},{"line_number":87,"context_line":"                return False"},{"line_number":88,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FNC8%3D","line":85,"updated":"2014-02-14 21:46:38.000000000","message":"return all(self[k] \u003d\u003d other[k] for k in keys)","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"5ab96da79f457264ddeaa505e297b415c1866dba","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    def __eq__(self, other):"},{"line_number":84,"context_line":"        keys \u003d [\u0027address\u0027, \u0027type\u0027, \u0027version\u0027]"},{"line_number":85,"context_line":"        for key in keys:"},{"line_number":86,"context_line":"            if self[key] !\u003d other[key]:"},{"line_number":87,"context_line":"                return False"},{"line_number":88,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FMoE%3D","line":85,"in_reply_to":"AAAAUX%2F%2FNC8%3D","updated":"2014-02-14 23:22:16.000000000","message":"Done","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"8bfdf03c095a62cee6e9d7f3761bb95f037dce2e","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    def __eq__(self, other):"},{"line_number":131,"context_line":"        keys \u003d [\u0027address\u0027, \u0027type\u0027, \u0027version\u0027, \u0027floating_ips\u0027]"},{"line_number":132,"context_line":"        for key in keys:"},{"line_number":133,"context_line":"            if self[key] !\u003d other[key]:"},{"line_number":134,"context_line":"                return False"},{"line_number":135,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FNDo%3D","line":132,"updated":"2014-02-14 21:46:38.000000000","message":"return all(self[k] \u003d\u003d other[k] for k in keys)","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"8bfdf03c095a62cee6e9d7f3761bb95f037dce2e","unresolved":false,"context_lines":[{"line_number":134,"context_line":"                return False"},{"line_number":135,"context_line":"        return True"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def __ne__(self, other):"},{"line_number":138,"context_line":"        return not self.__eq__(other)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FNDY%3D","line":137,"updated":"2014-02-14 21:46:38.000000000","message":"This shouldn\u0027t be needed since __ne__ if missing will call not __eq__().","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"8bd3e6bcf00279896880ef1e5bd85cc097674207","unresolved":false,"context_lines":[{"line_number":134,"context_line":"                return False"},{"line_number":135,"context_line":"        return True"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    def __ne__(self, other):"},{"line_number":138,"context_line":"        return not self.__eq__(other)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FM8Q%3D","line":137,"in_reply_to":"AAAAUX%2F%2FNDY%3D","updated":"2014-02-14 22:04:06.000000000","message":"correction this is needed, so ignore the comment above","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"8bfdf03c095a62cee6e9d7f3761bb95f037dce2e","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def __eq__(self, other):"},{"line_number":178,"context_line":"        keys \u003d [\u0027cidr\u0027, \u0027dns\u0027, \u0027gateway\u0027, \u0027ips\u0027, \u0027routes\u0027, \u0027version\u0027]"},{"line_number":179,"context_line":"        for key in keys:"},{"line_number":180,"context_line":"            if self[key] !\u003d other[key]:"},{"line_number":181,"context_line":"                return False"},{"line_number":182,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FNC4%3D","line":179,"updated":"2014-02-14 21:46:38.000000000","message":"same return all()","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"5ab96da79f457264ddeaa505e297b415c1866dba","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def __eq__(self, other):"},{"line_number":178,"context_line":"        keys \u003d [\u0027cidr\u0027, \u0027dns\u0027, \u0027gateway\u0027, \u0027ips\u0027, \u0027routes\u0027, \u0027version\u0027]"},{"line_number":179,"context_line":"        for key in keys:"},{"line_number":180,"context_line":"            if self[key] !\u003d other[key]:"},{"line_number":181,"context_line":"                return False"},{"line_number":182,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FMoM%3D","line":179,"in_reply_to":"AAAAUX%2F%2FNC4%3D","updated":"2014-02-14 23:22:16.000000000","message":"Done","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"8bfdf03c095a62cee6e9d7f3761bb95f037dce2e","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                return False"},{"line_number":182,"context_line":"        return True"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def __ne__(self, other):"},{"line_number":185,"context_line":"        return not self.__eq__(other)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def add_route(self, new_route):"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FNCo%3D","line":184,"updated":"2014-02-14 21:46:38.000000000","message":"not needed","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"8bd3e6bcf00279896880ef1e5bd85cc097674207","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                return False"},{"line_number":182,"context_line":"        return True"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def __ne__(self, other):"},{"line_number":185,"context_line":"        return not self.__eq__(other)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def add_route(self, new_route):"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FM8E%3D","line":184,"in_reply_to":"AAAAUX%2F%2FNCo%3D","updated":"2014-02-14 22:04:06.000000000","message":"ignore","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"8bfdf03c095a62cee6e9d7f3761bb95f037dce2e","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        return network"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    def __eq__(self, other):"},{"line_number":239,"context_line":"        keys \u003d [\u0027id\u0027, \u0027bridge\u0027, \u0027label\u0027, \u0027subnets\u0027]"},{"line_number":240,"context_line":"        for key in keys:"},{"line_number":241,"context_line":"            if self[key] !\u003d other[key]:"},{"line_number":242,"context_line":"                return False"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FNCk%3D","line":239,"updated":"2014-02-14 21:46:38.000000000","message":"same return all()","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"5ab96da79f457264ddeaa505e297b415c1866dba","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        return network"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    def __eq__(self, other):"},{"line_number":239,"context_line":"        keys \u003d [\u0027id\u0027, \u0027bridge\u0027, \u0027label\u0027, \u0027subnets\u0027]"},{"line_number":240,"context_line":"        for key in keys:"},{"line_number":241,"context_line":"            if self[key] !\u003d other[key]:"},{"line_number":242,"context_line":"                return False"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FMoQ%3D","line":239,"in_reply_to":"AAAAUX%2F%2FNCk%3D","updated":"2014-02-14 23:22:16.000000000","message":"Done","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"8bfdf03c095a62cee6e9d7f3761bb95f037dce2e","unresolved":false,"context_lines":[{"line_number":242,"context_line":"                return False"},{"line_number":243,"context_line":"        return True"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    def __ne__(self, other):"},{"line_number":246,"context_line":"        return not self.__eq__(other)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FNCg%3D","line":245,"updated":"2014-02-14 21:46:38.000000000","message":"same as above","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"8bfdf03c095a62cee6e9d7f3761bb95f037dce2e","unresolved":false,"context_lines":[{"line_number":284,"context_line":"        self._set_meta(kwargs)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    def __eq__(self, other):"},{"line_number":287,"context_line":"        keys \u003d [\u0027id\u0027, \u0027address\u0027, \u0027network\u0027, \u0027type\u0027, \u0027devname\u0027,"},{"line_number":288,"context_line":"                \u0027ovs_interfaceid\u0027, \u0027qbh_params\u0027, \u0027qbg_params\u0027]"},{"line_number":289,"context_line":"        for key in keys:"},{"line_number":290,"context_line":"            if self[key] !\u003d other[key]:"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FNCc%3D","line":287,"updated":"2014-02-14 21:46:38.000000000","message":"return all()","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"8bfdf03c095a62cee6e9d7f3761bb95f037dce2e","unresolved":false,"context_lines":[{"line_number":291,"context_line":"                return False"},{"line_number":292,"context_line":"        return True"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    def __ne__(self, other):"},{"line_number":295,"context_line":"        return not self.__eq__(other)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    def fixed_ips(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAUX%2F%2FNCY%3D","line":294,"updated":"2014-02-14 21:46:38.000000000","message":"same as above","commit_id":"fef3eee942cdec612948ebf706921eaef3b20836"}]}
