)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":19912,"name":"Xuanzhou Perry Dong","email":"oss_xzdong@163.com","username":"oss_xzdong"},"change_message_id":"455a01c82be19b1f20856f27366c5e7df90d468b","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"During initialization of HostState pci_device_pools set to None."},{"line_number":10,"context_line":"In update_from_compute_node method of HostState pci_device_pools no"},{"line_number":11,"context_line":"longer updated from compute node."},{"line_number":12,"context_line":"During initialization of HostManager pci_device_pools for each compute"},{"line_number":13,"context_line":"node is loaded from db using PciDevicePoolList.get_all() in case if"},{"line_number":14,"context_line":"PciPassthroughFilter is enabled. Then for each host_state pci device"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"7a5de9d1_eacb8a51","line":11,"updated":"2016-01-29 08:47:43.000000000","message":"1. ... is set to None.\n2. ... is no longer updated from compute node.","commit_id":"8f2fcb9d932a1e6ec5e4639a3986f8d1c811d357"},{"author":{"_account_id":6508,"name":"Dmitry Stepanenko","email":"dstepanenko@mirantis.com","username":"dstepanenko"},"change_message_id":"dc561e06cd669888710b77b4abd4e0197a24fcd4","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"During initialization of HostState pci_device_pools set to None."},{"line_number":10,"context_line":"In update_from_compute_node method of HostState pci_device_pools no"},{"line_number":11,"context_line":"longer updated from compute node."},{"line_number":12,"context_line":"During initialization of HostManager pci_device_pools for each compute"},{"line_number":13,"context_line":"node is loaded from db using PciDevicePoolList.get_all() in case if"},{"line_number":14,"context_line":"PciPassthroughFilter is enabled. Then for each host_state pci device"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"7a5de9d1_bc8b9967","line":11,"in_reply_to":"7a5de9d1_eacb8a51","updated":"2016-01-29 15:44:24.000000000","message":"Done","commit_id":"8f2fcb9d932a1e6ec5e4639a3986f8d1c811d357"}],"nova/scheduler/host_manager.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ff5b09d739d487f476f20e47b0c5fbbf3d015048","unresolved":false,"context_lines":[{"line_number":292,"context_line":"        self.filter_cls_map \u003d {cls.__name__: cls for cls in filter_classes}"},{"line_number":293,"context_line":"        self.filter_obj_map \u003d {}"},{"line_number":294,"context_line":"        self.default_filters \u003d self._choose_host_filters(self._load_filters())"},{"line_number":295,"context_line":"        self._init_pci_device_pools()"},{"line_number":296,"context_line":"        self.weight_handler \u003d weights.HostWeightHandler()"},{"line_number":297,"context_line":"        weigher_classes \u003d self.weight_handler.get_matching_classes("},{"line_number":298,"context_line":"                CONF.scheduler_weight_classes)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_8b1e57b9","line":295,"range":{"start_line":295,"start_character":35,"end_line":295,"end_character":37},"updated":"2015-12-29 14:48:34.000000000","message":"Change this to:\n\n self.pci_device_pools \u003d self._get_pci_device_pools()","commit_id":"1f2c175d0a601741d41a8a595d1a8db5258e6bae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ff5b09d739d487f476f20e47b0c5fbbf3d015048","unresolved":false,"context_lines":[{"line_number":309,"context_line":"        if self.tracks_instance_changes:"},{"line_number":310,"context_line":"            self._init_instance_info()"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    def _init_pci_device_pools(self):"},{"line_number":313,"context_line":"        self.pci_device_pools \u003d {}"},{"line_number":314,"context_line":"        if \u0027PciPassthroughFilter\u0027 in [fltr.__class__.__name__"},{"line_number":315,"context_line":"                                        for fltr in self.default_filters]:"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_4b62af3f","line":312,"range":{"start_line":312,"start_character":0,"end_line":312,"end_character":37},"updated":"2015-12-29 14:48:34.000000000","message":"Change to:\n\n def _get_pci_device_pools(self):","commit_id":"1f2c175d0a601741d41a8a595d1a8db5258e6bae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ff5b09d739d487f476f20e47b0c5fbbf3d015048","unresolved":false,"context_lines":[{"line_number":310,"context_line":"            self._init_instance_info()"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    def _init_pci_device_pools(self):"},{"line_number":313,"context_line":"        self.pci_device_pools \u003d {}"},{"line_number":314,"context_line":"        if \u0027PciPassthroughFilter\u0027 in [fltr.__class__.__name__"},{"line_number":315,"context_line":"                                        for fltr in self.default_filters]:"},{"line_number":316,"context_line":"            elevated \u003d context_module.get_admin_context()"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_4b7b8ff5","line":313,"range":{"start_line":313,"start_character":32,"end_line":313,"end_character":34},"updated":"2015-12-29 14:48:34.000000000","message":"Change this to:\n\n result \u003d {}","commit_id":"1f2c175d0a601741d41a8a595d1a8db5258e6bae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ff5b09d739d487f476f20e47b0c5fbbf3d015048","unresolved":false,"context_lines":[{"line_number":314,"context_line":"        if \u0027PciPassthroughFilter\u0027 in [fltr.__class__.__name__"},{"line_number":315,"context_line":"                                        for fltr in self.default_filters]:"},{"line_number":316,"context_line":"            elevated \u003d context_module.get_admin_context()"},{"line_number":317,"context_line":"            self.pci_device_pools \u003d\\"},{"line_number":318,"context_line":"                objects.PciDevicePoolList.get_all(elevated)"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    def _load_filters(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_eb6cbb36","line":317,"range":{"start_line":317,"start_character":17,"end_line":317,"end_character":33},"updated":"2015-12-29 14:48:34.000000000","message":"Change this to:\n\n result \u003d objects.PciDevicePoolList.get_all(elevated)","commit_id":"1f2c175d0a601741d41a8a595d1a8db5258e6bae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ff5b09d739d487f476f20e47b0c5fbbf3d015048","unresolved":false,"context_lines":[{"line_number":315,"context_line":"                                        for fltr in self.default_filters]:"},{"line_number":316,"context_line":"            elevated \u003d context_module.get_admin_context()"},{"line_number":317,"context_line":"            self.pci_device_pools \u003d\\"},{"line_number":318,"context_line":"                objects.PciDevicePoolList.get_all(elevated)"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    def _load_filters(self):"},{"line_number":321,"context_line":"        return CONF.scheduler_default_filters"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_ab72330f","line":318,"range":{"start_line":318,"start_character":16,"end_line":318,"end_character":23},"updated":"2015-12-29 14:48:34.000000000","message":"Add:\n\n return result","commit_id":"1f2c175d0a601741d41a8a595d1a8db5258e6bae"},{"author":{"_account_id":7543,"name":"Yongli He","email":"yongli.he@intel.com","username":"yongli.he"},"change_message_id":"757db1a6323f8d20e741ccd8a8bdf009ab710cab","unresolved":false,"context_lines":[{"line_number":315,"context_line":"                                        for fltr in self.default_filters]:"},{"line_number":316,"context_line":"            elevated \u003d context_module.get_admin_context()"},{"line_number":317,"context_line":"            self.pci_device_pools \u003d\\"},{"line_number":318,"context_line":"                objects.PciDevicePoolList.get_all(elevated)"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    def _load_filters(self):"},{"line_number":321,"context_line":"        return CONF.scheduler_default_filters"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_745d1a14","line":318,"range":{"start_line":318,"start_character":58,"end_line":318,"end_character":59},"updated":"2015-12-29 02:24:23.000000000","message":"i see, you are going to loading the pci device from the database. but in this scenario:\n\na) all db is NULL\nb) scheduler starting, reading nothing from db\nc) compute starting, and gathering the pci devices and wirte to db\n\nthen, scheduler got nothing but, there is pci device available. \n\nyou might need reading pci device every time prepare the host state.","commit_id":"1f2c175d0a601741d41a8a595d1a8db5258e6bae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ff5b09d739d487f476f20e47b0c5fbbf3d015048","unresolved":false,"context_lines":[{"line_number":516,"context_line":"                        for service in objects.ServiceList.get_by_binary("},{"line_number":517,"context_line":"                            context, \u0027nova-compute\u0027)}"},{"line_number":518,"context_line":"        # Get resource usage across the available compute nodes:"},{"line_number":519,"context_line":"        compute_nodes \u003d objects.ComputeNodeList.get_all(context)"},{"line_number":520,"context_line":"        seen_nodes \u003d set()"},{"line_number":521,"context_line":"        for compute in compute_nodes:"},{"line_number":522,"context_line":"            service \u003d service_refs.get(compute.host)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a7b0d38_8be3b7a3","line":519,"updated":"2015-12-29 14:48:34.000000000","message":"Here, do this:\n\n self.pci_device_pools \u003d self._get_pci_device_pools()\n\nand the situation that Yongli He referred to above will not be an issue.","commit_id":"1f2c175d0a601741d41a8a595d1a8db5258e6bae"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"f4e4d9c2ee9f354aed2d2903fc00df288b291a62","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                                        for fltr in self.default_filters]:"},{"line_number":315,"context_line":"            elevated \u003d context_module.get_admin_context()"},{"line_number":316,"context_line":"            result \u003d\\"},{"line_number":317,"context_line":"                objects.PciDevicePoolList.get_all(elevated)"},{"line_number":318,"context_line":"        return result"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    def _load_filters(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"fa69d971_1f3497dc","line":317,"updated":"2015-12-29 19:46:42.000000000","message":"I don\u0027t think you need to break up lines 316, 317","commit_id":"f7cd0a33e6baa02a27f2d8830683cc91a5e528af"},{"author":{"_account_id":6508,"name":"Dmitry Stepanenko","email":"dstepanenko@mirantis.com","username":"dstepanenko"},"change_message_id":"fe9e3b91e5b6f3806349f53a2c789e88ace6a8cb","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                                        for fltr in self.default_filters]:"},{"line_number":315,"context_line":"            elevated \u003d context_module.get_admin_context()"},{"line_number":316,"context_line":"            result \u003d\\"},{"line_number":317,"context_line":"                objects.PciDevicePoolList.get_all(elevated)"},{"line_number":318,"context_line":"        return result"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    def _load_filters(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a5de9d1_3a06fece","line":317,"in_reply_to":"fa69d971_1f3497dc","updated":"2016-01-28 15:28:25.000000000","message":"Done","commit_id":"f7cd0a33e6baa02a27f2d8830683cc91a5e528af"},{"author":{"_account_id":15648,"name":"Yingxin","email":"yingxin.cheng@intel.com","username":"Yingxin"},"change_message_id":"7369e8b05ebbfb61c5a7ef1c0abf31d599d37b24","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        \"\"\"Update all information about a host.\"\"\""},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        @utils.synchronized(self._lock_name)"},{"line_number":160,"context_line":"        def _locked_update(self, compute, service, aggregates, inst_dict):"},{"line_number":161,"context_line":"            # Scheduler API is inherently multi-threaded as every incoming RPC"},{"line_number":162,"context_line":"            # message will be dispatched in it\u0027s own green thread. So the"},{"line_number":163,"context_line":"            # shared host state should be updated in a consistent way to make"}],"source_content_type":"text/x-python","patch_set":17,"id":"7a5de9d1_08b7cef5","line":160,"range":{"start_line":160,"start_character":31,"end_line":160,"end_character":72},"updated":"2016-02-01 02:05:19.000000000","message":"Sorry it\u0027s my bad to pass these unnecessary arguments and got merged, would you please remove them by the way?","commit_id":"63510cd66e811f0f5404e5ff48a90b32f5b2a39c"}]}
