)]}'
{"oslo_versionedobjects/base.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f5b66859282b3f77484da4ef3af3198c1203e74c","unresolved":false,"context_lines":[{"line_number":554,"context_line":"        if self.obj_what_changed():"},{"line_number":555,"context_line":"            # NOTE(ihrachys): enforce order since later the list may be used to"},{"line_number":556,"context_line":"            # compare objects, f.e. in ComparableVersionedObject"},{"line_number":557,"context_line":"            changes \u003d sorted(list(self.obj_what_changed()))"},{"line_number":558,"context_line":"            obj[self._obj_primitive_key(\u0027changes\u0027)] \u003d changes"},{"line_number":559,"context_line":"        return obj"},{"line_number":560,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa0719c6_e404c3c7","line":557,"updated":"2016-03-21 01:52:10.000000000","message":"This is CPU overhead on every RPC call, which only matters during unit tests. In nova, we use this, which we should bring into o.vo and you should use instead:\n\nhttps://github.com/openstack/nova/blob/master/nova/tests/fixtures.py#L523-L548","commit_id":"39eb351eb8e4a3cc47fa6da4fa8d970aafa71224"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2c6c0612ea285908a7418b657c5ae785d43833e0","unresolved":false,"context_lines":[{"line_number":554,"context_line":"        if self.obj_what_changed():"},{"line_number":555,"context_line":"            # NOTE(ihrachys): enforce order since later the list may be used to"},{"line_number":556,"context_line":"            # compare objects, f.e. in ComparableVersionedObject"},{"line_number":557,"context_line":"            changes \u003d sorted(list(self.obj_what_changed()))"},{"line_number":558,"context_line":"            obj[self._obj_primitive_key(\u0027changes\u0027)] \u003d changes"},{"line_number":559,"context_line":"        return obj"},{"line_number":560,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a18252c_aad3ee5e","line":557,"in_reply_to":"fa0719c6_e404c3c7","updated":"2016-04-15 06:50:53.000000000","message":"Cool. I ripped the code in the next PS.","commit_id":"39eb351eb8e4a3cc47fa6da4fa8d970aafa71224"}],"oslo_versionedobjects/tests/test_objects.py":[{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"657de5e696bd13c6256bb09071abea6c9e5782dc","unresolved":false,"context_lines":[{"line_number":1524,"context_line":""},{"line_number":1525,"context_line":"        obj2 \u003d TestObj()"},{"line_number":1526,"context_line":"        obj2.obj_reset_changes()"},{"line_number":1527,"context_line":"        obj2.field2 \u003d FIELD2_VAL"},{"line_number":1528,"context_line":"        obj2.field1 \u003d FIELD1_VAL"},{"line_number":1529,"context_line":""},{"line_number":1530,"context_line":"        self.assertEqual(obj1, obj2)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afc51ec_186aa1b3","line":1527,"updated":"2016-03-14 15:06:33.000000000","message":"Funny that the order of assignments are different that obj1, but at the end they\u0027re the same","commit_id":"39eb351eb8e4a3cc47fa6da4fa8d970aafa71224"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"bf929d9aeb57f98facfe9e835939870af6d286a1","unresolved":false,"context_lines":[{"line_number":1524,"context_line":""},{"line_number":1525,"context_line":"        obj2 \u003d TestObj()"},{"line_number":1526,"context_line":"        obj2.obj_reset_changes()"},{"line_number":1527,"context_line":"        obj2.field2 \u003d FIELD2_VAL"},{"line_number":1528,"context_line":"        obj2.field1 \u003d FIELD1_VAL"},{"line_number":1529,"context_line":""},{"line_number":1530,"context_line":"        self.assertEqual(obj1, obj2)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_d79bc970","line":1527,"in_reply_to":"3afc51ec_186aa1b3","updated":"2016-03-17 11:12:17.000000000","message":"Well, that\u0027s what we try to check here - that the order of assignments does not influence the result. But it\u0027s not really needed to mix the order here, since the test success depends on initial python random seed and not the order of __setattr__ calls. Still, it\u0027s ok to have it this way here.","commit_id":"39eb351eb8e4a3cc47fa6da4fa8d970aafa71224"}]}
