)]}'
{"zun/compute/claims.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"8e480cd19dc735bfad081a30e9a21fc9aba32c42","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        if pci_requests and pci_requests.requests:"},{"line_number":135,"context_line":"            stats \u003d self.tracker.pci_tracker.stats"},{"line_number":136,"context_line":"            if not stats.support_requests(pci_requests.requests):"},{"line_number":137,"context_line":"                return _(\u0027Claim pci failed.\u0027)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def _test_memory(self, resources, limit):"},{"line_number":140,"context_line":"        type_ \u003d _(\"memory\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_540586c1","line":137,"range":{"start_line":137,"start_character":42,"end_line":137,"end_character":43},"updated":"2017-10-19 19:33:24.000000000","message":"Nit: remove this period since this is wrapped by ResourcesUnavailable which already has a period at the end.","commit_id":"d31821fd747067ca9106cba3869c4b6d074e188b"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"512db72e675bbad0ed68294b40f3c856dcf0db39","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        if pci_requests and pci_requests.requests:"},{"line_number":135,"context_line":"            stats \u003d self.tracker.pci_tracker.stats"},{"line_number":136,"context_line":"            if not stats.support_requests(pci_requests.requests):"},{"line_number":137,"context_line":"                return _(\u0027Claim pci failed.\u0027)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def _test_memory(self, resources, limit):"},{"line_number":140,"context_line":"        type_ \u003d _(\"memory\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_e6b161e3","line":137,"range":{"start_line":137,"start_character":42,"end_line":137,"end_character":43},"in_reply_to":"3f4b6375_540586c1","updated":"2017-10-20 06:31:12.000000000","message":"Done","commit_id":"d31821fd747067ca9106cba3869c4b6d074e188b"}],"zun/compute/compute_node_tracker.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"63e3f68fd019feabfa1cc083997c1223ad435e49","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        # We should have the compute node created here, just get it."},{"line_number":101,"context_line":"        self.compute_node \u003d self._get_compute_node(context)"},{"line_number":102,"context_line":"        if self.disabled(hostname):"},{"line_number":103,"context_line":"            self._set_container_host(context, container)"},{"line_number":104,"context_line":"            return claims.NopClaim()"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_d3c64917","side":"PARENT","line":102,"range":{"start_line":102,"start_character":16,"end_line":102,"end_character":24},"updated":"2017-10-18 23:04:08.000000000","message":"Perhaps I miss something. Just wonder why this check is removed.","commit_id":"37e81275f5567e2e77dc31ebc39d4915b2285f14"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"e31b7bc7f54098a8d408737fb56d7196017e1f5b","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        # We should have the compute node created here, just get it."},{"line_number":101,"context_line":"        self.compute_node \u003d self._get_compute_node(context)"},{"line_number":102,"context_line":"        if self.disabled(hostname):"},{"line_number":103,"context_line":"            self._set_container_host(context, container)"},{"line_number":104,"context_line":"            return claims.NopClaim()"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_026da997","side":"PARENT","line":102,"range":{"start_line":102,"start_character":16,"end_line":102,"end_character":24},"in_reply_to":"3f4b6375_6c2696ba","updated":"2017-10-19 03:15:20.000000000","message":"Get it. Thanks.","commit_id":"37e81275f5567e2e77dc31ebc39d4915b2285f14"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"04ff30382e94ad569b9c3b16162f81100dcafe41","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        # We should have the compute node created here, just get it."},{"line_number":101,"context_line":"        self.compute_node \u003d self._get_compute_node(context)"},{"line_number":102,"context_line":"        if self.disabled(hostname):"},{"line_number":103,"context_line":"            self._set_container_host(context, container)"},{"line_number":104,"context_line":"            return claims.NopClaim()"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_6c2696ba","side":"PARENT","line":102,"range":{"start_line":102,"start_character":16,"end_line":102,"end_character":24},"in_reply_to":"3f4b6375_d3c64917","updated":"2017-10-19 01:21:20.000000000","message":"it should be removed. the hostname is passed from the caller and set to the container.host in later, but the container host is set when the resource is claimed, here the hostname is always None,then here always claim nothing. this really is a but introduced by a before patch that set the container host when resource claimed.\n\nIn nova checks the nodename, but zun do not has the case that a service have multiple nodes, when request goes here, it mean the compute node is not disabled, so no need to check here. So i removed it.","commit_id":"37e81275f5567e2e77dc31ebc39d4915b2285f14"}],"zun/compute/manager.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"a0e58955c1d3536819e6eae093b304b7f228f076","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        rt \u003d self._get_resource_tracker()"},{"line_number":160,"context_line":"        # As sriov port also need to claim, we need claim pci port before"},{"line_number":161,"context_line":"        # create sandbox."},{"line_number":162,"context_line":"        with rt.container_claim(context, container, pci_requests, limits):"},{"line_number":163,"context_line":"            sandbox \u003d None"},{"line_number":164,"context_line":"            if self.use_sandbox:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f4b6375_6fc66f6a","line":161,"range":{"start_line":161,"start_character":17,"end_line":161,"end_character":24},"updated":"2017-10-19 20:01:07.000000000","message":"Good point. A pitfall is that we need to handle any exception on container_claim and call _fail_container to populate the container correctly. This was done in before but we need to do it again in here because the claiming has been moved.","commit_id":"4e8f797245e7ec121d242194b9fd9175933ac8fb"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"512db72e675bbad0ed68294b40f3c856dcf0db39","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        rt \u003d self._get_resource_tracker()"},{"line_number":160,"context_line":"        # As sriov port also need to claim, we need claim pci port before"},{"line_number":161,"context_line":"        # create sandbox."},{"line_number":162,"context_line":"        with rt.container_claim(context, container, pci_requests, limits):"},{"line_number":163,"context_line":"            sandbox \u003d None"},{"line_number":164,"context_line":"            if self.use_sandbox:"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f4b6375_f2f0f8cb","line":161,"range":{"start_line":161,"start_character":17,"end_line":161,"end_character":24},"in_reply_to":"3f4b6375_6fc66f6a","updated":"2017-10-20 06:31:12.000000000","message":"Done","commit_id":"4e8f797245e7ec121d242194b9fd9175933ac8fb"}],"zun/network/kuryr_network.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"8e480cd19dc735bfad081a30e9a21fc9aba32c42","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        has_port_binding_extension \u003d ("},{"line_number":301,"context_line":"            self._has_port_binding_extension())"},{"line_number":302,"context_line":"        if has_port_binding_extension:"},{"line_number":303,"context_line":"            port_req_body[\u0027port\u0027][BINDING_HOST_ID] \u003d bind_host_id"},{"line_number":304,"context_line":"            self._populate_neutron_binding_profile(container,"},{"line_number":305,"context_line":"                                                   pci_request_id,"},{"line_number":306,"context_line":"                                                   port_req_body)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_3467aa50","line":303,"range":{"start_line":303,"start_character":12,"end_line":303,"end_character":65},"updated":"2017-10-19 19:33:24.000000000","message":"The binding host should be set by Kuryr. Otherwise, Kuryr will think the neutron port is already in use: https://github.com/openstack/kuryr-libnetwork/blob/master/kuryr_libnetwork/controllers.py#L508 .","commit_id":"d31821fd747067ca9106cba3869c4b6d074e188b"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"512db72e675bbad0ed68294b40f3c856dcf0db39","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        has_port_binding_extension \u003d ("},{"line_number":301,"context_line":"            self._has_port_binding_extension())"},{"line_number":302,"context_line":"        if has_port_binding_extension:"},{"line_number":303,"context_line":"            port_req_body[\u0027port\u0027][BINDING_HOST_ID] \u003d bind_host_id"},{"line_number":304,"context_line":"            self._populate_neutron_binding_profile(container,"},{"line_number":305,"context_line":"                                                   pci_request_id,"},{"line_number":306,"context_line":"                                                   port_req_body)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4b6375_e634c14c","line":303,"range":{"start_line":303,"start_character":12,"end_line":303,"end_character":65},"in_reply_to":"3f4b6375_3467aa50","updated":"2017-10-20 06:31:12.000000000","message":"Done","commit_id":"d31821fd747067ca9106cba3869c4b6d074e188b"}],"zun/objects/container_pci_requests.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"63e3f68fd019feabfa1cc083997c1223ad435e49","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        return self"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    @staticmethod"},{"line_number":75,"context_line":"    def _load_legacy_requests(sysmeta_value, is_new\u003dFalse):"},{"line_number":76,"context_line":"        if sysmeta_value is None:"},{"line_number":77,"context_line":"            return []"},{"line_number":78,"context_line":"        requests \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_96cb1fa4","line":75,"range":{"start_line":75,"start_character":8,"end_line":75,"end_character":29},"updated":"2017-10-18 23:04:08.000000000","message":"This is a new feature for zun so it seems we don\u0027t have any legacy requests.","commit_id":"ad1d4931e5f8e1d38daacd3f3938d007dfe9fe2f"},{"author":{"_account_id":8264,"name":"Shunli Zhou","username":"ShunliZhou"},"change_message_id":"04ff30382e94ad569b9c3b16162f81100dcafe41","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        return self"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    @staticmethod"},{"line_number":75,"context_line":"    def _load_legacy_requests(sysmeta_value, is_new\u003dFalse):"},{"line_number":76,"context_line":"        if sysmeta_value is None:"},{"line_number":77,"context_line":"            return []"},{"line_number":78,"context_line":"        requests \u003d []"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f4b6375_2c665eef","line":75,"range":{"start_line":75,"start_character":8,"end_line":75,"end_character":29},"in_reply_to":"3f4b6375_96cb1fa4","updated":"2017-10-19 01:21:20.000000000","message":"yes, this should be removed.","commit_id":"ad1d4931e5f8e1d38daacd3f3938d007dfe9fe2f"}],"zun/pci/manager.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"17d96296117b84631d1d1239da1e61e08d0da1f4","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def claim_container(self, context, container_uuid, pci_requests):"},{"line_number":232,"context_line":"        devs \u003d []"},{"line_number":233,"context_line":"        if self.pci_devs and pci_requests.requests:"},{"line_number":234,"context_line":"            devs \u003d self._claim_container(context, container_uuid, pci_requests)"},{"line_number":235,"context_line":"            if devs:"},{"line_number":236,"context_line":"                self.claims[container_uuid] \u003d devs"}],"source_content_type":"text/x-python","patch_set":12,"id":"3f4b6375_a85f9ee3","line":233,"range":{"start_line":233,"start_character":29,"end_line":233,"end_character":41},"updated":"2017-10-31 22:29:32.000000000","message":"When I tested this patch, there are some cases that pci_requests is None. We need to deal with this case.","commit_id":"8bc92643740e8730f0017acd249699361ba42bad"}]}
