)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"14133b36c86fde648e545ee0bac251511d9b3658","unresolved":false,"context_lines":[{"line_number":10,"context_line":"making certain assumptions case by case on the responsabilities of who"},{"line_number":11,"context_line":"should provide host ports and plug them to the host networking system."},{"line_number":12,"context_line":"For example, on compute machines it is libvirt who creates TAP devices"},{"line_number":13,"context_line":"and connects to whichever network backend bridge is being used (e.g."},{"line_number":14,"context_line":"Open vSwitch, Linux Bridge). In such case, os-vif handles exclusively"},{"line_number":15,"context_line":"the low-level network plumbing. On other hypervisors (e.g. Hyper-V),"},{"line_number":16,"context_line":"os-vif creates the user-facing ports."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_106edb95","line":13,"range":{"start_line":13,"start_character":42,"end_line":13,"end_character":48},"updated":"2018-01-23 13:03:17.000000000","message":"thecnically there is no reson there has to be a bridge at all.\n\ni would really love to see calico provide an os-vif plugin.\ni know sixwind support linux bridge, calico and ovs backend ontop of there fastpath stack via an os-vif plugin i generally dont praise there plugin since they are monkeypatching os-vif instead of doing it corretly.\n\nnever do this https://github.com/openstack/networking-6wind/blob/master/networking_6wind/monkey_patch/vif.py","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d87df67cc19f49f982f6dc8cbd22ebe1ba24e859","unresolved":false,"context_lines":[{"line_number":10,"context_line":"making certain assumptions case by case on the responsabilities of who"},{"line_number":11,"context_line":"should provide host ports and plug them to the host networking system."},{"line_number":12,"context_line":"For example, on compute machines it is libvirt who creates TAP devices"},{"line_number":13,"context_line":"and connects to whichever network backend bridge is being used (e.g."},{"line_number":14,"context_line":"Open vSwitch, Linux Bridge). In such case, os-vif handles exclusively"},{"line_number":15,"context_line":"the low-level network plumbing. On other hypervisors (e.g. Hyper-V),"},{"line_number":16,"context_line":"os-vif creates the user-facing ports."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_fa830d03","line":13,"range":{"start_line":13,"start_character":42,"end_line":13,"end_character":48},"in_reply_to":"7f96bb07_106edb95","updated":"2018-01-23 13:50:51.000000000","message":"Right. I\u0027ll s/network backend bridge/network backend/","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"14133b36c86fde648e545ee0bac251511d9b3658","unresolved":false,"context_lines":[{"line_number":19,"context_line":"address, is the support for systems other than OpenStack compute"},{"line_number":20,"context_line":"providers with the aforementioned assumptions. Services requiring an"},{"line_number":21,"context_line":"interface connected to a project network can now request os-vif to"},{"line_number":22,"context_line":"facilitate creation of TAP devices (VIFBridge) or OVS internal ports"},{"line_number":23,"context_line":"(VIFOpenVSwitch) and plugging to the network."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Supported VIF types: VIFBridge and VIFOpenVSwitch"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_90866b65","line":22,"range":{"start_line":22,"start_character":36,"end_line":22,"end_character":45},"updated":"2018-01-23 13:03:17.000000000","message":"vif bridge specifically is ment a tap added to a liux bridge.\nif you want a generic tap it should be VIFTAP.","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d87df67cc19f49f982f6dc8cbd22ebe1ba24e859","unresolved":false,"context_lines":[{"line_number":19,"context_line":"address, is the support for systems other than OpenStack compute"},{"line_number":20,"context_line":"providers with the aforementioned assumptions. Services requiring an"},{"line_number":21,"context_line":"interface connected to a project network can now request os-vif to"},{"line_number":22,"context_line":"facilitate creation of TAP devices (VIFBridge) or OVS internal ports"},{"line_number":23,"context_line":"(VIFOpenVSwitch) and plugging to the network."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Supported VIF types: VIFBridge and VIFOpenVSwitch"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_ba24a5c7","line":22,"range":{"start_line":22,"start_character":36,"end_line":22,"end_character":45},"in_reply_to":"7f96bb07_90866b65","updated":"2018-01-23 13:50:51.000000000","message":"I\u0027m not following. A TAP is being created and attached to the Linux bridge: https://review.openstack.org/#/c/533713/2/vif_plug_ovs/ovs.py@177\n\n\nI can\u0027t find any references to VIFTAP. Could you please point me to the code? Perhaps you meant to say VIFGeneric? If so, I can\u0027t yet fully grasp the purpose of VIFGeneric. The user expects a TAP device to be created and to live by its own (e.g. not connected to any backend, just sitting on the host)?","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"420109ec6fabb217305cd15c2f99150941353999","unresolved":false,"context_lines":[{"line_number":19,"context_line":"address, is the support for systems other than OpenStack compute"},{"line_number":20,"context_line":"providers with the aforementioned assumptions. Services requiring an"},{"line_number":21,"context_line":"interface connected to a project network can now request os-vif to"},{"line_number":22,"context_line":"facilitate creation of TAP devices (VIFBridge) or OVS internal ports"},{"line_number":23,"context_line":"(VIFOpenVSwitch) and plugging to the network."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Supported VIF types: VIFBridge and VIFOpenVSwitch"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_0370d0a4","line":22,"range":{"start_line":22,"start_character":36,"end_line":22,"end_character":45},"in_reply_to":"7f96bb07_ba24a5c7","updated":"2018-02-07 12:18:39.000000000","message":"vif types and os-vif vif objects are two different things.\na vif type is a neutron construct that was defiended in the port binding extention\n\nhttps://github.com/openstack/neutron-lib/blob/master/neutron_lib/api/definitions/portbindings.py\n\nin the past a vif type defined both the type of virtual interface  and the backend it was used with for e.g VIF_TYPE_OVS ment a tap that was added to ovs directly by the hypervior or if OVS_HYBRID_PLUG was set in the port binding detail the hypervisor would just create the tap and nova would add it ot a linux bridge and conneect that linux bridge to an ovs bridge using a veth pair to allow iptables security group rules to work on the tap. (you can use iptables rules on a interfaces directly added to an ovs bridge)\n\nhttps://specs.openstack.org/openstack/nova-specs/specs/kilo/approved/vif-type-tap.html\nintroduced a new vif type VIF_TYPE_TAP for requesting a vm with a tap device that as you said is not plugged into anythng and just left on the host.  this is what calico uses. when the\ntap is created calico","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"14133b36c86fde648e545ee0bac251511d9b3658","unresolved":false,"context_lines":[{"line_number":20,"context_line":"providers with the aforementioned assumptions. Services requiring an"},{"line_number":21,"context_line":"interface connected to a project network can now request os-vif to"},{"line_number":22,"context_line":"facilitate creation of TAP devices (VIFBridge) or OVS internal ports"},{"line_number":23,"context_line":"(VIFOpenVSwitch) and plugging to the network."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Supported VIF types: VIFBridge and VIFOpenVSwitch"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_909d0bbd","line":23,"range":{"start_line":23,"start_character":1,"end_line":23,"end_character":15},"updated":"2018-01-23 13:03:17.000000000","message":"you should not use this for ovs internal port.\n\novs internal port should have there own vif_type.\nalso ovs will create teh tap device for internal port you should not create them yourself first.","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d87df67cc19f49f982f6dc8cbd22ebe1ba24e859","unresolved":false,"context_lines":[{"line_number":20,"context_line":"providers with the aforementioned assumptions. Services requiring an"},{"line_number":21,"context_line":"interface connected to a project network can now request os-vif to"},{"line_number":22,"context_line":"facilitate creation of TAP devices (VIFBridge) or OVS internal ports"},{"line_number":23,"context_line":"(VIFOpenVSwitch) and plugging to the network."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Supported VIF types: VIFBridge and VIFOpenVSwitch"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_fa346d4c","line":23,"range":{"start_line":23,"start_character":1,"end_line":23,"end_character":15},"in_reply_to":"7f96bb07_909d0bbd","updated":"2018-01-23 13:50:51.000000000","message":"At present for platform !\u003d WIN32, OVS internal port is not created because of the assumption that libvirt will handle that part. With this patch, if should_provide_port\u003dTrue then we request OVS to create an internal port.\n\nhttps://review.openstack.org/#/c/533713/2/vif_plug_ovs/ovs.py@217\n\nhttps://review.openstack.org/#/c/533713/2/vif_plug_ovs/constants.py@20","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"14133b36c86fde648e545ee0bac251511d9b3658","unresolved":false,"context_lines":[{"line_number":22,"context_line":"facilitate creation of TAP devices (VIFBridge) or OVS internal ports"},{"line_number":23,"context_line":"(VIFOpenVSwitch) and plugging to the network."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Supported VIF types: VIFBridge and VIFOpenVSwitch"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"TODO:"},{"line_number":28,"context_line":"- vif_plug_linux_bridge: VIFBridge"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_f0932f5b","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":49},"updated":"2018-01-23 13:03:17.000000000","message":"these are already supported correctly.\nwhat you want to do is add support for \nviftap \nwith a vif_profile to allow setting if the backend or\nthe hypervisor should create the tap.\n\ni have open bugs for adding support for veths and patch ports.\nto os-vif.\nhttps://bugs.launchpad.net/os-vif/+bug/1666927\nhttps://bugs.launchpad.net/os-vif/+bug/1666926\n\ni had intended to add bugs for ovs internal port,viftap,vlan,vxlan,geneve and gre.\nthe goal being to support all port createion used by\nthe reference neutron backends in os vif and then have neutron delegate that to us.\n\ncan you create a bug for enableing viftap support.","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"420109ec6fabb217305cd15c2f99150941353999","unresolved":false,"context_lines":[{"line_number":22,"context_line":"facilitate creation of TAP devices (VIFBridge) or OVS internal ports"},{"line_number":23,"context_line":"(VIFOpenVSwitch) and plugging to the network."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Supported VIF types: VIFBridge and VIFOpenVSwitch"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"TODO:"},{"line_number":28,"context_line":"- vif_plug_linux_bridge: VIFBridge"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_b0c4c741","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":49},"in_reply_to":"7f96bb07_f0932f5b","updated":"2018-02-07 12:18:39.000000000","message":"oh i meant to say can you open a bug for this like the 2 above. i should be at the ptg so i would be happy to talk about this also there but ill keep revieiwing as i can in the mean time.","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"}],"os_vif/objects/vif.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"14133b36c86fde648e545ee0bac251511d9b3658","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        # Name of the physical device to connect to (eg br0)"},{"line_number":81,"context_line":"        \u0027bridge_name\u0027: fields.StringField(),"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        # Should handle port creation"},{"line_number":84,"context_line":"        \u0027should_provide_port\u0027: fields.BooleanField(),"},{"line_number":85,"context_line":"    }"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def __init__(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_d542a5ab","line":84,"range":{"start_line":83,"start_character":8,"end_line":84,"end_character":53},"updated":"2018-01-23 13:03:17.000000000","message":"this should not be in the vif type.\nit should be in the vif profile.","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d87df67cc19f49f982f6dc8cbd22ebe1ba24e859","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        # Name of the physical device to connect to (eg br0)"},{"line_number":81,"context_line":"        \u0027bridge_name\u0027: fields.StringField(),"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        # Should handle port creation"},{"line_number":84,"context_line":"        \u0027should_provide_port\u0027: fields.BooleanField(),"},{"line_number":85,"context_line":"    }"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    def __init__(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_5ad6c129","line":84,"range":{"start_line":83,"start_character":8,"end_line":84,"end_character":53},"in_reply_to":"7f96bb07_d542a5ab","updated":"2018-01-23 13:50:51.000000000","message":"Got it, thanks!","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"14133b36c86fde648e545ee0bac251511d9b3658","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        # Name of the physical device to connect to (eg br0)"},{"line_number":111,"context_line":"        \u0027bridge_name\u0027: fields.StringField(),"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        # Should handle port creation"},{"line_number":114,"context_line":"        \u0027should_provide_port\u0027: fields.BooleanField(),"},{"line_number":115,"context_line":"    }"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def __init__(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_5510d5a8","line":114,"range":{"start_line":113,"start_character":8,"end_line":114,"end_character":53},"updated":"2018-01-23 13:03:17.000000000","message":"same this should be in the vif profile object.","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d87df67cc19f49f982f6dc8cbd22ebe1ba24e859","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        # Name of the physical device to connect to (eg br0)"},{"line_number":111,"context_line":"        \u0027bridge_name\u0027: fields.StringField(),"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        # Should handle port creation"},{"line_number":114,"context_line":"        \u0027should_provide_port\u0027: fields.BooleanField(),"},{"line_number":115,"context_line":"    }"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def __init__(self, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_fadc6d47","line":114,"range":{"start_line":113,"start_character":8,"end_line":114,"end_character":53},"in_reply_to":"7f96bb07_5510d5a8","updated":"2018-01-23 13:50:51.000000000","message":"ditto","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"}],"vif_plug_ovs/linux_net.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"14133b36c86fde648e545ee0bac251511d9b3658","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            \u0027--\u0027, \u0027set\u0027, \u0027Bridge\u0027, bridge, \u0027datapath_type\u003d%s\u0027 % datapath_type]"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"@privsep.vif_plug.entrypoint"},{"line_number":88,"context_line":"def set_port_address(dev, address):"},{"line_number":89,"context_line":"    if device_exists(dev):"},{"line_number":90,"context_line":"        cmd \u003d [\u0027ip\u0027, \u0027link\u0027, \u0027set\u0027, dev, \u0027address\u0027, address]"},{"line_number":91,"context_line":"        try:"},{"line_number":92,"context_line":"            return processutils.execute(*cmd)"},{"line_number":93,"context_line":"        except Exception as e:"},{"line_number":94,"context_line":"            LOG.error(\"Unable to execute %(cmd)s. Exception: %(exception)s\","},{"line_number":95,"context_line":"                      {\u0027cmd\u0027: cmd, \u0027exception\u0027: e})"},{"line_number":96,"context_line":"            raise exception.AgentError(method\u003dcmd)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"@privsep.vif_plug.entrypoint"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_957bbdf2","line":96,"range":{"start_line":87,"start_character":17,"end_line":96,"end_character":50},"updated":"2018-01-23 13:03:17.000000000","message":"this should delegate to the ip lib dirvers set command\nwe are not adding any new processutils.execute as we are trying to remove that as a dependency for os-vif","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d87df67cc19f49f982f6dc8cbd22ebe1ba24e859","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            \u0027--\u0027, \u0027set\u0027, \u0027Bridge\u0027, bridge, \u0027datapath_type\u003d%s\u0027 % datapath_type]"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"@privsep.vif_plug.entrypoint"},{"line_number":88,"context_line":"def set_port_address(dev, address):"},{"line_number":89,"context_line":"    if device_exists(dev):"},{"line_number":90,"context_line":"        cmd \u003d [\u0027ip\u0027, \u0027link\u0027, \u0027set\u0027, dev, \u0027address\u0027, address]"},{"line_number":91,"context_line":"        try:"},{"line_number":92,"context_line":"            return processutils.execute(*cmd)"},{"line_number":93,"context_line":"        except Exception as e:"},{"line_number":94,"context_line":"            LOG.error(\"Unable to execute %(cmd)s. Exception: %(exception)s\","},{"line_number":95,"context_line":"                      {\u0027cmd\u0027: cmd, \u0027exception\u0027: e})"},{"line_number":96,"context_line":"            raise exception.AgentError(method\u003dcmd)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"@privsep.vif_plug.entrypoint"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_baf825c4","line":96,"range":{"start_line":87,"start_character":17,"end_line":96,"end_character":50},"in_reply_to":"7f96bb07_957bbdf2","updated":"2018-01-23 13:50:51.000000000","message":"Yes, I got aware of that after I wrote this code and I plan to update it to delegate o the ip lib.","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"14133b36c86fde648e545ee0bac251511d9b3658","unresolved":false,"context_lines":[{"line_number":210,"context_line":"    set_interface_state(bridge, \u0027up\u0027)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"@privsep.vif_plug.entrypoint"},{"line_number":214,"context_line":"def delete_bridge_vif(bridge, dev):"},{"line_number":215,"context_line":"    if device_exists(bridge):"},{"line_number":216,"context_line":"        if interface_in_bridge(bridge, dev):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_75bdd166","line":213,"range":{"start_line":213,"start_character":0,"end_line":213,"end_character":28},"updated":"2018-01-23 13:03:17.000000000","message":"you should not call a privileges function from within a privileged context. this causes a second dispatch to the privsep daemon which is slow. this will inherit the privileges from the parent","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"14133b36c86fde648e545ee0bac251511d9b3658","unresolved":false,"context_lines":[{"line_number":214,"context_line":"def delete_bridge_vif(bridge, dev):"},{"line_number":215,"context_line":"    if device_exists(bridge):"},{"line_number":216,"context_line":"        if interface_in_bridge(bridge, dev):"},{"line_number":217,"context_line":"            processutils.execute(\u0027brctl\u0027, \u0027delif\u0027, bridge, dev)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"@privsep.vif_plug.entrypoint"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_5548d585","line":217,"range":{"start_line":217,"start_character":12,"end_line":217,"end_character":62},"updated":"2018-01-23 13:03:17.000000000","message":"by the way removing this is also on my todo list but i have not found a sutible lib to replace brctl. i need to confirm if pyroute2 can be used or not but eventrullay all use of processutils.execute will be removed.","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"}],"vif_plug_ovs/ovs.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"14133b36c86fde648e545ee0bac251511d9b3658","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            linux_net.update_veth_pair(v1_name, v2_name, mtu)"},{"line_number":172,"context_line":"            self._update_vif_port(vif, v2_name)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        if vif.should_provide_port:"},{"line_number":175,"context_line":"            vif.vif_name \u003d OvsPlugin.gen_port_name(constants.OVS_TAP_PREFIX,"},{"line_number":176,"context_line":"                                                   vif.id)"},{"line_number":177,"context_line":"            linux_net.create_tuntap(vif.vif_name, self._get_mtu(vif),"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_353ae9e6","line":174,"range":{"start_line":174,"start_character":11,"end_line":174,"end_character":34},"updated":"2018-01-23 13:03:17.000000000","message":"this should read from port profile.","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d87df67cc19f49f982f6dc8cbd22ebe1ba24e859","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            linux_net.update_veth_pair(v1_name, v2_name, mtu)"},{"line_number":172,"context_line":"            self._update_vif_port(vif, v2_name)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        if vif.should_provide_port:"},{"line_number":175,"context_line":"            vif.vif_name \u003d OvsPlugin.gen_port_name(constants.OVS_TAP_PREFIX,"},{"line_number":176,"context_line":"                                                   vif.id)"},{"line_number":177,"context_line":"            linux_net.create_tuntap(vif.vif_name, self._get_mtu(vif),"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_bae6e515","line":174,"range":{"start_line":174,"start_character":11,"end_line":174,"end_character":34},"in_reply_to":"7f96bb07_353ae9e6","updated":"2018-01-23 13:50:51.000000000","message":"ACK","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"14133b36c86fde648e545ee0bac251511d9b3658","unresolved":false,"context_lines":[{"line_number":210,"context_line":"            if sys.platform !\u003d constants.PLATFORM_WIN32:"},{"line_number":211,"context_line":"                linux_net.ensure_ovs_bridge(vif.network.bridge,"},{"line_number":212,"context_line":"                                            self._get_vif_datapath_type(vif))"},{"line_number":213,"context_line":"                if vif.should_provide_port:"},{"line_number":214,"context_line":"                    dev \u003d OvsPlugin.gen_port_name(constants.OVS_TAP_PREFIX,"},{"line_number":215,"context_line":"                                                  vif.id)"},{"line_number":216,"context_line":"                    internal_type \u003d constants.OVS_INTERFACE_TYPE_INTERNAL"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_f52321bd","line":213,"range":{"start_line":213,"start_character":19,"end_line":213,"end_character":42},"updated":"2018-01-23 13:03:17.000000000","message":"ditto","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"d87df67cc19f49f982f6dc8cbd22ebe1ba24e859","unresolved":false,"context_lines":[{"line_number":210,"context_line":"            if sys.platform !\u003d constants.PLATFORM_WIN32:"},{"line_number":211,"context_line":"                linux_net.ensure_ovs_bridge(vif.network.bridge,"},{"line_number":212,"context_line":"                                            self._get_vif_datapath_type(vif))"},{"line_number":213,"context_line":"                if vif.should_provide_port:"},{"line_number":214,"context_line":"                    dev \u003d OvsPlugin.gen_port_name(constants.OVS_TAP_PREFIX,"},{"line_number":215,"context_line":"                                                  vif.id)"},{"line_number":216,"context_line":"                    internal_type \u003d constants.OVS_INTERFACE_TYPE_INTERNAL"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_dae171fe","line":213,"range":{"start_line":213,"start_character":19,"end_line":213,"end_character":42},"in_reply_to":"7f96bb07_f52321bd","updated":"2018-01-23 13:50:51.000000000","message":"ACK","commit_id":"de2e5c9da1982dad068cbc948fdd016c994df8f3"}]}
