)]}'
{"nova/virt/libvirt/driver.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"8bf5d65886045325362ae8ece154a726e6faf49f","unresolved":false,"context_lines":[{"line_number":4616,"context_line":"            cpu_model.model \u003d CONF.libvirt.cpu_model"},{"line_number":4617,"context_line":"        else:"},{"line_number":4618,"context_line":"            cpu_model.model \u003d caps.host.cpu.model"},{"line_number":4619,"context_line":"        cpu_model.vendor \u003d caps.host.cpu.vendor"},{"line_number":4620,"context_line":""},{"line_number":4621,"context_line":"        topology \u003d objects.VirtCPUTopology()"},{"line_number":4622,"context_line":"        topology.sockets \u003d caps.host.cpu.sockets"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_3eeb4bb1","line":4619,"updated":"2015-03-06 18:02:13.000000000","message":"I don\u0027t think any of this code should be using the CONF.libvirt.cpu* parameters. Those parameters are related to the configuration of the guest OS.  This method and the compute node resource reporting is all about reporting what the host machine is providing.\n\nConsider what happens if we allow the CPU model to be customized per-instance from the image metadata and we are reporting the CONF.libvirt.cpu_model. The data reported about the host would be totally meaningless and/or useless.\n\nSo the data reported here should be exclusively using data from the caps.host object and nothing else.","commit_id":"54b068a1818c8ef54312ef432094a57664f8ed52"},{"author":{"_account_id":4573,"name":"yunhong-jiang","email":"yunhong.jiang@intel.com","username":"yunhong-jiang"},"change_message_id":"6c82f38c75e428edbb562f2b71c5f22b6da88f7a","unresolved":false,"context_lines":[{"line_number":4616,"context_line":"            cpu_model.model \u003d CONF.libvirt.cpu_model"},{"line_number":4617,"context_line":"        else:"},{"line_number":4618,"context_line":"            cpu_model.model \u003d caps.host.cpu.model"},{"line_number":4619,"context_line":"        cpu_model.vendor \u003d caps.host.cpu.vendor"},{"line_number":4620,"context_line":""},{"line_number":4621,"context_line":"        topology \u003d objects.VirtCPUTopology()"},{"line_number":4622,"context_line":"        topology.sockets \u003d caps.host.cpu.sockets"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_d2e5c338","line":4619,"in_reply_to":"9a80dd14_3eeb4bb1","updated":"2015-03-06 18:16:09.000000000","message":"Daniel, thanks for your input. Yes, this is something I have considered a lot. Totally agree that if we will support per-instance CPU model, we should return back the host capability.\n\nThe reason I return the CONF.libvirt.cpu* is because currently all the instances will use the configuration value.\n\nI\u0027m glad to change it to return host data.","commit_id":"54b068a1818c8ef54312ef432094a57664f8ed52"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6ffe545485eff811368cde610462f5eb1714c7a9","unresolved":false,"context_lines":[{"line_number":4618,"context_line":"        features \u003d list()"},{"line_number":4619,"context_line":"        # TODO(yjiang5): If custom cpu_model provided, should"},{"line_number":4620,"context_line":"        # return the features supported by the custom cpu_model instead of"},{"line_number":4621,"context_line":"        # host one."},{"line_number":4622,"context_line":"        for f in caps.host.cpu.features:"},{"line_number":4623,"context_line":"            feature \u003d objects.VirtCPUFeature()"},{"line_number":4624,"context_line":"            feature.policy \u003d cpumodel.POLICY_REQUIRE"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_b4572e25","line":4621,"updated":"2015-03-09 12:43:22.000000000","message":"This comment can be removed I believe.","commit_id":"d30b2128593e8590d5a89a769482d0f1010a1a0d"},{"author":{"_account_id":4573,"name":"yunhong-jiang","email":"yunhong.jiang@intel.com","username":"yunhong-jiang"},"change_message_id":"12e971cf76bd5c2203a9e625fce6de8190624156","unresolved":false,"context_lines":[{"line_number":4618,"context_line":"        features \u003d list()"},{"line_number":4619,"context_line":"        # TODO(yjiang5): If custom cpu_model provided, should"},{"line_number":4620,"context_line":"        # return the features supported by the custom cpu_model instead of"},{"line_number":4621,"context_line":"        # host one."},{"line_number":4622,"context_line":"        for f in caps.host.cpu.features:"},{"line_number":4623,"context_line":"            feature \u003d objects.VirtCPUFeature()"},{"line_number":4624,"context_line":"            feature.policy \u003d cpumodel.POLICY_REQUIRE"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_de46657a","line":4621,"in_reply_to":"9a80dd14_b4572e25","updated":"2015-03-10 16:19:17.000000000","message":"Ooops, missed this one. Removed already.","commit_id":"d30b2128593e8590d5a89a769482d0f1010a1a0d"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d8f6862c770cb5b950393c55f44b192e58f80a40","unresolved":false,"context_lines":[{"line_number":4606,"context_line":""},{"line_number":4607,"context_line":"        # Notes(yjiang5): The mode/match is meaningless for host cpu_model,"},{"line_number":4608,"context_line":"        # set them as None explicitly."},{"line_number":4609,"context_line":"        cpu_model.mode \u003d None"},{"line_number":4610,"context_line":"        cpu_model.match \u003d None"},{"line_number":4611,"context_line":""},{"line_number":4612,"context_line":"        topology \u003d objects.VirtCPUTopology()"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_12892075","line":4609,"updated":"2015-03-13 02:56:24.000000000","message":"Just question, what is mode expect in this object? not for host, it is for guest?\n\nAnd If the mode is configured by operator as custom, we should report the custom model to scheduler? not the real host cpu model, because the guest never can see the real model. I remember you coding like this before?","commit_id":"806849350c753e4f985030f30256c5582ae69c22"},{"author":{"_account_id":4573,"name":"yunhong-jiang","email":"yunhong.jiang@intel.com","username":"yunhong-jiang"},"change_message_id":"274b13710af161cf8dd6c85806b876493d828e60","unresolved":false,"context_lines":[{"line_number":4606,"context_line":""},{"line_number":4607,"context_line":"        # Notes(yjiang5): The mode/match is meaningless for host cpu_model,"},{"line_number":4608,"context_line":"        # set them as None explicitly."},{"line_number":4609,"context_line":"        cpu_model.mode \u003d None"},{"line_number":4610,"context_line":"        cpu_model.match \u003d None"},{"line_number":4611,"context_line":""},{"line_number":4612,"context_line":"        topology \u003d objects.VirtCPUTopology()"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a80dd14_be71fb0d","line":4609,"in_reply_to":"9a80dd14_12892075","updated":"2015-03-13 22:22:41.000000000","message":"Hi, Alex,The mode in this object has different meaning depends as using for guest cpu model or host cpu model.\n\nI changed it to report host model instead of the configured mode for future per-instance vcpu modelling, as discussed in previous change set. But possibly it deserve more changes if you have any question.","commit_id":"806849350c753e4f985030f30256c5582ae69c22"}]}
