)]}'
{"nova/objects/diagnostics.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"189b18d363e84c5e33a810280d44df677dabd51a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"class Diagnostics(base.NovaObject):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    # Version 1.0: Initial version"},{"line_number":85,"context_line":"    # Version 1.1: Added LXD to nova.objects.fields.HypervisorDriver() enum"},{"line_number":86,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    fields \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_5504bc7e","line":85,"updated":"2019-02-04 14:42:31.000000000","message":"hm, is it necessary to bump the version of an object just because the *value* of a field can be something new? I wouldn\u0027t have expected so, but I\u0027m not an ovo expert.","commit_id":"30fa537f31841cb04c39386c89c9510eebdee765"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"86128022d6217f60e39aca0f1e9e8537939aa00d","unresolved":false,"context_lines":[{"line_number":82,"context_line":"class Diagnostics(base.NovaObject):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    # Version 1.0: Initial version"},{"line_number":85,"context_line":"    # Version 1.1: Added LXD to nova.objects.fields.HypervisorDriver() enum"},{"line_number":86,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    fields \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_4aade4e8","line":85,"in_reply_to":"9fdfeff1_03d6fec4","updated":"2019-02-05 13:07:13.000000000","message":"My (limited) recollection is that if you make a change that affects the checksum, it should be a new version.","commit_id":"30fa537f31841cb04c39386c89c9510eebdee765"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5a0677d961d1e4628d40c367e50ff817fa96006b","unresolved":false,"context_lines":[{"line_number":82,"context_line":"class Diagnostics(base.NovaObject):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    # Version 1.0: Initial version"},{"line_number":85,"context_line":"    # Version 1.1: Added LXD to nova.objects.fields.HypervisorDriver() enum"},{"line_number":86,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    fields \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_4df89e7b","line":85,"in_reply_to":"9fdfeff1_4aade4e8","updated":"2019-02-05 14:29:36.000000000","message":"Suspecting that the version bump might be the only thing affecting the checksum, I pulled this down and tried it. a) Apparently the checksum is smart enough to ignore the version marker, and b) the checksum does indeed change due to the modified enum. So per edleafe\u0027s recollection and the comment at [1], the version bump is appropriate.\n\n[1] https://review.openstack.org/#/c/633279/1/nova/tests/unit/objects/test_objects.py@1052","commit_id":"30fa537f31841cb04c39386c89c9510eebdee765"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0071e9f8d206a4c62615f810e2bb6e15334b32bb","unresolved":false,"context_lines":[{"line_number":82,"context_line":"class Diagnostics(base.NovaObject):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    # Version 1.0: Initial version"},{"line_number":85,"context_line":"    # Version 1.1: Added LXD to nova.objects.fields.HypervisorDriver() enum"},{"line_number":86,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    fields \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_cdeece8a","line":85,"in_reply_to":"9fdfeff1_4df89e7b","updated":"2019-02-05 14:38:15.000000000","message":"The object you change should be bumped, yes.","commit_id":"30fa537f31841cb04c39386c89c9510eebdee765"},{"author":{"_account_id":20870,"name":"Alex Kavanagh","email":"alex@ajkavanagh.co.uk","username":"ajkavanagh"},"change_message_id":"37a1cd90e5452eeb0b3852bcbad6e8a3e1383a6d","unresolved":false,"context_lines":[{"line_number":82,"context_line":"class Diagnostics(base.NovaObject):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    # Version 1.0: Initial version"},{"line_number":85,"context_line":"    # Version 1.1: Added LXD to nova.objects.fields.HypervisorDriver() enum"},{"line_number":86,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    fields \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_03d6fec4","line":85,"in_reply_to":"9fdfeff1_5504bc7e","updated":"2019-02-04 16:02:42.000000000","message":"Yes, I did wonder about that too; the instructions were unclear, so I bumped it, but happy to reverse that and just do the checksum instead.","commit_id":"30fa537f31841cb04c39386c89c9510eebdee765"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4aae5fc7a71deace458743c6dffa6e1d2d529592","unresolved":false,"context_lines":[{"line_number":82,"context_line":"class Diagnostics(base.NovaObject):"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    # Version 1.0: Initial version"},{"line_number":85,"context_line":"    # Version 1.1: Added LXD to nova.objects.fields.HypervisorDriver() enum"},{"line_number":86,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    fields \u003d {"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_037587fa","line":85,"in_reply_to":"9fdfeff1_cdeece8a","updated":"2019-02-05 16:03:57.000000000","message":"we dont version due to changes in composed objects in nova.\n\nwe can but we dont by default/convention.\n\nversioning based on compestion requires you to use a seperate dictionary to assocate teh object relationships between the contained and containing object.\n\ntechnically you would also need to overload the obj_make_compatible function (whatever its called) \nso that you removed the new enum valudes on down grading this to v 1.0.","commit_id":"30fa537f31841cb04c39386c89c9510eebdee765"}],"nova/objects/fields.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"75e0963f5148d192d7ad4a1d19c484cb543320d0","unresolved":false,"context_lines":[{"line_number":718,"context_line":"    VMWAREAPI \u003d \"vmwareapi\""},{"line_number":719,"context_line":"    IRONIC \u003d \"ironic\""},{"line_number":720,"context_line":"    HYPERV \u003d \"hyperv\""},{"line_number":721,"context_line":"    LXD \u003d \"lxd\""},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"    ALL \u003d (LIBVIRT, XENAPI, VMWAREAPI, IRONIC, HYPERV, LXD)"},{"line_number":724,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_dbbca007","line":721,"updated":"2019-01-30 16:27:58.000000000","message":"This would be the first out of tree driver in this list. Granted lxd is already in the HVType field as are some other out of tree drivers.","commit_id":"30fa537f31841cb04c39386c89c9510eebdee765"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f51301798ca2b5a99867a2bbb40b343b580a6613","unresolved":false,"context_lines":[{"line_number":718,"context_line":"    VMWAREAPI \u003d \"vmwareapi\""},{"line_number":719,"context_line":"    IRONIC \u003d \"ironic\""},{"line_number":720,"context_line":"    HYPERV \u003d \"hyperv\""},{"line_number":721,"context_line":"    LXD \u003d \"lxd\""},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"    ALL \u003d (LIBVIRT, XENAPI, VMWAREAPI, IRONIC, HYPERV, LXD)"},{"line_number":724,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_4d873eb8","line":721,"in_reply_to":"9fdfeff1_2ab42035","updated":"2019-02-05 14:36:25.000000000","message":"And z","commit_id":"30fa537f31841cb04c39386c89c9510eebdee765"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"86128022d6217f60e39aca0f1e9e8537939aa00d","unresolved":false,"context_lines":[{"line_number":718,"context_line":"    VMWAREAPI \u003d \"vmwareapi\""},{"line_number":719,"context_line":"    IRONIC \u003d \"ironic\""},{"line_number":720,"context_line":"    HYPERV \u003d \"hyperv\""},{"line_number":721,"context_line":"    LXD \u003d \"lxd\""},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"    ALL \u003d (LIBVIRT, XENAPI, VMWAREAPI, IRONIC, HYPERV, LXD)"},{"line_number":724,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_2ab42035","line":721,"in_reply_to":"9fdfeff1_95eea4eb","updated":"2019-02-05 13:07:13.000000000","message":"Hey, why isn\u0027t PowerVM in here?\n... says 2019 me","commit_id":"30fa537f31841cb04c39386c89c9510eebdee765"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"189b18d363e84c5e33a810280d44df677dabd51a","unresolved":false,"context_lines":[{"line_number":718,"context_line":"    VMWAREAPI \u003d \"vmwareapi\""},{"line_number":719,"context_line":"    IRONIC \u003d \"ironic\""},{"line_number":720,"context_line":"    HYPERV \u003d \"hyperv\""},{"line_number":721,"context_line":"    LXD \u003d \"lxd\""},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"    ALL \u003d (LIBVIRT, XENAPI, VMWAREAPI, IRONIC, HYPERV, LXD)"},{"line_number":724,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_95eea4eb","line":721,"in_reply_to":"9fdfeff1_dbbca007","updated":"2019-02-04 14:42:31.000000000","message":"Hey, why isn\u0027t PowerVM in here?\n\n...says 2018 me.","commit_id":"30fa537f31841cb04c39386c89c9510eebdee765"}],"nova/tests/unit/objects/test_objects.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5a0677d961d1e4628d40c367e50ff817fa96006b","unresolved":false,"context_lines":[{"line_number":1049,"context_line":"        self.assertEqual(MyObj, mock_objects.MyObj)"},{"line_number":1050,"context_line":""},{"line_number":1051,"context_line":""},{"line_number":1052,"context_line":"# NOTE(danms): The hashes in this list should only be changed if"},{"line_number":1053,"context_line":"# they come with a corresponding version bump in the affected"},{"line_number":1054,"context_line":"# objects"},{"line_number":1055,"context_line":"object_data \u003d {"},{"line_number":1056,"context_line":"    \u0027Agent\u0027: \u00271.0-c0c092abaceb6f51efe5d82175f15eba\u0027,"},{"line_number":1057,"context_line":"    \u0027AgentList\u0027: \u00271.0-5a7380d02c3aaf2a32fc8115ae7ca98c\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_cddb2e1f","line":1054,"range":{"start_line":1052,"start_character":0,"end_line":1054,"end_character":9},"updated":"2019-02-05 14:29:36.000000000","message":"here","commit_id":"30fa537f31841cb04c39386c89c9510eebdee765"}]}
