)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"924d9e4b2a774f18147634d8223e93add7b88d3d","unresolved":true,"context_lines":[{"line_number":13,"context_line":"do not get migrated, which causes a failure when restarting existing"},{"line_number":14,"context_line":"instances on Victoria and later:"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"    NotImplementedError: Cannot load \u0027pcpuset\u0027 in the base class"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This change updates the migration function to add an empty pcpuset"},{"line_number":19,"context_line":"attribute to InstanceNUMACell objects missing it. While this code would"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"35a56b41_e027d665","line":16,"range":{"start_line":16,"start_character":3,"end_line":16,"end_character":64},"updated":"2021-10-11 11:34:36.000000000","message":"the other way to correct this would be to check if its set before usign the atribute or to use a decorator to ascess it.","commit_id":"a34d2fe525f428a7294f36b368889bce6e4be6c9"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"125d081956f27b6273187b8e4b924f3d52b374bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"287e648f_2d8a1167","updated":"2021-11-23 16:20:52.000000000","message":"As discussing in the IRC meeting, I\u0027m removing the Review-Prio label as no update happened since a while. Please ping me on IRC (bauzas) when you want me to review again.","commit_id":"a34d2fe525f428a7294f36b368889bce6e4be6c9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c7086ec8456bd0b45b17d758278d1b59d24282bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9c999e2b_9a22d369","updated":"2021-11-01 23:22:01.000000000","message":"Definitely needs tests.","commit_id":"a34d2fe525f428a7294f36b368889bce6e4be6c9"}],"nova/objects/instance_numa.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"fc879c20b9b8755d0a77c6f6c97531b1b1e1469f","unresolved":true,"context_lines":[{"line_number":184,"context_line":"        # and persisting to database."},{"line_number":185,"context_line":"        update_db \u003d False"},{"line_number":186,"context_line":"        for cell in obj.cells:"},{"line_number":187,"context_line":"            if (len(cell.cpuset) !\u003d 0 and"},{"line_number":188,"context_line":"                cell.cpu_policy \u003d\u003d obj_fields.CPUAllocationPolicy.DEDICATED):"},{"line_number":189,"context_line":"                cell.pcpuset \u003d cell.cpuset"},{"line_number":190,"context_line":"                cell.cpuset \u003d set()"}],"source_content_type":"text/x-python","patch_set":2,"id":"97bdd50b_68dd3e4f","line":187,"updated":"2021-09-24 13:38:36.000000000","message":"The original logic is needlessly complex, which makes the patch needlessly complex as well.\n\nWe need to set cell.pcpuset in all cases, the question is, what do we set it to?\n\nIf the policy is DEDICATED, we set pcpuset \u003d cpuset, and null out cpuset.\n\nIn all other cases, pcpuset \u003d \u003cempty set\u003e\n\nSo why not just refactor the whole thing to:\n\n  if len(cpuset) !\u003d 0 and cell.cpu_policy \u003d\u003d obj_fields.CPUAllocationPolicy.DEDICATED:\n    cell.pcpuset \u003d cell.cpuset\n    cell.cpuset \u003d set()\n  else:\n    cell.pcpuset \u003d set()\n\nI think that covers everything, and is much more readable, no?","commit_id":"a34d2fe525f428a7294f36b368889bce6e4be6c9"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"f5df7a3cda32eb6f86c0901bf0b5216f0b01b288","unresolved":true,"context_lines":[{"line_number":184,"context_line":"        # and persisting to database."},{"line_number":185,"context_line":"        update_db \u003d False"},{"line_number":186,"context_line":"        for cell in obj.cells:"},{"line_number":187,"context_line":"            if (len(cell.cpuset) !\u003d 0 and"},{"line_number":188,"context_line":"                cell.cpu_policy \u003d\u003d obj_fields.CPUAllocationPolicy.DEDICATED):"},{"line_number":189,"context_line":"                cell.pcpuset \u003d cell.cpuset"},{"line_number":190,"context_line":"                cell.cpuset \u003d set()"}],"source_content_type":"text/x-python","patch_set":2,"id":"bb0969e9_6200151f","line":187,"in_reply_to":"97bdd50b_68dd3e4f","updated":"2021-09-24 14:26:15.000000000","message":"Sorry, I now realize this is basically exactly what you did, it\u0027s just formatted... weirdly. Unit tests are still -1 though ;)\n\nSuggestion for the formatting:\n\n  if (\n    len(cell.cpuset) !\u003d 0\n    and cell.cpu_policy \u003d\u003d obj_fields.CPUAllocationPolicy.DEDICATED\n  ):\n    \u003cstuff\u003e","commit_id":"a34d2fe525f428a7294f36b368889bce6e4be6c9"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"924d9e4b2a774f18147634d8223e93add7b88d3d","unresolved":true,"context_lines":[{"line_number":184,"context_line":"        # and persisting to database."},{"line_number":185,"context_line":"        update_db \u003d False"},{"line_number":186,"context_line":"        for cell in obj.cells:"},{"line_number":187,"context_line":"            if (len(cell.cpuset) !\u003d 0 and"},{"line_number":188,"context_line":"                cell.cpu_policy \u003d\u003d obj_fields.CPUAllocationPolicy.DEDICATED):"},{"line_number":189,"context_line":"                cell.pcpuset \u003d cell.cpuset"},{"line_number":190,"context_line":"                cell.cpuset \u003d set()"}],"source_content_type":"text/x-python","patch_set":2,"id":"8598403a_6c7e1043","line":187,"in_reply_to":"bb0969e9_6200151f","updated":"2021-10-11 11:34:36.000000000","message":"i think we did not do this to avoid do data migration of all numa instances on upgrade.\nwe only wanted to migrate pinned instances. the current codde assumed you would check if the pcpuset was set before using it rather then assuming it was initallised to an empty set.","commit_id":"a34d2fe525f428a7294f36b368889bce6e4be6c9"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"924d9e4b2a774f18147634d8223e93add7b88d3d","unresolved":true,"context_lines":[{"line_number":189,"context_line":"                cell.pcpuset \u003d cell.cpuset"},{"line_number":190,"context_line":"                cell.cpuset \u003d set()"},{"line_number":191,"context_line":"                update_db \u003d True"},{"line_number":192,"context_line":"            elif not hasattr(cell, \u0027pcpuset\u0027):"},{"line_number":193,"context_line":"                # We need to create a pcpuset attribute for all objects since"},{"line_number":194,"context_line":"                # it is accessed elsewhere. An empty pcpuset is created for"},{"line_number":195,"context_line":"                # instances with shared CPU policy. Instances using mixed CPU"}],"source_content_type":"text/x-python","patch_set":2,"id":"e2319793_e065dcf5","line":192,"range":{"start_line":192,"start_character":17,"end_line":192,"end_character":46},"updated":"2021-10-11 11:34:36.000000000","message":"i belive the correct convetion is to use \u0027pcpuset\u0027 in cell\n\nthis will correctly test if a filed in an ovo is set.\nwe avoid using hasattr for this by convention when dealing with ovos.\n\nhttps://github.com/openstack/oslo.versionedobjects/blob/master/oslo_versionedobjects/base.py#L319-L324","commit_id":"a34d2fe525f428a7294f36b368889bce6e4be6c9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c7086ec8456bd0b45b17d758278d1b59d24282bd","unresolved":true,"context_lines":[{"line_number":189,"context_line":"                cell.pcpuset \u003d cell.cpuset"},{"line_number":190,"context_line":"                cell.cpuset \u003d set()"},{"line_number":191,"context_line":"                update_db \u003d True"},{"line_number":192,"context_line":"            elif not hasattr(cell, \u0027pcpuset\u0027):"},{"line_number":193,"context_line":"                # We need to create a pcpuset attribute for all objects since"},{"line_number":194,"context_line":"                # it is accessed elsewhere. An empty pcpuset is created for"},{"line_number":195,"context_line":"                # instances with shared CPU policy. Instances using mixed CPU"}],"source_content_type":"text/x-python","patch_set":2,"id":"030353ed_d0911b8d","line":192,"range":{"start_line":192,"start_character":17,"end_line":192,"end_character":46},"in_reply_to":"e2319793_e065dcf5","updated":"2021-11-01 23:22:01.000000000","message":"Yep, \"foo in bar\" is the right thing to do here.","commit_id":"a34d2fe525f428a7294f36b368889bce6e4be6c9"}]}
