)]}'
{"tempest/api/volume/admin/test_snapshots_backup.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"b39ab1dbee63dd410ac709e849f052de652edee5","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        if not CONF.volume_feature_enabled.backup:"},{"line_number":34,"context_line":"            raise cls.skipException(\"Cinder backup feature disabled\")"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _delete_backup(self, backup_id):"},{"line_number":37,"context_line":"        self.admin_backups_client.delete_backup(backup_id)"},{"line_number":38,"context_line":"        self.admin_backups_client.wait_for_resource_deletion(backup_id)"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_e4d20ed1","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":22},"updated":"2017-03-29 05:47:13.000000000","message":"not used","commit_id":"bb4a13f281aa6383f162ff2a9925f79b84c95bc0"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"281077084cc4c5a6824698ee3f918968d8b98243","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        if not CONF.volume_feature_enabled.backup:"},{"line_number":34,"context_line":"            raise cls.skipException(\"Cinder backup feature disabled\")"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _delete_backup(self, backup_id):"},{"line_number":37,"context_line":"        self.admin_backups_client.delete_backup(backup_id)"},{"line_number":38,"context_line":"        self.admin_backups_client.wait_for_resource_deletion(backup_id)"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_849102f4","line":36,"range":{"start_line":36,"start_character":8,"end_line":36,"end_character":22},"in_reply_to":"ffe62b97_e4d20ed1","updated":"2017-03-29 05:48:55.000000000","message":"yeep , will be removed","commit_id":"bb4a13f281aa6383f162ff2a9925f79b84c95bc0"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"b39ab1dbee63dd410ac709e849f052de652edee5","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        # Create a volume"},{"line_number":43,"context_line":"        volume \u003d self.create_volume()"},{"line_number":44,"context_line":"        # Create a snapshot"},{"line_number":45,"context_line":"        snapshot \u003d self.create_snapshot(volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        backup_name \u003d data_utils.rand_name("},{"line_number":48,"context_line":"            self.__class__.__name__ + \u0027-Backup\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_64defeda","line":45,"range":{"start_line":45,"start_character":24,"end_line":45,"end_character":39},"updated":"2017-03-29 05:47:13.000000000","message":"should check is snapshot supported","commit_id":"bb4a13f281aa6383f162ff2a9925f79b84c95bc0"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"281077084cc4c5a6824698ee3f918968d8b98243","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        # Create a volume"},{"line_number":43,"context_line":"        volume \u003d self.create_volume()"},{"line_number":44,"context_line":"        # Create a snapshot"},{"line_number":45,"context_line":"        snapshot \u003d self.create_snapshot(volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        backup_name \u003d data_utils.rand_name("},{"line_number":48,"context_line":"            self.__class__.__name__ + \u0027-Backup\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ffe62b97_a48646b8","line":45,"range":{"start_line":45,"start_character":24,"end_line":45,"end_character":39},"in_reply_to":"ffe62b97_64defeda","updated":"2017-03-29 05:48:55.000000000","message":"ok","commit_id":"bb4a13f281aa6383f162ff2a9925f79b84c95bc0"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"b9691dfbfed297bda0eb85ed734683386f2ac7a6","unresolved":false,"context_lines":[{"line_number":21,"context_line":"CONF \u003d config.CONF"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class SnapshotsBackupsAdminV2Test(base.BaseVolumeAdminTest):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":2,"id":"bff0334d_519b5a71","line":24,"updated":"2017-04-06 08:49:02.000000000","message":"This doesn\u0027t have to be an \"admin-only\" test. \n\nPlease use the regular user/\"primary credentials\".","commit_id":"092414eb5cde1c1c4bb139df3ef39160cb0be6be"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"734c7c8955eeb111fdfdafed52758f08dfc10bbf","unresolved":false,"context_lines":[{"line_number":21,"context_line":"CONF \u003d config.CONF"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class SnapshotsBackupsAdminV2Test(base.BaseVolumeAdminTest):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":2,"id":"bff0334d_a6af0b93","line":24,"in_reply_to":"bff0334d_519b5a71","updated":"2017-04-06 09:32:36.000000000","message":"Hi Jordon ,\nThank you \n\nFixing\nBenny","commit_id":"092414eb5cde1c1c4bb139df3ef39160cb0be6be"}],"tempest/api/volume/test_snapshots_backup.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"767fcc7b7e278ec6d831f1b36e658c825eff1a54","unresolved":false,"context_lines":[{"line_number":21,"context_line":"CONF \u003d config.CONF"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class SnapshotsBackupsV2Test(base.BaseVolumeTest):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_f0f68563","line":24,"updated":"2017-04-10 06:57:23.000000000","message":"So, I think this class name shouldn\u0027t have \u0027V2\u0027 if you put this class under the unversioned path.\nThis is nit, but I think we should align.","commit_id":"8afa1c2ff92d29c8af5d928ccb184dc3c65551bb"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"75215450be9eea1226cf46c53fbc3758663e55cc","unresolved":false,"context_lines":[{"line_number":21,"context_line":"CONF \u003d config.CONF"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class SnapshotsBackupsV2Test(base.BaseVolumeTest):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_e50fa985","line":24,"in_reply_to":"bff0334d_057ded6c","updated":"2017-04-11 17:16:19.000000000","message":"Hi, \nI checked other classes name and it contains V2 in the class name even if its not in V2 folder.\n\nLets fix it (all classes) in a separate patch\nBenny","commit_id":"8afa1c2ff92d29c8af5d928ccb184dc3c65551bb"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"3770921cef7e56da417ef4ab503866c8786acafb","unresolved":false,"context_lines":[{"line_number":21,"context_line":"CONF \u003d config.CONF"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class SnapshotsBackupsV2Test(base.BaseVolumeTest):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_057ded6c","line":24,"in_reply_to":"bff0334d_f0f68563","updated":"2017-04-11 17:02:02.000000000","message":"ok","commit_id":"8afa1c2ff92d29c8af5d928ccb184dc3c65551bb"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"767fcc7b7e278ec6d831f1b36e658c825eff1a54","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        if not CONF.volume_feature_enabled.backup:"},{"line_number":30,"context_line":"            raise cls.skipException(\"Cinder backup feature disabled\")"},{"line_number":31,"context_line":"        if not CONF.volume_feature_enabled.snapshot:"},{"line_number":32,"context_line":"            raise cls.skipException(\"Cinder snapshot feature disabled\")"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @decorators.idempotent_id(\u0027bbcfa285-af7f-479e-8c1a-8c34fc16543c\u0027)"},{"line_number":35,"context_line":"    def test_snapshot_backup(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_d0e701ac","line":32,"updated":"2017-04-10 06:57:23.000000000","message":"nit(this is not for -1 reason), I actually prefer like this here:\n\n if not (CONF.volume_feature_enabled.backup and CONF.volume_feature_enabled.snapshot):\n   raise cls.skipExpection(\"Cinder backup or snapshot feature disabled\")\n\nI think this is good for users who don\u0027t need to run 2 times to know the condition.","commit_id":"8afa1c2ff92d29c8af5d928ccb184dc3c65551bb"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"3770921cef7e56da417ef4ab503866c8786acafb","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        if not CONF.volume_feature_enabled.backup:"},{"line_number":30,"context_line":"            raise cls.skipException(\"Cinder backup feature disabled\")"},{"line_number":31,"context_line":"        if not CONF.volume_feature_enabled.snapshot:"},{"line_number":32,"context_line":"            raise cls.skipException(\"Cinder snapshot feature disabled\")"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @decorators.idempotent_id(\u0027bbcfa285-af7f-479e-8c1a-8c34fc16543c\u0027)"},{"line_number":35,"context_line":"    def test_snapshot_backup(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_85b7bd3a","line":32,"in_reply_to":"bff0334d_d0e701ac","updated":"2017-04-11 17:02:02.000000000","message":"ok , Thanks you \nfixing","commit_id":"8afa1c2ff92d29c8af5d928ccb184dc3c65551bb"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"0b24f44929a4f17fc1de8fc4eee28b0c6300ad71","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # Create a snapshot"},{"line_number":39,"context_line":"        snapshot \u003d self.create_snapshot(volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        backup_name \u003d data_utils.rand_name("},{"line_number":42,"context_line":"            self.__class__.__name__ + \u0027-Backup\u0027)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        backup \u003d self.create_backup(volume_id\u003dvolume[\u0027id\u0027],"},{"line_number":45,"context_line":"                                    snapshot_id\u003dsnapshot[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_e8883c72","line":42,"range":{"start_line":41,"start_character":8,"end_line":42,"end_character":48},"updated":"2017-04-06 11:25:42.000000000","message":"Hi Benny,\n\u0027create_backup\u0027 method creates a random name and you don\u0027t \nreally test the \u0027name\u0027 parameter, so I think you should\nremove it.","commit_id":"8afa1c2ff92d29c8af5d928ccb184dc3c65551bb"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"3770921cef7e56da417ef4ab503866c8786acafb","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # Create a snapshot"},{"line_number":39,"context_line":"        snapshot \u003d self.create_snapshot(volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        backup_name \u003d data_utils.rand_name("},{"line_number":42,"context_line":"            self.__class__.__name__ + \u0027-Backup\u0027)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        backup \u003d self.create_backup(volume_id\u003dvolume[\u0027id\u0027],"},{"line_number":45,"context_line":"                                    snapshot_id\u003dsnapshot[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"bff0334d_258a3169","line":42,"range":{"start_line":41,"start_character":8,"end_line":42,"end_character":48},"in_reply_to":"bff0334d_e8883c72","updated":"2017-04-11 17:02:02.000000000","message":"ok","commit_id":"8afa1c2ff92d29c8af5d928ccb184dc3c65551bb"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"84e28e700d634b3e5a5bef7bd223154b36656cd9","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # Create a snapshot"},{"line_number":39,"context_line":"        snapshot \u003d self.create_snapshot(volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        backup_name \u003d data_utils.rand_name("},{"line_number":42,"context_line":"            self.__class__.__name__ + \u0027-Backup\u0027)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        backup \u003d self.create_backup(volume_id\u003dvolume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_63d63bc6","line":41,"updated":"2017-04-19 12:36:14.000000000","message":"Why do you need an explicit name here ? The create_backup() method will generate one random name for you already.","commit_id":"ef0a951ed20c87356c9166e176cf454f718fb837"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"2cb0ee72ad7cfb1424f4c1ba657f1efdfe74b60d","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        # Create a snapshot"},{"line_number":39,"context_line":"        snapshot \u003d self.create_snapshot(volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        backup_name \u003d data_utils.rand_name("},{"line_number":42,"context_line":"            self.__class__.__name__ + \u0027-Backup\u0027)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        backup \u003d self.create_backup(volume_id\u003dvolume[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ffa3b31_43933ffb","line":41,"in_reply_to":"7ffa3b31_63d63bc6","updated":"2017-04-19 12:38:28.000000000","message":"ok \nfixing\nThanks","commit_id":"ef0a951ed20c87356c9166e176cf454f718fb837"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"56212bf3dcfd8055d377c57f4b1cf1f40e8bd243","unresolved":false,"context_lines":[{"line_number":20,"context_line":"CONF \u003d config.CONF"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class SnapshotsBackupsV2Test(base.BaseVolumeTest):"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    @classmethod"},{"line_number":26,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5ff73747_b464e8ba","line":23,"updated":"2017-04-24 08:02:31.000000000","message":"I think we don\u0027t need \u0027V2\u0027 for a class name.","commit_id":"09e03da16d1093f2a24e5e788e8dbbfec2535d97"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"e041234f46bde0d4f3004bcaa40e9ed484a13982","unresolved":false,"context_lines":[{"line_number":20,"context_line":"CONF \u003d config.CONF"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class SnapshotsBackupsV2Test(base.BaseVolumeTest):"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    @classmethod"},{"line_number":26,"context_line":"    def skip_checks(cls):"}],"source_content_type":"text/x-python","patch_set":6,"id":"5ff73747_c88423b4","line":23,"in_reply_to":"5ff73747_b464e8ba","updated":"2017-04-26 08:38:34.000000000","message":"Hi , \nTo save running time , i will add the test to existing class.\n\nThank you,\nBenny","commit_id":"09e03da16d1093f2a24e5e788e8dbbfec2535d97"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"30fa5e249884d2edf7c0c20c93180d622da9d50c","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        # Create a snapshot"},{"line_number":38,"context_line":"        snapshot \u003d self.create_snapshot(volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        backup \u003d self.create_backup(volume_id\u003dvolume[\u0027id\u0027],"},{"line_number":41,"context_line":"                                    snapshot_id\u003dsnapshot[\u0027id\u0027])"},{"line_number":42,"context_line":"        backup_info \u003d self.backups_client.show_backup("},{"line_number":43,"context_line":"            backup[\u0027id\u0027])[\u0027backup\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"7ffa3b31_a22308bd","line":40,"range":{"start_line":40,"start_character":36,"end_line":40,"end_character":45},"updated":"2017-04-20 02:30:54.000000000","message":"I am curious about why we pass volume_id when creating snapshot backup?\nAny doc or link to explain the details of this function? Thanks","commit_id":"09e03da16d1093f2a24e5e788e8dbbfec2535d97"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"1d40578e63bc71852dd9a5481e3d52e8f7716480","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        # Create a snapshot"},{"line_number":38,"context_line":"        snapshot \u003d self.create_snapshot(volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        backup \u003d self.create_backup(volume_id\u003dvolume[\u0027id\u0027],"},{"line_number":41,"context_line":"                                    snapshot_id\u003dsnapshot[\u0027id\u0027])"},{"line_number":42,"context_line":"        backup_info \u003d self.backups_client.show_backup("},{"line_number":43,"context_line":"            backup[\u0027id\u0027])[\u0027backup\u0027]"}],"source_content_type":"text/x-python","patch_set":6,"id":"7ffa3b31_1c269c69","line":40,"range":{"start_line":40,"start_character":36,"end_line":40,"end_character":45},"in_reply_to":"7ffa3b31_a22308bd","updated":"2017-04-20 09:13:18.000000000","message":"Cinder requires it : https://github.com/openstack/cinder/blob/8a7111b03ddc74ab0f99d00840b43023dc432e2d/cinder/backup/api.py#L212","commit_id":"09e03da16d1093f2a24e5e788e8dbbfec2535d97"}]}
