)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b45b83e8933d1ff3d7678aaff68022d50b74a3b3","unresolved":false,"context_lines":[{"line_number":11,"context_line":"output."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"To solve this problem and avoid future ones, pyroute2 is used to"},{"line_number":14,"context_line":"aetrieve the virtual functions information and set the VF attributes"},{"line_number":15,"context_line":"(spoofcheck, min_tx_rate, max_tx_rate and link_state)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"pyroute2 extended the \"ip link\" support to retrieve this information,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"ff570b3c_02b78388","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":8},"updated":"2020-05-26 07:55:35.000000000","message":"nitty nit: retrieve","commit_id":"2ed101cc8f5b0abbfcc332f844d3be95903a22f6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"258744e98d8c47f4036dbfd1b4327063de969716","unresolved":false,"context_lines":[{"line_number":11,"context_line":"output."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"To solve this problem and avoid future ones, pyroute2 is used to"},{"line_number":14,"context_line":"aetrieve the virtual functions information and set the VF attributes"},{"line_number":15,"context_line":"(spoofcheck, min_tx_rate, max_tx_rate and link_state)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"pyroute2 extended the \"ip link\" support to retrieve this information,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"ff570b3c_e7625ed8","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":8},"in_reply_to":"ff570b3c_02b78388","updated":"2020-05-26 09:59:39.000000000","message":"Done","commit_id":"2ed101cc8f5b0abbfcc332f844d3be95903a22f6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"231bd499e628f5908c744060cf512d0b5a8d05d5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use pyroute2 for SRIOV VF commands"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Recent changes in some versions of iproute2 CLI output, have"},{"line_number":10,"context_line":"invalidated the regular expression used to parse the \"ip link\""},{"line_number":11,"context_line":"output."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"To solve this problem and avoid future ones, pyroute2 is used to"},{"line_number":14,"context_line":"retrieve the virtual functions information and set the VF attributes"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"ff570b3c_1d67cc53","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":7},"updated":"2020-05-27 11:44:41.000000000","message":"nit: Perhaps a reference would be good for these changes","commit_id":"721b2954cc5e97736cfffc3ff4b889a5bd4f2a16"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"89aa5beed22a34ea0b45afae1358905c2f16b92a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use pyroute2 for SRIOV VF commands"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Recent changes in some versions of iproute2 CLI output, have"},{"line_number":10,"context_line":"invalidated the regular expression used to parse the \"ip link\""},{"line_number":11,"context_line":"output."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"To solve this problem and avoid future ones, pyroute2 is used to"},{"line_number":14,"context_line":"retrieve the virtual functions information and set the VF attributes"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"ff570b3c_84137c66","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":7},"in_reply_to":"ff570b3c_1d67cc53","updated":"2020-05-27 16:56:52.000000000","message":"Done","commit_id":"721b2954cc5e97736cfffc3ff4b889a5bd4f2a16"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"231bd499e628f5908c744060cf512d0b5a8d05d5","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The set commands can return a \"InterfaceOperationNotSupported\" in"},{"line_number":23,"context_line":"case the operation is not supported. For min_tx_rate, if the driver"},{"line_number":24,"context_line":"does not support to set a minimum bandwidth, a \"InvalidArgument\""},{"line_number":25,"context_line":"(from a pyroute2.NetlinkError(22)) exception will be raised."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Change-Id: I680da4f64bd114f1caecaaeedbf8a4b1915a0849"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"ff570b3c_bd94e0e9","line":24,"range":{"start_line":24,"start_character":45,"end_line":24,"end_character":46},"updated":"2020-05-27 11:44:41.000000000","message":"nit: an","commit_id":"721b2954cc5e97736cfffc3ff4b889a5bd4f2a16"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"89aa5beed22a34ea0b45afae1358905c2f16b92a","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The set commands can return a \"InterfaceOperationNotSupported\" in"},{"line_number":23,"context_line":"case the operation is not supported. For min_tx_rate, if the driver"},{"line_number":24,"context_line":"does not support to set a minimum bandwidth, a \"InvalidArgument\""},{"line_number":25,"context_line":"(from a pyroute2.NetlinkError(22)) exception will be raised."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Change-Id: I680da4f64bd114f1caecaaeedbf8a4b1915a0849"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"ff570b3c_64162858","line":24,"range":{"start_line":24,"start_character":45,"end_line":24,"end_character":46},"in_reply_to":"ff570b3c_bd94e0e9","updated":"2020-05-27 16:56:52.000000000","message":"Done","commit_id":"721b2954cc5e97736cfffc3ff4b889a5bd4f2a16"}],"neutron/plugins/ml2/drivers/mech_sriov/agent/eswitch_manager.py":[{"author":{"_account_id":23618,"name":"Christophe Fontaine","email":"cfontain@redhat.com","username":"christophefontaine"},"change_message_id":"6aa45772667c15392a6b0882bd8fbf3ec9ecbde5","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    IP_LINK_CAPABILITY_RATE \u003d \u0027max_tx_rate\u0027"},{"line_number":35,"context_line":"    IP_LINK_CAPABILITY_MIN_TX_RATE \u003d \u0027min_tx_rate\u0027"},{"line_number":36,"context_line":"    IP_LINK_CAPABILITY_SPOOFCHK \u003d \u0027spoofchk\u0027"},{"line_number":37,"context_line":"    IP_LINK_SUB_CAPABILITY_QOS \u003d \u0027qos\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"class PciOsWrapper(object):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_b576423d","line":37,"updated":"2020-05-19 14:44:14.000000000","message":"Shouldn\u0027t we have a constant for trusted VF or is it managed differently ?\nIP_LINK_CAPABILITY_TRUST \u003d \u0027trust\u0027","commit_id":"0194c2ace327ad0b35ecf9d2ec3e460b1596fa18"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a5353333300f0e03896003a0034ef53394d4c139","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    IP_LINK_CAPABILITY_RATE \u003d \u0027max_tx_rate\u0027"},{"line_number":35,"context_line":"    IP_LINK_CAPABILITY_MIN_TX_RATE \u003d \u0027min_tx_rate\u0027"},{"line_number":36,"context_line":"    IP_LINK_CAPABILITY_SPOOFCHK \u003d \u0027spoofchk\u0027"},{"line_number":37,"context_line":"    IP_LINK_SUB_CAPABILITY_QOS \u003d \u0027qos\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"class PciOsWrapper(object):"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_d8c32dec","line":37,"in_reply_to":"ff570b3c_b576423d","updated":"2020-05-20 14:18:49.000000000","message":"This is set in Nova, not in Neutron, when the VF is assigned.","commit_id":"0194c2ace327ad0b35ecf9d2ec3e460b1596fa18"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b45b83e8933d1ff3d7678aaff68022d50b74a3b3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class IpLinkConstants(object):"},{"line_number":32,"context_line":"    IP_LINK_CAPABILITY_STATE \u003d \u0027state\u0027"},{"line_number":33,"context_line":"    IP_LINK_CAPABILITY_VLAN \u003d \u0027vlan\u0027"},{"line_number":34,"context_line":"    IP_LINK_CAPABILITY_RATE \u003d \u0027max_tx_rate\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_c2610b14","line":31,"updated":"2020-05-26 07:55:35.000000000","message":"do we need this class?","commit_id":"2ed101cc8f5b0abbfcc332f844d3be95903a22f6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"258744e98d8c47f4036dbfd1b4327063de969716","unresolved":false,"context_lines":[{"line_number":28,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class IpLinkConstants(object):"},{"line_number":32,"context_line":"    IP_LINK_CAPABILITY_STATE \u003d \u0027state\u0027"},{"line_number":33,"context_line":"    IP_LINK_CAPABILITY_VLAN \u003d \u0027vlan\u0027"},{"line_number":34,"context_line":"    IP_LINK_CAPABILITY_RATE \u003d \u0027max_tx_rate\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_2a27fdb8","line":31,"in_reply_to":"ff570b3c_c2610b14","updated":"2020-05-26 09:59:39.000000000","message":"Not really... I\u0027ll modify this (come from https://review.opendev.org/#/c/726918/8/neutron/agent/linux/ip_link_support.py).","commit_id":"2ed101cc8f5b0abbfcc332f844d3be95903a22f6"}],"neutron/plugins/ml2/drivers/mech_sriov/agent/pci_lib.py":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"7d7856849283b98ac7290fe6b0a83f5d52969139","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    wrapper for getting/setting pci device details using ip link..."},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    VF_PATTERN \u003d r\"^vf\\s+(?P\u003cvf_index\u003e\\d+)\\s+\""},{"line_number":39,"context_line":"    MAC_PATTERN \u003d r\"MAC\\s+(?P\u003cmac\u003e[a-fA-F0-9:]+),\""},{"line_number":40,"context_line":"    STATE_PATTERN \u003d r\"\\s+link-state\\s+(?P\u003cstate\u003e\\w+)\""},{"line_number":41,"context_line":"    ANY_PATTERN \u003d \".*,\""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    VF_LINE_FORMAT \u003d VF_PATTERN + MAC_PATTERN + ANY_PATTERN + STATE_PATTERN"},{"line_number":44,"context_line":"    VF_DETAILS_REG_EX \u003d re.compile(VF_LINE_FORMAT)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    IP_LINK_OP_NOT_SUPPORTED \u003d \u0027RTNETLINK answers: Operation not supported\u0027"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_6ab615fd","side":"PARENT","line":44,"range":{"start_line":38,"start_character":0,"end_line":44,"end_character":50},"updated":"2020-05-12 16:55:36.000000000","message":"This is not used anymore, right?","commit_id":"2ac52607c266e593700be0784ebadc77789070ff"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"8250ef3a7c2079680e8254cb54d50f26fac5ec64","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    wrapper for getting/setting pci device details using ip link..."},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    VF_PATTERN \u003d r\"^vf\\s+(?P\u003cvf_index\u003e\\d+)\\s+\""},{"line_number":39,"context_line":"    MAC_PATTERN \u003d r\"MAC\\s+(?P\u003cmac\u003e[a-fA-F0-9:]+),\""},{"line_number":40,"context_line":"    STATE_PATTERN \u003d r\"\\s+link-state\\s+(?P\u003cstate\u003e\\w+)\""},{"line_number":41,"context_line":"    ANY_PATTERN \u003d \".*,\""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    VF_LINE_FORMAT \u003d VF_PATTERN + MAC_PATTERN + ANY_PATTERN + STATE_PATTERN"},{"line_number":44,"context_line":"    VF_DETAILS_REG_EX \u003d re.compile(VF_LINE_FORMAT)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    IP_LINK_OP_NOT_SUPPORTED \u003d \u0027RTNETLINK answers: Operation not supported\u0027"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_822ed7f7","side":"PARENT","line":44,"range":{"start_line":38,"start_character":0,"end_line":44,"end_character":50},"in_reply_to":"ff570b3c_6ab615fd","updated":"2020-05-13 09:40:44.000000000","message":"Yeah, let me check because most of those variables should be removed. Thanks!","commit_id":"2ac52607c266e593700be0784ebadc77789070ff"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"16cd988fece5196f64dd66bf77d4486fb3ec40f6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import re"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from oslo_log import log as logging"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ff570b3c_f0303aeb","line":16,"updated":"2020-05-13 12:52:45.000000000","message":"pep8: F401 \u0027re\u0027 imported but unused","commit_id":"a7996e8bb8708c78207218abe494f3c64726398f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b45b83e8933d1ff3d7678aaff68022d50b74a3b3","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    ENABLE \u003d \"enable\""},{"line_number":26,"context_line":"    DISABLE \u003d \"disable\""},{"line_number":27,"context_line":"    AUTO \u003d \"auto\""},{"line_number":28,"context_line":"    _TO_STRING \u003d {0: AUTO, 1: ENABLE, 2: DISABLE}"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @staticmethod"},{"line_number":31,"context_line":"    def to_string(pyroute2_index):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_227287e4","line":28,"updated":"2020-05-26 07:55:35.000000000","message":"why not use enum here?","commit_id":"2ed101cc8f5b0abbfcc332f844d3be95903a22f6"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"258744e98d8c47f4036dbfd1b4327063de969716","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    ENABLE \u003d \"enable\""},{"line_number":26,"context_line":"    DISABLE \u003d \"disable\""},{"line_number":27,"context_line":"    AUTO \u003d \"auto\""},{"line_number":28,"context_line":"    _TO_STRING \u003d {0: AUTO, 1: ENABLE, 2: DISABLE}"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @staticmethod"},{"line_number":31,"context_line":"    def to_string(pyroute2_index):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_ea6225d8","line":28,"in_reply_to":"ff570b3c_227287e4","updated":"2020-05-26 09:59:39.000000000","message":"Uhhh, good idea!","commit_id":"2ed101cc8f5b0abbfcc332f844d3be95903a22f6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"231bd499e628f5908c744060cf512d0b5a8d05d5","unresolved":false,"context_lines":[{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class LinkState(enum.Enum):"},{"line_number":27,"context_line":"    auto \u003d 0"},{"line_number":28,"context_line":"    enable \u003d 1"},{"line_number":29,"context_line":"    disable \u003d 2"}],"source_content_type":"text/x-python","patch_set":10,"id":"ff570b3c_dd3d54de","line":26,"range":{"start_line":26,"start_character":16,"end_line":26,"end_character":25},"updated":"2020-05-27 11:44:41.000000000","message":"+1","commit_id":"721b2954cc5e97736cfffc3ff4b889a5bd4f2a16"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"231bd499e628f5908c744060cf512d0b5a8d05d5","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        ip \u003d self.device(self.dev_name)"},{"line_number":60,"context_line":"        vfs \u003d ip.link.get_vfs()"},{"line_number":61,"context_line":"        vf \u003d vfs.get(vf_index)"},{"line_number":62,"context_line":"        if vf:"},{"line_number":63,"context_line":"            return LinkState(int(vf[\u0027link_state\u0027])).name"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        return LinkState.disable.name"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"ff570b3c_dd16f455","line":63,"range":{"start_line":62,"start_character":8,"end_line":63,"end_character":56},"updated":"2020-05-27 11:44:41.000000000","message":"perhaps I am paranoid but I would add a try block here:\ntry:\n    return LinkState(.....)\nexcept ValueError:\n    return LinkState.disable.name","commit_id":"721b2954cc5e97736cfffc3ff4b889a5bd4f2a16"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2d0fe5622f74c53bda238b03ac3fa48565c6f8fc","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        ip \u003d self.device(self.dev_name)"},{"line_number":60,"context_line":"        vfs \u003d ip.link.get_vfs()"},{"line_number":61,"context_line":"        vf \u003d vfs.get(vf_index)"},{"line_number":62,"context_line":"        if vf:"},{"line_number":63,"context_line":"            return LinkState(int(vf[\u0027link_state\u0027])).name"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        return LinkState.disable.name"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"ff570b3c_0d982119","line":63,"range":{"start_line":62,"start_character":8,"end_line":63,"end_character":56},"in_reply_to":"ff570b3c_2416f0a8","updated":"2020-05-28 12:02:52.000000000","message":"Then perhaps a better suiting exception than ValueError is more informative for the user, though I can accept this","commit_id":"721b2954cc5e97736cfffc3ff4b889a5bd4f2a16"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"89aa5beed22a34ea0b45afae1358905c2f16b92a","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        ip \u003d self.device(self.dev_name)"},{"line_number":60,"context_line":"        vfs \u003d ip.link.get_vfs()"},{"line_number":61,"context_line":"        vf \u003d vfs.get(vf_index)"},{"line_number":62,"context_line":"        if vf:"},{"line_number":63,"context_line":"            return LinkState(int(vf[\u0027link_state\u0027])).name"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        return LinkState.disable.name"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"ff570b3c_2416f0a8","line":63,"range":{"start_line":62,"start_character":8,"end_line":63,"end_character":56},"in_reply_to":"ff570b3c_dd16f455","updated":"2020-05-27 16:56:52.000000000","message":"If we have a state not in [0, 1, 2], it\u0027s better to raise an exception, something weird is happening there.","commit_id":"721b2954cc5e97736cfffc3ff4b889a5bd4f2a16"}],"neutron/privileged/agent/linux/ip_lib.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"231bd499e628f5908c744060cf512d0b5a8d05d5","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    return rtnl.rt_scope.get(scope, scope)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"# TODO(ralonsoh): move those exceptions out of priv_ip_lib to avoid other"},{"line_number":68,"context_line":"# modules to import this one."},{"line_number":69,"context_line":"class NetworkNamespaceNotFound(RuntimeError):"},{"line_number":70,"context_line":"    message \u003d _(\"Network namespace %(netns_name)s could not be found.\")"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"ff570b3c_5d02e40c","line":68,"range":{"start_line":67,"start_character":0,"end_line":68,"end_character":29},"updated":"2020-05-27 11:44:41.000000000","message":"+1","commit_id":"721b2954cc5e97736cfffc3ff4b889a5bd4f2a16"}],"neutron/tests/unit/plugins/ml2/drivers/mech_sriov/agent/test_pci_lib.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"151cf9511a24976025454ec97df367c05e78b609","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    }"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def setUp(self):"},{"line_number":48,"context_line":"        super(TestPciLib, self).setUp()"},{"line_number":49,"context_line":"        self.pci_wrapper \u003d pci_lib.PciDeviceIPWrapper(self.DEV_NAME)"},{"line_number":50,"context_line":"        self.mock_ip_device \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_873ba236","line":47,"updated":"2020-05-12 12:49:42.000000000","message":"pep8: E303 too many blank lines (2)","commit_id":"c323def8f259dfab95ec0b96810af43f456e9e97"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"151cf9511a24976025454ec97df367c05e78b609","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        super(TestPciLib, self).setUp()"},{"line_number":49,"context_line":"        self.pci_wrapper \u003d pci_lib.PciDeviceIPWrapper(self.DEV_NAME)"},{"line_number":50,"context_line":"        self.mock_ip_device \u003d mock.Mock()"},{"line_number":51,"context_line":"        _mock_ip_device \u003d mock.patch.object("},{"line_number":52,"context_line":"            ip_lib, \u0027IPDevice\u0027, return_value\u003dself.mock_ip_device).start()"},{"line_number":53,"context_line":"        self.mock_ip_device.link.get_vfs.return_value \u003d self.VFS_LIST"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_e7489ecd","line":51,"updated":"2020-05-12 12:49:42.000000000","message":"pep8: F841 local variable \u0027_mock_ip_device\u0027 is assigned to but never used","commit_id":"c323def8f259dfab95ec0b96810af43f456e9e97"}]}
