)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"722422ddac516cce9678838abdf612ea110825ea","unresolved":false,"context_lines":[{"line_number":21,"context_line":"  backend."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: I87ee9626cc6b4a01465a6b1908bc66bc7be0a4bc"},{"line_number":24,"context_line":"Partial-Bug: #1734320"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_e3029971","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":21},"updated":"2018-11-02 09:47:04.000000000","message":"I assume you don\u0027t want to mark this as closing the bug because you would prefer the longer term fix? It does technically close it though, right?","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7874d47080939c961c3854f75753a97af04f4106","unresolved":false,"context_lines":[{"line_number":21,"context_line":"  backend."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: I87ee9626cc6b4a01465a6b1908bc66bc7be0a4bc"},{"line_number":24,"context_line":"Partial-Bug: #1734320"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_3c598e5b","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":21},"in_reply_to":"3f79a3b5_e3029971","updated":"2018-11-02 12:13:16.000000000","message":"i want the longer term fix yes and it close what can be close by os-vif alone. \n\nthere are two neutron change i want to make that futher increase the security first the recording of the ml2 driver so we can auto enable this fucntionality and fallback to the config option only if it is not presnet in the vif and second raising the piority of the priority of the drop action for the dead vlan.\n\ncurrently this will be droped by a lower priority drop rule that you may or may not be able to supersede with with networking-sfc. that said even then you could not exploit that to bypass tenant isolation because of how networking sfc works so its safe but we really should be droping all packets from the guest until neutron finishes wiring it up.\n\nso ill likely make the the change to raise the neutron priority the close bug and all other patches after that will be related bug and will be purely optional.\n\nthis could be closes bug however from an os-vif point of view yes.","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0b63b2e396b27f25f89005c7f07c133c442a6243","unresolved":false,"context_lines":[{"line_number":10,"context_line":"  option to the OVS plugin."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- The isolate_vif option defaults to False"},{"line_number":13,"context_line":"  for backwards compatiblity with sdn based"},{"line_number":14,"context_line":"  deployments."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"- This change is a partial mitigation of bug"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3f79a3b5_6632455e","line":13,"range":{"start_line":13,"start_character":34,"end_line":13,"end_character":37},"updated":"2018-11-30 04:17:18.000000000","message":"SDN-based deployments (e.g. OpenDaylight or OVN deployments)","commit_id":"e31579c2ea99937661e12688b1b8bf5f81b92872"}],"releasenotes/notes/always-plug-vifs-for-ovs-1d033fc49a9c6c4e.yaml":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"51c212e4f0ffe1f10629918ddca585ddef199cb4","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    In this release, a new config option was introduced for the OVS VIF plugin."},{"line_number":25,"context_line":"    The isolate_vif option was added as a partial mitigation of bug 1734320."},{"line_number":26,"context_line":"    see https://bugs.launchpad.net/neutron/+bug/1734320 for details."},{"line_number":27,"context_line":"    The isolate_vif option default to False for backwards compatibility"},{"line_number":28,"context_line":"    with sdn controller based OpenStack deployments. For all deployments using"},{"line_number":29,"context_line":"    the reference implementation of ML2/OVS with the neutron l2 agents,"},{"line_number":30,"context_line":"    isolate_vif should be set to True. This option instructs the OVS plugin"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_9e349aad","line":27,"range":{"start_line":27,"start_character":27,"end_line":27,"end_character":34},"updated":"2018-10-30 17:17:07.000000000","message":"defaults","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fde9183b1b568f05713cb9472c6dca224422772a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    In this release, a new config option was introduced for the OVS VIF plugin."},{"line_number":25,"context_line":"    The isolate_vif option was added as a partial mitigation of bug 1734320."},{"line_number":26,"context_line":"    see https://bugs.launchpad.net/neutron/+bug/1734320 for details."},{"line_number":27,"context_line":"    The isolate_vif option default to False for backwards compatibility"},{"line_number":28,"context_line":"    with sdn controller based OpenStack deployments. For all deployments using"},{"line_number":29,"context_line":"    the reference implementation of ML2/OVS with the neutron l2 agents,"},{"line_number":30,"context_line":"    isolate_vif should be set to True. This option instructs the OVS plugin"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_51d1e52d","line":27,"range":{"start_line":27,"start_character":27,"end_line":27,"end_character":34},"in_reply_to":"3f79a3b5_9e349aad","updated":"2018-11-01 21:07:46.000000000","message":"Done","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"51c212e4f0ffe1f10629918ddca585ddef199cb4","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    The isolate_vif option was added as a partial mitigation of bug 1734320."},{"line_number":26,"context_line":"    see https://bugs.launchpad.net/neutron/+bug/1734320 for details."},{"line_number":27,"context_line":"    The isolate_vif option default to False for backwards compatibility"},{"line_number":28,"context_line":"    with sdn controller based OpenStack deployments. For all deployments using"},{"line_number":29,"context_line":"    the reference implementation of ML2/OVS with the neutron l2 agents,"},{"line_number":30,"context_line":"    isolate_vif should be set to True. This option instructs the OVS plugin"},{"line_number":31,"context_line":"    to assign the VIF to the Neutron dead VLAN (4095) when attaching the"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_5e3e028b","line":28,"range":{"start_line":28,"start_character":9,"end_line":28,"end_character":12},"updated":"2018-10-30 17:17:07.000000000","message":"SDN","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fde9183b1b568f05713cb9472c6dca224422772a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    The isolate_vif option was added as a partial mitigation of bug 1734320."},{"line_number":26,"context_line":"    see https://bugs.launchpad.net/neutron/+bug/1734320 for details."},{"line_number":27,"context_line":"    The isolate_vif option default to False for backwards compatibility"},{"line_number":28,"context_line":"    with sdn controller based OpenStack deployments. For all deployments using"},{"line_number":29,"context_line":"    the reference implementation of ML2/OVS with the neutron l2 agents,"},{"line_number":30,"context_line":"    isolate_vif should be set to True. This option instructs the OVS plugin"},{"line_number":31,"context_line":"    to assign the VIF to the Neutron dead VLAN (4095) when attaching the"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_f1d5911b","line":28,"range":{"start_line":28,"start_character":9,"end_line":28,"end_character":12},"in_reply_to":"3f79a3b5_5e3e028b","updated":"2018-11-01 21:07:46.000000000","message":"Done","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"51c212e4f0ffe1f10629918ddca585ddef199cb4","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    see https://bugs.launchpad.net/neutron/+bug/1734320 for details."},{"line_number":27,"context_line":"    The isolate_vif option default to False for backwards compatibility"},{"line_number":28,"context_line":"    with sdn controller based OpenStack deployments. For all deployments using"},{"line_number":29,"context_line":"    the reference implementation of ML2/OVS with the neutron l2 agents,"},{"line_number":30,"context_line":"    isolate_vif should be set to True. This option instructs the OVS plugin"},{"line_number":31,"context_line":"    to assign the VIF to the Neutron dead VLAN (4095) when attaching the"},{"line_number":32,"context_line":"    interface to OVS."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_fe426e0e","line":29,"range":{"start_line":29,"start_character":61,"end_line":29,"end_character":63},"updated":"2018-10-30 17:17:07.000000000","message":"L2","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fde9183b1b568f05713cb9472c6dca224422772a","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    see https://bugs.launchpad.net/neutron/+bug/1734320 for details."},{"line_number":27,"context_line":"    The isolate_vif option default to False for backwards compatibility"},{"line_number":28,"context_line":"    with sdn controller based OpenStack deployments. For all deployments using"},{"line_number":29,"context_line":"    the reference implementation of ML2/OVS with the neutron l2 agents,"},{"line_number":30,"context_line":"    isolate_vif should be set to True. This option instructs the OVS plugin"},{"line_number":31,"context_line":"    to assign the VIF to the Neutron dead VLAN (4095) when attaching the"},{"line_number":32,"context_line":"    interface to OVS."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_11db6d4e","line":29,"range":{"start_line":29,"start_character":61,"end_line":29,"end_character":63},"in_reply_to":"3f79a3b5_fe426e0e","updated":"2018-11-01 21:07:46.000000000","message":"Done","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"51c212e4f0ffe1f10629918ddca585ddef199cb4","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    the reference implementation of ML2/OVS with the neutron l2 agents,"},{"line_number":30,"context_line":"    isolate_vif should be set to True. This option instructs the OVS plugin"},{"line_number":31,"context_line":"    to assign the VIF to the Neutron dead VLAN (4095) when attaching the"},{"line_number":32,"context_line":"    interface to OVS."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_fe6b4e84","line":32,"updated":"2018-10-30 17:17:07.000000000","message":"Add: \"By setting the VIF\u0027s VLAN to this dead VLAN number, we eliminate the small attack vector that exists for other tenants to read packets during the VIF\u0027s bringup\"\n\nobviously, change the above text if I\u0027ve misunderstood what the purpose is.","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fde9183b1b568f05713cb9472c6dca224422772a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    the reference implementation of ML2/OVS with the neutron l2 agents,"},{"line_number":30,"context_line":"    isolate_vif should be set to True. This option instructs the OVS plugin"},{"line_number":31,"context_line":"    to assign the VIF to the Neutron dead VLAN (4095) when attaching the"},{"line_number":32,"context_line":"    interface to OVS."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_31cc6995","line":32,"in_reply_to":"3f79a3b5_fe6b4e84","updated":"2018-11-01 21:07:46.000000000","message":"no this is the intent i  will add.","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7874d47080939c961c3854f75753a97af04f4106","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    the multiple port bindings work completed in the Rocky release."},{"line_number":7,"context_line":"security:"},{"line_number":8,"context_line":"  - |"},{"line_number":9,"context_line":"    In this release an edgecase where libvirt plugged the VIF instead of os-vif"},{"line_number":10,"context_line":"    was addressed. Previously if ovs_hybrid_plug  was set to false in the port"},{"line_number":11,"context_line":"    binding details, os-vif would only ensure the ovs bridge existed and the"},{"line_number":12,"context_line":"    plugging would be done by libvirt. As a result during live migration,"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_3c1e6e75","line":9,"range":{"start_line":9,"start_character":3,"end_line":9,"end_character":19},"updated":"2018-11-02 12:13:16.000000000","message":"i should remove this too then.\nill do that in the base patch","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    this is a partial mitigation and addtional changes will be required to"},{"line_number":22,"context_line":"    fully address this bug."},{"line_number":23,"context_line":"  - |"},{"line_number":24,"context_line":"    In this release, a new config option was introduced for the OVS VIF plugin."},{"line_number":25,"context_line":"    The isolate_vif option was added as a partial mitigation of bug 1734320."},{"line_number":26,"context_line":"    see https://bugs.launchpad.net/neutron/+bug/1734320 for details."},{"line_number":27,"context_line":"    The isolate_vif option defaults to False for backwards compatibility"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_837de51f","line":24,"range":{"start_line":24,"start_character":4,"end_line":24,"end_character":22},"updated":"2018-11-02 09:46:26.000000000","message":"This phrase is superfluous. These release notes are grouped under a release header in the docs so it should be obvious to anyone reading them that we\u0027re referring to release foo.","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7874d47080939c961c3854f75753a97af04f4106","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    this is a partial mitigation and addtional changes will be required to"},{"line_number":22,"context_line":"    fully address this bug."},{"line_number":23,"context_line":"  - |"},{"line_number":24,"context_line":"    In this release, a new config option was introduced for the OVS VIF plugin."},{"line_number":25,"context_line":"    The isolate_vif option was added as a partial mitigation of bug 1734320."},{"line_number":26,"context_line":"    see https://bugs.launchpad.net/neutron/+bug/1734320 for details."},{"line_number":27,"context_line":"    The isolate_vif option defaults to False for backwards compatibility"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_bc2a7e94","line":24,"range":{"start_line":24,"start_character":4,"end_line":24,"end_character":22},"in_reply_to":"3f79a3b5_837de51f","updated":"2018-11-02 12:13:16.000000000","message":"good point :)","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    fully address this bug."},{"line_number":23,"context_line":"  - |"},{"line_number":24,"context_line":"    In this release, a new config option was introduced for the OVS VIF plugin."},{"line_number":25,"context_line":"    The isolate_vif option was added as a partial mitigation of bug 1734320."},{"line_number":26,"context_line":"    see https://bugs.launchpad.net/neutron/+bug/1734320 for details."},{"line_number":27,"context_line":"    The isolate_vif option defaults to False for backwards compatibility"},{"line_number":28,"context_line":"    with SDN controller based OpenStack deployments. For all deployments using"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_a38021f8","line":25,"range":{"start_line":25,"start_character":8,"end_line":25,"end_character":19},"updated":"2018-11-02 09:46:26.000000000","message":"``literal``","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    fully address this bug."},{"line_number":23,"context_line":"  - |"},{"line_number":24,"context_line":"    In this release, a new config option was introduced for the OVS VIF plugin."},{"line_number":25,"context_line":"    The isolate_vif option was added as a partial mitigation of bug 1734320."},{"line_number":26,"context_line":"    see https://bugs.launchpad.net/neutron/+bug/1734320 for details."},{"line_number":27,"context_line":"    The isolate_vif option defaults to False for backwards compatibility"},{"line_number":28,"context_line":"    with SDN controller based OpenStack deployments. For all deployments using"},{"line_number":29,"context_line":"    the reference implementation of ML2/OVS with the neutron L2 agents,"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_4377cd3d","line":26,"range":{"start_line":25,"start_character":64,"end_line":26,"end_character":67},"updated":"2018-11-02 09:46:26.000000000","message":"Same comment as previous patch RE: using rST link formatting","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    In this release, a new config option was introduced for the OVS VIF plugin."},{"line_number":25,"context_line":"    The isolate_vif option was added as a partial mitigation of bug 1734320."},{"line_number":26,"context_line":"    see https://bugs.launchpad.net/neutron/+bug/1734320 for details."},{"line_number":27,"context_line":"    The isolate_vif option defaults to False for backwards compatibility"},{"line_number":28,"context_line":"    with SDN controller based OpenStack deployments. For all deployments using"},{"line_number":29,"context_line":"    the reference implementation of ML2/OVS with the neutron L2 agents,"},{"line_number":30,"context_line":"    isolate_vif should be set to True. This option instructs the OVS plugin"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_236c116a","line":27,"range":{"start_line":27,"start_character":39,"end_line":27,"end_character":44},"updated":"2018-11-02 09:46:26.000000000","message":"``literal``","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    In this release, a new config option was introduced for the OVS VIF plugin."},{"line_number":25,"context_line":"    The isolate_vif option was added as a partial mitigation of bug 1734320."},{"line_number":26,"context_line":"    see https://bugs.launchpad.net/neutron/+bug/1734320 for details."},{"line_number":27,"context_line":"    The isolate_vif option defaults to False for backwards compatibility"},{"line_number":28,"context_line":"    with SDN controller based OpenStack deployments. For all deployments using"},{"line_number":29,"context_line":"    the reference implementation of ML2/OVS with the neutron L2 agents,"},{"line_number":30,"context_line":"    isolate_vif should be set to True. This option instructs the OVS plugin"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_6372094e","line":27,"range":{"start_line":27,"start_character":8,"end_line":27,"end_character":19},"updated":"2018-11-02 09:46:26.000000000","message":"``literal``","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    to assign the VIF to the Neutron dead VLAN (4095) when attaching the"},{"line_number":32,"context_line":"    interface to OVS. By setting the VIF\u0027s VLAN to this dead VLAN number,"},{"line_number":33,"context_line":"    we eliminate the small attack vector that exists for other tenants to"},{"line_number":34,"context_line":"    read packets during the VIF\u0027s bringup."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_03a6b5ad","line":34,"range":{"start_line":34,"start_character":34,"end_line":34,"end_character":41},"updated":"2018-11-02 09:46:26.000000000","message":"bring up.","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    interface to OVS. By setting the VIF\u0027s VLAN to this dead VLAN number,"},{"line_number":33,"context_line":"    we eliminate the small attack vector that exists for other tenants to"},{"line_number":34,"context_line":"    read packets during the VIF\u0027s bringup."},{"line_number":35,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3f79a3b5_a3958133","line":35,"updated":"2018-11-02 09:46:26.000000000","message":"nit: Extra newline","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"}],"vif_plug_ovs/constants.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"51c212e4f0ffe1f10629918ddca585ddef199cb4","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"PLATFORM_WIN32 \u003d \u0027win32\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# neutron dead vlan."},{"line_number":25,"context_line":"DEAD_VLAN \u003d 4095"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_1e696a8c","line":24,"range":{"start_line":24,"start_character":15,"end_line":24,"end_character":19},"updated":"2018-10-30 17:17:07.000000000","message":"VLAN","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fde9183b1b568f05713cb9472c6dca224422772a","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"PLATFORM_WIN32 \u003d \u0027win32\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# neutron dead vlan."},{"line_number":25,"context_line":"DEAD_VLAN \u003d 4095"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_71c2e156","line":24,"range":{"start_line":24,"start_character":15,"end_line":24,"end_character":19},"in_reply_to":"3f79a3b5_1e696a8c","updated":"2018-11-01 21:07:46.000000000","message":"Done","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"PLATFORM_WIN32 \u003d \u0027win32\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# Neutron dead VLAN."},{"line_number":25,"context_line":"DEAD_VLAN \u003d 4095"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_c3b19de5","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":20},"updated":"2018-11-02 09:46:26.000000000","message":"Got a reference?","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e743a0e6f05272a0fa5fd059f75879b23b72b966","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"PLATFORM_WIN32 \u003d \u0027win32\u0027"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# Neutron dead VLAN."},{"line_number":25,"context_line":"DEAD_VLAN \u003d 4095"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_130b11d4","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":20},"in_reply_to":"3f79a3b5_c3b19de5","updated":"2018-11-06 21:11:46.000000000","message":"indirectly i would prefer not to put it in the code\nthe dead vlan constant \n\nhttps://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/openvswitch/agent/common/constants.py#L157\n\nwhich is defined in terms of this constant in neutron-lib\n\nhttps://github.com/openstack/neutron-lib/blob/master/neutron_lib/constants.py#L296\n\nThe reference i would prefer to use is behind an IEEE paywall in the 802.1Q spec which defines vlan 4095 as reserved for implementation use and requires that packets with that vlan not be forwarded.","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"}],"vif_plug_ovs/ovs.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"2ed75814c3bb9781a116684844132b17016bf248","unresolved":false,"context_lines":[{"line_number":68,"context_line":"                   choices\u003dlist(ovsdb_api.interface_map),"},{"line_number":69,"context_line":"                   default\u003d\u0027vsctl\u0027,"},{"line_number":70,"context_line":"                   help\u003d\u0027The interface for interacting with the OVSDB\u0027),"},{"line_number":71,"context_line":"        cfg.BoolOpt(\u0027isolate_vif\u0027, default\u003dFalse,"},{"line_number":72,"context_line":"                    help\u003d\u0027Controls if VIF should be isolated when plugged \u0027"},{"line_number":73,"context_line":"                    \u0027to the ovs bridge. This should only be set to True \u0027"},{"line_number":74,"context_line":"                    \u0027when using the neutron ovs ml2 agent.\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_f320a74d","line":71,"updated":"2018-10-26 08:19:59.000000000","message":"Instead of a True/False option. What do you think about to let people set the ID which will be used for VLAN? So we avoid to be too ml2/ovs specific and give more flexibility to operators.\n\nIf operator set this option they know what they are doing so we don\"t have to scare about any bad usage.","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a50755eee5309ac14e3687e05fc5fd91a11df264","unresolved":false,"context_lines":[{"line_number":68,"context_line":"                   choices\u003dlist(ovsdb_api.interface_map),"},{"line_number":69,"context_line":"                   default\u003d\u0027vsctl\u0027,"},{"line_number":70,"context_line":"                   help\u003d\u0027The interface for interacting with the OVSDB\u0027),"},{"line_number":71,"context_line":"        cfg.BoolOpt(\u0027isolate_vif\u0027, default\u003dFalse,"},{"line_number":72,"context_line":"                    help\u003d\u0027Controls if VIF should be isolated when plugged \u0027"},{"line_number":73,"context_line":"                    \u0027to the ovs bridge. This should only be set to True \u0027"},{"line_number":74,"context_line":"                    \u0027when using the neutron ovs ml2 agent.\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_611efa0d","line":71,"in_reply_to":"3f79a3b5_f320a74d","updated":"2018-10-26 15:28:00.000000000","message":"no this is only valid because i am using a implentation detail of ml2/ovs. setting any other vlan_tag will be undefined behavior and may indoruce its own security vulnerability.  ovs specifically reserved vlan 4095 for this use and all other vlans are valid for the agent to use and operator cannot influence that behavior.","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"2ed75814c3bb9781a116684844132b17016bf248","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                   help\u003d\u0027The interface for interacting with the OVSDB\u0027),"},{"line_number":71,"context_line":"        cfg.BoolOpt(\u0027isolate_vif\u0027, default\u003dFalse,"},{"line_number":72,"context_line":"                    help\u003d\u0027Controls if VIF should be isolated when plugged \u0027"},{"line_number":73,"context_line":"                    \u0027to the ovs bridge. This should only be set to True \u0027"},{"line_number":74,"context_line":"                    \u0027when using the neutron ovs ml2 agent.\u0027)"},{"line_number":75,"context_line":"    )"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def __init__(self, config):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_731497ea","line":74,"range":{"start_line":73,"start_character":40,"end_line":74,"end_character":57},"updated":"2018-10-26 08:19:59.000000000","message":"Such comment are usually quickly outdated","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"a50755eee5309ac14e3687e05fc5fd91a11df264","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                   help\u003d\u0027The interface for interacting with the OVSDB\u0027),"},{"line_number":71,"context_line":"        cfg.BoolOpt(\u0027isolate_vif\u0027, default\u003dFalse,"},{"line_number":72,"context_line":"                    help\u003d\u0027Controls if VIF should be isolated when plugged \u0027"},{"line_number":73,"context_line":"                    \u0027to the ovs bridge. This should only be set to True \u0027"},{"line_number":74,"context_line":"                    \u0027when using the neutron ovs ml2 agent.\u0027)"},{"line_number":75,"context_line":"    )"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def __init__(self, config):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_8119d623","line":74,"range":{"start_line":73,"start_character":40,"end_line":74,"end_character":57},"in_reply_to":"3f79a3b5_731497ea","updated":"2018-10-26 15:28:00.000000000","message":"this is only required because ml2 ovs use mac leaning and vlans for tenant isolation. no other ml2 driver for ovs use vlans in this why.\n\ni plan in passing addtional info from neutorn in the furutre to make this config value not required but this is need to be able to backport this fix to existing stable branches.","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"51c212e4f0ffe1f10629918ddca585ddef199cb4","unresolved":false,"context_lines":[{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def _create_vif_port(self, vif, vif_name, instance_info, **kwargs):"},{"line_number":134,"context_line":"        mtu \u003d self._get_mtu(vif)"},{"line_number":135,"context_line":"        tag \u003d constants.DEAD_VLAN if self.config.isolate_vif else None"},{"line_number":136,"context_line":"        kwargs.setdefault(\u0027tag\u0027, tag)"},{"line_number":137,"context_line":"        self.ovsdb.create_ovs_vif_port("},{"line_number":138,"context_line":"            vif.network.bridge,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_fef02ede","line":135,"updated":"2018-10-30 17:17:07.000000000","message":"how about a code comment indicating what you are doing here and why? :) maybe copy (with typo corrections) some of your response to Sahid above?","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"709162a7f7491d6e5ee6c68e68d44248d9d67d69","unresolved":false,"context_lines":[{"line_number":132,"context_line":""},{"line_number":133,"context_line":"    def _create_vif_port(self, vif, vif_name, instance_info, **kwargs):"},{"line_number":134,"context_line":"        mtu \u003d self._get_mtu(vif)"},{"line_number":135,"context_line":"        tag \u003d constants.DEAD_VLAN if self.config.isolate_vif else None"},{"line_number":136,"context_line":"        kwargs.setdefault(\u0027tag\u0027, tag)"},{"line_number":137,"context_line":"        self.ovsdb.create_ovs_vif_port("},{"line_number":138,"context_line":"            vif.network.bridge,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_b782c501","line":135,"in_reply_to":"3f79a3b5_fef02ede","updated":"2018-10-31 14:20:36.000000000","message":"sure ill resping this sortly thanks for reviewing\nthat is a good point. i know why im doing this now but\nit may not be as obvious 6 months from now.\n\nill reference the bug specificlay in the comment so that people have the context in the future to make sure this is not regressed.","commit_id":"2e36053b21ac5a411d4dcafee0763523feab2ae0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                   help\u003d\u0027The interface for interacting with the OVSDB\u0027),"},{"line_number":71,"context_line":"        # Note(sean-k-mooney): This value is a bool for two reasons."},{"line_number":72,"context_line":"        # First I want to allow this config option to be reusable with"},{"line_number":73,"context_line":"        # non ml2/ovs deployment in the future if required, as such i do not"},{"line_number":74,"context_line":"        # want to encode how the isolation is done in the config option."},{"line_number":75,"context_line":"        # Second in the case of ml2/ovs the isolation is based on VLAN tags."},{"line_number":76,"context_line":"        # The 802.1Q IEEE spec that defines the VLAN formant reserved two VLAN"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_a3aee17d","line":73,"range":{"start_line":73,"start_character":68,"end_line":73,"end_character":69},"updated":"2018-11-02 09:46:26.000000000","message":"I","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        # want to encode how the isolation is done in the config option."},{"line_number":75,"context_line":"        # Second in the case of ml2/ovs the isolation is based on VLAN tags."},{"line_number":76,"context_line":"        # The 802.1Q IEEE spec that defines the VLAN formant reserved two VLAN"},{"line_number":77,"context_line":"        # id values, VLAN id 0 means the packet is a member of no VLAN"},{"line_number":78,"context_line":"        # and VLAN id 4095 is reserved for implementation defined use. "},{"line_number":79,"context_line":"        # Using VLAN id 0 would not provide isolation and all other VLAN ids"},{"line_number":80,"context_line":"        # except VLAN id 4095 are valid for the ml2/ovs agent to use for a"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_e3d93927","line":77,"range":{"start_line":77,"start_character":26,"end_line":77,"end_character":28},"updated":"2018-11-02 09:46:26.000000000","message":"ID (here and elsewhere)","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        # Second in the case of ml2/ovs the isolation is based on VLAN tags."},{"line_number":76,"context_line":"        # The 802.1Q IEEE spec that defines the VLAN formant reserved two VLAN"},{"line_number":77,"context_line":"        # id values, VLAN id 0 means the packet is a member of no VLAN"},{"line_number":78,"context_line":"        # and VLAN id 4095 is reserved for implementation defined use. "},{"line_number":79,"context_line":"        # Using VLAN id 0 would not provide isolation and all other VLAN ids"},{"line_number":80,"context_line":"        # except VLAN id 4095 are valid for the ml2/ovs agent to use for a"},{"line_number":81,"context_line":"        # tenant networks local VLAN id. As such only VLAN id 4095, is valid"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_e3b4d9d5","line":78,"range":{"start_line":78,"start_character":70,"end_line":78,"end_character":71},"updated":"2018-11-02 09:46:26.000000000","message":"Oh noes","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e743a0e6f05272a0fa5fd059f75879b23b72b966","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        # Second in the case of ml2/ovs the isolation is based on VLAN tags."},{"line_number":76,"context_line":"        # The 802.1Q IEEE spec that defines the VLAN formant reserved two VLAN"},{"line_number":77,"context_line":"        # id values, VLAN id 0 means the packet is a member of no VLAN"},{"line_number":78,"context_line":"        # and VLAN id 4095 is reserved for implementation defined use. "},{"line_number":79,"context_line":"        # Using VLAN id 0 would not provide isolation and all other VLAN ids"},{"line_number":80,"context_line":"        # except VLAN id 4095 are valid for the ml2/ovs agent to use for a"},{"line_number":81,"context_line":"        # tenant networks local VLAN id. As such only VLAN id 4095, is valid"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_d3c35938","line":78,"range":{"start_line":78,"start_character":70,"end_line":78,"end_character":71},"in_reply_to":"3f79a3b5_e3b4d9d5","updated":"2018-11-06 21:11:46.000000000","message":":)","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        # and VLAN id 4095 is reserved for implementation defined use. "},{"line_number":79,"context_line":"        # Using VLAN id 0 would not provide isolation and all other VLAN ids"},{"line_number":80,"context_line":"        # except VLAN id 4095 are valid for the ml2/ovs agent to use for a"},{"line_number":81,"context_line":"        # tenant networks local VLAN id. As such only VLAN id 4095, is valid"},{"line_number":82,"context_line":"        # to use for vif isolation which is defined in Neutron as the"},{"line_number":83,"context_line":"        # dead VLAN, a VLAN on which all traffic will be dropped."},{"line_number":84,"context_line":"        cfg.BoolOpt(\u0027isolate_vif\u0027, default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_83e085cd","line":81,"range":{"start_line":81,"start_character":66,"end_line":81,"end_character":67},"updated":"2018-11-02 09:46:26.000000000","message":"nit: drop","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a194b2433443961198537af264d3383b908dbef6","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        # except VLAN id 4095 are valid for the ml2/ovs agent to use for a"},{"line_number":81,"context_line":"        # tenant networks local VLAN id. As such only VLAN id 4095, is valid"},{"line_number":82,"context_line":"        # to use for vif isolation which is defined in Neutron as the"},{"line_number":83,"context_line":"        # dead VLAN, a VLAN on which all traffic will be dropped."},{"line_number":84,"context_line":"        cfg.BoolOpt(\u0027isolate_vif\u0027, default\u003dFalse,"},{"line_number":85,"context_line":"                    help\u003d\u0027Controls if VIF should be isolated when plugged \u0027"},{"line_number":86,"context_line":"                    \u0027to the ovs bridge. This should only be set to True \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_a3e341d7","line":83,"range":{"start_line":83,"start_character":19,"end_line":83,"end_character":20},"updated":"2018-11-02 09:46:26.000000000","message":"or","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e743a0e6f05272a0fa5fd059f75879b23b72b966","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        # except VLAN id 4095 are valid for the ml2/ovs agent to use for a"},{"line_number":81,"context_line":"        # tenant networks local VLAN id. As such only VLAN id 4095, is valid"},{"line_number":82,"context_line":"        # to use for vif isolation which is defined in Neutron as the"},{"line_number":83,"context_line":"        # dead VLAN, a VLAN on which all traffic will be dropped."},{"line_number":84,"context_line":"        cfg.BoolOpt(\u0027isolate_vif\u0027, default\u003dFalse,"},{"line_number":85,"context_line":"                    help\u003d\u0027Controls if VIF should be isolated when plugged \u0027"},{"line_number":86,"context_line":"                    \u0027to the ovs bridge. This should only be set to True \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_538f4921","line":83,"range":{"start_line":83,"start_character":19,"end_line":83,"end_character":20},"in_reply_to":"3f79a3b5_a3e341d7","updated":"2018-11-06 21:11:46.000000000","message":"the name comes from the constant name which is literally \n\nDEAD_VLAN_TAG","commit_id":"2c48976889b28f458b0fd8b7cd375373eb9f5788"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0b63b2e396b27f25f89005c7f07c133c442a6243","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        # non ml2/ovs deployment in the future if required, as such I do not"},{"line_number":74,"context_line":"        # want to encode how the isolation is done in the config option."},{"line_number":75,"context_line":"        # Second in the case of ml2/ovs the isolation is based on VLAN tags."},{"line_number":76,"context_line":"        # The 802.1Q IEEE spec that defines the VLAN formant reserved two VLAN"},{"line_number":77,"context_line":"        # id values, VLAN ID 0 means the packet is a member of no VLAN"},{"line_number":78,"context_line":"        # and VLAN ID 4095 is reserved for implementation defined use."},{"line_number":79,"context_line":"        # Using VLAN ID 0 would not provide isolation and all other VLAN IDs"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_66c4853a","line":76,"range":{"start_line":76,"start_character":53,"end_line":76,"end_character":60},"updated":"2018-11-30 04:17:18.000000000","message":"format","commit_id":"e31579c2ea99937661e12688b1b8bf5f81b92872"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0b63b2e396b27f25f89005c7f07c133c442a6243","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        # and VLAN ID 4095 is reserved for implementation defined use."},{"line_number":79,"context_line":"        # Using VLAN ID 0 would not provide isolation and all other VLAN IDs"},{"line_number":80,"context_line":"        # except VLAN ID 4095 are valid for the ml2/ovs agent to use for a"},{"line_number":81,"context_line":"        # tenant networks local VLAN ID. As such only VLAN ID 4095 is valid"},{"line_number":82,"context_line":"        # to use for vif isolation which is defined in Neutron as the"},{"line_number":83,"context_line":"        # dead VLAN, a VLAN on which all traffic will be dropped."},{"line_number":84,"context_line":"        cfg.BoolOpt(\u0027isolate_vif\u0027, default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_06d111fa","line":81,"range":{"start_line":81,"start_character":17,"end_line":81,"end_character":25},"updated":"2018-11-30 04:17:18.000000000","message":"network\u0027s","commit_id":"e31579c2ea99937661e12688b1b8bf5f81b92872"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0b63b2e396b27f25f89005c7f07c133c442a6243","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        # dead VLAN, a VLAN on which all traffic will be dropped."},{"line_number":84,"context_line":"        cfg.BoolOpt(\u0027isolate_vif\u0027, default\u003dFalse,"},{"line_number":85,"context_line":"                    help\u003d\u0027Controls if VIF should be isolated when plugged \u0027"},{"line_number":86,"context_line":"                    \u0027to the ovs bridge. This should only be set to True \u0027"},{"line_number":87,"context_line":"                    \u0027when using the neutron ovs ml2 agent.\u0027)"},{"line_number":88,"context_line":"    )"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    def __init__(self, config):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_86f68192","line":87,"range":{"start_line":86,"start_character":40,"end_line":87,"end_character":58},"updated":"2018-11-30 04:17:18.000000000","message":"It\u0027s a shame we even need to add a config option. Would be easier on the user if we were able to determine if the neutron OVS ML2 agent is in use and if so, just always set the tag on the OVS port to 4095...","commit_id":"e31579c2ea99937661e12688b1b8bf5f81b92872"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0b63b2e396b27f25f89005c7f07c133c442a6243","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        # behaviour conditionally as it is not portable to SDN based"},{"line_number":155,"context_line":"        # deployment such as ODL or OVN as such operator must opt-in"},{"line_number":156,"context_line":"        # to this behaviour by setting the isolate_vif config option."},{"line_number":157,"context_line":"        # TODO(sean-k-mooney): Extend neutron to record what ml2 driver"},{"line_number":158,"context_line":"        # bound the interface in the vif binding details so isolation"},{"line_number":159,"context_line":"        # can be enabled automatically in the future."},{"line_number":160,"context_line":"        tag \u003d constants.DEAD_VLAN if self.config.isolate_vif else None"},{"line_number":161,"context_line":"        kwargs.setdefault(\u0027tag\u0027, tag)"},{"line_number":162,"context_line":"        self.ovsdb.create_ovs_vif_port("}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_063fd123","line":159,"range":{"start_line":157,"start_character":8,"end_line":159,"end_character":53},"updated":"2018-11-30 04:17:18.000000000","message":"bingo. ++","commit_id":"e31579c2ea99937661e12688b1b8bf5f81b92872"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0b63b2e396b27f25f89005c7f07c133c442a6243","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        # TODO(sean-k-mooney): Extend neutron to record what ml2 driver"},{"line_number":158,"context_line":"        # bound the interface in the vif binding details so isolation"},{"line_number":159,"context_line":"        # can be enabled automatically in the future."},{"line_number":160,"context_line":"        tag \u003d constants.DEAD_VLAN if self.config.isolate_vif else None"},{"line_number":161,"context_line":"        kwargs.setdefault(\u0027tag\u0027, tag)"},{"line_number":162,"context_line":"        self.ovsdb.create_ovs_vif_port("},{"line_number":163,"context_line":"            vif.network.bridge,"},{"line_number":164,"context_line":"            vif_name,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_461e29be","line":161,"range":{"start_line":160,"start_character":0,"end_line":161,"end_character":37},"updated":"2018-11-30 04:17:18.000000000","message":"so, if kwargs already contains a \"tag\" key, the above would not override the VLAN tag when creating the OVS port for the VIF... is that OK? Seems that we are keeping a vector for the source of the bug to creep back into the code, no? I mean, is anywhere calling _create_vif_port() and passing in a tag\u003d kwarg? If so, we should probably take a look at that.\n\nOtherwise, probably better to do:\n\n if self.config.isolate_vif:\n     kwargs[\u0027tag\u0027] \u003d constants.DEAD_VLAN\n\nand be done with it.","commit_id":"e31579c2ea99937661e12688b1b8bf5f81b92872"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e3c071ed0f2839d1facdfa17726a1eb13618728d","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        # bound the interface in the vif binding details so isolation"},{"line_number":159,"context_line":"        # can be enabled automatically in the future."},{"line_number":160,"context_line":"        tag \u003d constants.DEAD_VLAN if self.config.isolate_vif else None"},{"line_number":161,"context_line":"        kwargs.setdefault(\u0027tag\u0027, tag)"},{"line_number":162,"context_line":"        self.ovsdb.create_ovs_vif_port("},{"line_number":163,"context_line":"            vif.network.bridge,"},{"line_number":164,"context_line":"            vif_name,"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_d72c21b3","line":161,"in_reply_to":"3f79a3b5_461e29be","updated":"2018-12-07 12:04:47.000000000","message":"You are right, i was originally wondering if neutron could tell us what vlan to use but that is calculated in the l2 agent after ilthe port is added so it cant. Ill fix this and the typos. Thanks for the review","commit_id":"e31579c2ea99937661e12688b1b8bf5f81b92872"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b1015e816446c2628a45310d5c61bd1a8d6238c5","unresolved":false,"context_lines":[{"line_number":68,"context_line":"                   choices\u003dlist(ovsdb_api.interface_map),"},{"line_number":69,"context_line":"                   default\u003d\u0027vsctl\u0027,"},{"line_number":70,"context_line":"                   help\u003d\u0027The interface for interacting with the OVSDB\u0027),"},{"line_number":71,"context_line":"        # Note(sean-k-mooney): This value is a bool for two reasons."},{"line_number":72,"context_line":"        # First I want to allow this config option to be reusable with"},{"line_number":73,"context_line":"        # non ml2/ovs deployment in the future if required, as such I do not"},{"line_number":74,"context_line":"        # want to encode how the isolation is done in the config option."},{"line_number":75,"context_line":"        # Second in the case of ml2/ovs the isolation is based on VLAN tags."},{"line_number":76,"context_line":"        # The 802.1Q IEEE spec that defines the VLAN format reserved two VLAN"},{"line_number":77,"context_line":"        # id values, VLAN ID 0 means the packet is a member of no VLAN"},{"line_number":78,"context_line":"        # and VLAN ID 4095 is reserved for implementation defined use."},{"line_number":79,"context_line":"        # Using VLAN ID 0 would not provide isolation and all other VLAN IDs"},{"line_number":80,"context_line":"        # except VLAN ID 4095 are valid for the ml2/ovs agent to use for a"},{"line_number":81,"context_line":"        # tenant network\u0027s local VLAN ID. As such only VLAN ID 4095 is valid"},{"line_number":82,"context_line":"        # to use for vif isolation which is defined in Neutron as the"},{"line_number":83,"context_line":"        # dead VLAN, a VLAN on which all traffic will be dropped."},{"line_number":84,"context_line":"        cfg.BoolOpt(\u0027isolate_vif\u0027, default\u003dFalse,"},{"line_number":85,"context_line":"                    help\u003d\u0027Controls if VIF should be isolated when plugged \u0027"},{"line_number":86,"context_line":"                    \u0027to the ovs bridge. This should only be set to True \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_241d8977","line":83,"range":{"start_line":71,"start_character":0,"end_line":83,"end_character":65},"updated":"2018-12-07 16:42:38.000000000","message":"++ good explanations","commit_id":"d291213f1ea62f93008deef5224506fb5ea5ee0d"}],"vif_plug_ovs/tests/unit/test_plugin.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b1015e816446c2628a45310d5c61bd1a8d6238c5","unresolved":false,"context_lines":[{"line_number":347,"context_line":"                     \u0027f0000000-0000-0000-0000-000000000001\u0027,"},{"line_number":348,"context_line":"                     1500, interface_type\u003d\u0027dpdkvhostuserclient\u0027,"},{"line_number":349,"context_line":"                     vhost_server_path\u003d\u0027/var/run/openvswitch/vhub679325f-ca\u0027"},{"line_number":350,"context_line":"                 )],"},{"line_number":351,"context_line":"            \u0027ensure_ovs_bridge\u0027: [mock.call(\u0027br0\u0027, dp_type)]"},{"line_number":352,"context_line":"        }"},{"line_number":353,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_642f01a5","line":350,"range":{"start_line":350,"start_character":0,"end_line":350,"end_character":20},"updated":"2018-12-07 16:42:38.000000000","message":"nit: unrelated change","commit_id":"d291213f1ea62f93008deef5224506fb5ea5ee0d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f3fb9e5ecf52d3e3c0c737f150bd8c34dff044b8","unresolved":false,"context_lines":[{"line_number":347,"context_line":"                     \u0027f0000000-0000-0000-0000-000000000001\u0027,"},{"line_number":348,"context_line":"                     1500, interface_type\u003d\u0027dpdkvhostuserclient\u0027,"},{"line_number":349,"context_line":"                     vhost_server_path\u003d\u0027/var/run/openvswitch/vhub679325f-ca\u0027"},{"line_number":350,"context_line":"                 )],"},{"line_number":351,"context_line":"            \u0027ensure_ovs_bridge\u0027: [mock.call(\u0027br0\u0027, dp_type)]"},{"line_number":352,"context_line":"        }"},{"line_number":353,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_06396dce","line":350,"range":{"start_line":350,"start_character":0,"end_line":350,"end_character":20},"in_reply_to":"3f79a3b5_642f01a5","updated":"2018-12-07 20:58:26.000000000","message":"ya the previous patch need chages to this test but this one didnt so when i undid my change  i did not revert it identically to its previous state.","commit_id":"d291213f1ea62f93008deef5224506fb5ea5ee0d"}]}
