)]}'
{"contrib/nova-docker/nova/virt/zun/driver.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"3bd361515beb87aebe6579566977e901dd4c8f97","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        self._stop_firewall(instance, network_info)"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    def _encode_utf8(self, value):"},{"line_number":236,"context_line":"        if not isinstance(value, str):"},{"line_number":237,"context_line":"            value \u003d str(value)"},{"line_number":238,"context_line":"        return value.encode(\u0027utf-8\u0027)"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"    def _find_container_by_instance(self, instance):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1f493fa4_09dcba16","line":237,"range":{"start_line":236,"start_character":0,"end_line":237,"end_character":30},"updated":"2020-05-06 01:46:29.000000000","message":"Python3 won\u0027t hit this branch so simply remove it.","commit_id":"d6fe80d5914cac110445b397ba7faa8bd65bd1e1"}],"zun/api/controllers/base.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"class Controller(rest.RestController):"},{"line_number":96,"context_line":"    \"\"\"Base Rest Controller\"\"\""},{"line_number":97,"context_line":"    __metaclass__ \u003d ControllerMetaclass"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":100,"context_line":"    def _no_version_match(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_494f1092","line":97,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: H236: Python 3.x incompatible __metaclass__, use six.add_metaclass()","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/cni/api.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    # requested params.CNI_VERSION and/or params.config.cniVersion"},{"line_number":35,"context_line":"    VERSION \u003d \u00270.3.1\u0027"},{"line_number":36,"context_line":"    SUPPORTED_VERSIONS \u003d [\u00270.3.1\u0027]"},{"line_number":37,"context_line":"    __metaclass__ \u003d abc.ABCMeta"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @abc.abstractmethod"},{"line_number":40,"context_line":"    def _add(self, params):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_8949188d","line":37,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: H236: Python 3.x incompatible __metaclass__, use six.add_metaclass()","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/cni/binding/base.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class BaseBindingDriver(object):"},{"line_number":33,"context_line":"    \"\"\"Interface to attach ports to capsules.\"\"\""},{"line_number":34,"context_line":"    __metaclass__ \u003d abc.ABCMeta"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @abc.abstractmethod"},{"line_number":37,"context_line":"    def connect(self, vif, ifname, netns, container_id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_c9acc037","line":34,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: H236: Python 3.x incompatible __metaclass__, use six.add_metaclass()","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/cni/daemon/service.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from oslo_log import log as logging"},{"line_number":25,"context_line":"from oslo_serialization import jsonutils"},{"line_number":26,"context_line":"from pyroute2.ipdb import transactional"},{"line_number":27,"context_line":"from http import client as httplib"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from zun.cni.plugins import zun_cni_registry"},{"line_number":30,"context_line":"from zun.cni import utils as cni_utils"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_694acc83","line":27,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: H306: imports not in alphabetical order (pyroute2.ipdb.transactional, http.client)","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/common/short_id.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"3bd361515beb87aebe6579566977e901dd4c8f97","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    shifts \u003d six.moves.xrange(num_bits - 8, -8, -8)"},{"line_number":35,"context_line":"    byte_at \u003d lambda off: (  # noqa: E731"},{"line_number":36,"context_line":"        (value \u003e\u003e off if off \u003e\u003d 0 else value \u003c\u003c -off) \u0026 0xff)"},{"line_number":37,"context_line":"    return \u0027\u0027.join(six.int2byte(byte_at(offset)) for offset in shifts)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"def get_id(source_uuid):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1f493fa4_09c67a17","side":"PARENT","line":37,"range":{"start_line":37,"start_character":23,"end_line":37,"end_character":31},"updated":"2020-05-06 01:46:29.000000000","message":"According to https://github.com/benjaminp/six/blob/master/six.py#L634 , int2byte is struct.Struct(\"\u003eB\").pack . Therefore this should convert to:\n\n    return \u0027\u0027.join(struct.Struct(\"\u003eB\").pack(byte_at(offset)) for offset in shifts)","commit_id":"7130d65e9ec8916f2a4bffd1e0e49970f4a3e8dc"},{"author":{"_account_id":28614,"name":"jacky06","email":"zhang.min@99cloud.net","username":"jacky06"},"change_message_id":"10b2ebce269708587221f5f1ddfda6b18456f171","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    shifts \u003d six.moves.xrange(num_bits - 8, -8, -8)"},{"line_number":35,"context_line":"    byte_at \u003d lambda off: (  # noqa: E731"},{"line_number":36,"context_line":"        (value \u003e\u003e off if off \u003e\u003d 0 else value \u003c\u003c -off) \u0026 0xff)"},{"line_number":37,"context_line":"    return \u0027\u0027.join(six.int2byte(byte_at(offset)) for offset in shifts)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"def get_id(source_uuid):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1f493fa4_847551cf","side":"PARENT","line":37,"range":{"start_line":37,"start_character":23,"end_line":37,"end_character":31},"in_reply_to":"1f493fa4_09c67a17","updated":"2020-05-06 05:04:58.000000000","message":"weird,  the python docs said the int2byte is equivalent to bytes in py3 [1]\n\n[1] https://six.readthedocs.io/","commit_id":"7130d65e9ec8916f2a4bffd1e0e49970f4a3e8dc"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"b2e37f3929989e65995da5a89f2ed3b529e6bf31","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    shifts \u003d range(num_bits - 8, -8, -8)"},{"line_number":34,"context_line":"    byte_at \u003d lambda off: (  # noqa: E731"},{"line_number":35,"context_line":"        (value \u003e\u003e off if off \u003e\u003d 0 else value \u003c\u003c -off) \u0026 0xff)"},{"line_number":36,"context_line":"    return \u0027\u0027.join(struct.Struct(\"\u003eB\").pack(byte_at(offset)) for offset in shifts)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def get_id(source_uuid):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_ff35bca9","line":36,"updated":"2020-05-06 06:06:08.000000000","message":"pep8: E501 line too long (82 \u003e 79 characters)","commit_id":"b431c08f9926716237b4339ab6399e21ef1bd2e6"}],"zun/container/docker/driver.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"3bd361515beb87aebe6579566977e901dd4c8f97","unresolved":false,"context_lines":[{"line_number":1027,"context_line":"                return docker.commit(container.container_id, repository, tag)"},{"line_number":1028,"context_line":""},{"line_number":1029,"context_line":"    def _encode_utf8(self, value):"},{"line_number":1030,"context_line":"        if not isinstance(value, str):"},{"line_number":1031,"context_line":"            value \u003d str(value)"},{"line_number":1032,"context_line":"        return value.encode(\u0027utf-8\u0027)"},{"line_number":1033,"context_line":""},{"line_number":1034,"context_line":"    def _get_or_create_docker_network(self, context, network_api,"}],"source_content_type":"text/x-python","patch_set":8,"id":"1f493fa4_a9e02698","line":1031,"range":{"start_line":1030,"start_character":0,"end_line":1031,"end_character":30},"updated":"2020-05-06 01:46:29.000000000","message":"Python3 won\u0027t hit this branch, so simply remove it.","commit_id":"d6fe80d5914cac110445b397ba7faa8bd65bd1e1"}],"zun/container/docker/utils.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"    except errors.APIError as e:"},{"line_number":47,"context_line":"        desired_exc \u003d exception.DockerError(error_msg\u003dstr(e))"},{"line_number":48,"context_line":"        six.reraise(type(desired_exc), desired_exc, sys.exc_info()[2])"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class DockerHTTPClient(docker.APIClient):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_e9741cd3","line":48,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: F821 undefined name \u0027six\u0027","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/db/sqlalchemy/models.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"def table_args():"},{"line_number":45,"context_line":"    engine_name \u003d urlparse.urlparse(zun.conf.CONF.database.connection).scheme"},{"line_number":46,"context_line":"    if engine_name \u003d\u003d \u0027mysql\u0027:"},{"line_number":47,"context_line":"        return {\u0027mysql_engine\u0027: zun.conf.CONF.database.mysql_engine,"},{"line_number":48,"context_line":"                \u0027mysql_charset\u0027: \"utf8\"}"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_09a7c851","line":45,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: F821 undefined name \u0027urlparse\u0027","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/network/kuryr_network.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":316,"context_line":"                    raise exception.SecurityGroupCannotBeApplied("},{"line_number":317,"context_line":"                        str(e))"},{"line_number":318,"context_line":"                else:"},{"line_number":319,"context_line":"                    six.reraise(*exc_info)"},{"line_number":320,"context_line":"            except Exception:"},{"line_number":321,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":322,"context_line":"                    LOG.exception(\"Neutron Error:\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_297f24ac","line":319,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: F821 undefined name \u0027six\u0027","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":349,"context_line":"                    raise exception.SecurityGroupCannotBeRemoved("},{"line_number":350,"context_line":"                        str(e))"},{"line_number":351,"context_line":"                else:"},{"line_number":352,"context_line":"                    six.reraise(*exc_info)"},{"line_number":353,"context_line":"            except Exception:"},{"line_number":354,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":355,"context_line":"                    LOG.exception(\"Neutron Error:\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_097ce8b3","line":352,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: F821 undefined name \u0027six\u0027","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/network/network.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class Network(object):"},{"line_number":35,"context_line":"    \"\"\"The base class that all Network classes should inherit from.\"\"\""},{"line_number":36,"context_line":"    __metaclass__ \u003d abc.ABCMeta"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def init(self, context, *args, **kwargs):"},{"line_number":39,"context_line":"        raise NotImplementedError()"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_c97160e1","line":36,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: H236: Python 3.x incompatible __metaclass__, use six.add_metaclass()","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/pci/devspec.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    This class checks the address fields of the pci.passthrough_whitelist"},{"line_number":51,"context_line":"    \"\"\""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    __metaclass__ \u003d abc.ABCMeta"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @abc.abstractmethod"},{"line_number":56,"context_line":"    def match(self, pci_addr):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_29aa8418","line":53,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: H236: Python 3.x incompatible __metaclass__, use six.add_metaclass()","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/scheduler/driver.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":28,"context_line":"class Scheduler(object):"},{"line_number":29,"context_line":"    \"\"\"The base class that all Scheduler classes should inherit from.\"\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    __metaclass__ \u003d abc.ABCMeta"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def __init__(self):"},{"line_number":34,"context_line":"        self.servicegroup_api \u003d servicegroup.ServiceGroup()"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_e9affc28","line":31,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: H236: Python 3.x incompatible __metaclass__, use six.add_metaclass()","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/tests/unit/api/controllers/v1/test_containers.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"5cdb0d6ef48fed8665f7d6066ce9de4f75c42a0c","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        self.assertEqual(1, len(requested_volumes))"},{"line_number":331,"context_line":"        self.assertEqual("},{"line_number":332,"context_line":"            fake_volume_id,"},{"line_number":333,"context_line":"            next(requested_volumes.values())[0].cinder_volume_id)"},{"line_number":334,"context_line":"        exposed_ports \u003d mock_container_create.call_args[0][1].exposed_ports"},{"line_number":335,"context_line":"        self.assertEqual(2, len(exposed_ports))"},{"line_number":336,"context_line":"        self.assertIn(\"80/tcp\", exposed_ports)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_6d862168","line":333,"range":{"start_line":333,"start_character":12,"end_line":333,"end_character":65},"updated":"2020-05-06 13:29:32.000000000","message":"To fix the unit test failure, consider changing to the following:\n\n            next(iter(requested_volumes.values()))[0].cinder_volume_id)\n\nSee: https://github.com/benjaminp/six/blob/master/six.py#L585","commit_id":"b431c08f9926716237b4339ab6399e21ef1bd2e6"},{"author":{"_account_id":28614,"name":"jacky06","email":"zhang.min@99cloud.net","username":"jacky06"},"change_message_id":"25125cb5d909929b4ab63409b8402adfc41cb630","unresolved":false,"context_lines":[{"line_number":330,"context_line":"        self.assertEqual(1, len(requested_volumes))"},{"line_number":331,"context_line":"        self.assertEqual("},{"line_number":332,"context_line":"            fake_volume_id,"},{"line_number":333,"context_line":"            next(requested_volumes.values())[0].cinder_volume_id)"},{"line_number":334,"context_line":"        exposed_ports \u003d mock_container_create.call_args[0][1].exposed_ports"},{"line_number":335,"context_line":"        self.assertEqual(2, len(exposed_ports))"},{"line_number":336,"context_line":"        self.assertIn(\"80/tcp\", exposed_ports)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1f493fa4_ff77723a","line":333,"range":{"start_line":333,"start_character":12,"end_line":333,"end_character":65},"in_reply_to":"1f493fa4_6d862168","updated":"2020-05-06 15:41:06.000000000","message":"Done","commit_id":"b431c08f9926716237b4339ab6399e21ef1bd2e6"}],"zun/tests/unit/container/os_capability/linux/os_capability_linux/test_os_capability_linux.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        data \u003d (\u0027MemTotal:        3882464 kB\\nMemFree:         3514608 kB\\n\u0027"},{"line_number":68,"context_line":"                \u0027MemAvailable:    3556372 kB\\n\u0027)"},{"line_number":69,"context_line":"        m_open \u003d mock_open(read_data\u003ddata)"},{"line_number":70,"context_line":"        with mock.patch.object(builtins, \"open\", m_open,"},{"line_number":71,"context_line":"                               create\u003dTrue):"},{"line_number":72,"context_line":"            output \u003d os_capability_linux.LinuxHost().get_host_mem()"},{"line_number":73,"context_line":"            used \u003d (3882464 - 3556372)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_e95d3c49","line":70,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: F821 undefined name \u0027builtins\u0027","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/tests/unit/pci/test_utils.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    @mock.patch.object(os, \u0027readlink\u0027)"},{"line_number":93,"context_line":"    def test_virtual_function(self, mock_readlink, *args):"},{"line_number":94,"context_line":"        mock_readlink.return_value \u003d \u0027../../../0000.00.00.1\u0027"},{"line_number":95,"context_line":"        with mock.patch.object(builtins, \u0027open\u0027, side_effect\u003dIOError()):"},{"line_number":96,"context_line":"            address, physical_function \u003d utils.get_function_by_ifname(\u0027eth0\u0027)"},{"line_number":97,"context_line":"            self.assertEqual(address, \u00270000.00.00.1\u0027)"},{"line_number":98,"context_line":"            self.assertFalse(physical_function)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_69612c12","line":95,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: F821 undefined name \u0027builtins\u0027","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        totalvf_path \u003d \"/sys/class/net/%s/device/%s\" % (ifname,"},{"line_number":105,"context_line":"                                                        utils._SRIOV_TOTALVFS)"},{"line_number":106,"context_line":"        mock_readlink.return_value \u003d \u0027../../../0000:00:00.1\u0027"},{"line_number":107,"context_line":"        with mock.patch.object(builtins, \u0027open\u0027,"},{"line_number":108,"context_line":"                               mock.mock_open(read_data\u003d\u00274\u0027)) as mock_open:"},{"line_number":109,"context_line":"            address, physical_function \u003d utils.get_function_by_ifname(\u0027eth0\u0027)"},{"line_number":110,"context_line":"            self.assertEqual(address, \u00270000:00:00.1\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_4966f02b","line":107,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: F821 undefined name \u0027builtins\u0027","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    @mock.patch(\u0027os.path.isdir\u0027, return_value\u003dTrue)"},{"line_number":128,"context_line":"    def test_virtual_function(self, *args):"},{"line_number":129,"context_line":"        with mock.patch.object(builtins, \u0027open\u0027, side_effect\u003dIOError()):"},{"line_number":130,"context_line":"            self.assertFalse(utils.is_physical_function(*self.pci_args))"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    @mock.patch(\u0027os.path.isdir\u0027, return_value\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_a96b34ef","line":129,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: F821 undefined name \u0027builtins\u0027","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    @mock.patch(\u0027os.path.isdir\u0027, return_value\u003dTrue)"},{"line_number":133,"context_line":"    def test_physical_function(self, *args):"},{"line_number":134,"context_line":"        with mock.patch.object(builtins, \u0027open\u0027,"},{"line_number":135,"context_line":"                               mock.mock_open(read_data\u003d\u00274\u0027)):"},{"line_number":136,"context_line":"            self.assertTrue(utils.is_physical_function(*self.pci_args))"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_8970f8de","line":134,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: F821 undefined name \u0027builtins\u0027","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/volume/driver.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"class VolumeDriver(object):"},{"line_number":66,"context_line":"    \"\"\"The base class that all Volume classes should inherit from.\"\"\""},{"line_number":67,"context_line":"    __metaclass__ \u003d abc.ABCMeta"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def attach(self, *args, **kwargs):"},{"line_number":70,"context_line":"        raise NotImplementedError()"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_89bbd870","line":67,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: H236: Python 3.x incompatible __metaclass__, use six.add_metaclass()","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}],"zun/websocket/websocketproxy.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"9fc3fa836c0a9384e7b389bd89a1e348a139157f","unresolved":false,"context_lines":[{"line_number":26,"context_line":"import docker"},{"line_number":27,"context_line":"from oslo_log import log as logging"},{"line_number":28,"context_line":"from oslo_utils import uuidutils"},{"line_number":29,"context_line":"import urllib import parse as urlparse"},{"line_number":30,"context_line":"import websockify"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"from zun.common import context"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f493fa4_a944d475","line":29,"updated":"2020-05-04 07:21:25.000000000","message":"pep8: E999 SyntaxError: invalid syntax","commit_id":"cb86c449b5e66c04b7d807f455fae1493638e416"}]}
