)]}'
{"zun/container/os_capability/host_capability.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"b0ca8045080a5a1875bd07c083ecb675e20e9e68","unresolved":false,"context_lines":[{"line_number":183,"context_line":"    def _get_pcinet_info(self, vf_address):"},{"line_number":184,"context_line":"        \"\"\"Returns a dict of NET device.\"\"\""},{"line_number":185,"context_line":"        devname \u003d pci_utils.get_net_name_by_vf_pci_address(vf_address)"},{"line_number":186,"context_line":"        ifname \u003d pci_utils.get_ifname_by_pci_address(vf_address)"},{"line_number":187,"context_line":"        if not devname or ifname:"},{"line_number":188,"context_line":"            return"},{"line_number":189,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_94ac1e8d","line":186,"range":{"start_line":186,"start_character":27,"end_line":186,"end_character":52},"updated":"2017-10-19 19:27:44.000000000","message":"If \u0027get_net_name_by_vf_pci_address\u0027 cannot get the device name (for some reasons), \u0027get_ifname_by_pci_address\u0027 will raise an exception, which will make pci tracker unable to detect any device.\n\nThis issue can be fixed by calling \u0027get_ifname_by_pci_address\u0027 after the check of devname passed. For example:\n\n  devname \u003d pci_utils.get_net_name_by_vf_pci_address(vf_address)\n  if not devname:\n      return\n  ifname \u003d pci_utils.get_ifname_by_pci_address(vf_address)\n  ...","commit_id":"77a071338aeb95bdf1f6df2abd530b730f6008c3"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"b0ca8045080a5a1875bd07c083ecb675e20e9e68","unresolved":false,"context_lines":[{"line_number":221,"context_line":"                    if \"on\" in columns[1].strip():"},{"line_number":222,"context_line":"                        features.append(FEATURES_MAP.get(columns[0].strip()))"},{"line_number":223,"context_line":"        except processutils.ProcessExecutionError:"},{"line_number":224,"context_line":"            raise exception.CommandError(cmd\u003d\u0027ethtool -k\u0027)"},{"line_number":225,"context_line":"        return {\u0027name\u0027: devname,"},{"line_number":226,"context_line":"                \u0027capabilities\u0027: features}"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f4b6375_f4eb52ad","line":224,"range":{"start_line":224,"start_character":28,"end_line":224,"end_character":40},"updated":"2017-10-19 19:27:44.000000000","message":"I think it is better to log this error and return because the PCI tracker is able to deal with the missing of return value.","commit_id":"77a071338aeb95bdf1f6df2abd530b730f6008c3"}],"zun/db/sqlalchemy/alembic/versions/f046346d1d87_add_timestamp_to_pci_device.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e094a5b4c52e43159e944dd0a5a4e1aee1c89096","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                  sa.Column(\u0027created_at\u0027, sa.DateTime(), nullable\u003dTrue))"},{"line_number":34,"context_line":"    op.add_column(\u0027pci_device\u0027,"},{"line_number":35,"context_line":"                  sa.Column(\u0027updated_at\u0027, sa.DateTime(), nullable\u003dTrue))"},{"line_number":36,"context_line":"    op.drop_column(\u0027pci_device\u0027, \u0027request_id\u0027)"},{"line_number":37,"context_line":"    op.add_column(\u0027pci_device\u0027, sa.Column(\u0027request_id\u0027, sa.String(36),"},{"line_number":38,"context_line":"                                          nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f4e5783_a42afc28","line":38,"range":{"start_line":36,"start_character":0,"end_line":38,"end_character":57},"updated":"2017-10-13 16:03:58.000000000","message":"Any reason to drop and re-add the request_id field?","commit_id":"f9b50fd719f89c0dd3d1059aaf050e37884eb5b4"}],"zun/pci/manager.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e094a5b4c52e43159e944dd0a5a4e1aee1c89096","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        periodically, fetching all devices information from compute node,"},{"line_number":105,"context_line":"        update the tracker and sync the DB information."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        Devices should not be hot-plugged when assigned to a guest,"},{"line_number":108,"context_line":"        but possibly the compute node has no such guarantee. The best"},{"line_number":109,"context_line":"        we can do is to give a warning if a device is changed"},{"line_number":110,"context_line":"        or removed while assigned."}],"source_content_type":"text/x-python","patch_set":6,"id":"5f4e5783_04f2f070","line":107,"range":{"start_line":107,"start_character":61,"end_line":107,"end_character":66},"updated":"2017-10-13 16:03:58.000000000","message":"container","commit_id":"f9b50fd719f89c0dd3d1059aaf050e37884eb5b4"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e094a5b4c52e43159e944dd0a5a4e1aee1c89096","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        self._build_device_tree(self.pci_devs)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    def _claim_container(self, context, pci_requests):"},{"line_number":213,"context_line":"        instance_cells \u003d None"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        devs \u003d self.stats.consume_requests(pci_requests.requests,"},{"line_number":216,"context_line":"                                           instance_cells)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f4e5783_aff535ef","line":213,"range":{"start_line":213,"start_character":8,"end_line":213,"end_character":22},"updated":"2017-10-13 16:03:58.000000000","message":"Zun doesn\u0027t have Cell as Nova did.","commit_id":"f9b50fd719f89c0dd3d1059aaf050e37884eb5b4"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e094a5b4c52e43159e944dd0a5a4e1aee1c89096","unresolved":false,"context_lines":[{"line_number":246,"context_line":"        \"\"\"Free device from pci resource tracker"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        :param dev: cloned pci device object that needs to be free"},{"line_number":249,"context_line":"        :param instance: the container that this pci device"},{"line_number":250,"context_line":"                         is allocated to"},{"line_number":251,"context_line":"        \"\"\""},{"line_number":252,"context_line":"        for pci_dev in self.pci_devs:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f4e5783_af43f512","line":249,"range":{"start_line":249,"start_character":15,"end_line":249,"end_character":23},"updated":"2017-10-13 16:03:58.000000000","message":"container","commit_id":"f9b50fd719f89c0dd3d1059aaf050e37884eb5b4"}]}
