)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7ce8a7f99ad485031fb2747e524b7389e779f2db","unresolved":true,"context_lines":[{"line_number":13,"context_line":"for ports that exists."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Co-Authored-By: aarefiev@mirantis.com"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ib1b7467fce9facfbfcd698bf6e9f950c0cead650"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a45805b_146089b5","line":16,"updated":"2023-06-07 13:45:59.000000000","message":"can you file a bug quickly for this\n\nhttps://bugs.launchpad.net/os-vif/+filebug\n\nand then add\n\nCloses-Bug: #\u003cbug number\u003e\n\nif we want to backport this we shoudl have a bug to track this\n\nit might be nice to have a release note but its not stictly requried.","commit_id":"5bcbbc48a3ba8d657eadc843e5a542226f4f59b6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"ffee934dd6d6f528634d0e146382cf98f100e09a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"for ports that exists."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Co-Authored-By: aarefiev@mirantis.com"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ib1b7467fce9facfbfcd698bf6e9f950c0cead650"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1e5a477b_3b2bd948","line":16,"in_reply_to":"3a45805b_146089b5","updated":"2023-06-08 15:59:02.000000000","message":"Done","commit_id":"5bcbbc48a3ba8d657eadc843e5a542226f4f59b6"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7ce8a7f99ad485031fb2747e524b7389e779f2db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"eaa94640_bbe494d4","updated":"2023-06-07 13:45:59.000000000","message":"-1 is mainly due to the lack of a bug I\u0027m debating if we shoudl have a functional test as well \n\nto write a good functional test you would need to have\nset self.config.isolate_vif\u003dtrue\nThen create a port and assert its on the dead vlan\nThen update it and call plug again and assert it does not change.\n\nI think that would be good to add but we could cover this just with unit test too.","commit_id":"5bcbbc48a3ba8d657eadc843e5a542226f4f59b6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e6107684591d0de54728baf873f7d7068be4f7e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5b7fb2c6_0b1f546e","updated":"2023-06-02 15:05:54.000000000","message":"recheck","commit_id":"5bcbbc48a3ba8d657eadc843e5a542226f4f59b6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"8a56e45a85b3ad192e6359654bb6ef9e351e010a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"cc2e2c57_adb1abf1","updated":"2023-08-20 12:45:31.000000000","message":"bump, please merge","commit_id":"0a0dec37e42e220ffa750650027714bd7289faa1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"801438f93ec3c5b6f34f49e27cf261054f14a291","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"2fa4b24e_62ef154c","updated":"2023-06-26 21:07:21.000000000","message":"i have to review this again when im less tired but i think this looks ok over all\n\nill leave this open and try and take a look again tomorrow","commit_id":"0a0dec37e42e220ffa750650027714bd7289faa1"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"46d7e2d35c747ae51fe1fe42a73368eb90c88118","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ed23fcdd_690c19fa","updated":"2023-06-26 18:00:13.000000000","message":"please review","commit_id":"0a0dec37e42e220ffa750650027714bd7289faa1"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"7a0e9c6fa4b0449a3705c915e41b2a003c84757a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"78c0fab2_58c0f3d5","updated":"2023-08-29 13:33:52.000000000","message":"recheck","commit_id":"0a0dec37e42e220ffa750650027714bd7289faa1"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"ffee934dd6d6f528634d0e146382cf98f100e09a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a6751723_708e81e4","updated":"2023-06-08 15:59:02.000000000","message":"thanks for review.","commit_id":"0a0dec37e42e220ffa750650027714bd7289faa1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a7fd431be5db7ad287ed6e95eae349e5645c838b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c58b38fc_ed0814ac","updated":"2023-07-06 11:45:14.000000000","message":"this can be merged as is.\n\nit would still be nice to add a functional test but the unit tests actully cover the edge case i asked for so upgradign to +2","commit_id":"0a0dec37e42e220ffa750650027714bd7289faa1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a7fd431be5db7ad287ed6e95eae349e5645c838b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d22491e7_348b3135","in_reply_to":"2fa4b24e_62ef154c","updated":"2023-07-06 11:45:14.000000000","message":"ok lookign at this again","commit_id":"0a0dec37e42e220ffa750650027714bd7289faa1"}],"vif_plug_ovs/ovs.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7ce8a7f99ad485031fb2747e524b7389e779f2db","unresolved":true,"context_lines":[{"line_number":190,"context_line":"        # NOTE(vsaienko): don\u0027t break traffic if port already exists,"},{"line_number":191,"context_line":"        # we assume it is called when nova-compute is initialized and"},{"line_number":192,"context_line":"        # since port is present it should be bound already."},{"line_number":193,"context_line":"        # Note that trunk ports do not have tags."},{"line_number":194,"context_line":"        return (self.config.isolate_vif and"},{"line_number":195,"context_line":"                not self.ovsdb.port_exists(vif_name, bridge))"},{"line_number":196,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"2a0aa64e_04f21329","line":193,"updated":"2023-06-07 13:45:59.000000000","message":"im not sure why you mention trunk ports here specifically.\n\nfor ml2/ovs trunk ports are added to a per trunk bridge without a tag and the br-int side of the patch ports that model the are tagged by neutron the trunk bridge side is not for the default port but is for all other subports.\n\nso this is an over simplification.\n\nthe port we add to the trunk bridge is not tagged.\n\nthe patch ports are taged typically with diffent tags on each end fo the patch port.\n\nfor ml2/ovn you are right that there is no tagging for trunk ports but for ml2/ovn isolate_vif\u003d\u003dFalse","commit_id":"5bcbbc48a3ba8d657eadc843e5a542226f4f59b6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fb42b7df861ae188fb85ef22350771ab03b4db38","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        # NOTE(vsaienko): don\u0027t break traffic if port already exists,"},{"line_number":191,"context_line":"        # we assume it is called when nova-compute is initialized and"},{"line_number":192,"context_line":"        # since port is present it should be bound already."},{"line_number":193,"context_line":"        # Note that trunk ports do not have tags."},{"line_number":194,"context_line":"        return (self.config.isolate_vif and"},{"line_number":195,"context_line":"                not self.ovsdb.port_exists(vif_name, bridge))"},{"line_number":196,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"25fb1bf8_162dd7e7","line":193,"in_reply_to":"1dc47464_7c072c9d","updated":"2023-06-13 12:14:32.000000000","message":"Done","commit_id":"5bcbbc48a3ba8d657eadc843e5a542226f4f59b6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"ffee934dd6d6f528634d0e146382cf98f100e09a","unresolved":true,"context_lines":[{"line_number":190,"context_line":"        # NOTE(vsaienko): don\u0027t break traffic if port already exists,"},{"line_number":191,"context_line":"        # we assume it is called when nova-compute is initialized and"},{"line_number":192,"context_line":"        # since port is present it should be bound already."},{"line_number":193,"context_line":"        # Note that trunk ports do not have tags."},{"line_number":194,"context_line":"        return (self.config.isolate_vif and"},{"line_number":195,"context_line":"                not self.ovsdb.port_exists(vif_name, bridge))"},{"line_number":196,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1dc47464_7c072c9d","line":193,"in_reply_to":"2a0aa64e_04f21329","updated":"2023-06-08 15:59:02.000000000","message":"Please disregard this comment, I\u0027ve removed it. First version of fix was relying not on port presence but either on tag presence on the vif. But we realised that missed that for trunk ports tag is not set. So now we rely on port presence.","commit_id":"5bcbbc48a3ba8d657eadc843e5a542226f4f59b6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7ce8a7f99ad485031fb2747e524b7389e779f2db","unresolved":true,"context_lines":[{"line_number":205,"context_line":"        # behaviour conditionally as it is not portable to SDN based"},{"line_number":206,"context_line":"        # deployment such as ODL or OVN as such operator must opt-in"},{"line_number":207,"context_line":"        # to this behaviour by setting the isolate_vif config option."},{"line_number":208,"context_line":"        # TODO(sean-k-mooney): Extend neutron to record what ml2 driver"},{"line_number":209,"context_line":"        # bound the interface in the vif binding details so isolation"},{"line_number":210,"context_line":"        # can be enabled automatically in the future."},{"line_number":211,"context_line":"        bridge \u003d kwargs.pop(\u0027bridge\u0027, vif.network.bridge)"},{"line_number":212,"context_line":"        if self._isolate_vif(vif_name, bridge):"},{"line_number":213,"context_line":"            kwargs[\u0027tag\u0027] \u003d constants.DEAD_VLAN"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba939479_fc052c25","line":210,"range":{"start_line":208,"start_character":7,"end_line":210,"end_character":53},"updated":"2023-06-07 13:45:59.000000000","message":"unrelated to your change but the change has now actully been done in neutron\nwe just havent gotten around to passing this inform form nova to os-vif\n\nwe shoudl proably do that","commit_id":"5bcbbc48a3ba8d657eadc843e5a542226f4f59b6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"fb42b7df861ae188fb85ef22350771ab03b4db38","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        # behaviour conditionally as it is not portable to SDN based"},{"line_number":206,"context_line":"        # deployment such as ODL or OVN as such operator must opt-in"},{"line_number":207,"context_line":"        # to this behaviour by setting the isolate_vif config option."},{"line_number":208,"context_line":"        # TODO(sean-k-mooney): Extend neutron to record what ml2 driver"},{"line_number":209,"context_line":"        # bound the interface in the vif binding details so isolation"},{"line_number":210,"context_line":"        # can be enabled automatically in the future."},{"line_number":211,"context_line":"        bridge \u003d kwargs.pop(\u0027bridge\u0027, vif.network.bridge)"},{"line_number":212,"context_line":"        if self._isolate_vif(vif_name, bridge):"},{"line_number":213,"context_line":"            kwargs[\u0027tag\u0027] \u003d constants.DEAD_VLAN"}],"source_content_type":"text/x-python","patch_set":2,"id":"03c1dd47_9ce3a7c1","line":210,"range":{"start_line":208,"start_character":7,"end_line":210,"end_character":53},"in_reply_to":"ba939479_fc052c25","updated":"2023-06-13 12:14:32.000000000","message":"Ack","commit_id":"5bcbbc48a3ba8d657eadc843e5a542226f4f59b6"}],"vif_plug_ovs/tests/unit/test_plugin.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"eb19d3eaf05682a6986d481799a032d93bed042f","unresolved":true,"context_lines":[{"line_number":186,"context_line":"            mtu\u003dself.network_ovs_mtu.mtu,"},{"line_number":187,"context_line":"            interface_type\u003dconstants.OVS_VHOSTUSER_INTERFACE_TYPE)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    @mock.patch.object(ovsdb_lib.BaseOVS, \u0027create_ovs_vif_port\u0027)"},{"line_number":190,"context_line":"    def test_create_vif_port_isolate(self, mock_create_ovs_vif_port):"},{"line_number":191,"context_line":"        plugin \u003d ovs.OvsPlugin.load(constants.PLUGIN_NAME)"},{"line_number":192,"context_line":"        with mock.patch.object(plugin, \u0027_isolate_vif\u0027, return_value\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":2,"id":"149249da_86b88b95","line":189,"updated":"2023-06-07 13:47:29.000000000","message":"we need to add a unit or functional test to asset that if we plug twice \nwith an update of the port in between to a real vlan that does not get overridden\nby the second plug attempt.","commit_id":"5bcbbc48a3ba8d657eadc843e5a542226f4f59b6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"e364e7d862ac30a7b7c1d3dd7558ea725459aa5c","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            mtu\u003dself.network_ovs_mtu.mtu,"},{"line_number":187,"context_line":"            interface_type\u003dconstants.OVS_VHOSTUSER_INTERFACE_TYPE)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    @mock.patch.object(ovsdb_lib.BaseOVS, \u0027create_ovs_vif_port\u0027)"},{"line_number":190,"context_line":"    def test_create_vif_port_isolate(self, mock_create_ovs_vif_port):"},{"line_number":191,"context_line":"        plugin \u003d ovs.OvsPlugin.load(constants.PLUGIN_NAME)"},{"line_number":192,"context_line":"        with mock.patch.object(plugin, \u0027_isolate_vif\u0027, return_value\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f762716_5695b0d9","line":189,"in_reply_to":"149249da_86b88b95","updated":"2023-06-13 12:14:41.000000000","message":"Done","commit_id":"5bcbbc48a3ba8d657eadc843e5a542226f4f59b6"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a7fd431be5db7ad287ed6e95eae349e5645c838b","unresolved":true,"context_lines":[{"line_number":219,"context_line":"                self.vif_ovs.address, self.instance.uuid,"},{"line_number":220,"context_line":"                mtu\u003dplugin.config.network_device_mtu,"},{"line_number":221,"context_line":"                interface_type\u003dconstants.OVS_VHOSTUSER_INTERFACE_TYPE,"},{"line_number":222,"context_line":"                tag\u003dconstants.DEAD_VLAN)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"    @mock.patch.object(ovsdb_lib.BaseOVS, \u0027create_ovs_vif_port\u0027)"},{"line_number":225,"context_line":"    @mock.patch.object(ovsdb_lib.BaseOVS, \u0027port_exists\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"e58b38f9_8250837f","line":222,"range":{"start_line":222,"start_character":16,"end_line":222,"end_character":40},"updated":"2023-07-06 11:45:14.000000000","message":"so the important part that is not passed in   test_create_vif_port_isolate_port_isolate_vif_port_exists","commit_id":"0a0dec37e42e220ffa750650027714bd7289faa1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a7fd431be5db7ad287ed6e95eae349e5645c838b","unresolved":true,"context_lines":[{"line_number":231,"context_line":"            plugin._create_vif_port("},{"line_number":232,"context_line":"                self.vif_ovs, mock.sentinel.vif_name, self.instance,"},{"line_number":233,"context_line":"                interface_type\u003dconstants.OVS_VHOSTUSER_INTERFACE_TYPE)"},{"line_number":234,"context_line":"            mock_create_ovs_vif_port.assert_called_once_with("},{"line_number":235,"context_line":"                self.vif_ovs.network.bridge, mock.sentinel.vif_name,"},{"line_number":236,"context_line":"                self.vif_ovs.port_profile.interface_id,"},{"line_number":237,"context_line":"                self.vif_ovs.address, self.instance.uuid,"}],"source_content_type":"text/x-python","patch_set":3,"id":"121a9e11_3c2f3ac8","line":234,"updated":"2023-07-06 11:45:14.000000000","message":"if you respin please add a node that we are asserting tag\u003dconstants.DEAD_VLAN\nis not in the parmater list","commit_id":"0a0dec37e42e220ffa750650027714bd7289faa1"}]}
