)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"e1d157a4a8960e0a1a0c908dc4ff09f9cc015f65","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add \u0027hw_cpu_threads_policy\u0027 to ImageMetaProps"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This will be required per the specification."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I24daa79ef0a2338538642efcaa1f3e40b0df14af"},{"line_number":12,"context_line":"Implements: blueprint virt-driver-cpu-thread-pinning"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"9a8ffd7b_50216afa","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":44},"updated":"2015-11-25 11:55:05.000000000","message":"This is really no very informative at all. commit message should be self sufficient without the need to follow links, or in this case google for a spec document since it\u0027s not linked unless viewed in gerrit.\n\nJust briefly describe the change - what is done and why it is needed (very breifly).","commit_id":"e15f5711b4610f1f74e0eb4c01e6431f860eef5e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6b6fbee561b9009063ba0132697636934eeefe9c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add \u0027hw_cpu_threads_policy\u0027 to ImageMetaProps"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This will be required per the specification."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I24daa79ef0a2338538642efcaa1f3e40b0df14af"},{"line_number":12,"context_line":"Implements: blueprint virt-driver-cpu-thread-pinning"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"9a8ffd7b_88d1d9cf","line":9,"in_reply_to":"9a8ffd7b_50216afa","updated":"2015-11-25 15:42:08.000000000","message":"And I\u0027m the person who normally complains about this to other people :) I\u0027ll fix now.","commit_id":"e15f5711b4610f1f74e0eb4c01e6431f860eef5e"}],"nova/objects/fields.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c8b2fba11eda03498ed348a3e7605ad9619a826d","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"class CPUThreadAllocationPolicy(Enum):"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    AVOID \u003d \"avoid\""},{"line_number":161,"context_line":"    SEPARATE \u003d \"separate\""},{"line_number":162,"context_line":"    ISOLATE \u003d \"isolate\""},{"line_number":163,"context_line":"    REQUIRE \u003d \"require\""}],"source_content_type":"text/x-python","patch_set":10,"id":"fa80f949_1b0d3c37","line":160,"updated":"2015-11-04 21:35:05.000000000","message":"This would be extra credit, but it\u0027d be nice to add some code comments in here for each enum to describe them like what is in the spec:\n\nhttp://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/virt-driver-cpu-pinning.html","commit_id":"dd50724aa58110950bde0fe6aa5b27c2b914605e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c606a8d80d93fa655134340da889f456ca9dacd6","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    AVOID \u003d \"avoid\""},{"line_number":161,"context_line":"    SEPARATE \u003d \"separate\""},{"line_number":162,"context_line":"    ISOLATE \u003d \"isolate\""},{"line_number":163,"context_line":"    REQUIRE \u003d \"require\""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    ALL \u003d (AVOID, SEPARATE, ISOLATE, REQUIRE)"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"fa80f949_601cd377","line":163,"updated":"2015-11-04 21:33:50.000000000","message":"The spec says \u0027prefer\u0027 rather than \u0027require\u0027:\n\nhttp://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/virt-driver-cpu-pinning.html\n\nDoes the code or the spec get updated?","commit_id":"dd50724aa58110950bde0fe6aa5b27c2b914605e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4feb106168bd5339838e0c2be5ec6312526ca365","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    AVOID \u003d \"avoid\""},{"line_number":161,"context_line":"    SEPARATE \u003d \"separate\""},{"line_number":162,"context_line":"    ISOLATE \u003d \"isolate\""},{"line_number":163,"context_line":"    REQUIRE \u003d \"require\""},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    ALL \u003d (AVOID, SEPARATE, ISOLATE, REQUIRE)"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"fa80f949_dbab34d5","line":163,"in_reply_to":"fa80f949_601cd377","updated":"2015-11-04 21:39:43.000000000","message":"Nevermind, I was looking at the liberty spec, it was updated in mitaka:\n\nhttps://review.openstack.org/#/c/241355/1/specs/mitaka/approved/virt-driver-cpu-pinning.rst","commit_id":"dd50724aa58110950bde0fe6aa5b27c2b914605e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"49f2e2f8fb773af9fe1f6ba3c7790b8dc7c5485a","unresolved":false,"context_lines":[{"line_number":622,"context_line":"class CPUThreadAllocationPolicyField(BaseEnumField):"},{"line_number":623,"context_line":"    AUTO_TYPE \u003d CPUThreadAllocationPolicy()"},{"line_number":624,"context_line":""},{"line_number":625,"context_line":""},{"line_number":626,"context_line":"class CPUModeField(BaseEnumField):"},{"line_number":627,"context_line":"    AUTO_TYPE \u003d CPUMode()"},{"line_number":628,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"9a8ffd7b_050cc63f","line":625,"updated":"2015-11-26 10:27:22.000000000","message":"Could you please add test for the new field type in nova/tests/unit/objects/test_fields.py?","commit_id":"5f8abfca76283a7e2991536b1699d236c590f105"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"169f2396d6f546f6bc1f8891833ce17c7fd2e6f6","unresolved":false,"context_lines":[{"line_number":622,"context_line":"class CPUThreadAllocationPolicyField(BaseEnumField):"},{"line_number":623,"context_line":"    AUTO_TYPE \u003d CPUThreadAllocationPolicy()"},{"line_number":624,"context_line":""},{"line_number":625,"context_line":""},{"line_number":626,"context_line":"class CPUModeField(BaseEnumField):"},{"line_number":627,"context_line":"    AUTO_TYPE \u003d CPUMode()"},{"line_number":628,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"9a8ffd7b_4d798881","line":625,"in_reply_to":"9a8ffd7b_050cc63f","updated":"2015-12-02 15:09:04.000000000","message":"I don\u0027t think those tests should exist. I discussed this with Dan Smith, who agreed.\n\nhttp://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2015-11-11.log.html#t2015-11-11T20:33:10\n\nI have a bug opened to this effect.\n\nhttps://bugs.launchpad.net/nova/+bug/1515405\n\nAs such I think it\u0027s wasteful to include tests that are likely going to be deleted, no?","commit_id":"5f8abfca76283a7e2991536b1699d236c590f105"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"41793a2dba39678d9f633b9073f1bf4767662eed","unresolved":false,"context_lines":[{"line_number":622,"context_line":"class CPUThreadAllocationPolicyField(BaseEnumField):"},{"line_number":623,"context_line":"    AUTO_TYPE \u003d CPUThreadAllocationPolicy()"},{"line_number":624,"context_line":""},{"line_number":625,"context_line":""},{"line_number":626,"context_line":"class CPUModeField(BaseEnumField):"},{"line_number":627,"context_line":"    AUTO_TYPE \u003d CPUMode()"},{"line_number":628,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"7a740942_d57bc08a","line":625,"in_reply_to":"9a8ffd7b_4d798881","updated":"2015-12-07 16:58:43.000000000","message":"OK, I agree then. Previously I got -1 for missing such enum test in my patches. But if it is not expected any more then that is fine with me. :) Thanks for taking this up with Dan.","commit_id":"5f8abfca76283a7e2991536b1699d236c590f105"}],"nova/objects/image_meta.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"97abeb48c376abef4baf964ede75e98aebfad959","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        \u0027hw_cpu_policy\u0027: fields.CPUAllocationPolicyField(),"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        # CPU thread allocation policy"},{"line_number":180,"context_line":"        \u0027hw_cpu_threads_policy\u0027: fields.CPUThreadAllocationPolicyField(),"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        # preferred number of CPU threads per core"},{"line_number":183,"context_line":"        \u0027hw_cpu_threads\u0027: fields.IntegerField(),"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_08580287","line":180,"updated":"2015-10-22 14:58:58.000000000","message":"This really needs an obj_make_compatible() rule to remove this field for versions \u003c1.8. I\u0027m shocked to see that it doesn\u0027t already exist on this object, which is unfortunate. I\u0027ll work up a patch to implement the pieces that are missing and you can rebase on top of that.","commit_id":"80e9925a1a67a36b5f7f1dc5eff86298cc993ff9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7dd8f8beab12d920bf9713397e3d6b32b0e5d28a","unresolved":false,"context_lines":[{"line_number":177,"context_line":"        \u0027hw_cpu_policy\u0027: fields.CPUAllocationPolicyField(),"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        # CPU thread allocation policy"},{"line_number":180,"context_line":"        \u0027hw_cpu_threads_policy\u0027: fields.CPUThreadAllocationPolicyField(),"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        # preferred number of CPU threads per core"},{"line_number":183,"context_line":"        \u0027hw_cpu_threads\u0027: fields.IntegerField(),"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a29b11f_d63f00b2","line":180,"in_reply_to":"3a29b11f_08580287","updated":"2015-10-22 18:23:19.000000000","message":"Sure thing","commit_id":"80e9925a1a67a36b5f7f1dc5eff86298cc993ff9"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"49f2e2f8fb773af9fe1f6ba3c7790b8dc7c5485a","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                                                        target_version)"},{"line_number":145,"context_line":"        target_version \u003d utils.convert_version_to_tuple(target_version)"},{"line_number":146,"context_line":"        if target_version \u003c (1, 9):"},{"line_number":147,"context_line":"            primitive.pop(\u0027hw_cpu_thread_policy\u0027, None)"},{"line_number":148,"context_line":"        if target_version \u003c (1, 7):"},{"line_number":149,"context_line":"            primitive.pop(\u0027img_config_drive\u0027, None)"},{"line_number":150,"context_line":"        if target_version \u003c (1, 5):"}],"source_content_type":"text/x-python","patch_set":19,"id":"9a8ffd7b_083a9bcc","line":147,"updated":"2015-11-26 10:27:22.000000000","message":"Could it be covered with some unit test?","commit_id":"5f8abfca76283a7e2991536b1699d236c590f105"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4d8e36d91f0863d520dd1e9501872a12d7bd4e8f","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                                                        target_version)"},{"line_number":145,"context_line":"        target_version \u003d utils.convert_version_to_tuple(target_version)"},{"line_number":146,"context_line":"        if target_version \u003c (1, 9):"},{"line_number":147,"context_line":"            primitive.pop(\u0027hw_cpu_thread_policy\u0027, None)"},{"line_number":148,"context_line":"        if target_version \u003c (1, 7):"},{"line_number":149,"context_line":"            primitive.pop(\u0027img_config_drive\u0027, None)"},{"line_number":150,"context_line":"        if target_version \u003c (1, 5):"}],"source_content_type":"text/x-python","patch_set":19,"id":"9a8ffd7b_1444e8b4","line":147,"in_reply_to":"9a8ffd7b_083a9bcc","updated":"2015-12-02 15:43:19.000000000","message":"This is already tested:\n\nhttps://github.com/openstack/nova/blob/e6408cd380fcdc3be62bd3dc876f2cdd6f97671b/nova/tests/unit/objects/test_objects.py","commit_id":"5f8abfca76283a7e2991536b1699d236c590f105"}],"nova/tests/unit/objects/test_fields.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"29823c951fe750a8b47a66902e06229fcbcad50f","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        self.assertRaises(ValueError, self.field.stringify, \u0027acme\u0027)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"class TestCPUThreadAllocationPolicy(TestField):"},{"line_number":346,"context_line":"    def setUp(self):"},{"line_number":347,"context_line":"        super(TestCPUThreadAllocationPolicy, self).setUp()"},{"line_number":348,"context_line":"        self.field \u003d fields.CPUThreadAllocationPolicyField()"}],"source_content_type":"text/x-python","patch_set":22,"id":"7a740942_f4d45048","line":345,"updated":"2015-12-03 15:28:09.000000000","message":"Good to have addressed new tests","commit_id":"ba6280afe8d7a72cb629947401b9dc606c3020d9"}]}
