)]}'
{"tempest/api/volume/admin/test_volumes_backup.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b5caa8192630ebb1b9b0786b910eb70fe6640d8a","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    def test_force_delete_backup(self):"},{"line_number":142,"context_line":"        # Create a volume"},{"line_number":143,"context_line":"        volume \u003d self.create_volume()"},{"line_number":144,"context_line":"        # Force delete the volume since its status is \"backuping-up\" at"},{"line_number":145,"context_line":"        # the end of the test."},{"line_number":146,"context_line":"        self.addCleanup(self.admin_volume_client.force_delete_volume,"},{"line_number":147,"context_line":"                        volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_77bf2661","line":144,"range":{"start_line":144,"start_character":55,"end_line":144,"end_character":64},"updated":"2017-06-13 20:48:51.000000000","message":"backing\n\nYou called force_delete_backup on L154 so wouldn\u0027t this be in deleting status during tearDown?","commit_id":"bbfe7576c704e6076429627e15efdbfae7cace3a"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"64952e38161d3b252f89a8dba74d3a22fb45ea35","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    def test_force_delete_backup(self):"},{"line_number":142,"context_line":"        # Create a volume"},{"line_number":143,"context_line":"        volume \u003d self.create_volume()"},{"line_number":144,"context_line":"        # Force delete the volume since its status is \"backuping-up\" at"},{"line_number":145,"context_line":"        # the end of the test."},{"line_number":146,"context_line":"        self.addCleanup(self.admin_volume_client.force_delete_volume,"},{"line_number":147,"context_line":"                        volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_442a2890","line":144,"range":{"start_line":144,"start_character":55,"end_line":144,"end_character":64},"in_reply_to":"7f231b9d_77bf2661","updated":"2017-06-14 07:38:27.000000000","message":"Thanks for your comments,\nNo, the volume status is backing-up during the tearDown procedure, the clear_volumes\nclassmethod in BaseVolumeTest class hides an exception, as you can see in\nhttps://github.com/openstack/tempest/blob/master/tempest/api/volume/base.py#L200,\nit tries to delete the volume backup when its status is backing-up.","commit_id":"bbfe7576c704e6076429627e15efdbfae7cace3a"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b5caa8192630ebb1b9b0786b910eb70fe6640d8a","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                        volume[\u0027id\u0027])"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        # Create a backup"},{"line_number":150,"context_line":"        backup \u003d self.backups_client.create_backup("},{"line_number":151,"context_line":"            volume_id\u003dvolume[\u0027id\u0027])[\u0027backup\u0027]"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        # Force delete volume backup while its status is \"creating\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_f760d603","line":150,"range":{"start_line":150,"start_character":17,"end_line":150,"end_character":50},"updated":"2017-06-13 20:48:51.000000000","message":"self.create_backup\n\nUsing the helper in base volume class is much better because:\n1) it waits for volume status to become available\n2) does automatic clean up","commit_id":"bbfe7576c704e6076429627e15efdbfae7cace3a"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"64952e38161d3b252f89a8dba74d3a22fb45ea35","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                        volume[\u0027id\u0027])"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"        # Create a backup"},{"line_number":150,"context_line":"        backup \u003d self.backups_client.create_backup("},{"line_number":151,"context_line":"            volume_id\u003dvolume[\u0027id\u0027])[\u0027backup\u0027]"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        # Force delete volume backup while its status is \"creating\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_7f46d123","line":150,"range":{"start_line":150,"start_character":17,"end_line":150,"end_character":50},"in_reply_to":"7f231b9d_f760d603","updated":"2017-06-14 07:38:27.000000000","message":"The test delete the backup during the creation procedure while volume backup status is \"creating\", so there is not need to wait for volume status to become available.","commit_id":"bbfe7576c704e6076429627e15efdbfae7cace3a"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b5caa8192630ebb1b9b0786b910eb70fe6640d8a","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            volume_id\u003dvolume[\u0027id\u0027])[\u0027backup\u0027]"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        # Force delete volume backup while its status is \"creating\""},{"line_number":154,"context_line":"        self.admin_backups_client.force_delete_backup(backup[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_373c0ee1","line":154,"updated":"2017-06-13 20:48:51.000000000","message":"This seems like a race condition to me.\n\nWhy not: 1) reset_backup_status of the volume after it\u0027s been created to, say, \"creating\" status then 2) force delete the backup here.","commit_id":"bbfe7576c704e6076429627e15efdbfae7cace3a"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"64952e38161d3b252f89a8dba74d3a22fb45ea35","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            volume_id\u003dvolume[\u0027id\u0027])[\u0027backup\u0027]"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        # Force delete volume backup while its status is \"creating\""},{"line_number":154,"context_line":"        self.admin_backups_client.force_delete_backup(backup[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_36640622","line":154,"in_reply_to":"7f231b9d_373c0ee1","updated":"2017-06-14 07:38:27.000000000","message":"I agree that it\u0027s better although the test will take more time, in addition, currently reset_backup_status supports only \"error\" and \"available\" statuses, so the only way to force delete the backup while volume backup status is creating\" is during the creation procedure.","commit_id":"bbfe7576c704e6076429627e15efdbfae7cace3a"},{"author":{"_account_id":23709,"name":"Duc Truong","email":"dkt26111@gmail.com","username":"dtruong"},"change_message_id":"5287c130c766cabd0ada21664064622cb224fd99","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7f231b9d_422fc33e","line":155,"updated":"2017-06-13 22:52:24.000000000","message":"I think a check for self.admin_backups_client.wait_for_resource_deletion(backup[\u0027id\u0027]) would be useful to see if the force_delete_backup did in fact delete the backup.","commit_id":"bbfe7576c704e6076429627e15efdbfae7cace3a"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"64952e38161d3b252f89a8dba74d3a22fb45ea35","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7f231b9d_5f49d5cd","line":155,"in_reply_to":"7f231b9d_422fc33e","updated":"2017-06-14 07:38:27.000000000","message":"I don\u0027t think there is need to wait until the deletion procedure will finish.","commit_id":"bbfe7576c704e6076429627e15efdbfae7cace3a"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"aee5f8aec9e7d15ae1cd3e95825d33c17d024402","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        backup \u003d self.backups_client.create_backup("},{"line_number":151,"context_line":"            volume_id\u003dvolume[\u0027id\u0027])[\u0027backup\u0027]"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        # Force delete volume backup while its status is \"creating\""},{"line_number":154,"context_line":"        self.admin_backups_client.force_delete_backup(backup[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_478d6cd1","line":153,"updated":"2017-06-26 09:06:49.000000000","message":"Ah, indeed. Thanks :)","commit_id":"046c352e86d391482946bd54cc602b840988f692"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"a1fb52a4605e731bd1daa2ff92b475e5d2f7ac1b","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        backup \u003d self.backups_client.create_backup("},{"line_number":151,"context_line":"            volume_id\u003dvolume[\u0027id\u0027])[\u0027backup\u0027]"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        # Force delete volume backup while its status is \"creating\""},{"line_number":154,"context_line":"        self.admin_backups_client.force_delete_backup(backup[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_6670bcdd","line":153,"updated":"2017-06-22 09:37:05.000000000","message":"I guess \u0027its status is \"creating\"\u0027 is true in the most cases. But it\u0027s not guaranteed. So, I think it\u0027s good to mention about it here.","commit_id":"046c352e86d391482946bd54cc602b840988f692"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"d756abb78111ec0c00d355a759e1a62bf9de0465","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        backup \u003d self.backups_client.create_backup("},{"line_number":151,"context_line":"            volume_id\u003dvolume[\u0027id\u0027])[\u0027backup\u0027]"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        # Force delete volume backup while its status is \"creating\""},{"line_number":154,"context_line":"        self.admin_backups_client.force_delete_backup(backup[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_baa8e58b","line":153,"in_reply_to":"5f201791_6670bcdd","updated":"2017-06-25 10:05:11.000000000","message":"To insure that backup status is always \u0027creating\u0027, I think it\u0027s better to wait for its status to become \u0027creating\u0027","commit_id":"046c352e86d391482946bd54cc602b840988f692"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f1b25d6c76b721a775b36720b31539b68f387cca","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                                                backup[\u0027id\u0027], \u0027creating\u0027)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        # Force delete volume backup while its status is \"creating\""},{"line_number":157,"context_line":"        self.admin_backups_client.force_delete_backup(backup[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f201791_17ec2b8d","line":157,"range":{"start_line":157,"start_character":8,"end_line":157,"end_character":67},"updated":"2017-06-27 01:40:30.000000000","message":"sorry I still don\u0027t understand why we needn\u0027t check the backup is deleted successfully or not(i.e., wait_for_resource_deletion)?","commit_id":"c882c187fabe3d3a4efdab798f8ba89ab3979fb2"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"5933e574a1a3e0c63101efa106b99bc4b87cb4d8","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                                                backup[\u0027id\u0027], \u0027creating\u0027)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        # Force delete volume backup while its status is \"creating\""},{"line_number":157,"context_line":"        self.admin_backups_client.force_delete_backup(backup[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f201791_20e23aa1","line":157,"range":{"start_line":157,"start_character":8,"end_line":157,"end_character":67},"in_reply_to":"5f201791_17ec2b8d","updated":"2017-06-27 07:08:13.000000000","message":"Thanks for your comments,\nOn second thought may be it\u0027s better to verify the backup is deleted successfully","commit_id":"c882c187fabe3d3a4efdab798f8ba89ab3979fb2"}],"tempest/lib/services/volume/v2/backups_client.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"a1fb52a4605e731bd1daa2ff92b475e5d2f7ac1b","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def force_delete_backup(self, backup_id):"},{"line_number":59,"context_line":"        \"\"\"Force Delete volume backup.\"\"\""},{"line_number":60,"context_line":"        post_body \u003d json.dumps({\u0027os-force_delete\u0027: {}})"},{"line_number":61,"context_line":"        resp, body \u003d self.post(\u0027backups/%s/action\u0027 % backup_id, post_body)"},{"line_number":62,"context_line":"        self.expected_success(202, resp.status)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_866d1806","line":59,"updated":"2017-06-22 09:37:05.000000000","message":"Could you add the API reference URL if possible?","commit_id":"046c352e86d391482946bd54cc602b840988f692"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"d756abb78111ec0c00d355a759e1a62bf9de0465","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def force_delete_backup(self, backup_id):"},{"line_number":59,"context_line":"        \"\"\"Force Delete volume backup.\"\"\""},{"line_number":60,"context_line":"        post_body \u003d json.dumps({\u0027os-force_delete\u0027: {}})"},{"line_number":61,"context_line":"        resp, body \u003d self.post(\u0027backups/%s/action\u0027 % backup_id, post_body)"},{"line_number":62,"context_line":"        self.expected_success(202, resp.status)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_9aad299d","line":59,"in_reply_to":"5f201791_1420ffaf","updated":"2017-06-25 10:05:11.000000000","message":"Done","commit_id":"046c352e86d391482946bd54cc602b840988f692"},{"author":{"_account_id":23659,"name":"Jaewoo Park","email":"jaewoopark91@gmail.com","username":"aselius"},"change_message_id":"5e42547c6c35d04fe378e26837ca5cd2b7a85174","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def force_delete_backup(self, backup_id):"},{"line_number":59,"context_line":"        \"\"\"Force Delete volume backup.\"\"\""},{"line_number":60,"context_line":"        post_body \u003d json.dumps({\u0027os-force_delete\u0027: {}})"},{"line_number":61,"context_line":"        resp, body \u003d self.post(\u0027backups/%s/action\u0027 % backup_id, post_body)"},{"line_number":62,"context_line":"        self.expected_success(202, resp.status)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f201791_1420ffaf","line":59,"in_reply_to":"5f201791_866d1806","updated":"2017-06-22 21:20:33.000000000","message":"API reference:\nhttps://developer.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003dforce-delete-a-backup-detail#backups-backups","commit_id":"046c352e86d391482946bd54cc602b840988f692"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"243a3e4864fb968e8ed2e0dd9ad5b2a4c75d9b44","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def force_delete_backup(self, backup_id):"},{"line_number":59,"context_line":"        \"\"\"Force Delete volume backup."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        For a full list of available parameters, please refer to the official"},{"line_number":62,"context_line":"        API reference:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_846eeb2c","line":59,"range":{"start_line":59,"start_character":17,"end_line":59,"end_character":23},"updated":"2017-06-26 00:03:55.000000000","message":"nit: delete","commit_id":"20f03cb98c4b5d169624c66b9a098789126bcfb0"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"e567e1583849ae87ddb30f379beae4f8dc715147","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def force_delete_backup(self, backup_id):"},{"line_number":59,"context_line":"        \"\"\"Force Delete volume backup."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        For a full list of available parameters, please refer to the official"},{"line_number":62,"context_line":"        API reference:"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_73f713d5","line":59,"range":{"start_line":59,"start_character":17,"end_line":59,"end_character":23},"in_reply_to":"5f201791_846eeb2c","updated":"2017-06-26 05:29:54.000000000","message":"Done","commit_id":"20f03cb98c4b5d169624c66b9a098789126bcfb0"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"243a3e4864fb968e8ed2e0dd9ad5b2a4c75d9b44","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    def force_delete_backup(self, backup_id):"},{"line_number":59,"context_line":"        \"\"\"Force Delete volume backup."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        For a full list of available parameters, please refer to the official"},{"line_number":62,"context_line":"        API reference:"},{"line_number":63,"context_line":"        https://developer.openstack.org/api-ref/block-storage/v2/index.html?"},{"line_number":64,"context_line":"        expanded\u003dlist-backups-detail,force-delete-backup-detail#"},{"line_number":65,"context_line":"        force-delete-backup"},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":"        post_body \u003d json.dumps({\u0027os-force_delete\u0027: {}})"},{"line_number":68,"context_line":"        resp, body \u003d self.post(\u0027backups/%s/action\u0027 % backup_id, post_body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_a48567d1","line":65,"range":{"start_line":61,"start_character":8,"end_line":65,"end_character":27},"updated":"2017-06-26 00:03:55.000000000","message":"1) The api-ref link is too long\n2) The api-ref link should be on 1 line -- it\u0027s OK if it\u0027s longer than 80 chars, it will pass pep8\n\nFor a full list of available parameters, please refer to the official API reference:\nhttps://developer.openstack.org/api-ref/block-storage/v2/index.html#force-delete-backup","commit_id":"20f03cb98c4b5d169624c66b9a098789126bcfb0"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"e567e1583849ae87ddb30f379beae4f8dc715147","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    def force_delete_backup(self, backup_id):"},{"line_number":59,"context_line":"        \"\"\"Force Delete volume backup."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        For a full list of available parameters, please refer to the official"},{"line_number":62,"context_line":"        API reference:"},{"line_number":63,"context_line":"        https://developer.openstack.org/api-ref/block-storage/v2/index.html?"},{"line_number":64,"context_line":"        expanded\u003dlist-backups-detail,force-delete-backup-detail#"},{"line_number":65,"context_line":"        force-delete-backup"},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":"        post_body \u003d json.dumps({\u0027os-force_delete\u0027: {}})"},{"line_number":68,"context_line":"        resp, body \u003d self.post(\u0027backups/%s/action\u0027 % backup_id, post_body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_530097ab","line":65,"range":{"start_line":61,"start_character":8,"end_line":65,"end_character":27},"in_reply_to":"5f201791_a48567d1","updated":"2017-06-26 05:29:54.000000000","message":"Done","commit_id":"20f03cb98c4b5d169624c66b9a098789126bcfb0"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f1b25d6c76b721a775b36720b31539b68f387cca","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    def force_delete_backup(self, backup_id):"},{"line_number":59,"context_line":"        \"\"\"Force delete volume backup."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        For a full list of available parameters, please refer to the official"},{"line_number":62,"context_line":"        API reference:"},{"line_number":63,"context_line":"        https://developer.openstack.org/api-ref/block-storage/v2/index.html#force-delete-backup"},{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        post_body \u003d json.dumps({\u0027os-force_delete\u0027: {}})"},{"line_number":66,"context_line":"        resp, body \u003d self.post(\u0027backups/%s/action\u0027 % backup_id, post_body)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f201791_875ee441","line":63,"range":{"start_line":61,"start_character":0,"end_line":63,"end_character":95},"updated":"2017-06-27 01:40:30.000000000","message":"nit: if no other param is available, this may be omitted","commit_id":"c882c187fabe3d3a4efdab798f8ba89ab3979fb2"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"5933e574a1a3e0c63101efa106b99bc4b87cb4d8","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    def force_delete_backup(self, backup_id):"},{"line_number":59,"context_line":"        \"\"\"Force delete volume backup."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        For a full list of available parameters, please refer to the official"},{"line_number":62,"context_line":"        API reference:"},{"line_number":63,"context_line":"        https://developer.openstack.org/api-ref/block-storage/v2/index.html#force-delete-backup"},{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        post_body \u003d json.dumps({\u0027os-force_delete\u0027: {}})"},{"line_number":66,"context_line":"        resp, body \u003d self.post(\u0027backups/%s/action\u0027 % backup_id, post_body)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f201791_c01a66ca","line":63,"range":{"start_line":61,"start_character":0,"end_line":63,"end_character":95},"in_reply_to":"5f201791_875ee441","updated":"2017-06-27 07:08:13.000000000","message":"Done","commit_id":"c882c187fabe3d3a4efdab798f8ba89ab3979fb2"}],"tempest/tests/lib/services/volume/v2/test_backups_client.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"243a3e4864fb968e8ed2e0dd9ad5b2a4c75d9b44","unresolved":false,"context_lines":[{"line_number":32,"context_line":"            self.client.force_delete_backup,"},{"line_number":33,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"},{"line_number":34,"context_line":"            {},"},{"line_number":35,"context_line":"            backup_id\u003d\u0027054ecc09-db06-4f8a-9862-96d10cd73667\u0027, status\u003d202)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_e468ff1d","line":35,"range":{"start_line":35,"start_character":62,"end_line":35,"end_character":72},"updated":"2017-06-26 00:03:55.000000000","message":"nit: this is usually placed on a separate line","commit_id":"20f03cb98c4b5d169624c66b9a098789126bcfb0"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"e567e1583849ae87ddb30f379beae4f8dc715147","unresolved":false,"context_lines":[{"line_number":32,"context_line":"            self.client.force_delete_backup,"},{"line_number":33,"context_line":"            \u0027tempest.lib.common.rest_client.RestClient.post\u0027,"},{"line_number":34,"context_line":"            {},"},{"line_number":35,"context_line":"            backup_id\u003d\u0027054ecc09-db06-4f8a-9862-96d10cd73667\u0027, status\u003d202)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f201791_33fd1bb1","line":35,"range":{"start_line":35,"start_character":62,"end_line":35,"end_character":72},"in_reply_to":"5f201791_e468ff1d","updated":"2017-06-26 05:29:54.000000000","message":"Done","commit_id":"20f03cb98c4b5d169624c66b9a098789126bcfb0"}]}
