)]}'
{"cinder/objects/backup.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"48c5c66b041823bff012c43d3a3288c2962ba4d6","unresolved":true,"context_lines":[{"line_number":110,"context_line":"    def has_dependent_backups(self):"},{"line_number":111,"context_line":"        return bool(self.num_dependent_backups)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def obj_make_compatible(self, primitive, target_version):"},{"line_number":114,"context_line":"        \"\"\"Make an object representation compatible with a target version.\"\"\""},{"line_number":115,"context_line":"        added_fields \u003d (((1, 7), (\u0027parent\u0027,)),)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        super(Backup, self).obj_make_compatible(primitive, target_version)"},{"line_number":118,"context_line":"        target_version \u003d versionutils.convert_version_to_tuple(target_version)"},{"line_number":119,"context_line":"        for version, remove_fields in added_fields:"},{"line_number":120,"context_line":"            if target_version \u003c version:"},{"line_number":121,"context_line":"                for obj_field in remove_fields:"},{"line_number":122,"context_line":"                    primitive.pop(obj_field, None)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    @classmethod"},{"line_number":125,"context_line":"    def _from_db_object(cls, context, backup, db_backup, expected_attrs\u003dNone):"},{"line_number":126,"context_line":"        if expected_attrs is None:"}],"source_content_type":"text/x-python","patch_set":8,"id":"6c827527_10a395ea","side":"PARENT","line":123,"range":{"start_line":113,"start_character":0,"end_line":123,"end_character":0},"updated":"2021-08-26 11:24:20.000000000","message":"I assume people changing/reviewing code are aware about adding this method else we would end up with problems.","commit_id":"28d9bca7d612ba263dce116525064842c99186fa"}],"cinder/objects/base.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"9d361334cfc58e9c6013237622d1b0742d8b3e6b","unresolved":true,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def __init__(self):"},{"line_number":46,"context_line":"        super(CinderObjectVersionsHistory, self).__init__()"},{"line_number":47,"context_line":"        # NOTE(dulek): This is our pre-history and a starting point - Liberty."},{"line_number":48,"context_line":"        # We want Mitaka to be able to talk to Liberty services, so we need to"},{"line_number":49,"context_line":"        # handle backporting to these objects versions (although I don\u0027t expect"},{"line_number":50,"context_line":"        # we\u0027ve made a lot of incompatible changes inside the objects)."},{"line_number":51,"context_line":"        #"},{"line_number":52,"context_line":"        # If an object doesn\u0027t exist in Liberty, RPC API compatibility layer"},{"line_number":53,"context_line":"        # shouldn\u0027t send it or convert it to a dictionary."},{"line_number":54,"context_line":"        #"},{"line_number":55,"context_line":"        # Please note that we do not need to add similar entires for each"},{"line_number":56,"context_line":"        # release. Liberty is here just for historical reasons."},{"line_number":57,"context_line":"        self.versions \u003d [\u00271.38\u0027]"},{"line_number":58,"context_line":"        self[\u00271.38\u0027] \u003d {"},{"line_number":59,"context_line":"            \u0027Backup\u0027: \u00271.7\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"4b9ec86f_a7e90937","line":56,"range":{"start_line":47,"start_character":0,"end_line":56,"end_character":63},"updated":"2021-08-26 01:39:27.000000000","message":"This could use a rewrite, but a follow up patch will be fine--no sense holding this up if there aren\u0027t other changes.","commit_id":"b78997c2bb8416a43fe0f03bac7853503bfa5422"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"9d361334cfc58e9c6013237622d1b0742d8b3e6b","unresolved":true,"context_lines":[{"line_number":130,"context_line":"#     OBJ_VERSIONS.add(\u00271.37\u0027, {\u0027RequestSpec\u0027: \u00271.5\u0027})"},{"line_number":131,"context_line":"#     OBJ_VERSIONS.add(\u00271.38\u0027, {\u0027Backup\u0027: \u00271.7\u0027, \u0027BackupImport\u0027: \u00271.7\u0027})"},{"line_number":132,"context_line":"# When we reach T release we remove versions 1.34 and 1.35 and update __init__"},{"line_number":133,"context_line":"# method in CinderObjectVerseionsHistory to bump VolumeAttachment to 1.3,"},{"line_number":134,"context_line":"# Backup to 1.6 and BackupImport to 1.6, and changing the versions list to"},{"line_number":135,"context_line":"# \u00271.35\u0027 and the self[\u0027\u003cversioname\u003e\u0027] \u003d { to self[\u00271.35\u0027] \u003d {"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"c7f555bb_3398dfda","line":133,"range":{"start_line":133,"start_character":28,"end_line":133,"end_character":29},"updated":"2021-08-26 01:39:27.000000000","message":"only fix if you need to put up a new PS, what you\u0027re talking about is clear enough","commit_id":"b78997c2bb8416a43fe0f03bac7853503bfa5422"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"48c5c66b041823bff012c43d3a3288c2962ba4d6","unresolved":true,"context_lines":[{"line_number":132,"context_line":"# When we reach T release we remove versions 1.34 and 1.35 and update __init__"},{"line_number":133,"context_line":"# method in CinderObjectVerseionsHistory to bump VolumeAttachment to 1.3,"},{"line_number":134,"context_line":"# Backup to 1.6 and BackupImport to 1.6, and changing the versions list to"},{"line_number":135,"context_line":"# \u00271.35\u0027 and the self[\u0027\u003cversioname\u003e\u0027] \u003d { to self[\u00271.35\u0027] \u003d {"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"class CinderObjectRegistry(base.VersionedObjectRegistry):"}],"source_content_type":"text/x-python","patch_set":8,"id":"a0029d3c_0b014a4e","line":135,"range":{"start_line":135,"start_character":0,"end_line":135,"end_character":61},"updated":"2021-08-26 11:24:20.000000000","message":"is this incomplete? did you plan to explain it till version 1.38?","commit_id":"b78997c2bb8416a43fe0f03bac7853503bfa5422"}],"cinder/tests/unit/objects/test_base.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"9d361334cfc58e9c6013237622d1b0742d8b3e6b","unresolved":true,"context_lines":[{"line_number":41,"context_line":"        v11 \u003d {\u0027Backup\u0027: \u00272.1\u0027}"},{"line_number":42,"context_line":"        history.add(\u00271.0\u0027, v10)"},{"line_number":43,"context_line":"        history.add(\u00271.1\u0027, v11)"},{"line_number":44,"context_line":"        # We have 3 elements because we have the liberty version by default"},{"line_number":45,"context_line":"        self.assertEqual(2 + 1, len(history))"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        expected_v10 \u003d history[first_version].copy()"}],"source_content_type":"text/x-python","patch_set":8,"id":"a0da1082_aa72f33c","line":44,"range":{"start_line":44,"start_character":49,"end_line":44,"end_character":56},"updated":"2021-08-26 01:39:27.000000000","message":"nit: first","commit_id":"b78997c2bb8416a43fe0f03bac7853503bfa5422"}],"cinder/tests/unit/test.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"48c5c66b041823bff012c43d3a3288c2962ba4d6","unresolved":true,"context_lines":[{"line_number":115,"context_line":"    FAKE_OVO_HISTORY_VERSION \u003d \u00279999.999\u0027"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        super(TestCase, self).__init__(*args, **kwargs)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        # Suppress some log messages during test runs"}],"source_content_type":"text/x-python","patch_set":8,"id":"47c76cc5_1594c8bd","line":118,"updated":"2021-08-26 11:24:20.000000000","message":"nit: not needed","commit_id":"b78997c2bb8416a43fe0f03bac7853503bfa5422"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"9d361334cfc58e9c6013237622d1b0742d8b3e6b","unresolved":true,"context_lines":[{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        self.vt \u003d volume_types.get_default_volume_type()"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"        # Create fake RPC history if we don\u0027t have enough to do tests"},{"line_number":307,"context_line":"        obj_versions \u003d objects_base.OBJ_VERSIONS"},{"line_number":308,"context_line":"        if len(obj_versions) \u003d\u003d 1:"},{"line_number":309,"context_line":"            vol_vers \u003d obj_versions.get_current_versions()[\u0027Volume\u0027].split(\u0027.\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"dafea358_b353fa66","line":306,"updated":"2021-08-26 01:39:27.000000000","message":"This is a clever move.","commit_id":"b78997c2bb8416a43fe0f03bac7853503bfa5422"}]}
