)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"609571471ecf6c30dcc4c40e319d755e94894aa1","unresolved":false,"context_lines":[{"line_number":19,"context_line":"default cookie."},{"line_number":20,"context_line":"2) Delete all rules for given port with the old default cookie. This"},{"line_number":21,"context_line":"will leave the newly added rules in place."},{"line_number":22,"context_line":"3) Update the newly added flows with update cookie back to the default"},{"line_number":23,"context_line":"cookie in order to avoid such flows being cleaned on the next restart of"},{"line_number":24,"context_line":"ovs agent, as it fetches for stale flows."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I85d9e49c24ee7c91229b43cd329c42149637f254"},{"line_number":27,"context_line":"Closes-bug: #1708731"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"df7087c5_9a759234","line":24,"range":{"start_line":22,"start_character":0,"end_line":24,"end_character":41},"updated":"2018-03-16 15:19:36.000000000","message":"Couldn\u0027t this step be avoided by using as the new cookie a cookie obtained with request_cookie [1] ?\n\n[1] https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/br_cookie.py#L36","commit_id":"b0744ee4fe90685772b5462e9cef11376b86e99b"},{"author":{"_account_id":12021,"name":"Thomas Morin","email":"tmmorin.orange@gmail.com","username":"tmorin"},"change_message_id":"fb01429704f0600ae84b424a6accda56c45e0ce8","unresolved":false,"context_lines":[{"line_number":19,"context_line":"default cookie."},{"line_number":20,"context_line":"2) Delete all rules for given port with the old default cookie. This"},{"line_number":21,"context_line":"will leave the newly added rules in place."},{"line_number":22,"context_line":"3) Update the newly added flows with update cookie back to the default"},{"line_number":23,"context_line":"cookie in order to avoid such flows being cleaned on the next restart of"},{"line_number":24,"context_line":"ovs agent, as it fetches for stale flows."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I85d9e49c24ee7c91229b43cd329c42149637f254"},{"line_number":27,"context_line":"Closes-bug: #1708731"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"df7087c5_9d46ecbf","line":24,"range":{"start_line":22,"start_character":0,"end_line":24,"end_character":41},"in_reply_to":"df7087c5_3a01e66a","updated":"2018-03-16 16:00:37.000000000","message":"\u003e I think that would make consequent delete_all_port_flows() more\n \u003e complicated because of rules associated to one port may obtain more\n \u003e cookies over time.\n \u003e \n \u003e We could cache all cookies used per port and then call a loop to\n \u003e remove all flows with old cookies but I find it overcomplicated.\n\nOk, makes sense.","commit_id":"b0744ee4fe90685772b5462e9cef11376b86e99b"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"51e32f6ba259e2a914b4e1ab0e6948620d713826","unresolved":false,"context_lines":[{"line_number":19,"context_line":"default cookie."},{"line_number":20,"context_line":"2) Delete all rules for given port with the old default cookie. This"},{"line_number":21,"context_line":"will leave the newly added rules in place."},{"line_number":22,"context_line":"3) Update the newly added flows with update cookie back to the default"},{"line_number":23,"context_line":"cookie in order to avoid such flows being cleaned on the next restart of"},{"line_number":24,"context_line":"ovs agent, as it fetches for stale flows."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I85d9e49c24ee7c91229b43cd329c42149637f254"},{"line_number":27,"context_line":"Closes-bug: #1708731"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"df7087c5_3a01e66a","line":24,"range":{"start_line":22,"start_character":0,"end_line":24,"end_character":41},"in_reply_to":"df7087c5_9a759234","updated":"2018-03-16 15:26:18.000000000","message":"I think that would make consequent delete_all_port_flows() more complicated because of rules associated to one port may obtain more cookies over time.\n\nWe could cache all cookies used per port and then call a loop to remove all flows with old cookies but I find it overcomplicated.\n\nYour comment made me understand Iwamoto\u0027s comment from one of previous PS :)","commit_id":"b0744ee4fe90685772b5462e9cef11376b86e99b"}],"neutron/agent/linux/openvswitch_firewall/firewall.py":[{"author":{"_account_id":9200,"name":"IWAMOTO Toshihiro","email":"iwamoto@valinux.co.jp","username":"toshii"},"change_message_id":"780fb71c7f7cd4556ea30d403d83097073fb7c1a","unresolved":false,"context_lines":[{"line_number":409,"context_line":"            self._update_cookie \u003d self.int_br.br.request_cookie()"},{"line_number":410,"context_line":"            yield"},{"line_number":411,"context_line":"        finally:"},{"line_number":412,"context_line":"            self._update_cookie \u003d None"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    def security_group_updated(self, action_type, sec_group_ids,"},{"line_number":415,"context_line":"                               device_ids\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa0c359_5861b3d2","line":412,"updated":"2018-02-09 12:31:20.000000000","message":"I guess you want to call unset_cookie here (or later).","commit_id":"fb9cb7101affa188294ae6e72a63f6fd8953f290"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"2aefc425e5fc0e17aca8543b6b4a41827992a336","unresolved":false,"context_lines":[{"line_number":409,"context_line":"            self._update_cookie \u003d self.int_br.br.request_cookie()"},{"line_number":410,"context_line":"            yield"},{"line_number":411,"context_line":"        finally:"},{"line_number":412,"context_line":"            self._update_cookie \u003d None"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    def security_group_updated(self, action_type, sec_group_ids,"},{"line_number":415,"context_line":"                               device_ids\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff6b8bd7_cfd6ddf2","line":412,"in_reply_to":"3fa0c359_5861b3d2","updated":"2018-03-05 13:20:12.000000000","message":"I apologize, I don\u0027t understand what you mean. Can you please explain in more detail?","commit_id":"fb9cb7101affa188294ae6e72a63f6fd8953f290"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"e8c5be06117bcc5100cf0f5bc4f8053e5bfe08f5","unresolved":false,"context_lines":[{"line_number":409,"context_line":"            self._update_cookie \u003d self.int_br.br.request_cookie()"},{"line_number":410,"context_line":"            yield"},{"line_number":411,"context_line":"        finally:"},{"line_number":412,"context_line":"            self._update_cookie \u003d None"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    def security_group_updated(self, action_type, sec_group_ids,"},{"line_number":415,"context_line":"                               device_ids\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"df7087c5_9af11298","line":412,"in_reply_to":"ff6b8bd7_cfd6ddf2","updated":"2018-03-16 15:27:06.000000000","message":"Now I got it, you\u0027re right.","commit_id":"fb9cb7101affa188294ae6e72a63f6fd8953f290"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"f4f7674266e41793346818b0aa95defadeb06408","unresolved":false,"context_lines":[{"line_number":564,"context_line":"    def _update_flows_for_port(self, of_port, old_of_port):"},{"line_number":565,"context_line":"        with self.update_cookie_context():"},{"line_number":566,"context_line":"            self._set_port_filters(of_port)"},{"line_number":567,"context_line":"        self.delete_all_port_flows(old_of_port)"},{"line_number":568,"context_line":"        # Rewrite update cookie with default cookie"},{"line_number":569,"context_line":"        self._set_port_filters(of_port)"},{"line_number":570,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"df7087c5_141b451b","line":567,"updated":"2018-03-20 21:34:29.000000000","message":"Is there are period of time where the behavior of the port is going to be a combination of the old and new rules?","commit_id":"6f7ba76075dd0d645ad6cee6854f87cc41cba1fa"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"1523be0303152922c1a0127a8a0e12d2540b08dc","unresolved":false,"context_lines":[{"line_number":564,"context_line":"    def _update_flows_for_port(self, of_port, old_of_port):"},{"line_number":565,"context_line":"        with self.update_cookie_context():"},{"line_number":566,"context_line":"            self._set_port_filters(of_port)"},{"line_number":567,"context_line":"        self.delete_all_port_flows(old_of_port)"},{"line_number":568,"context_line":"        # Rewrite update cookie with default cookie"},{"line_number":569,"context_line":"        self._set_port_filters(of_port)"},{"line_number":570,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"df7087c5_ce1bec70","line":567,"in_reply_to":"df7087c5_141b451b","updated":"2018-03-21 08:55:09.000000000","message":"Yes, but I don\u0027t think that\u0027s a problem. It means both, old and new security groups are in effect, so it won\u0027t happen that packets that shouldn\u0027t get through would get through.","commit_id":"6f7ba76075dd0d645ad6cee6854f87cc41cba1fa"}]}
