)]}'
{"vif_plug_ovs/linux_net.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c06a304cd8bf6e8bea48cabbf1dce66ea011c3db","unresolved":false,"context_lines":[{"line_number":280,"context_line":"    PCI function number and return the first valid match."},{"line_number":281,"context_line":"    \"\"\""},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"    cmd_string \u003d \"ethtool -i %s | grep bus-info\" % pf_ifname"},{"line_number":284,"context_line":"    bus_info \u003d commands.getoutput(cmd_string)"},{"line_number":285,"context_line":"    match \u003d PF_FUNC_RE.search(bus_info)"},{"line_number":286,"context_line":"    if match:"},{"line_number":287,"context_line":"        return match.group(1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_a46e9e2c","line":284,"range":{"start_line":283,"start_character":4,"end_line":284,"end_character":45},"updated":"2018-01-09 10:46:18.000000000","message":"we are currently trying to remove all process exec style logic\nform os-vif in favor of python libs.\n\nwe still spawn process to execute commandline tools in parts but if we could do the same by reading the info from sysfs i would refer to do that.","commit_id":"b30fd3e718adbdcd2ce3eb8ddec3a027e1a34f0c"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"13eb9286388c2ab30ada00260635fa1cded71a07","unresolved":false,"context_lines":[{"line_number":22,"context_line":"import glob"},{"line_number":23,"context_line":"import os"},{"line_number":24,"context_line":"import re"},{"line_number":25,"context_line":"import subprocess"},{"line_number":26,"context_line":"import sys"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from oslo_concurrency import processutils"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_c8495ab7","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":17},"updated":"2018-01-09 06:54:28.000000000","message":"you don\u0027t need subprocess please use processutils","commit_id":"cf26cfd3520686e99b9e2ccc266c4be45616d4d7"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"13eb9286388c2ab30ada00260635fa1cded71a07","unresolved":false,"context_lines":[{"line_number":272,"context_line":"    return None"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"def _get_pf_func(pf_ifname):"},{"line_number":276,"context_line":"    \"\"\"Gets PF function number using pf_ifname and returns function"},{"line_number":277,"context_line":"    number or None."},{"line_number":278,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_c87abab8","line":275,"range":{"start_line":275,"start_character":4,"end_line":275,"end_character":28},"updated":"2018-01-09 06:54:28.000000000","message":"you can copy this from nova.pci..utils to get the pci device of interface https://github.com/openstack/nova/blob/master/nova/pci/utils.py#L98-L113","commit_id":"cf26cfd3520686e99b9e2ccc266c4be45616d4d7"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"d024b6b36366ce91a53807451986743d55278138","unresolved":false,"context_lines":[{"line_number":283,"context_line":""},{"line_number":284,"context_line":"    cmd_string \u003d \"ethtool -i %s | grep bus-info\" % pf_ifname"},{"line_number":285,"context_line":"    try:"},{"line_number":286,"context_line":"\tbus_info \u003d subprocess.check_output(cmd_string, shell\u003dTrue)"},{"line_number":287,"context_line":"    except subprocess.CalledProcessError:"},{"line_number":288,"context_line":"\treturn None"},{"line_number":289,"context_line":"    match \u003d PF_FUNC_RE.search(bus_info)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_6d9b8017","line":286,"range":{"start_line":286,"start_character":0,"end_line":286,"end_character":1},"updated":"2018-01-09 05:42:15.000000000","message":"Tab.","commit_id":"cf26cfd3520686e99b9e2ccc266c4be45616d4d7"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"d024b6b36366ce91a53807451986743d55278138","unresolved":false,"context_lines":[{"line_number":285,"context_line":"    try:"},{"line_number":286,"context_line":"\tbus_info \u003d subprocess.check_output(cmd_string, shell\u003dTrue)"},{"line_number":287,"context_line":"    except subprocess.CalledProcessError:"},{"line_number":288,"context_line":"\treturn None"},{"line_number":289,"context_line":"    match \u003d PF_FUNC_RE.search(bus_info)"},{"line_number":290,"context_line":"    if match:"},{"line_number":291,"context_line":"        return match.group(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_2da1f846","line":288,"range":{"start_line":288,"start_character":0,"end_line":288,"end_character":1},"updated":"2018-01-09 05:42:15.000000000","message":"ditto","commit_id":"cf26cfd3520686e99b9e2ccc266c4be45616d4d7"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"9004661973c7ce31fdc0d97290962bcfa10acf9c","unresolved":false,"context_lines":[{"line_number":332,"context_line":"        raise exception.RepresentorNotFound(ifname\u003dpf_ifname, vf_num\u003dvf_num)"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"    for device in devices:"},{"line_number":335,"context_line":"        address_str, pf \u003d get_function_by_ifname(pf_ifname)"},{"line_number":336,"context_line":"        if pf:"},{"line_number":337,"context_line":"            continue"},{"line_number":338,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_cb3b0836","line":335,"range":{"start_line":335,"start_character":49,"end_line":335,"end_character":58},"updated":"2018-01-12 12:09:14.000000000","message":"can you check, but his should ve device not pf_ifname\nI think this break mellanox CI please see n-cpu log there","commit_id":"83e27798dedf451a9307267e85536f5eb9276e96"}]}
