)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0fb4ce0ccc1088a34b450be8a24211d1a0ec2b83","unresolved":false,"context_lines":[{"line_number":12,"context_line":"mechanism drivers in that order.  In this case the ovs will bind"},{"line_number":13,"context_line":"the direct port instead of the sriovnicswitch."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This change make ovs mech driver ot bind the direct port only"},{"line_number":16,"context_line":"if user requested --binding-profile \u0027{\"capabilities\": [\"switchdev\"]}\u0027"},{"line_number":17,"context_line":"in the direct port if a user don\u0027t request this capability the SR-IOV"},{"line_number":18,"context_line":"legacy NIC mode is used."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f2577a7_33e467ac","line":15,"range":{"start_line":15,"start_character":33,"end_line":15,"end_character":35},"updated":"2017-09-11 20:09:03.000000000","message":"to","commit_id":"2e98db888e12bc2e5edc443c852c1588d06c570d"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"1abd6be555b0ea5ef2f4e274b443eb1ac44ecc92","unresolved":false,"context_lines":[{"line_number":12,"context_line":"mechanism drivers in that order.  In this case the ovs will bind"},{"line_number":13,"context_line":"the direct port instead of the sriovnicswitch."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This change make ovs mech driver ot bind the direct port only"},{"line_number":16,"context_line":"if user requested --binding-profile \u0027{\"capabilities\": [\"switchdev\"]}\u0027"},{"line_number":17,"context_line":"in the direct port if a user don\u0027t request this capability the SR-IOV"},{"line_number":18,"context_line":"legacy NIC mode is used."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f2577a7_1e2de294","line":15,"range":{"start_line":15,"start_character":33,"end_line":15,"end_character":35},"in_reply_to":"5f2577a7_33e467ac","updated":"2017-09-12 08:49:17.000000000","message":"Done","commit_id":"2e98db888e12bc2e5edc443c852c1588d06c570d"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0fb4ce0ccc1088a34b450be8a24211d1a0ec2b83","unresolved":false,"context_lines":[{"line_number":18,"context_line":"legacy NIC mode is used."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"When enable-sriov-nic-features will be implemented in nova and"},{"line_number":21,"context_line":"libvirt will expose the switchdev capability than nova will be"},{"line_number":22,"context_line":"able to select a host which support SR-IOV nic with switchdev"},{"line_number":23,"context_line":"mode."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f2577a7_73030f44","line":21,"range":{"start_line":21,"start_character":45,"end_line":21,"end_character":49},"updated":"2017-09-11 20:09:03.000000000","message":"then","commit_id":"2e98db888e12bc2e5edc443c852c1588d06c570d"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"1abd6be555b0ea5ef2f4e274b443eb1ac44ecc92","unresolved":false,"context_lines":[{"line_number":18,"context_line":"legacy NIC mode is used."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"When enable-sriov-nic-features will be implemented in nova and"},{"line_number":21,"context_line":"libvirt will expose the switchdev capability than nova will be"},{"line_number":22,"context_line":"able to select a host which support SR-IOV nic with switchdev"},{"line_number":23,"context_line":"mode."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f2577a7_fe21f6a0","line":21,"range":{"start_line":21,"start_character":45,"end_line":21,"end_character":49},"in_reply_to":"5f2577a7_73030f44","updated":"2017-09-12 08:49:17.000000000","message":"Done","commit_id":"2e98db888e12bc2e5edc443c852c1588d06c570d"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0fb4ce0ccc1088a34b450be8a24211d1a0ec2b83","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"When enable-sriov-nic-features will be implemented in nova and"},{"line_number":21,"context_line":"libvirt will expose the switchdev capability than nova will be"},{"line_number":22,"context_line":"able to select a host which support SR-IOV nic with switchdev"},{"line_number":23,"context_line":"mode."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"[1] - https://review.openstack.org/#/c/435954/11/specs/pike/approved/enable-sriov-nic-features.rst"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f2577a7_13fa8b41","line":22,"range":{"start_line":22,"start_character":28,"end_line":22,"end_character":35},"updated":"2017-09-11 20:09:03.000000000","message":"supports","commit_id":"2e98db888e12bc2e5edc443c852c1588d06c570d"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"1abd6be555b0ea5ef2f4e274b443eb1ac44ecc92","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"When enable-sriov-nic-features will be implemented in nova and"},{"line_number":21,"context_line":"libvirt will expose the switchdev capability than nova will be"},{"line_number":22,"context_line":"able to select a host which support SR-IOV nic with switchdev"},{"line_number":23,"context_line":"mode."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"[1] - https://review.openstack.org/#/c/435954/11/specs/pike/approved/enable-sriov-nic-features.rst"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f2577a7_de263ab8","line":22,"range":{"start_line":22,"start_character":28,"end_line":22,"end_character":35},"in_reply_to":"5f2577a7_13fa8b41","updated":"2017-09-12 08:49:17.000000000","message":"Done","commit_id":"2e98db888e12bc2e5edc443c852c1588d06c570d"}],"neutron/plugins/ml2/drivers/mech_sriov/mech_driver/mech_driver.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"21d974bbfdaec032fd1faa10709fa15f154808cd","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                  \"network %(network)s\","},{"line_number":77,"context_line":"                  {\u0027port\u0027: context.current[\u0027id\u0027],"},{"line_number":78,"context_line":"                   \u0027network\u0027: context.network.current[\u0027id\u0027]})"},{"line_number":79,"context_line":"        profile \u003d context.current.get(portbindings.PROFILE)"},{"line_number":80,"context_line":"        vnic_type \u003d context.current.get(portbindings.VNIC_TYPE,"},{"line_number":81,"context_line":"                                        portbindings.VNIC_NORMAL)"},{"line_number":82,"context_line":"        capabilities \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_43aa93d2","line":79,"updated":"2017-09-01 13:35:33.000000000","message":"Consider making the whole block a function and reuse it in both mech driver files - they are 100% alike :)","commit_id":"ce455d395107248f2f3a5d7ba44d5c69e8045a63"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"40d8da36b4a2e1775f5b03e115fafe6ce559c27c","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                  \"network %(network)s\","},{"line_number":77,"context_line":"                  {\u0027port\u0027: context.current[\u0027id\u0027],"},{"line_number":78,"context_line":"                   \u0027network\u0027: context.network.current[\u0027id\u0027]})"},{"line_number":79,"context_line":"        profile \u003d context.current.get(portbindings.PROFILE)"},{"line_number":80,"context_line":"        vnic_type \u003d context.current.get(portbindings.VNIC_TYPE,"},{"line_number":81,"context_line":"                                        portbindings.VNIC_NORMAL)"},{"line_number":82,"context_line":"        capabilities \u003d []"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_a3f13704","line":79,"in_reply_to":"7f287b81_43aa93d2","updated":"2017-09-01 13:36:09.000000000","message":"Ah, sorry, it\u0027s not 100%, depending on switchdev","commit_id":"ce455d395107248f2f3a5d7ba44d5c69e8045a63"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"d11ac61bd8e3fb2b4fc8cf48573b323d6ab0dd57","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        capabilities \u003d []"},{"line_number":83,"context_line":"        if profile:"},{"line_number":84,"context_line":"            capabilities \u003d profile.get(\u0027capabilities\u0027, [])"},{"line_number":85,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and"},{"line_number":86,"context_line":"            \u0027switchdev\u0027 in capabilities):"},{"line_number":87,"context_line":"            return"},{"line_number":88,"context_line":"        if vnic_type not in self.supported_vnic_types:"},{"line_number":89,"context_line":"            LOG.debug(\"Refusing to bind due to unsupported vnic_type: %s\","},{"line_number":90,"context_line":"                      vnic_type)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_ff48fd5c","line":87,"range":{"start_line":85,"start_character":8,"end_line":87,"end_character":18},"updated":"2017-09-01 08:30:13.000000000","message":"Again, I don\u0027t undertand this. If this port (meant to be a OVS accelerated port) is bindind as an SRIOV port, you should rise an exception.","commit_id":"ce455d395107248f2f3a5d7ba44d5c69e8045a63"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e52b76cf3078ba53cd8915f0c89dc1328717adb0","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        capabilities \u003d []"},{"line_number":83,"context_line":"        if profile:"},{"line_number":84,"context_line":"            capabilities \u003d profile.get(\u0027capabilities\u0027, [])"},{"line_number":85,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and"},{"line_number":86,"context_line":"            \u0027switchdev\u0027 in capabilities):"},{"line_number":87,"context_line":"            return"},{"line_number":88,"context_line":"        if vnic_type not in self.supported_vnic_types:"},{"line_number":89,"context_line":"            LOG.debug(\"Refusing to bind due to unsupported vnic_type: %s\","},{"line_number":90,"context_line":"                      vnic_type)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_9dd8ba7f","line":87,"range":{"start_line":85,"start_character":8,"end_line":87,"end_character":18},"in_reply_to":"7f287b81_4cc1972e","updated":"2017-09-04 08:24:01.000000000","message":"Yes, that\u0027s the point, at least you should add a debug message.\n\nIf the scheduling is done correctly, no incorrect vnic type should be passed here.","commit_id":"ce455d395107248f2f3a5d7ba44d5c69e8045a63"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"33b7426f4d0ab9c56a689ed04cb088ebada05ba6","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        capabilities \u003d []"},{"line_number":83,"context_line":"        if profile:"},{"line_number":84,"context_line":"            capabilities \u003d profile.get(\u0027capabilities\u0027, [])"},{"line_number":85,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and"},{"line_number":86,"context_line":"            \u0027switchdev\u0027 in capabilities):"},{"line_number":87,"context_line":"            return"},{"line_number":88,"context_line":"        if vnic_type not in self.supported_vnic_types:"},{"line_number":89,"context_line":"            LOG.debug(\"Refusing to bind due to unsupported vnic_type: %s\","},{"line_number":90,"context_line":"                      vnic_type)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_4cc1972e","line":87,"range":{"start_line":85,"start_character":8,"end_line":87,"end_character":18},"in_reply_to":"7f287b81_e3fdff08","updated":"2017-09-02 05:48:03.000000000","message":"what Brent wrote is correct but we may need to add debug logging like is done in \nhttps://github.com/openstack/neutron/blob/7c1e21a3f35e80e176dfc025eb6f4a0024cb137c/neutron/plugins/ml2/drivers/mech_agent.py#L91-L94","commit_id":"ce455d395107248f2f3a5d7ba44d5c69e8045a63"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"78506e5cce3d38d1821d590a920b9edde2a7fb20","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        capabilities \u003d []"},{"line_number":83,"context_line":"        if profile:"},{"line_number":84,"context_line":"            capabilities \u003d profile.get(\u0027capabilities\u0027, [])"},{"line_number":85,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and"},{"line_number":86,"context_line":"            \u0027switchdev\u0027 in capabilities):"},{"line_number":87,"context_line":"            return"},{"line_number":88,"context_line":"        if vnic_type not in self.supported_vnic_types:"},{"line_number":89,"context_line":"            LOG.debug(\"Refusing to bind due to unsupported vnic_type: %s\","},{"line_number":90,"context_line":"                      vnic_type)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_e3fdff08","line":87,"range":{"start_line":85,"start_character":8,"end_line":87,"end_character":18},"in_reply_to":"7f287b81_ff48fd5c","updated":"2017-09-01 13:30:37.000000000","message":"Both OVS and the SR-IOV mechanism drivers support \u0027direct\u0027 ports, the former for Openvswitch SR-IOV offload and the latter for standard old PCI passthrough. The distinguishing detail is the presence of \u0027switchdev\u0027 in the capabilities of the binding profile - with the intention that the sriovnicswitch mechanism driver not bind ports with the switchdev capability. As I understand it, if a mechanism driver does not support the port binding it simply returns from bind_port without calling set_binding. I do not think throwing an exception from the bind_port method as outlined in neutron_lib.plugins.ml2.api is appropriate in this case.","commit_id":"ce455d395107248f2f3a5d7ba44d5c69e8045a63"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"bf5360849c3cf62dc51d5bac2504fec4170e773d","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and"},{"line_number":86,"context_line":"            \u0027switchdev\u0027 in capabilities):"},{"line_number":87,"context_line":"            LOG.debug(\"Refusing to bind due to unsupported vnic_type: direct \""},{"line_number":88,"context_line":"                      \" with switchdev capability\")"},{"line_number":89,"context_line":"            return"},{"line_number":90,"context_line":"        if vnic_type not in self.supported_vnic_types:"},{"line_number":91,"context_line":"            LOG.debug(\"Refusing to bind due to unsupported vnic_type: %s\","}],"source_content_type":"text/x-python","patch_set":5,"id":"5f2577a7_533db3b9","line":88,"range":{"start_line":88,"start_character":23,"end_line":88,"end_character":24},"updated":"2017-09-11 20:12:03.000000000","message":"nit: extra space","commit_id":"2e98db888e12bc2e5edc443c852c1588d06c570d"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"1abd6be555b0ea5ef2f4e274b443eb1ac44ecc92","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and"},{"line_number":86,"context_line":"            \u0027switchdev\u0027 in capabilities):"},{"line_number":87,"context_line":"            LOG.debug(\"Refusing to bind due to unsupported vnic_type: direct \""},{"line_number":88,"context_line":"                      \" with switchdev capability\")"},{"line_number":89,"context_line":"            return"},{"line_number":90,"context_line":"        if vnic_type not in self.supported_vnic_types:"},{"line_number":91,"context_line":"            LOG.debug(\"Refusing to bind due to unsupported vnic_type: %s\","}],"source_content_type":"text/x-python","patch_set":5,"id":"5f2577a7_9e3d52bd","line":88,"range":{"start_line":88,"start_character":23,"end_line":88,"end_character":24},"in_reply_to":"5f2577a7_533db3b9","updated":"2017-09-12 08:49:17.000000000","message":"Done","commit_id":"2e98db888e12bc2e5edc443c852c1588d06c570d"}],"neutron/plugins/ml2/drivers/openvswitch/mech_driver/mech_openvswitch.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2486b5bc88a1773c1c6a48e2bd1fab826e45735f","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    def bind_port(self, context):"},{"line_number":78,"context_line":"        vnic_type \u003d context.current.get(portbindings.VNIC_TYPE,"},{"line_number":79,"context_line":"                                        portbindings.VNIC_NORMAL)"},{"line_number":80,"context_line":"        capabilities \u003d context.current[\u0027binding:profile\u0027].get(\u0027capabilities\u0027, [])"},{"line_number":81,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and not \u0027switchdev\u0027 in capabilities):"},{"line_number":82,"context_line":"            return"},{"line_number":83,"context_line":"        super(OpenvswitchMechanismDriver, self).bind_port(context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_379a4861","line":80,"range":{"start_line":80,"start_character":39,"end_line":80,"end_character":56},"updated":"2017-08-31 08:59:32.000000000","message":"neutron-lib.api.definitions.protbindings.PROFILE","commit_id":"b18f259b76b0763e7cf15619dabc819fd4e23096"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"87a69a6d205e1616c90a4023726ff324b4edc7f8","unresolved":false,"context_lines":[{"line_number":77,"context_line":"    def bind_port(self, context):"},{"line_number":78,"context_line":"        vnic_type \u003d context.current.get(portbindings.VNIC_TYPE,"},{"line_number":79,"context_line":"                                        portbindings.VNIC_NORMAL)"},{"line_number":80,"context_line":"        capabilities \u003d context.current[\u0027binding:profile\u0027].get(\u0027capabilities\u0027, [])"},{"line_number":81,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and not \u0027switchdev\u0027 in capabilities):"},{"line_number":82,"context_line":"            return"},{"line_number":83,"context_line":"        super(OpenvswitchMechanismDriver, self).bind_port(context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_f7ae002c","line":80,"range":{"start_line":80,"start_character":39,"end_line":80,"end_character":56},"in_reply_to":"7f287b81_379a4861","updated":"2017-08-31 11:31:21.000000000","message":"Done","commit_id":"b18f259b76b0763e7cf15619dabc819fd4e23096"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2486b5bc88a1773c1c6a48e2bd1fab826e45735f","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                                        portbindings.VNIC_NORMAL)"},{"line_number":80,"context_line":"        capabilities \u003d context.current[\u0027binding:profile\u0027].get(\u0027capabilities\u0027, [])"},{"line_number":81,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and not \u0027switchdev\u0027 in capabilities):"},{"line_number":82,"context_line":"            return"},{"line_number":83,"context_line":"        super(OpenvswitchMechanismDriver, self).bind_port(context)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def get_vif_type(self, context, agent, segment):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_b7a518a1","line":82,"range":{"start_line":82,"start_character":12,"end_line":82,"end_character":18},"updated":"2017-08-31 08:59:32.000000000","message":"Should we throw an exception here? At least a warning","commit_id":"b18f259b76b0763e7cf15619dabc819fd4e23096"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4bdf77228ebb5947e6d6709963b50494de30cae1","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                                        portbindings.VNIC_NORMAL)"},{"line_number":80,"context_line":"        capabilities \u003d context.current[\u0027binding:profile\u0027].get(\u0027capabilities\u0027, [])"},{"line_number":81,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and not \u0027switchdev\u0027 in capabilities):"},{"line_number":82,"context_line":"            return"},{"line_number":83,"context_line":"        super(OpenvswitchMechanismDriver, self).bind_port(context)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def get_vif_type(self, context, agent, segment):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_9f2b3981","line":82,"range":{"start_line":82,"start_character":12,"end_line":82,"end_character":18},"in_reply_to":"7f287b81_7768d0f3","updated":"2017-09-01 08:26:18.000000000","message":"I don\u0027t understand. This function is to bind a port in the OVS mech driver. If you return this function, you won\u0027t bind it.\n\nIf this is a legacy SRIOV port and could not be bind to OVS, there should be some kind of warning or exception.","commit_id":"b18f259b76b0763e7cf15619dabc819fd4e23096"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"87a69a6d205e1616c90a4023726ff324b4edc7f8","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                                        portbindings.VNIC_NORMAL)"},{"line_number":80,"context_line":"        capabilities \u003d context.current[\u0027binding:profile\u0027].get(\u0027capabilities\u0027, [])"},{"line_number":81,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and not \u0027switchdev\u0027 in capabilities):"},{"line_number":82,"context_line":"            return"},{"line_number":83,"context_line":"        super(OpenvswitchMechanismDriver, self).bind_port(context)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def get_vif_type(self, context, agent, segment):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_7768d0f3","line":82,"range":{"start_line":82,"start_character":12,"end_line":82,"end_character":18},"in_reply_to":"7f287b81_b7a518a1","updated":"2017-08-31 11:31:21.000000000","message":"no, this just means that the user want legacy SR-IOV","commit_id":"b18f259b76b0763e7cf15619dabc819fd4e23096"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"2bd90e328c947b479ec6cb89d87f131378ba9020","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            capabilities \u003d profile.get(\u0027capabilities\u0027, [])"},{"line_number":86,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and"},{"line_number":87,"context_line":"            \u0027switchdev\u0027 not in capabilities):"},{"line_number":88,"context_line":"            LOG.debug(\"Refusing to bind due to unsupported vnic_type: direct\""},{"line_number":89,"context_line":"                      \" with no switchdev capability\")"},{"line_number":90,"context_line":"            return"},{"line_number":91,"context_line":"        super(OpenvswitchMechanismDriver, self).bind_port(context)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f2577a7_9ccd5a5f","line":88,"updated":"2017-09-12 11:54:01.000000000","message":"nit: maybe You can use constant portbindings.VNIC_DIRECT here instead of word \"direct\"?","commit_id":"e10e45188ab398e477649095a1a0ef27146adbc4"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"d3bf439960381827fadb2af869a9c198ab9dd938","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            capabilities \u003d profile.get(\u0027capabilities\u0027, [])"},{"line_number":86,"context_line":"        if (vnic_type \u003d\u003d portbindings.VNIC_DIRECT and"},{"line_number":87,"context_line":"            \u0027switchdev\u0027 not in capabilities):"},{"line_number":88,"context_line":"            LOG.debug(\"Refusing to bind due to unsupported vnic_type: direct\""},{"line_number":89,"context_line":"                      \" with no switchdev capability\")"},{"line_number":90,"context_line":"            return"},{"line_number":91,"context_line":"        super(OpenvswitchMechanismDriver, self).bind_port(context)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f2577a7_1c7e0ae4","line":88,"in_reply_to":"5f2577a7_9ccd5a5f","updated":"2017-09-12 12:02:39.000000000","message":"Done","commit_id":"e10e45188ab398e477649095a1a0ef27146adbc4"}],"neutron/tests/unit/plugins/ml2/drivers/mech_sriov/mech_driver/test_mech_sriov_nic_switch.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"21d974bbfdaec032fd1faa10709fa15f154808cd","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        self._check_vif_type_for_vnic_type(portbindings.VNIC_DIRECT_PHYSICAL,"},{"line_number":138,"context_line":"                                           portbindings.VIF_TYPE_HOSTDEV_PHY)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    @mock.patch(\u0027neutron.plugins.ml2.drivers.mech_sriov.mech_driver.\u0027"},{"line_number":141,"context_line":"                \u0027mech_driver.SriovNicSwitchMechanismDriver.\u0027"},{"line_number":142,"context_line":"                \u0027try_to_bind_segment_for_agent\u0027)"},{"line_number":143,"context_line":"    def test_vnic_type_direct_with_switchdev_cap(self, mocked_bind_segment):"},{"line_number":144,"context_line":"        profile \u003d {\u0027capabilities\u0027: [\u0027switchdev\u0027]}"},{"line_number":145,"context_line":"        context \u003d TestFakePortContext(self.AGENT_TYPE,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_c3bd7f02","line":142,"range":{"start_line":140,"start_character":0,"end_line":142,"end_character":48},"updated":"2017-09-01 13:35:33.000000000","message":"Following should be fine\n\n @mock.patch.object(mech_driver.SriovNicSwitchMechanismDriver,\n                    \u0027try_to_bind_segment_for_agent\u0027)","commit_id":"ce455d395107248f2f3a5d7ba44d5c69e8045a63"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"837dd5fe5dc010549f8ae20d0634dab122420dc2","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        self._check_vif_type_for_vnic_type(portbindings.VNIC_DIRECT_PHYSICAL,"},{"line_number":138,"context_line":"                                           portbindings.VIF_TYPE_HOSTDEV_PHY)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    @mock.patch(\u0027neutron.plugins.ml2.drivers.mech_sriov.mech_driver.\u0027"},{"line_number":141,"context_line":"                \u0027mech_driver.SriovNicSwitchMechanismDriver.\u0027"},{"line_number":142,"context_line":"                \u0027try_to_bind_segment_for_agent\u0027)"},{"line_number":143,"context_line":"    def test_vnic_type_direct_with_switchdev_cap(self, mocked_bind_segment):"},{"line_number":144,"context_line":"        profile \u003d {\u0027capabilities\u0027: [\u0027switchdev\u0027]}"},{"line_number":145,"context_line":"        context \u003d TestFakePortContext(self.AGENT_TYPE,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_9c032e74","line":142,"range":{"start_line":140,"start_character":0,"end_line":142,"end_character":48},"in_reply_to":"7f287b81_2cdc0b17","updated":"2017-09-02 16:28:52.000000000","message":"Done","commit_id":"ce455d395107248f2f3a5d7ba44d5c69e8045a63"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"33b7426f4d0ab9c56a689ed04cb088ebada05ba6","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        self._check_vif_type_for_vnic_type(portbindings.VNIC_DIRECT_PHYSICAL,"},{"line_number":138,"context_line":"                                           portbindings.VIF_TYPE_HOSTDEV_PHY)"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"    @mock.patch(\u0027neutron.plugins.ml2.drivers.mech_sriov.mech_driver.\u0027"},{"line_number":141,"context_line":"                \u0027mech_driver.SriovNicSwitchMechanismDriver.\u0027"},{"line_number":142,"context_line":"                \u0027try_to_bind_segment_for_agent\u0027)"},{"line_number":143,"context_line":"    def test_vnic_type_direct_with_switchdev_cap(self, mocked_bind_segment):"},{"line_number":144,"context_line":"        profile \u003d {\u0027capabilities\u0027: [\u0027switchdev\u0027]}"},{"line_number":145,"context_line":"        context \u003d TestFakePortContext(self.AGENT_TYPE,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_2cdc0b17","line":142,"range":{"start_line":140,"start_character":0,"end_line":142,"end_character":48},"in_reply_to":"7f287b81_c3bd7f02","updated":"2017-09-02 05:48:03.000000000","message":"will do","commit_id":"ce455d395107248f2f3a5d7ba44d5c69e8045a63"}],"neutron/tests/unit/plugins/ml2/drivers/openvswitch/mech_driver/test_mech_openvswitch.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"2bd90e328c947b479ec6cb89d87f131378ba9020","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        return base.FakePortContext(self.AGENT_TYPE, agents, segments,"},{"line_number":250,"context_line":"                                    vnic_type\u003dportbindings.VNIC_DIRECT,"},{"line_number":251,"context_line":"                                    profile\u003dprofile"},{"line_number":252,"context_line":"                                    )"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"    @mock.patch(\u0027neutron.plugins.ml2.drivers.mech_agent.\u0027"},{"line_number":255,"context_line":"                \u0027SimpleAgentMechanismDriverBase.bind_port\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f2577a7_bcd016f9","line":252,"updated":"2017-09-12 11:54:01.000000000","message":"nit: IMHO better would be to move \")\" to line above","commit_id":"e10e45188ab398e477649095a1a0ef27146adbc4"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"d3bf439960381827fadb2af869a9c198ab9dd938","unresolved":false,"context_lines":[{"line_number":249,"context_line":"        return base.FakePortContext(self.AGENT_TYPE, agents, segments,"},{"line_number":250,"context_line":"                                    vnic_type\u003dportbindings.VNIC_DIRECT,"},{"line_number":251,"context_line":"                                    profile\u003dprofile"},{"line_number":252,"context_line":"                                    )"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"    @mock.patch(\u0027neutron.plugins.ml2.drivers.mech_agent.\u0027"},{"line_number":255,"context_line":"                \u0027SimpleAgentMechanismDriverBase.bind_port\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f2577a7_dc39a241","line":252,"in_reply_to":"5f2577a7_bcd016f9","updated":"2017-09-12 12:02:39.000000000","message":"Done","commit_id":"e10e45188ab398e477649095a1a0ef27146adbc4"}]}
