)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"4b20fbd9a4f8e69477a1e06d20836f54ed255b15","unresolved":false,"context_lines":[{"line_number":11,"context_line":"compatibility between python 2.7 and 3.4."},{"line_number":12,"context_line":"Enables some unit tests."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially Implements: blueprint nova-python3-newton"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I3ac5c5c6e8ac39d03e785e9b5e2ec790d5763484"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"5a8bc5a2_301b5274","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":51},"updated":"2016-09-22 15:40:29.000000000","message":"The commit message needs to be updated.","commit_id":"db91a590f5b2104a99a5acad462aaaeb8ca8db71"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"e2e641c0a9978d5ecbf312e1d890e1b61918c7b9","unresolved":false,"context_lines":[{"line_number":11,"context_line":"compatibility between python 2.7 and 3.4."},{"line_number":12,"context_line":"Enables some unit tests."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially Implements: blueprint nova-python3-newton"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I3ac5c5c6e8ac39d03e785e9b5e2ec790d5763484"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"5a8bc5a2_f43475df","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":51},"in_reply_to":"5a8bc5a2_301b5274","updated":"2016-09-22 18:17:47.000000000","message":"yeah, somehow it escaped my sight.","commit_id":"db91a590f5b2104a99a5acad462aaaeb8ca8db71"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e48a22f0eae722c084fcc3462282f5845638e808","unresolved":false,"context_lines":[{"line_number":7,"context_line":"numa: Fixes NUMA topology related unit tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Converts iterable objects to lists."},{"line_number":10,"context_line":"Replaces / division with //, in order to maintain"},{"line_number":11,"context_line":"compatibility between python 2.7 and 3.4."},{"line_number":12,"context_line":"Enables some unit tests."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially Implements: blueprint goal-python35"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"3a98d1f4_672c00ac","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":41},"updated":"2016-09-29 22:10:21.000000000","message":"This is no longer part of this change.","commit_id":"fd6085fd35b4a9c02154fa0a4f1589005b27e286"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a3de20df770c6c1ad2f33e0f2e61d3cc6ce6f6e6","unresolved":false,"context_lines":[{"line_number":7,"context_line":"numa: Fixes NUMA topology related unit tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Converts iterable objects to lists."},{"line_number":10,"context_line":"Replaces / division with //, in order to maintain"},{"line_number":11,"context_line":"compatibility between python 2.7 and 3.4."},{"line_number":12,"context_line":"Enables some unit tests."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially Implements: blueprint goal-python35"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"3a98d1f4_a26061d0","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":41},"in_reply_to":"3a98d1f4_5a0156ae","updated":"2016-10-02 14:57:03.000000000","message":"Heh well I\u0027m blind apparently.","commit_id":"fd6085fd35b4a9c02154fa0a4f1589005b27e286"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"fce1a60662cc3c42863adcf39f68e986c91bd893","unresolved":false,"context_lines":[{"line_number":7,"context_line":"numa: Fixes NUMA topology related unit tests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Converts iterable objects to lists."},{"line_number":10,"context_line":"Replaces / division with //, in order to maintain"},{"line_number":11,"context_line":"compatibility between python 2.7 and 3.4."},{"line_number":12,"context_line":"Enables some unit tests."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially Implements: blueprint goal-python35"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"3a98d1f4_5a0156ae","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":41},"in_reply_to":"3a98d1f4_672c00ac","updated":"2016-09-30 23:54:01.000000000","message":"yes it is L813:\n\n    topology \u003d objects.VirtCPUTopology(sockets\u003d1,\n                                       cores\u003dlen(pinning) // threads_no,\n                                       threads\u003dthreads_no)","commit_id":"fd6085fd35b4a9c02154fa0a4f1589005b27e286"}],"nova/virt/hardware.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"307d190d27d97fa786f929e9f176a0186b47eeb4","unresolved":false,"context_lines":[{"line_number":798,"context_line":"        return"},{"line_number":799,"context_line":""},{"line_number":800,"context_line":"    topology \u003d objects.VirtCPUTopology(sockets\u003d1,"},{"line_number":801,"context_line":"                                       cores\u003dlen(list(pinning)) // threads_no,"},{"line_number":802,"context_line":"                                       threads\u003dthreads_no)"},{"line_number":803,"context_line":"    instance_cell.pin_vcpus(*pinning)"},{"line_number":804,"context_line":"    instance_cell.cpu_topology \u003d topology"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aa08908_5df164cc","line":801,"updated":"2016-06-08 13:30:08.000000000","message":"You should not have to cast pinning here. It should be a list returned by the method _get_pinning()","commit_id":"9efa041a46db1c7741790151ee0f890fdbb6f271"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"953e3ab4af0fc0a5c6c7a7857dad54de6c6e32ff","unresolved":false,"context_lines":[{"line_number":798,"context_line":"        return"},{"line_number":799,"context_line":""},{"line_number":800,"context_line":"    topology \u003d objects.VirtCPUTopology(sockets\u003d1,"},{"line_number":801,"context_line":"                                       cores\u003dlen(list(pinning)) // threads_no,"},{"line_number":802,"context_line":"                                       threads\u003dthreads_no)"},{"line_number":803,"context_line":"    instance_cell.pin_vcpus(*pinning)"},{"line_number":804,"context_line":"    instance_cell.cpu_topology \u003d topology"}],"source_content_type":"text/x-python","patch_set":11,"id":"7aa08908_b0f7b7d1","line":801,"in_reply_to":"7aa08908_5df164cc","updated":"2016-06-08 18:38:27.000000000","message":"you might be right.","commit_id":"9efa041a46db1c7741790151ee0f890fdbb6f271"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b77165c954242a7758e0d1b3bb91d9aaf7811d9d","unresolved":false,"context_lines":[{"line_number":798,"context_line":"        return"},{"line_number":799,"context_line":""},{"line_number":800,"context_line":"    topology \u003d objects.VirtCPUTopology(sockets\u003d1,"},{"line_number":801,"context_line":"                                       cores\u003dlen(pinning) // threads_no,"},{"line_number":802,"context_line":"                                       threads\u003dthreads_no)"},{"line_number":803,"context_line":"    instance_cell.pin_vcpus(*pinning)"},{"line_number":804,"context_line":"    instance_cell.cpu_topology \u003d topology"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aa08908_f9857259","line":801,"updated":"2016-06-09 16:37:36.000000000","message":"Is this related to your change ? if so can you add some details in the commit message ?","commit_id":"8cf4a08bcbb561348e026cf56b1e23833e06f34b"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"cc0aa4f67ec607a25a7d79aa21f768d4417e3e58","unresolved":false,"context_lines":[{"line_number":798,"context_line":"        return"},{"line_number":799,"context_line":""},{"line_number":800,"context_line":"    topology \u003d objects.VirtCPUTopology(sockets\u003d1,"},{"line_number":801,"context_line":"                                       cores\u003dlen(pinning) // threads_no,"},{"line_number":802,"context_line":"                                       threads\u003dthreads_no)"},{"line_number":803,"context_line":"    instance_cell.pin_vcpus(*pinning)"},{"line_number":804,"context_line":"    instance_cell.cpu_topology \u003d topology"}],"source_content_type":"text/x-python","patch_set":13,"id":"7aa08908_dcd7b6eb","line":801,"in_reply_to":"7aa08908_f9857259","updated":"2016-06-09 21:14:51.000000000","message":"yeah. it is. \n\na \u0027/\u0027 division in python 2.7 yields an int.\n\na \u0027/\u0027 division in python 3.4 yields a float, while a \u0027//\u0027 yields an int.\n\nbasically, this change maintains compatibility.","commit_id":"8cf4a08bcbb561348e026cf56b1e23833e06f34b"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"b0f457bcebeb10fe7a05bd67df9e7d013e371440","unresolved":false,"context_lines":[{"line_number":801,"context_line":"        if (instance_cell.cpu_thread_policy !\u003d"},{"line_number":802,"context_line":"                fields.CPUThreadAllocationPolicy.REQUIRE and"},{"line_number":803,"context_line":"                not pinning):"},{"line_number":804,"context_line":"            pinning \u003d zip(sorted(instance_cell.cpuset),"},{"line_number":805,"context_line":"                          itertools.chain(*sibling_set))"},{"line_number":806,"context_line":""},{"line_number":807,"context_line":"        threads_no \u003d _threads(instance_cell, threads_no)"},{"line_number":808,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"5a8bc5a2_2d7499cd","line":805,"range":{"start_line":804,"start_character":22,"end_line":805,"end_character":56},"updated":"2016-09-23 15:44:54.000000000","message":"I would be expecting the list() to be here.  I suspect the boolean check on line 809 would come up incorrectly if it just gets a generator.\n\n(That also implies lack of unit test coverage, since tests passed…either that, or the generator is doing something I\u0027m not expecting and evaluating as false :)","commit_id":"af15f90b030653fb9a4934e1f0a2d8adf6b2f95b"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"a1f7767b0da8b775616319ebc5cfb20bdf0c2fc9","unresolved":false,"context_lines":[{"line_number":801,"context_line":"        if (instance_cell.cpu_thread_policy !\u003d"},{"line_number":802,"context_line":"                fields.CPUThreadAllocationPolicy.REQUIRE and"},{"line_number":803,"context_line":"                not pinning):"},{"line_number":804,"context_line":"            pinning \u003d zip(sorted(instance_cell.cpuset),"},{"line_number":805,"context_line":"                          itertools.chain(*sibling_set))"},{"line_number":806,"context_line":""},{"line_number":807,"context_line":"        threads_no \u003d _threads(instance_cell, threads_no)"},{"line_number":808,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"5a8bc5a2_54af7629","line":805,"range":{"start_line":804,"start_character":22,"end_line":805,"end_character":56},"in_reply_to":"5a8bc5a2_2d7499cd","updated":"2016-09-26 11:18:39.000000000","message":"hm, yeah, that\u0027s what I was also thinking originally, but there are other cases where pinning is set. This is called if there is no pinning at the moment.\n\nbut yeah, you are right about L809.","commit_id":"af15f90b030653fb9a4934e1f0a2d8adf6b2f95b"}]}
