)]}'
{"nova/conductor/manager.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"300851974ea80fa0bf0f56ab6b9bdace7ef377ac","unresolved":false,"context_lines":[{"line_number":457,"context_line":"        # but in this case, we need to honor the version the client is"},{"line_number":458,"context_line":"        # asking for, so we do it before returning here."},{"line_number":459,"context_line":"        return (result.obj_to_primitive(target_version\u003dobjver)"},{"line_number":460,"context_line":"                if isinstance(result, nova_object.NovaObject) else result)"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    def object_class_action_versions(self, context, objname, objmethod,"},{"line_number":463,"context_line":"                                     object_versions, args, kwargs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_cbdeb53d","line":460,"updated":"2015-09-04 13:27:32.000000000","message":"This is the original method I\u0027m defining a new one of.","commit_id":"452053e8c7d370f9ae638c1d9fdd2669f8d14eb8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"3f63c1683562fa00e25be4944f99dd1fdd22ba7a","unresolved":false,"context_lines":[{"line_number":457,"context_line":"        # but in this case, we need to honor the version the client is"},{"line_number":458,"context_line":"        # asking for, so we do it before returning here."},{"line_number":459,"context_line":"        return (result.obj_to_primitive(target_version\u003dobjver)"},{"line_number":460,"context_line":"                if isinstance(result, nova_object.NovaObject) else result)"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    def object_class_action_versions(self, context, objname, objmethod,"},{"line_number":463,"context_line":"                                     object_versions, args, kwargs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_eb885924","line":460,"in_reply_to":"da20952f_cbdeb53d","updated":"2015-09-04 13:31:32.000000000","message":"oops, you are totally right, I went cross eyed.","commit_id":"452053e8c7d370f9ae638c1d9fdd2669f8d14eb8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f1bbebadd39037763f53f67221e60e867469f623","unresolved":false,"context_lines":[{"line_number":491,"context_line":"        # This is safe since a field named this would conflict with the"},{"line_number":492,"context_line":"        # method anyway"},{"line_number":493,"context_line":"        updates[\u0027obj_what_changed\u0027] \u003d objinst.obj_what_changed()"},{"line_number":494,"context_line":"        return updates, result"},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"    def object_backport(self, context, objinst, target_version):"},{"line_number":497,"context_line":"        return objinst.obj_to_primitive(target_version\u003dtarget_version)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_4f7636d8","line":494,"updated":"2015-09-04 11:31:47.000000000","message":"seems like object_action and object_class_action_versions return different things, but are redirected via the RPC API, bit confused.\n\nCould we have not just added object_versions as a new optional parameter to the existing object_action method otherwise?","commit_id":"452053e8c7d370f9ae638c1d9fdd2669f8d14eb8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"300851974ea80fa0bf0f56ab6b9bdace7ef377ac","unresolved":false,"context_lines":[{"line_number":491,"context_line":"        # This is safe since a field named this would conflict with the"},{"line_number":492,"context_line":"        # method anyway"},{"line_number":493,"context_line":"        updates[\u0027obj_what_changed\u0027] \u003d objinst.obj_what_changed()"},{"line_number":494,"context_line":"        return updates, result"},{"line_number":495,"context_line":""},{"line_number":496,"context_line":"    def object_backport(self, context, objinst, target_version):"},{"line_number":497,"context_line":"        return objinst.obj_to_primitive(target_version\u003dtarget_version)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_4bfdc5af","line":494,"in_reply_to":"da20952f_4f7636d8","updated":"2015-09-04 13:27:32.000000000","message":"This is object_action, which always returns updates,result. The class action is different because there is no existing object, so no updates. I\u0027m adding a new version of the class variant.","commit_id":"452053e8c7d370f9ae638c1d9fdd2669f8d14eb8"}],"nova/conductor/rpcapi.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f1bbebadd39037763f53f67221e60e867469f623","unresolved":false,"context_lines":[{"line_number":222,"context_line":"            # version manifest and redirect the call to the newer"},{"line_number":223,"context_line":"            # class action handler"},{"line_number":224,"context_line":"            versions \u003d ovo_base.obj_tree_get_versions(objname)"},{"line_number":225,"context_line":"            return self.object_class_action_versions(context,"},{"line_number":226,"context_line":"                                                     objname,"},{"line_number":227,"context_line":"                                                     objmethod,"},{"line_number":228,"context_line":"                                                     versions,"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_6f41ba62","line":225,"updated":"2015-09-04 11:31:47.000000000","message":"seems like object_action and object_class_action_versions return different things though?","commit_id":"452053e8c7d370f9ae638c1d9fdd2669f8d14eb8"}]}
