)]}'
{"nova/scheduler/client/__init__.py":[{"author":{"_account_id":7543,"name":"Yongli He","email":"yongli.he@intel.com","username":"yongli.he"},"change_message_id":"afb6a4b6f1c936ce95dbe71ff345246dd2aff762","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def update_instance_info(self, context, host_name, instance_info):"},{"line_number":64,"context_line":"        self.queryclient.update_instance_info(context, host_name,"},{"line_number":65,"context_line":"                                              instance_info)"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def delete_instance_info(self, context, host_name, instance_uuid):"},{"line_number":68,"context_line":"        self.queryclient.delete_instance_info(context, host_name,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_ea5a83f0","line":65,"updated":"2015-03-10 01:50:42.000000000","message":"sorry for point so many indent  suggest -:)   if break line from there, next line best to align with parentheses.","commit_id":"4a8c688fb3999256d4ac1ee192bc1c851d4dc6c3"}],"nova/scheduler/client/query.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"a629bdb9ece6f7d6b91777b7425c2ab7b83c1d44","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        :param context: local context"},{"line_number":58,"context_line":"        :param host_name: name of host sending the update"},{"line_number":59,"context_line":"        :param instance_info: either a single Instance object or an"},{"line_number":60,"context_line":"                              InstanceList object."},{"line_number":61,"context_line":"        \"\"\""},{"line_number":62,"context_line":"        self.scheduler_rpcapi.update_instance_info(context, host_name,"},{"line_number":63,"context_line":"                                                   instance_info)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_9a837955","line":60,"updated":"2015-03-12 18:51:44.000000000","message":"I would think it would be easier over the long run if this just always sent an InstanceList.  There should be no reason to have to verify the type on the other side before doing any work.","commit_id":"5322a3facb6843a0b5d97a57388b4402eb864a36"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"d79d3103d585dd6fc2eb19ed57e8ac1b13d413e9","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        :param context: local context"},{"line_number":58,"context_line":"        :param host_name: name of host sending the update"},{"line_number":59,"context_line":"        :param instance_info: either a single Instance object or an"},{"line_number":60,"context_line":"                              InstanceList object."},{"line_number":61,"context_line":"        \"\"\""},{"line_number":62,"context_line":"        self.scheduler_rpcapi.update_instance_info(context, host_name,"},{"line_number":63,"context_line":"                                                   instance_info)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_601e130e","line":60,"in_reply_to":"9a80dd14_4cf78bd3","updated":"2015-03-12 21:26:18.000000000","message":"Sorry, I mis-read your note. Thankfully, jaypipes paid more attention in reading class in school.\n\nOK, I\u0027ll change it to always send an InstanceList object.","commit_id":"5322a3facb6843a0b5d97a57388b4402eb864a36"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"28c3d0c1877e86d4493356ba5d98af4a0ee69add","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        :param context: local context"},{"line_number":58,"context_line":"        :param host_name: name of host sending the update"},{"line_number":59,"context_line":"        :param instance_info: either a single Instance object or an"},{"line_number":60,"context_line":"                              InstanceList object."},{"line_number":61,"context_line":"        \"\"\""},{"line_number":62,"context_line":"        self.scheduler_rpcapi.update_instance_info(context, host_name,"},{"line_number":63,"context_line":"                                                   instance_info)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_4cf78bd3","line":60,"in_reply_to":"9a80dd14_9a837955","updated":"2015-03-12 21:07:44.000000000","message":"So when a compute node starts up, you would prefer to have it call update_instance_info in a loop, one for each instance? That\u0027s possible, but a bit ugly IMO. And if you look at the next patch in the series, it\u0027s handled fairly easily in the HostManager.","commit_id":"5322a3facb6843a0b5d97a57388b4402eb864a36"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"a629bdb9ece6f7d6b91777b7425c2ab7b83c1d44","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        self.scheduler_rpcapi.delete_instance_info(context, host_name,"},{"line_number":74,"context_line":"                                                   instance_uuid)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def sync_instance_info(self, context, host_name, instance_uuids):"},{"line_number":77,"context_line":"        \"\"\"Notifies the HostManager of the current instances on a host by"},{"line_number":78,"context_line":"        sending a list of the uuids for those instances. The HostManager can"},{"line_number":79,"context_line":"        then compare that with its in-memory view of the instances to detect"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_ba3d9d91","line":76,"updated":"2015-03-12 18:51:44.000000000","message":"Should this be sync_instance_list?  It\u0027s odd to me that in update_info info is a full instance and in sync_info info is just a uuid.  I can understand why delete is just a uuid though.","commit_id":"5322a3facb6843a0b5d97a57388b4402eb864a36"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"28c3d0c1877e86d4493356ba5d98af4a0ee69add","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        self.scheduler_rpcapi.delete_instance_info(context, host_name,"},{"line_number":74,"context_line":"                                                   instance_uuid)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def sync_instance_info(self, context, host_name, instance_uuids):"},{"line_number":77,"context_line":"        \"\"\"Notifies the HostManager of the current instances on a host by"},{"line_number":78,"context_line":"        sending a list of the uuids for those instances. The HostManager can"},{"line_number":79,"context_line":"        then compare that with its in-memory view of the instances to detect"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a80dd14_2ce897e1","line":76,"in_reply_to":"9a80dd14_ba3d9d91","updated":"2015-03-12 21:07:44.000000000","message":"Heh, in an early draft of the spec I proposed sending the full list of instances, but that was rejected as too heavyweight. This is just a sanity check; if the UUIDs don\u0027t match up, something got borked, and the HostManager will re-create the host\u0027s InstanceList.","commit_id":"5322a3facb6843a0b5d97a57388b4402eb864a36"}],"nova/scheduler/driver.py":[{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"5fb6ce94a74814fd6a6b1665d7c6dbf3c060a6c6","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        msg \u003d _(\"Driver must implement select_destinations\")"},{"line_number":66,"context_line":"        raise NotImplementedError(msg)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def update_instance_info(self, context, host_name, instance_info):"},{"line_number":69,"context_line":"        \"\"\"Updates the host_manager\u0027s instance information when an instance is"},{"line_number":70,"context_line":"        created or resized."}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_428b661e","line":67,"updated":"2015-03-10 11:12:26.000000000","message":"No need to add these methods, see comment in nova/scheduler/manager.py.","commit_id":"4a8c688fb3999256d4ac1ee192bc1c851d4dc6c3"}],"nova/scheduler/host_manager.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"42020679303854fca34ae486819944330421aedf","unresolved":false,"context_lines":[{"line_number":531,"context_line":"        compute node\u0027s instances is out of sync."},{"line_number":532,"context_line":"        \"\"\""},{"line_number":533,"context_line":"        # NOTE(edleafe): implementation to follow in a subsequent patch set."},{"line_number":534,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_345fd010","line":534,"updated":"2015-03-13 16:39:15.000000000","message":"Erm, I really dislike creating empty methods that are hooked to a RPC API endpoint so close to FeatureFreeze.\n\nI mean, if we hit FF right after that patch, and before you have the chance to merge the upfront patch, it would leave those methods publicly available for a whole release.\n\nPlease invert the dependencies and I\u0027ll be happy.","commit_id":"36ecd1476f76f05755f99ab8f87a9756a5ad90bd"}],"nova/scheduler/manager.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"86e1b718785b4d055eea5856a248a4609615e6ba","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        \"\"\"Receives information about changes to a host\u0027s instances, and"},{"line_number":110,"context_line":"        updates the driver\u0027s HostManager with that information."},{"line_number":111,"context_line":"        \"\"\""},{"line_number":112,"context_line":"        self.driver.update_instance_info(context, host_name, instance_info)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def delete_instance_info(self, context, host_name, instance_uuid):"},{"line_number":115,"context_line":"        \"\"\"Receives information about the deletion of one of a host\u0027s"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_85d5b01d","line":112,"updated":"2015-03-07 23:46:45.000000000","message":"emm...we can call the host_manager directly like \u0027delete_aggregate\u0027.","commit_id":"9ca937e1f8949c4d1765b1bee48cc5392dc831ec"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"fe9d71380ceef009d3fc78cbe2677f1d3dba9050","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        \"\"\"Receives information about changes to a host\u0027s instances, and"},{"line_number":110,"context_line":"        updates the driver\u0027s HostManager with that information."},{"line_number":111,"context_line":"        \"\"\""},{"line_number":112,"context_line":"        self.driver.update_instance_info(context, host_name, instance_info)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def delete_instance_info(self, context, host_name, instance_uuid):"},{"line_number":115,"context_line":"        \"\"\"Receives information about the deletion of one of a host\u0027s"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_57750ac9","line":112,"in_reply_to":"9a80dd14_85d5b01d","updated":"2015-03-09 17:15:27.000000000","message":"Do you mean to drop the context param here, instead of passing it along to maintain the method signature?","commit_id":"9ca937e1f8949c4d1765b1bee48cc5392dc831ec"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"0b766ede144b8c25bdf56ca8b072f601ff173768","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        dests \u003d self.manager.select_destinations(context, request_spec,"},{"line_number":154,"context_line":"            filter_properties)"},{"line_number":155,"context_line":"        return dests"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def update_instance_info(self, context, host_name, instance_info):"},{"line_number":158,"context_line":"        \"\"\"Receives information about changes to a host\u0027s instances, and"},{"line_number":159,"context_line":"        updates the driver\u0027s HostManager with that information."}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_e6e2f79e","line":156,"updated":"2015-03-07 19:03:10.000000000","message":"No need to add the methods here. V3.0 doesn\u0027t support them, nor should it.","commit_id":"9ca937e1f8949c4d1765b1bee48cc5392dc831ec"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"fe9d71380ceef009d3fc78cbe2677f1d3dba9050","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        dests \u003d self.manager.select_destinations(context, request_spec,"},{"line_number":154,"context_line":"            filter_properties)"},{"line_number":155,"context_line":"        return dests"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def update_instance_info(self, context, host_name, instance_info):"},{"line_number":158,"context_line":"        \"\"\"Receives information about changes to a host\u0027s instances, and"},{"line_number":159,"context_line":"        updates the driver\u0027s HostManager with that information."}],"source_content_type":"text/x-python","patch_set":7,"id":"9a80dd14_3a44fb48","line":156,"in_reply_to":"9a80dd14_e6e2f79e","updated":"2015-03-09 17:15:27.000000000","message":"Done","commit_id":"9ca937e1f8949c4d1765b1bee48cc5392dc831ec"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"5fb6ce94a74814fd6a6b1665d7c6dbf3c060a6c6","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        \"\"\"Receives information about changes to a host\u0027s instances, and"},{"line_number":110,"context_line":"        updates the driver\u0027s HostManager with that information."},{"line_number":111,"context_line":"        \"\"\""},{"line_number":112,"context_line":"        self.driver.update_instance_info(context, host_name, instance_info)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def delete_instance_info(self, context, host_name, instance_uuid):"},{"line_number":115,"context_line":"        \"\"\"Receives information about the deletion of one of a host\u0027s"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_a2f502ee","line":112,"updated":"2015-03-10 11:12:26.000000000","message":"I think what Alex meant in the previous patchset was that you can call the host_manager method directly from here instead of needing to route through a driver method.\n\n  self.driver.host_manager.update_instance_info(...","commit_id":"4a8c688fb3999256d4ac1ee192bc1c851d4dc6c3"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"b1f548a0a82e46c7aff2422f94d581b3fd3b24ee","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        \"\"\"Receives information about changes to a host\u0027s instances, and"},{"line_number":110,"context_line":"        updates the driver\u0027s HostManager with that information."},{"line_number":111,"context_line":"        \"\"\""},{"line_number":112,"context_line":"        self.driver.update_instance_info(context, host_name, instance_info)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def delete_instance_info(self, context, host_name, instance_uuid):"},{"line_number":115,"context_line":"        \"\"\"Receives information about the deletion of one of a host\u0027s"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_0cf6005d","line":112,"in_reply_to":"9a80dd14_4c05580f","updated":"2015-03-10 12:21:41.000000000","message":"Ah, I see what you were saying. I didn\u0027t feel it was OK to skip over a layer in case some driver needed to modify the call, but I see that other calls do the same. Done.","commit_id":"4a8c688fb3999256d4ac1ee192bc1c851d4dc6c3"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a0faa2843a3a81888479899fb88f4011bdf2497d","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        \"\"\"Receives information about changes to a host\u0027s instances, and"},{"line_number":110,"context_line":"        updates the driver\u0027s HostManager with that information."},{"line_number":111,"context_line":"        \"\"\""},{"line_number":112,"context_line":"        self.driver.update_instance_info(context, host_name, instance_info)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    def delete_instance_info(self, context, host_name, instance_uuid):"},{"line_number":115,"context_line":"        \"\"\"Receives information about the deletion of one of a host\u0027s"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_4c05580f","line":112,"in_reply_to":"9a80dd14_a2f502ee","updated":"2015-03-10 12:03:09.000000000","message":"Thanks, Hans, That is exactly what I say. Because there isn\u0027t any we need to do in the driver. We can call the host_manager directly.","commit_id":"4a8c688fb3999256d4ac1ee192bc1c851d4dc6c3"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"67b146ef56d6412fff32529dc2054fe9f5995ef3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"class SchedulerManager(manager.Manager):"},{"line_number":56,"context_line":"    \"\"\"Chooses a host to run instances on.\"\"\""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    target \u003d messaging.Target(version\u003d\u00274.1\u0027)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def __init__(self, scheduler_driver\u003dNone, *args, **kwargs):"},{"line_number":61,"context_line":"        if not scheduler_driver:"}],"source_content_type":"text/x-python","patch_set":16,"id":"9a80dd14_2e6b6a86","line":58,"updated":"2015-03-17 22:03:01.000000000","message":"Needs a version bump here, right?","commit_id":"6b684dcd7625c71391a10b589048ff7e0d22bb47"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"cf16affbaebc69c336b6cce3ee78ceb709e6eca3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"class SchedulerManager(manager.Manager):"},{"line_number":56,"context_line":"    \"\"\"Chooses a host to run instances on.\"\"\""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    target \u003d messaging.Target(version\u003d\u00274.1\u0027)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def __init__(self, scheduler_driver\u003dNone, *args, **kwargs):"},{"line_number":61,"context_line":"        if not scheduler_driver:"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_eca79a09","line":58,"updated":"2015-03-17 22:50:36.000000000","message":"This got reverted :(","commit_id":"b222675df591fad2b75cf947c4c8dd0d958e0687"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"2719720b75ce4256f2d6f288810086c776028440","unresolved":false,"context_lines":[{"line_number":55,"context_line":"class SchedulerManager(manager.Manager):"},{"line_number":56,"context_line":"    \"\"\"Chooses a host to run instances on.\"\"\""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    target \u003d messaging.Target(version\u003d\u00274.1\u0027)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def __init__(self, scheduler_driver\u003dNone, *args, **kwargs):"},{"line_number":61,"context_line":"        if not scheduler_driver:"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_0cc30e8b","line":58,"in_reply_to":"9a80dd14_eca79a09","updated":"2015-03-17 22:55:37.000000000","message":"I shouldn\u0027t be allowed near computers.\nFixed.","commit_id":"b222675df591fad2b75cf947c4c8dd0d958e0687"}],"nova/scheduler/rpcapi.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"d9b848693c2c0d1a5771c208544a1c6c2e92f60b","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        \u0027havana\u0027: \u00272.9\u0027,"},{"line_number":100,"context_line":"        \u0027icehouse\u0027: \u00273.0\u0027,"},{"line_number":101,"context_line":"        \u0027juno\u0027: \u00273.0\u0027,"},{"line_number":102,"context_line":"        \u0027kilo\u0027: \u00274.2\u0027,"},{"line_number":103,"context_line":"    }"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_06be2bae","line":102,"updated":"2015-03-13 14:53:21.000000000","message":"Not really a problem with this patch, but this alias shouldn\u0027t have been added until release time.","commit_id":"36ecd1476f76f05755f99ab8f87a9756a5ad90bd"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"85bd4eb9fe4be1f04f3d384111c5af5c0e083da4","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        \u0027havana\u0027: \u00272.9\u0027,"},{"line_number":100,"context_line":"        \u0027icehouse\u0027: \u00273.0\u0027,"},{"line_number":101,"context_line":"        \u0027juno\u0027: \u00273.0\u0027,"},{"line_number":102,"context_line":"        \u0027kilo\u0027: \u00274.2\u0027,"},{"line_number":103,"context_line":"    }"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_c5cec82c","line":102,"in_reply_to":"9a80dd14_06be2bae","updated":"2015-03-13 15:24:10.000000000","message":"Ah, didn\u0027t know that. I thought we bump it up with each new version, and add a new key for each cycle.","commit_id":"36ecd1476f76f05755f99ab8f87a9756a5ad90bd"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"42020679303854fca34ae486819944330421aedf","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        \u0027havana\u0027: \u00272.9\u0027,"},{"line_number":100,"context_line":"        \u0027icehouse\u0027: \u00273.0\u0027,"},{"line_number":101,"context_line":"        \u0027juno\u0027: \u00273.0\u0027,"},{"line_number":102,"context_line":"        \u0027kilo\u0027: \u00274.2\u0027,"},{"line_number":103,"context_line":"    }"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_343190ed","line":102,"in_reply_to":"9a80dd14_c5cec82c","updated":"2015-03-13 16:39:15.000000000","message":"Yeah, I don\u0027t like it to be added honetly :(","commit_id":"36ecd1476f76f05755f99ab8f87a9756a5ad90bd"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"446f9459a212a33ba536c256dd8b7f5d5084d836","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        \u0027havana\u0027: \u00272.9\u0027,"},{"line_number":100,"context_line":"        \u0027icehouse\u0027: \u00273.0\u0027,"},{"line_number":101,"context_line":"        \u0027juno\u0027: \u00273.0\u0027,"},{"line_number":102,"context_line":"        \u0027kilo\u0027: \u00274.2\u0027,"},{"line_number":103,"context_line":"    }"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def __init__(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"9a80dd14_a80197b0","line":102,"updated":"2015-03-13 21:47:34.000000000","message":"as said, I would rather prefer that you don\u0027t change this, but that\u0027s fine unless you need to rebase...","commit_id":"13459592b6c168a9651eee4d6a6e8ee78370f6ce"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"67b146ef56d6412fff32529dc2054fe9f5995ef3","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        * 4.0 - Removed backwards compat for Icehouse"},{"line_number":90,"context_line":"        * 4.1 - Add update_aggregates() and delete_aggregate()"},{"line_number":91,"context_line":"        * 4.2 - Added update_instance_info(), delete_instance_info(), and"},{"line_number":92,"context_line":"                sync_instance_info()  methods"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"9a80dd14_8e07f6c8","line":91,"updated":"2015-03-17 22:03:01.000000000","message":"Yep :)","commit_id":"6b684dcd7625c71391a10b589048ff7e0d22bb47"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"67b146ef56d6412fff32529dc2054fe9f5995ef3","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        cctxt.cast(ctxt, \u0027delete_aggregate\u0027, aggregate\u003daggregate)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def update_instance_info(self, ctxt, host_name, instance_info):"},{"line_number":130,"context_line":"        cctxt \u003d self.client.prepare(version\u003d\u00274.2\u0027, fanout\u003dTrue)"},{"line_number":131,"context_line":"        return cctxt.cast(ctxt, \u0027update_instance_info\u0027, host_name\u003dhost_name,"},{"line_number":132,"context_line":"                          instance_info\u003dinstance_info)"},{"line_number":133,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"9a80dd14_eef792d2","line":130,"updated":"2015-03-17 22:03:01.000000000","message":"So these will fail against a manager in the same tree, because 4.2 \u003e 4.1","commit_id":"6b684dcd7625c71391a10b589048ff7e0d22bb47"}],"nova/tests/unit/objects/test_instance.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"f5b580d1dfd663b0edd2aec487c3fa014d54e8b7","unresolved":false,"context_lines":[{"line_number":1501,"context_line":"        self.assertEqual(len(inst_list.objects), 1)"},{"line_number":1502,"context_line":""},{"line_number":1503,"context_line":""},{"line_number":1504,"context_line":""},{"line_number":1505,"context_line":"class TestInstanceListObject(test_objects._LocalTest,"},{"line_number":1506,"context_line":"                             _TestInstanceListObject):"},{"line_number":1507,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba7be1f8_ceefec85","side":"PARENT","line":1504,"updated":"2015-03-03 01:47:54.000000000","message":"Could you remove this change in the next patch?  It just consolidates the files to review.","commit_id":"561e444ecf913482df6bd9de4f45049a127b1219"}]}
