)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"only disable mac ageing for ovs hybrid plug"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change mac configuring mac ageing on linuxbridges"},{"line_number":10,"context_line":"condtional and caller controlled. By default mac ageing"},{"line_number":11,"context_line":"is unspecified and will use the kernels default of 300"},{"line_number":12,"context_line":"seconds. For ovs with hybrid plug we override this to"},{"line_number":13,"context_line":"0 to prevent packet loss issue during some migration"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7faddb67_9d5cb07d","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":33},"updated":"2019-08-06 11:39:54.000000000","message":"The mac ageing configuration on linux bridges is conditional and caller controlled.","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change mac configuring mac ageing on linuxbridges"},{"line_number":10,"context_line":"condtional and caller controlled. By default mac ageing"},{"line_number":11,"context_line":"is unspecified and will use the kernels default of 300"},{"line_number":12,"context_line":"seconds. For ovs with hybrid plug we override this to"},{"line_number":13,"context_line":"0 to prevent packet loss issue during some migration"},{"line_number":14,"context_line":"edgecases. This change reverts the disabling mac"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7faddb67_fdfa8440","line":11,"range":{"start_line":11,"start_character":32,"end_line":11,"end_character":39},"updated":"2019-08-06 11:39:54.000000000","message":"kernel\u0027s","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":11,"context_line":"is unspecified and will use the kernels default of 300"},{"line_number":12,"context_line":"seconds. For ovs with hybrid plug we override this to"},{"line_number":13,"context_line":"0 to prevent packet loss issue during some migration"},{"line_number":14,"context_line":"edgecases. This change reverts the disabling mac"},{"line_number":15,"context_line":"ageing for the linux brige plugin which was accidentally"},{"line_number":16,"context_line":"intoduced during the brctl removal via inheriting the"},{"line_number":17,"context_line":"ovs plugins default behavior when the bridge create code"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7faddb67_dd99c81e","line":14,"range":{"start_line":14,"start_character":30,"end_line":14,"end_character":34},"updated":"2019-08-06 11:39:54.000000000","message":"s/the //","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":12,"context_line":"seconds. For ovs with hybrid plug we override this to"},{"line_number":13,"context_line":"0 to prevent packet loss issue during some migration"},{"line_number":14,"context_line":"edgecases. This change reverts the disabling mac"},{"line_number":15,"context_line":"ageing for the linux brige plugin which was accidentally"},{"line_number":16,"context_line":"intoduced during the brctl removal via inheriting the"},{"line_number":17,"context_line":"ovs plugins default behavior when the bridge create code"},{"line_number":18,"context_line":"became shared."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7faddb67_7d9c540d","line":15,"range":{"start_line":15,"start_character":21,"end_line":15,"end_character":26},"updated":"2019-08-06 11:39:54.000000000","message":"bridge","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":13,"context_line":"0 to prevent packet loss issue during some migration"},{"line_number":14,"context_line":"edgecases. This change reverts the disabling mac"},{"line_number":15,"context_line":"ageing for the linux brige plugin which was accidentally"},{"line_number":16,"context_line":"intoduced during the brctl removal via inheriting the"},{"line_number":17,"context_line":"ovs plugins default behavior when the bridge create code"},{"line_number":18,"context_line":"became shared."},{"line_number":19,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7faddb67_3d8a5cbe","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":9},"updated":"2019-08-06 11:39:54.000000000","message":"introduced","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":14,"context_line":"edgecases. This change reverts the disabling mac"},{"line_number":15,"context_line":"ageing for the linux brige plugin which was accidentally"},{"line_number":16,"context_line":"intoduced during the brctl removal via inheriting the"},{"line_number":17,"context_line":"ovs plugins default behavior when the bridge create code"},{"line_number":18,"context_line":"became shared."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I95612352de6cdb47de98eb80c208dd1a74499d41"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7faddb67_5d85d8ab","line":17,"range":{"start_line":17,"start_character":4,"end_line":17,"end_character":11},"updated":"2019-08-06 11:39:54.000000000","message":"plugin\u0027s","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"}],"os_vif/internal/ip/linux/impl_pyroute2.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"            return self._ip_link(ip, \u0027set\u0027, check_exit_code, **args)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def add(self, device, dev_type, check_exit_code\u003dNone, peer\u003dNone, link\u003dNone,"},{"line_number":70,"context_line":"            vlan_id\u003dNone, ageing\u003dNone):"},{"line_number":71,"context_line":"        check_exit_code \u003d check_exit_code or []"},{"line_number":72,"context_line":"        with iproute.IPRoute() as ip:"},{"line_number":73,"context_line":"            args \u003d {\u0027ifname\u0027: device,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_22b3179a","line":70,"range":{"start_line":69,"start_character":58,"end_line":70,"end_character":37},"updated":"2019-08-06 10:07:54.000000000","message":"As a future change, I wonder if we should start erroring if any of these are specified for an invalid device type?","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                args[\u0027IFLA_BR_FORWARD_DELAY\u0027] \u003d 0  # set no delay"},{"line_number":90,"context_line":"                args[\u0027IFLA_BR_STP_STATE\u0027] \u003d 0  # disable spanning tree"},{"line_number":91,"context_line":"                args[\u0027IFLA_BR_MCAST_SNOOPING\u0027] \u003d 0  # disable snooping"},{"line_number":92,"context_line":"                # NOTE(sean-k-mooney): we conditionally enable mac aging as"},{"line_number":93,"context_line":"                # this code is shared between the ovs and linux bridge"},{"line_number":94,"context_line":"                # plugins. For linux bridge we want to allow the default"},{"line_number":95,"context_line":"                # ageing of 300 seconds, where as for ovs with ip tables"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_7db5347d","line":92,"range":{"start_line":92,"start_character":67,"end_line":92,"end_character":72},"updated":"2019-08-06 11:39:54.000000000","message":"ageing","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":92,"context_line":"                # NOTE(sean-k-mooney): we conditionally enable mac aging as"},{"line_number":93,"context_line":"                # this code is shared between the ovs and linux bridge"},{"line_number":94,"context_line":"                # plugins. For linux bridge we want to allow the default"},{"line_number":95,"context_line":"                # ageing of 300 seconds, where as for ovs with ip tables"},{"line_number":96,"context_line":"                # firewall we want to disable ageing. None was chosen as"},{"line_number":97,"context_line":"                # the default value of ageing to allow the caller to determine"},{"line_number":98,"context_line":"                # what policy to use and keep this code generic."}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_a2bf075f","line":95,"range":{"start_line":95,"start_character":41,"end_line":95,"end_character":49},"updated":"2019-08-06 10:07:54.000000000","message":"whereas","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                # the default value of ageing to allow the caller to determine"},{"line_number":98,"context_line":"                # what policy to use and keep this code generic."},{"line_number":99,"context_line":"                if ageing is not None:"},{"line_number":100,"context_line":"                    args[\u0027IFLA_BR_AGEING_TIME\u0027] \u003d ageing"},{"line_number":101,"context_line":"            else:"},{"line_number":102,"context_line":"                raise exception.NetworkInterfaceTypeNotDefined(type\u003ddev_type)"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_e28f3fca","line":100,"range":{"start_line":100,"start_character":34,"end_line":100,"end_character":40},"updated":"2019-08-06 10:07:54.000000000","message":"Unrelated, but it\u0027s weird that they used the British English (I think?) spelling here","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                # the default value of ageing to allow the caller to determine"},{"line_number":98,"context_line":"                # what policy to use and keep this code generic."},{"line_number":99,"context_line":"                if ageing is not None:"},{"line_number":100,"context_line":"                    args[\u0027IFLA_BR_AGEING_TIME\u0027] \u003d ageing"},{"line_number":101,"context_line":"            else:"},{"line_number":102,"context_line":"                raise exception.NetworkInterfaceTypeNotDefined(type\u003ddev_type)"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_b84e5a6c","line":100,"range":{"start_line":100,"start_character":34,"end_line":100,"end_character":40},"in_reply_to":"7faddb67_e28f3fca","updated":"2019-08-06 11:39:54.000000000","message":"The spelling in-kernel seems to have inherited from the ageing_time field of the linux bridge struct, which predates v2.6.12-rc2 (net/bridge/br_private.h for interested archaeologists). There\u0027s a fair mix in-kernel of aging and ageing.","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"}],"os_vif/tests/functional/internal/command/ip/test_impl_pyroute2.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        self.del_device(device)"},{"line_number":208,"context_line":"        self.assertFalse(_ip_cmd_exists(device))"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def test_add_bridge_default_aging(self):"},{"line_number":211,"context_line":"        device \u003d \"test_dev_11\""},{"line_number":212,"context_line":"        self.addCleanup(self.del_device, device)"},{"line_number":213,"context_line":"        _ip_cmd_add(device, \u0027bridge\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_a264e722","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":37},"updated":"2019-08-06 10:07:54.000000000","message":"I don\u0027t think this is necessary - it\u0027s the default case","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        self.del_device(device)"},{"line_number":208,"context_line":"        self.assertFalse(_ip_cmd_exists(device))"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def test_add_bridge_default_aging(self):"},{"line_number":211,"context_line":"        device \u003d \"test_dev_11\""},{"line_number":212,"context_line":"        self.addCleanup(self.del_device, device)"},{"line_number":213,"context_line":"        _ip_cmd_add(device, \u0027bridge\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_98f35e09","line":210,"range":{"start_line":210,"start_character":23,"end_line":210,"end_character":37},"in_reply_to":"7faddb67_a264e722","updated":"2019-08-06 11:39:54.000000000","message":"Either s/aging/ageing/ or s/_default_aging// is fine with me.","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        with open(base_path % \"stp_state\", \"r\") as f:"},{"line_number":219,"context_line":"            self.assertEqual(\"0\", f.readline().rstrip(\u0027\\n\u0027))"},{"line_number":220,"context_line":"        with open(base_path % \"ageing_time\", \"r\") as f:"},{"line_number":221,"context_line":"            self.assertFalse(\"0\" \u003d\u003d f.readline().rstrip(\u0027\\n\u0027))"},{"line_number":222,"context_line":"        with open(base_path % \"multicast_snooping\", \"r\") as f:"},{"line_number":223,"context_line":"            self.assertEqual(\"0\", f.readline().rstrip(\u0027\\n\u0027))"},{"line_number":224,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_2278f7c1","line":221,"range":{"start_line":221,"start_character":12,"end_line":221,"end_character":62},"updated":"2019-08-06 10:07:54.000000000","message":"I assume we can\u0027t check for 300? You should place a comment here explaining why, if not","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":218,"context_line":"        with open(base_path % \"stp_state\", \"r\") as f:"},{"line_number":219,"context_line":"            self.assertEqual(\"0\", f.readline().rstrip(\u0027\\n\u0027))"},{"line_number":220,"context_line":"        with open(base_path % \"ageing_time\", \"r\") as f:"},{"line_number":221,"context_line":"            self.assertFalse(\"0\" \u003d\u003d f.readline().rstrip(\u0027\\n\u0027))"},{"line_number":222,"context_line":"        with open(base_path % \"multicast_snooping\", \"r\") as f:"},{"line_number":223,"context_line":"            self.assertEqual(\"0\", f.readline().rstrip(\u0027\\n\u0027))"},{"line_number":224,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_38c7ca98","line":221,"range":{"start_line":221,"start_character":12,"end_line":221,"end_character":62},"in_reply_to":"7faddb67_2278f7c1","updated":"2019-08-06 11:39:54.000000000","message":"Yep, reading this I\u0027m puzzled why we\u0027re not checking for the default ageing_time? 300 seconds might be specced somewhere... ancient kernel texts refer to: ieee8021QBridgeFdbAgingTime (note the spelling!)","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"}],"os_vif/tests/unit/internal/ip/linux/test_impl_pyroute2.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                    \u0027link\u0027: 1}"},{"line_number":94,"context_line":"            self.ip_link.assert_called_once_with(\u0027add\u0027, **args)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def test_add_bridge_with_ageing(self):"},{"line_number":97,"context_line":"        self.ip.add(self.DEVICE, self.TYPE_BRIDGE, ageing\u003d0)"},{"line_number":98,"context_line":"        args \u003d {\u0027ifname\u0027: self.DEVICE,"},{"line_number":99,"context_line":"                \u0027kind\u0027: self.TYPE_BRIDGE,"},{"line_number":100,"context_line":"                \u0027IFLA_BR_AGEING_TIME\u0027: 0,"},{"line_number":101,"context_line":"                \u0027IFLA_BR_FORWARD_DELAY\u0027: 0,"},{"line_number":102,"context_line":"                \u0027IFLA_BR_STP_STATE\u0027: 0,"},{"line_number":103,"context_line":"                \u0027IFLA_BR_MCAST_SNOOPING\u0027: 0}"},{"line_number":104,"context_line":"        self.ip_link.assert_called_once_with(\u0027add\u0027, **args)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def test_add_bridge_without_ageing(self):"},{"line_number":107,"context_line":"        self.ip.add(self.DEVICE, self.TYPE_BRIDGE)"},{"line_number":108,"context_line":"        args \u003d {\u0027ifname\u0027: self.DEVICE,"},{"line_number":109,"context_line":"                \u0027kind\u0027: self.TYPE_BRIDGE,"},{"line_number":110,"context_line":"                \u0027IFLA_BR_FORWARD_DELAY\u0027: 0,"},{"line_number":111,"context_line":"                \u0027IFLA_BR_STP_STATE\u0027: 0,"},{"line_number":112,"context_line":"                \u0027IFLA_BR_MCAST_SNOOPING\u0027: 0}"},{"line_number":113,"context_line":"        self.ip_link.assert_called_once_with(\u0027add\u0027, **args)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def test_add_vlan_no_interface_found(self):"},{"line_number":116,"context_line":"        with mock.patch.object(iproute.IPRoute, \u0027link_lookup\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_c23563f8","line":113,"range":{"start_line":96,"start_character":0,"end_line":113,"end_character":59},"updated":"2019-08-06 10:07:54.000000000","message":"I\u0027d probably switch and rename them so we\u0027ve a test case that\u0027s obviously testing the default case for bridge interfaces. Something like\n\n- test_add_bridge\n- test_add_bridge_with_ageing","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                    \u0027link\u0027: 1}"},{"line_number":94,"context_line":"            self.ip_link.assert_called_once_with(\u0027add\u0027, **args)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def test_add_bridge_with_ageing(self):"},{"line_number":97,"context_line":"        self.ip.add(self.DEVICE, self.TYPE_BRIDGE, ageing\u003d0)"},{"line_number":98,"context_line":"        args \u003d {\u0027ifname\u0027: self.DEVICE,"},{"line_number":99,"context_line":"                \u0027kind\u0027: self.TYPE_BRIDGE,"},{"line_number":100,"context_line":"                \u0027IFLA_BR_AGEING_TIME\u0027: 0,"},{"line_number":101,"context_line":"                \u0027IFLA_BR_FORWARD_DELAY\u0027: 0,"},{"line_number":102,"context_line":"                \u0027IFLA_BR_STP_STATE\u0027: 0,"},{"line_number":103,"context_line":"                \u0027IFLA_BR_MCAST_SNOOPING\u0027: 0}"},{"line_number":104,"context_line":"        self.ip_link.assert_called_once_with(\u0027add\u0027, **args)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def test_add_bridge_without_ageing(self):"},{"line_number":107,"context_line":"        self.ip.add(self.DEVICE, self.TYPE_BRIDGE)"},{"line_number":108,"context_line":"        args \u003d {\u0027ifname\u0027: self.DEVICE,"},{"line_number":109,"context_line":"                \u0027kind\u0027: self.TYPE_BRIDGE,"},{"line_number":110,"context_line":"                \u0027IFLA_BR_FORWARD_DELAY\u0027: 0,"},{"line_number":111,"context_line":"                \u0027IFLA_BR_STP_STATE\u0027: 0,"},{"line_number":112,"context_line":"                \u0027IFLA_BR_MCAST_SNOOPING\u0027: 0}"},{"line_number":113,"context_line":"        self.ip_link.assert_called_once_with(\u0027add\u0027, **args)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def test_add_vlan_no_interface_found(self):"},{"line_number":116,"context_line":"        with mock.patch.object(iproute.IPRoute, \u0027link_lookup\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_78af827c","line":113,"range":{"start_line":96,"start_character":0,"end_line":113,"end_character":59},"in_reply_to":"7faddb67_c23563f8","updated":"2019-08-06 11:39:54.000000000","message":"yeah, the confusion is that the test is named for passing the ageing _parameter_.\n\nI like Stephen\u0027s suggestion, but I can see the rationale behind this scheme.","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"}],"releasenotes/notes/do-not-force-mac-ageing-c6e8d750130c5740.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    As part of a bug #1715317 mac ageing was disabled for the intermediate"},{"line_number":5,"context_line":"    bridge created as part of the hybrid plug mechanisium. During the removeal"},{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_823bebe7","line":4,"range":{"start_line":4,"start_character":29,"end_line":4,"end_character":30},"updated":"2019-08-06 10:07:54.000000000","message":",","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    As part of a bug #1715317 mac ageing was disabled for the intermediate"},{"line_number":5,"context_line":"    bridge created as part of the hybrid plug mechanisium. During the removeal"},{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_9d09102c","line":4,"range":{"start_line":4,"start_character":30,"end_line":4,"end_character":33},"updated":"2019-08-06 10:07:54.000000000","message":"MAC","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    As part of a bug #1715317 mac ageing was disabled for the intermediate"},{"line_number":5,"context_line":"    bridge created as part of the hybrid plug mechanisium. During the removeal"},{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_7d06941e","line":4,"range":{"start_line":4,"start_character":17,"end_line":4,"end_character":29},"updated":"2019-08-06 10:07:54.000000000","message":"Use a link to cross-reference this?\n\n   As part of `bug #1715317`_, MAC ageing was...\n\n   .. _bug #1715317: https://launchpad.net/...","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    As part of a bug #1715317 mac ageing was disabled for the intermediate"},{"line_number":5,"context_line":"    bridge created as part of the hybrid plug mechanisium. During the removeal"},{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."},{"line_number":8,"context_line":"    As a result this can lead to packet flooding see bug #1837252 when"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_422173b3","line":5,"range":{"start_line":5,"start_character":46,"end_line":5,"end_character":57},"updated":"2019-08-06 10:07:54.000000000","message":"mechanism","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    As part of a bug #1715317 mac ageing was disabled for the intermediate"},{"line_number":5,"context_line":"    bridge created as part of the hybrid plug mechanisium. During the removeal"},{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."},{"line_number":8,"context_line":"    As a result this can lead to packet flooding see bug #1837252 when"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_e22bbf91","line":5,"range":{"start_line":5,"start_character":70,"end_line":5,"end_character":78},"updated":"2019-08-06 10:07:54.000000000","message":"removal","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    As part of a bug #1715317 mac ageing was disabled for the intermediate"},{"line_number":5,"context_line":"    bridge created as part of the hybrid plug mechanisium. During the removeal"},{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."},{"line_number":8,"context_line":"    As a result this can lead to packet flooding see bug #1837252 when"},{"line_number":9,"context_line":"    instnaces are migrated. In this release of os-vif we revert the behavior"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_0227fbc8","line":6,"range":{"start_line":6,"start_character":7,"end_line":6,"end_character":12},"updated":"2019-08-06 10:07:54.000000000","message":"``brctl``,","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    As part of a bug #1715317 mac ageing was disabled for the intermediate"},{"line_number":5,"context_line":"    bridge created as part of the hybrid plug mechanisium. During the removeal"},{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."},{"line_number":8,"context_line":"    As a result this can lead to packet flooding see bug #1837252 when"},{"line_number":9,"context_line":"    instnaces are migrated. In this release of os-vif we revert the behavior"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_f8c29233","line":6,"range":{"start_line":6,"start_character":60,"end_line":6,"end_character":72},"updated":"2019-08-06 11:39:54.000000000","message":"linux bridges","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    As part of a bug #1715317 mac ageing was disabled for the intermediate"},{"line_number":5,"context_line":"    bridge created as part of the hybrid plug mechanisium. During the removeal"},{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."},{"line_number":8,"context_line":"    As a result this can lead to packet flooding see bug #1837252 when"},{"line_number":9,"context_line":"    instnaces are migrated. In this release of os-vif we revert the behavior"},{"line_number":10,"context_line":"    so that the default mac ageing is determined by the kernel and is not"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_a21b877e","line":7,"range":{"start_line":7,"start_character":15,"end_line":7,"end_character":18},"updated":"2019-08-06 10:07:54.000000000","message":"OVS","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    As part of a bug #1715317 mac ageing was disabled for the intermediate"},{"line_number":5,"context_line":"    bridge created as part of the hybrid plug mechanisium. During the removeal"},{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."},{"line_number":8,"context_line":"    As a result this can lead to packet flooding see bug #1837252 when"},{"line_number":9,"context_line":"    instnaces are migrated. In this release of os-vif we revert the behavior"},{"line_number":10,"context_line":"    so that the default mac ageing is determined by the kernel and is not"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_82144b4e","line":7,"range":{"start_line":7,"start_character":36,"end_line":7,"end_character":40},"updated":"2019-08-06 10:07:54.000000000","message":"those (you spelt this like some Irish people pronounce it :D)","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    As part of a bug #1715317 mac ageing was disabled for the intermediate"},{"line_number":5,"context_line":"    bridge created as part of the hybrid plug mechanisium. During the removeal"},{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."},{"line_number":8,"context_line":"    As a result this can lead to packet flooding see bug #1837252 when"},{"line_number":9,"context_line":"    instnaces are migrated. In this release of os-vif we revert the behavior"},{"line_number":10,"context_line":"    so that the default mac ageing is determined by the kernel and is not"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_38d26a01","line":7,"range":{"start_line":7,"start_character":15,"end_line":7,"end_character":18},"in_reply_to":"7faddb67_a21b877e","updated":"2019-08-06 11:39:54.000000000","message":"Maybe remove \u0027ovs\u0027?","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    bridge created as part of the hybrid plug mechanisium. During the removeal"},{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."},{"line_number":8,"context_line":"    As a result this can lead to packet flooding see bug #1837252 when"},{"line_number":9,"context_line":"    instnaces are migrated. In this release of os-vif we revert the behavior"},{"line_number":10,"context_line":"    so that the default mac ageing is determined by the kernel and is not"},{"line_number":11,"context_line":"    set when using the os-vif linux bridge plugin."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_220f9737","line":8,"range":{"start_line":8,"start_character":49,"end_line":8,"end_character":65},"updated":"2019-08-06 10:07:54.000000000","message":"(see bug #1837252)","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."},{"line_number":8,"context_line":"    As a result this can lead to packet flooding see bug #1837252 when"},{"line_number":9,"context_line":"    instnaces are migrated. In this release of os-vif we revert the behavior"},{"line_number":10,"context_line":"    so that the default mac ageing is determined by the kernel and is not"},{"line_number":11,"context_line":"    set when using the os-vif linux bridge plugin."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_e2041f1a","line":9,"range":{"start_line":9,"start_character":28,"end_line":9,"end_character":76},"updated":"2019-08-06 10:07:54.000000000","message":"This behavior has been reverted","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    of brctl this behavior was inadvertently applied to all linuxbridges"},{"line_number":7,"context_line":"    created by ovs os-vif including does used in the linuxbridge driver."},{"line_number":8,"context_line":"    As a result this can lead to packet flooding see bug #1837252 when"},{"line_number":9,"context_line":"    instnaces are migrated. In this release of os-vif we revert the behavior"},{"line_number":10,"context_line":"    so that the default mac ageing is determined by the kernel and is not"},{"line_number":11,"context_line":"    set when using the os-vif linux bridge plugin."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_420ad325","line":9,"range":{"start_line":9,"start_character":4,"end_line":9,"end_character":13},"updated":"2019-08-06 10:07:54.000000000","message":"instances","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2a13c8cb7d5a02847ea1c08a6e6d900d45c519f3","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    bridge created as part of the hybrid plug mechanism. During the removal"},{"line_number":6,"context_line":"    of ``brctl``, this behavior was inadvertently applied to all linux bridges"},{"line_number":7,"context_line":"    created by os-vif including those used in the linuxbridge driver."},{"line_number":8,"context_line":"    As a result this can lead to packet flooding (see bug #1837252) when"},{"line_number":9,"context_line":"    instances are migrated. This behavior has been reverted so that the"},{"line_number":10,"context_line":"    default mac ageing is determined by the kernel and is not set when using"},{"line_number":11,"context_line":"    the os-vif linux bridge plugin."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7faddb67_5b08562c","line":8,"range":{"start_line":8,"start_character":54,"end_line":8,"end_character":66},"updated":"2019-08-08 09:08:40.000000000","message":"this could/should be a link too","commit_id":"655c83d706f5de8a8cf23430782e065219297aef"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"80d29289239a976f8e06c8c25a914d3c92711a5f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    created by os-vif including those used in the linuxbridge driver."},{"line_number":8,"context_line":"    As a result this can lead to packet flooding (see bug #1837252) when"},{"line_number":9,"context_line":"    instances are migrated. This behavior has been reverted so that the"},{"line_number":10,"context_line":"    default mac ageing is determined by the kernel and is not set when using"},{"line_number":11,"context_line":"    the os-vif linux bridge plugin."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    .. _bug #1715317: https://bugs.launchpad.net/os-vif/+bug/1837252"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7faddb67_bbb5cad2","line":10,"range":{"start_line":10,"start_character":12,"end_line":10,"end_character":15},"updated":"2019-08-08 08:47:07.000000000","message":"I\u0027m ambivalent about MAC / mac capitalisation. If there\u0027s a next respin it might be worth looking at, otherwise don\u0027t bother.","commit_id":"655c83d706f5de8a8cf23430782e065219297aef"}],"vif_plug_ovs/linux_net.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a293aa1dd8c6563dd98a250d808988135d9778c2","unresolved":false,"context_lines":[{"line_number":129,"context_line":"@privsep.vif_plug.entrypoint"},{"line_number":130,"context_line":"def ensure_bridge(bridge):"},{"line_number":131,"context_line":"    if not ip_lib.exists(bridge):"},{"line_number":132,"context_line":"        # NOTE(sean-k-mooney): we set mac ageing to 0 to disable mac againg"},{"line_number":133,"context_line":"        # on the hybrid plug bridge to avoid packet lose during live"},{"line_number":134,"context_line":"        # migrations. This avoids bug #1715317 and related bug #1414559"},{"line_number":135,"context_line":"        ip_lib.add(bridge, \u0027bridge\u0027, ageing\u003d0)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_5d0f182d","line":132,"range":{"start_line":132,"start_character":69,"end_line":132,"end_character":75},"updated":"2019-08-06 10:07:54.000000000","message":"ageing","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":130,"context_line":"def ensure_bridge(bridge):"},{"line_number":131,"context_line":"    if not ip_lib.exists(bridge):"},{"line_number":132,"context_line":"        # NOTE(sean-k-mooney): we set mac ageing to 0 to disable mac againg"},{"line_number":133,"context_line":"        # on the hybrid plug bridge to avoid packet lose during live"},{"line_number":134,"context_line":"        # migrations. This avoids bug #1715317 and related bug #1414559"},{"line_number":135,"context_line":"        ip_lib.add(bridge, \u0027bridge\u0027, ageing\u003d0)"},{"line_number":136,"context_line":"    _disable_ipv6(bridge)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_b815fa9d","line":133,"range":{"start_line":133,"start_character":52,"end_line":133,"end_character":56},"updated":"2019-08-06 11:39:54.000000000","message":"loss","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8f49f15a1e47d15ebe8cff13708cf128fedcfa42","unresolved":false,"context_lines":[{"line_number":131,"context_line":"    if not ip_lib.exists(bridge):"},{"line_number":132,"context_line":"        # NOTE(sean-k-mooney): we set mac ageing to 0 to disable mac againg"},{"line_number":133,"context_line":"        # on the hybrid plug bridge to avoid packet lose during live"},{"line_number":134,"context_line":"        # migrations. This avoids bug #1715317 and related bug #1414559"},{"line_number":135,"context_line":"        ip_lib.add(bridge, \u0027bridge\u0027, ageing\u003d0)"},{"line_number":136,"context_line":"    _disable_ipv6(bridge)"},{"line_number":137,"context_line":"    _arp_filtering(bridge)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_d818f6d3","line":134,"range":{"start_line":134,"start_character":10,"end_line":134,"end_character":20},"updated":"2019-08-06 11:39:54.000000000","message":"migration","commit_id":"e8cb45bebc8fb2fb7e33412a352de1674ce307bf"}]}
