)]}'
{"nova/objects/base.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"06fe4f6f0684a1173b4114dd70866874a3b06523","unresolved":false,"context_lines":[{"line_number":523,"context_line":"            objinst \u003d NovaObject.obj_from_primitive(objprim, context\u003dcontext)"},{"line_number":524,"context_line":"        except exception.IncompatibleObjectVersion, e:"},{"line_number":525,"context_line":"            objinst \u003d self.conductor.object_backport(context, objprim,"},{"line_number":526,"context_line":"                                                     e.kwargs[\u0027supported\u0027])"},{"line_number":527,"context_line":"        return objinst"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    def _process_iterable(self, context, action_fn, values):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9fqQ%3D","line":526,"updated":"2013-12-10 22:42:34.000000000","message":"I am missing why we need to send this to the conductor to do the backport.","commit_id":"91783a20850514c793d93a906347d095875855a6"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"40cd53d80002917a6cba26892344ba636b36457d","unresolved":false,"context_lines":[{"line_number":523,"context_line":"            objinst \u003d NovaObject.obj_from_primitive(objprim, context\u003dcontext)"},{"line_number":524,"context_line":"        except exception.IncompatibleObjectVersion, e:"},{"line_number":525,"context_line":"            objinst \u003d self.conductor.object_backport(context, objprim,"},{"line_number":526,"context_line":"                                                     e.kwargs[\u0027supported\u0027])"},{"line_number":527,"context_line":"        return objinst"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    def _process_iterable(self, context, action_fn, values):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9a3I%3D","line":526,"in_reply_to":"AAAATn%2F9bBQ%3D","updated":"2013-12-11 18:01:44.000000000","message":"Ok.  I was (am?) just worried about the assumption that we only hit this case within nova-compute.  Theoretically, nova-scheduler could hit this at some point.  And we\u0027ve never had scheduler query conductor before... although I don\u0027t see a problem with it.","commit_id":"91783a20850514c793d93a906347d095875855a6"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"487d0ee7858c797d7f1d005bf2ffd04fd04540b0","unresolved":false,"context_lines":[{"line_number":523,"context_line":"            objinst \u003d NovaObject.obj_from_primitive(objprim, context\u003dcontext)"},{"line_number":524,"context_line":"        except exception.IncompatibleObjectVersion, e:"},{"line_number":525,"context_line":"            objinst \u003d self.conductor.object_backport(context, objprim,"},{"line_number":526,"context_line":"                                                     e.kwargs[\u0027supported\u0027])"},{"line_number":527,"context_line":"        return objinst"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":"    def _process_iterable(self, context, action_fn, values):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F9bBQ%3D","line":526,"in_reply_to":"AAAATn%2F9fqQ%3D","updated":"2013-12-11 17:30:55.000000000","message":"The scenario is a new api node, which has Instance v1.20, sending it to an older compute node, which only has Instance v1.10. It will fail to deserialize the newer instance with an IncompatibleObjectVersion error. We take that primitive and pass it to the (newer than us) conductor and ask it to deserialize it and do the backport for us.\n\nThe nice thing about this approach, is that during \"peacetime\" (i.e. when everything is running at the same level of code) this is a no-op and everything works as normal.","commit_id":"91783a20850514c793d93a906347d095875855a6"}]}
