)]}'
{"nova/objects/instance_info_cache.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"2eeeefc213e6f1b11d5465535c9cedae16439cc0","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        if isinstance(db_obj[\u0027network_info\u0027], basestring):"},{"line_number":31,"context_line":"            info_cache.network_info \u003d db_obj[\u0027network_info\u0027]"},{"line_number":32,"context_line":"        elif db_obj[\u0027network_info\u0027] is not None:"},{"line_number":33,"context_line":"            info_cache.network_info \u003d jsonutils.dumps(db_obj[\u0027network_info\u0027])"},{"line_number":34,"context_line":"        else:"},{"line_number":35,"context_line":"            # Make sure to set network_info to None to avoid confusion"},{"line_number":36,"context_line":"            # between being \"empty\" and \"not yet loaded\""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPn%2F%2FqQA%3D","line":33,"updated":"2013-06-25 19:22:05.000000000","message":"I think this should be NetworkModel.hydrate(db_obj[\u0027network_info\u0027]))... so this is converted to NetworkModel().   The NetworkModel() is just subclassed from list... and I think it would be more correct to actually be the NetworkModel assigned here... instead of just a plain ol\u0027 list.","commit_id":"483bc2ae19904d6ae4fc5195b302da26fd3bd7ff"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"87c6afc2e65392adb280c6af3016e8c17b2884ec","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        if isinstance(db_obj[\u0027network_info\u0027], basestring):"},{"line_number":31,"context_line":"            info_cache.network_info \u003d db_obj[\u0027network_info\u0027]"},{"line_number":32,"context_line":"        elif db_obj[\u0027network_info\u0027] is not None:"},{"line_number":33,"context_line":"            info_cache.network_info \u003d jsonutils.dumps(db_obj[\u0027network_info\u0027])"},{"line_number":34,"context_line":"        else:"},{"line_number":35,"context_line":"            # Make sure to set network_info to None to avoid confusion"},{"line_number":36,"context_line":"            # between being \"empty\" and \"not yet loaded\""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPn%2F%2FqL4%3D","line":33,"in_reply_to":"AAAAPn%2F%2FqQA%3D","updated":"2013-06-25 19:47:00.000000000","message":"Correct. Any time network info is returned or used (except with the legacy shim), it should be a hydrated NetworkModel object.","commit_id":"483bc2ae19904d6ae4fc5195b302da26fd3bd7ff"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"87c6afc2e65392adb280c6af3016e8c17b2884ec","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        else:"},{"line_number":35,"context_line":"            # Make sure to set network_info to None to avoid confusion"},{"line_number":36,"context_line":"            # between being \"empty\" and \"not yet loaded\""},{"line_number":37,"context_line":"            info_cache.network_info \u003d None"},{"line_number":38,"context_line":"        info_cache.obj_reset_changes()"},{"line_number":39,"context_line":"        info_cache._context \u003d context"},{"line_number":40,"context_line":"        return info_cache"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPn%2F%2FqLQ%3D","line":37,"updated":"2013-06-25 19:47:00.000000000","message":"I\u0027m concerned that if network_info is returned as None, lines such as\n\n for vif in network_info:\n     # do whatever\n\nwill fail with\n\n TypeError: \u0027NoneType\u0027 object is not iterable\n\nwhereas if it\u0027s an empty NetworkModel object or list this iterator will work fine. This prevents having to perform an \"is not None\" test before iterating.","commit_id":"483bc2ae19904d6ae4fc5195b302da26fd3bd7ff"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"b01d0425666abcb48cf6e29d770c6d01d29c9058","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        else:"},{"line_number":35,"context_line":"            # Make sure to set network_info to None to avoid confusion"},{"line_number":36,"context_line":"            # between being \"empty\" and \"not yet loaded\""},{"line_number":37,"context_line":"            info_cache.network_info \u003d None"},{"line_number":38,"context_line":"        info_cache.obj_reset_changes()"},{"line_number":39,"context_line":"        info_cache._context \u003d context"},{"line_number":40,"context_line":"        return info_cache"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPn%2F%2FqGg%3D","line":37,"in_reply_to":"AAAAPn%2F%2FqLQ%3D","updated":"2013-06-25 20:09:45.000000000","message":"It\u0027s fine here because it was None in the DB... so it would have broken with the old code, too.   It can be NULL (None) in the DB when an instance is first created, IIRC..","commit_id":"483bc2ae19904d6ae4fc5195b302da26fd3bd7ff"}]}
