)]}'
{"nova/network/linux_net.py":[{"author":{"_account_id":1812,"name":"p-draigbrady","email":"P@draigBrady.com","username":"p-draigbrady"},"change_message_id":"02f9cb8720834c313eba71a4b1d6a1ea72476c8c","unresolved":false,"context_lines":[{"line_number":261,"context_line":"            rule \u003d \u0027 \u0027.join(map(self._wrap_target_chain, rule.split(\u0027 \u0027)))"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        rule_obj \u003d IptablesRule(chain, rule, wrap, top)"},{"line_number":264,"context_line":"        if rule_obj in self.rules:"},{"line_number":265,"context_line":"            LOG.debug(_(\"Skipping duplicate iptables rule addition\"))"},{"line_number":266,"context_line":"        else:"},{"line_number":267,"context_line":"            self.rules.append(IptablesRule(chain, rule, wrap, top))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQn%2F%2FD9o%3D","line":264,"updated":"2013-08-07 18:31:06.000000000","message":"The only slight reservation I have with this is that duplicate rules might be significant depending on order? could we ever have something like:\n\n    rule_drop_1 # drop majority\n    rule_mangle_2 # adjust minority\n    rule_drop_1 # drop minority\n\nJust playing devil\u0027s advocate really","commit_id":"84caf954d6ce827b8c8fe49a37aa6bdd1aa34847"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"2cfd5c647e0763f00fcf118fd50c67de08fddde8","unresolved":false,"context_lines":[{"line_number":261,"context_line":"            rule \u003d \u0027 \u0027.join(map(self._wrap_target_chain, rule.split(\u0027 \u0027)))"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        rule_obj \u003d IptablesRule(chain, rule, wrap, top)"},{"line_number":264,"context_line":"        if rule_obj in self.rules:"},{"line_number":265,"context_line":"            LOG.debug(_(\"Skipping duplicate iptables rule addition\"))"},{"line_number":266,"context_line":"        else:"},{"line_number":267,"context_line":"            self.rules.append(IptablesRule(chain, rule, wrap, top))"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQn%2F%2FD8U%3D","line":264,"in_reply_to":"AAAAQn%2F%2FD9o%3D","updated":"2013-08-07 18:36:43.000000000","message":"So this is a very slight change in logic. Currently duplicate rules are ignored and only the last version is used. This change will cause the first rule to be used instead of the last version. We don\u0027t currently have any rule sets where we use the same rule twice since it doesn\u0027t work in the current version so we aren\u0027t losing any functionality. The above will not work in either case.","commit_id":"84caf954d6ce827b8c8fe49a37aa6bdd1aa34847"},{"author":{"_account_id":1812,"name":"p-draigbrady","email":"P@draigBrady.com","username":"p-draigbrady"},"change_message_id":"02f9cb8720834c313eba71a4b1d6a1ea72476c8c","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        if self.dirty():"},{"line_number":406,"context_line":"            self._apply()"},{"line_number":407,"context_line":"        else:"},{"line_number":408,"context_line":"            LOG.debug(_(\"Skipping apply due to lack of new rules\"))"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    def dirty(self):"},{"line_number":411,"context_line":"        for table in self.ipv4.itervalues():"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQn%2F%2FD9c%3D","line":408,"updated":"2013-08-07 18:31:06.000000000","message":"I think these 4 lines should be just:\n\n    self.apply()","commit_id":"84caf954d6ce827b8c8fe49a37aa6bdd1aa34847"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"2cfd5c647e0763f00fcf118fd50c67de08fddde8","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        if self.dirty():"},{"line_number":406,"context_line":"            self._apply()"},{"line_number":407,"context_line":"        else:"},{"line_number":408,"context_line":"            LOG.debug(_(\"Skipping apply due to lack of new rules\"))"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    def dirty(self):"},{"line_number":411,"context_line":"        for table in self.ipv4.itervalues():"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQn%2F%2FD8k%3D","line":408,"in_reply_to":"AAAAQn%2F%2FD9c%3D","updated":"2013-08-07 18:36:43.000000000","message":"fair enough","commit_id":"84caf954d6ce827b8c8fe49a37aa6bdd1aa34847"}]}
