)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"e0fc986e80352f1fc7388c74114a4363b4d7e029","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rename \u0027_numa_get_constraints_XXX\u0027 functions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"These don\u0027t actually return constraints but topologies. Rename and"},{"line_number":10,"context_line":"group them together."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Id9627839c38798704dbffac3b52dfd4c4046b598"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"df7087c5_4ae7da13","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":55},"updated":"2018-03-09 14:04:36.000000000","message":"well, they\u0027re constraining topologies. :)","commit_id":"0e7e3e18c73f32243a7c572a9c9971f9bc5c542e"}],"nova/virt/hardware.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"83c8894a7063f0d3bc25b0fe8abf0b2d6221f188","unresolved":false,"context_lines":[{"line_number":1102,"context_line":"    return image_mask or flavor_mask"},{"line_number":1103,"context_line":""},{"line_number":1104,"context_line":""},{"line_number":1105,"context_line":"def _get_numa_topology_auto(nodes, flavor):"},{"line_number":1106,"context_line":"    if ((flavor.vcpus % nodes) \u003e 0 or"},{"line_number":1107,"context_line":"        (flavor.memory_mb % nodes) \u003e 0):"},{"line_number":1108,"context_line":"        raise exception.ImageNUMATopologyAsymmetric()"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa6399be_c742f63d","line":1105,"updated":"2016-10-20 15:11:19.000000000","message":"Again here the \u0027_numa\u0027 prefix is because we wante this method to be on a file numa.py","commit_id":"e0e201da76fce109c7e5fd8bda097a4694ced2a3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b6ff95bc31302ecc8a6bb9bf0a7a086a93fdc486","unresolved":false,"context_lines":[{"line_number":1102,"context_line":"    return image_mask or flavor_mask"},{"line_number":1103,"context_line":""},{"line_number":1104,"context_line":""},{"line_number":1105,"context_line":"def _get_numa_topology_auto(nodes, flavor):"},{"line_number":1106,"context_line":"    if ((flavor.vcpus % nodes) \u003e 0 or"},{"line_number":1107,"context_line":"        (flavor.memory_mb % nodes) \u003e 0):"},{"line_number":1108,"context_line":"        raise exception.ImageNUMATopologyAsymmetric()"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a30ddce_a2185d1f","line":1105,"in_reply_to":"fa6399be_c742f63d","updated":"2017-03-10 14:38:45.000000000","message":"I have tried splitting this out but I couldn\u0027t find a way to do this logically :/ What would go into the numa.py file? Just stuff prefixed with \u0027_numa\u0027? What about realtime stuff - that\u0027s numa\u0027y? Any ideas?\n\nAs things stand, it was tough to split this out so I figured a wiser approach would be to make the existing code somewhat easier to grok.","commit_id":"e0e201da76fce109c7e5fd8bda097a4694ced2a3"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"08b64d1da84de22f31b299871dbd8738971350ed","unresolved":false,"context_lines":[{"line_number":1112,"context_line":"    return image_mask or flavor_mask"},{"line_number":1113,"context_line":""},{"line_number":1114,"context_line":""},{"line_number":1115,"context_line":"def _numa_get_constraints_manual(nodes, flavor, cpu_list, mem_list):"},{"line_number":1116,"context_line":"    cells \u003d []"},{"line_number":1117,"context_line":"    totalmem \u003d 0"},{"line_number":1118,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a74a57a_445a9c50","side":"PARENT","line":1115,"range":{"start_line":1115,"start_character":4,"end_line":1115,"end_character":9},"updated":"2016-11-24 17:16:33.000000000","message":"Maybe a better fix, inline with what sahid is saying, would be to pull out the numa and realtime into their own object or file?","commit_id":"e153646f8b3eb609dad544dc3331d821abac9a8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"20cb6871e443d150c903d371b204fee1b72db405","unresolved":false,"context_lines":[{"line_number":1112,"context_line":"    return image_mask or flavor_mask"},{"line_number":1113,"context_line":""},{"line_number":1114,"context_line":""},{"line_number":1115,"context_line":"def _numa_get_constraints_manual(nodes, flavor, cpu_list, mem_list):"},{"line_number":1116,"context_line":"    cells \u003d []"},{"line_number":1117,"context_line":"    totalmem \u003d 0"},{"line_number":1118,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5a74a57a_373906f3","side":"PARENT","line":1115,"range":{"start_line":1115,"start_character":4,"end_line":1115,"end_character":9},"in_reply_to":"5a74a57a_445a9c50","updated":"2016-11-28 10:01:13.000000000","message":"I agree :)\n\n- https://review.openstack.org/#/c/367467\n- https://review.openstack.org/#/c/368967\n- https://review.openstack.org/#/c/368968\n\nHowever, those patches are necessarily large and will likely take a long time to get merged. I\u0027ve adopted a policy of iterative improvement that will make the code easier to work with now while we work on the bigger changes.","commit_id":"e153646f8b3eb609dad544dc3331d821abac9a8a"}]}
