)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"a5ab1ef14e1ec2c06e6902aef80e377d74a1a04e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add new test: test_incremental_backup."},{"line_number":10,"context_line":"Code refactoring for old tests."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Partial-Bug: #1506394"},{"line_number":13,"context_line":"Depends-On: I565b5941d6067644fc9ca6cb0891d97f4946e031"},{"line_number":14,"context_line":"Change-Id: Idde2c14aba78382b1063ce20269f4832f9fdd583"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"ba8a016a_63afafe2","line":12,"updated":"2015-11-18 18:39:28.000000000","message":"It looks like you closes this bug.\n\n    Closes-Bug: #1506394","commit_id":"b660474a517c5dce2f17a1ec6e8b59b06976b624"}],"tempest/api/volume/admin/test_volumes_backup.py":[{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"53f67d7fa9444d8578c98f13163fa5688dc676e9","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        cls.volume \u003d cls.create_volume()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def _create_backup(self, volume_id, incremental\u003dFalse, force\u003dFalse):"},{"line_number":45,"context_line":"        backup \u003d self.backups_adm_client.create_backup(volume_id,"},{"line_number":46,"context_line":"                                                       incremental\u003dincremental,"},{"line_number":47,"context_line":"                                                       force\u003dforce)[\u0027backup\u0027]"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a26ad4f_42c54c59","line":44,"updated":"2015-10-27 10:08:23.000000000","message":"Since you added this method, maybe we can add it in other tests instead of calling self.backups_adm_client.create_backup ?","commit_id":"ea8aa7dab355545f0aec7969a85464c37cb9d36a"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"53f67d7fa9444d8578c98f13163fa5688dc676e9","unresolved":false,"context_lines":[{"line_number":151,"context_line":"                \"Skip. Not implemented on Juno and Kilo.\")"},{"line_number":152,"context_line":"    def test_incremental_backup(self):"},{"line_number":153,"context_line":"        # create volume from image"},{"line_number":154,"context_line":"        volume \u003d (self.volumes_client.create_volume"},{"line_number":155,"context_line":"                  (imageRef\u003dCONF.compute.image_ref,"},{"line_number":156,"context_line":"                   size\u003dCONF.volume.volume_size)"},{"line_number":157,"context_line":"                  [\u0027volume\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a26ad4f_e25d78ed","line":154,"updated":"2015-10-27 10:08:23.000000000","message":"Why do you create volume in test and do not use already created in resouse_setup?.","commit_id":"ea8aa7dab355545f0aec7969a85464c37cb9d36a"},{"author":{"_account_id":8592,"name":"Anastasia Kuznetsova","email":"akuznetsova@mirantis.com","username":"nastya-kuz"},"change_message_id":"9b91adeecbbaec591fa3f8ee3598fc5c6f26b2b2","unresolved":false,"context_lines":[{"line_number":198,"context_line":"            self._delete_backup, backup[\u0027id\u0027]"},{"line_number":199,"context_line":"            self._delete_volume, volume[\u0027id\u0027]"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"        self.addCleanup(delete_all)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"class VolumesBackupsV1Test(VolumesBackupsV2Test):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a26ad4f_e27818fb","line":201,"updated":"2015-10-27 10:15:24.000000000","message":"What is the point to call addCleanup at the end of test ? If one of the steps fail that addCleanup won\u0027t be called at all.","commit_id":"ea8aa7dab355545f0aec7969a85464c37cb9d36a"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"4b65f8544620318811613d45fa65369763ad3ef1","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_log import log as logging"},{"line_number":17,"context_line":"from tempest_lib import decorators"},{"line_number":18,"context_line":"from testtools import skipUnless"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from tempest.api.volume import base"},{"line_number":21,"context_line":"from tempest.common.utils import data_utils"}],"source_content_type":"text/x-python","patch_set":16,"id":"ba8a016a_10be67d4","line":18,"updated":"2015-11-17 18:16:17.000000000","message":"We should import only modules.\n\n    import testtools","commit_id":"ae1f15eff889f78a2678b8cec7f7222db9516126"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"4b65f8544620318811613d45fa65369763ad3ef1","unresolved":false,"context_lines":[{"line_number":140,"context_line":"                                                       \u0027available\u0027)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    @test.idempotent_id(\u0027c810fe2c-cb40-43ab-96aa-471b74516a98\u0027)"},{"line_number":143,"context_line":"    @skipUnless(CONF.volume_feature_enabled.incremental_backup_force,"},{"line_number":144,"context_line":"                \"Skip. Not implemented on Juno and Kilo.\")"},{"line_number":145,"context_line":"    def test_incremental_backup(self):"},{"line_number":146,"context_line":"        # create backup"}],"source_content_type":"text/x-python","patch_set":16,"id":"ba8a016a_b0b43bf2","line":143,"updated":"2015-11-17 18:16:17.000000000","message":"@testtools.skipUnless(...)","commit_id":"ae1f15eff889f78a2678b8cec7f7222db9516126"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"a5ab1ef14e1ec2c06e6902aef80e377d74a1a04e","unresolved":false,"context_lines":[{"line_number":43,"context_line":"                                       size\u003dCONF.volume.volume_size)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _create_backup(self, volume_id, incremental\u003dFalse, force\u003dFalse,"},{"line_number":46,"context_line":"                       name\u003dFalse):"},{"line_number":47,"context_line":"        backup \u003d self.backups_adm_client.create_backup(volume_id,"},{"line_number":48,"context_line":"                                                       incremental\u003dincremental,"},{"line_number":49,"context_line":"                                                       force\u003dforce,"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba8a016a_03aca38a","line":46,"updated":"2015-11-18 18:39:28.000000000","message":"I would prefer \n\n    name\u003dNone\n\ninstead of\n\n     name\u003dFalse","commit_id":"b660474a517c5dce2f17a1ec6e8b59b06976b624"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"a5ab1ef14e1ec2c06e6902aef80e377d74a1a04e","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                                                       name\u003dname)[\u0027backup\u0027]"},{"line_number":51,"context_line":"        self.backups_adm_client.wait_for_backup_status(backup[\u0027id\u0027],"},{"line_number":52,"context_line":"                                                       \u0027available\u0027)"},{"line_number":53,"context_line":"        backup \u003d self.backups_adm_client.show_backup(backup[\u0027id\u0027])[\u0027backup\u0027]"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        return backup"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"ba8a016a_63200f49","line":53,"updated":"2015-11-18 18:39:28.000000000","message":"I don\u0027t understand. Why do we need this line?","commit_id":"b660474a517c5dce2f17a1ec6e8b59b06976b624"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"a5ab1ef14e1ec2c06e6902aef80e377d74a1a04e","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                          \"Skip. Not implemented on Juno and Kilo.\")"},{"line_number":145,"context_line":"    def test_incremental_backup(self):"},{"line_number":146,"context_line":"        # create backup"},{"line_number":147,"context_line":"        backup \u003d self._create_backup(self.volume[\u0027id\u0027])"},{"line_number":148,"context_line":"        self.addCleanup(self._delete_backup, backup[\u0027id\u0027])"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"        # Run vm with volume"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba8a016a_7e0d04e7","line":147,"updated":"2015-11-18 18:39:28.000000000","message":"Do we really need to create this backup?","commit_id":"b660474a517c5dce2f17a1ec6e8b59b06976b624"},{"author":{"_account_id":7428,"name":"Yaroslav Lobankov","email":"lobankovyv@gmail.com","username":"ylobankov"},"change_message_id":"a5ab1ef14e1ec2c06e6902aef80e377d74a1a04e","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            \u0027delete_on_termination\u0027: \u00270\u0027}]"},{"line_number":155,"context_line":"        self.volumes_client.wait_for_volume_status(self.volume[\u0027id\u0027],"},{"line_number":156,"context_line":"                                                   \u0027available\u0027)"},{"line_number":157,"context_line":"        server \u003d (self.servers_client.create_server(name\u003d\u0027test\u0027,"},{"line_number":158,"context_line":"                                                    flavorRef\u003dself.flavor_ref,"},{"line_number":159,"context_line":"                                                    block_device_mapping\u003dbdmap)"},{"line_number":160,"context_line":"                  [\u0027server\u0027])"}],"source_content_type":"text/x-python","patch_set":18,"id":"ba8a016a_7e5504f8","line":157,"updated":"2015-11-18 18:39:28.000000000","message":"If we get a failure somewhere between L161-176, the created server will not be deleted because there is no cleanup for it.","commit_id":"b660474a517c5dce2f17a1ec6e8b59b06976b624"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"a263664e8fc9adfff0f44ca9ce3c18cacc8a3ff8","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    def _delete_server(self, server_id):"},{"line_number":60,"context_line":"        servers \u003d self.servers_client.list_servers()[\u0027servers\u0027]"},{"line_number":61,"context_line":"        if server_id not in servers:"},{"line_number":62,"context_line":"            return exit"},{"line_number":63,"context_line":"        else:"},{"line_number":64,"context_line":"            self.servers_client.delete_server(server_id)"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"9a8ffd7b_167047db","line":62,"updated":"2015-11-27 11:28:23.000000000","message":"how it will work? Where was \"exit\" declared?","commit_id":"932d803c187d924cede755f552a9914ee7c8f6e3"},{"author":{"_account_id":7227,"name":"Timur Nurlygayanov","email":"tnurlygayanov@mirantis.com","username":"tnurlygayanov"},"change_message_id":"a263664e8fc9adfff0f44ca9ce3c18cacc8a3ff8","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                                                       \u0027available\u0027)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    @test.idempotent_id(\u0027c810fe2c-cb40-43ab-96aa-471b74516a98\u0027)"},{"line_number":150,"context_line":"#    @testtools.skipUnless(CONF.volume_feature_enabled.incremental_backup_force,"},{"line_number":151,"context_line":"#                          \"Skip. Not implemented on Juno and Kilo.\")"},{"line_number":152,"context_line":"    def test_incremental_backup(self):"},{"line_number":153,"context_line":"        # create backup"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a8ffd7b_36978bed","line":150,"updated":"2015-11-27 11:28:23.000000000","message":"please remove these lines or use proper way to comment lines of code.","commit_id":"932d803c187d924cede755f552a9914ee7c8f6e3"}]}
