)]}'
{".zuul.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9c28e8a231cf3e236ec3fa7206dc4343d1263ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"5fc1f717_c6297637","updated":"2019-04-04 22:12:07.000000000","message":"Now\u0027s a good time to revert this change, and restore all the jobs.","commit_id":"a15d4ae781215de07e96f958ea4f03209f3f9be1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"71b28cd0bdbd0b745dfafdcd1f4d771ea2245a87","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":38,"id":"5fc1f717_9a408c37","updated":"2019-04-06 02:47:25.000000000","message":"unrelated change in this file","commit_id":"5fa7c1ca339a92c32b0e7ba11a16c21019d8a277"}],"manila_tempest_tests/tests/scenario/manager_share.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"500086f0db9f6a96351900fc0b8e93ceffa70e53","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                \u0027driver_handles_share_servers\u0027: CONF.share.multitenancy_enabled"},{"line_number":349,"context_line":"            },)[\u0027share_type\u0027]"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def get_export_locations(self, share):"},{"line_number":352,"context_line":"        if utils.is_microversion_lt(CONF.share.max_api_microversion, \"2.9\"):"},{"line_number":353,"context_line":"            locations \u003d share[\u0027export_locations\u0027]"},{"line_number":354,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":27,"id":"9fdfeff1_c92fb586","line":351,"range":{"start_line":351,"start_character":0,"end_line":351,"end_character":42},"updated":"2019-02-18 20:52:47.000000000","message":"This method is similar to _get_share_export_locations() from manila_tempest_tests/tests/scenario/test_share_basic_ops.py, do you want to remove that and replace all usages with this one?","commit_id":"c495dd0c8531ddc23f89607b4bc8df6ec788fbf1"}],"manila_tempest_tests/tests/scenario/test_create_shrink_share.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"af5b4a010786eae4a1a96cf53f6c1e90df2e6c0c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"@ddt.ddt"},{"line_number":34,"context_line":"class ShareCreateShrinkBase(manager.ShareScenarioTest):"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    \"\"\"This test case uses the following flow:"}],"source_content_type":"text/x-python","patch_set":21,"id":"3f79a3b5_ab79ddfc","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":8},"updated":"2018-08-08 05:50:16.000000000","message":"you\u0027re not using ddt in this test..","commit_id":"38fd8b29882de8f947ef5c94fac0d330dac68a89"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"af5b4a010786eae4a1a96cf53f6c1e90df2e6c0c","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        # Step 2"},{"line_number":61,"context_line":"        LOG.debug(\u0027Step 2 - create 2gb share\u0027)"},{"line_number":62,"context_line":"        self.create_share(size\u003d2)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        # Step 4 CAN BE REPLACED WITH WAIT UNTIL ACTIVE"},{"line_number":65,"context_line":"        LOG.debug(\u0027Step 4or3 - wait for active instance\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3f79a3b5_8b8661db","line":62,"range":{"start_line":62,"start_character":31,"end_line":62,"end_character":32},"updated":"2018-08-08 05:50:16.000000000","message":"read the share size from the config, add 1","commit_id":"38fd8b29882de8f947ef5c94fac0d330dac68a89"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"af5b4a010786eae4a1a96cf53f6c1e90df2e6c0c","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                self.share[\u0027id\u0027])"},{"line_number":78,"context_line":"            locations \u003d [x[\u0027path\u0027] for x in exports]"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        for location in locations:"},{"line_number":81,"context_line":"            # Step 5"},{"line_number":82,"context_line":"            LOG.debug(\u0027Step 5 - mount\u0027)"},{"line_number":83,"context_line":"            self.mount_share(location, remote_client)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3f79a3b5_8b5f4171","line":80,"range":{"start_line":80,"start_character":6,"end_line":80,"end_character":34},"updated":"2018-08-08 05:50:16.000000000","message":"use just the first location -\u003e locations[0]","commit_id":"38fd8b29882de8f947ef5c94fac0d330dac68a89"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"af5b4a010786eae4a1a96cf53f6c1e90df2e6c0c","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            # CHECK MIGHT BE IN shrinking_possible_data_loss_error"},{"line_number":102,"context_line":"            self.assertRaises("},{"line_number":103,"context_line":"                exceptions.BadRequest,"},{"line_number":104,"context_line":"                self.shares_admin_v2_client.shrink_share,"},{"line_number":105,"context_line":"                self.share[\u0027id\u0027], 1"},{"line_number":106,"context_line":"            )"},{"line_number":107,"context_line":"            share \u003d self.shares_admin_v2_client.get_share(self.share[\"id\"])"}],"source_content_type":"text/x-python","patch_set":21,"id":"3f79a3b5_2b04ed49","line":104,"range":{"start_line":104,"start_character":21,"end_line":104,"end_character":43},"updated":"2018-08-08 05:50:16.000000000","message":"use the normal tenant context -\u003e shares_v2_client","commit_id":"38fd8b29882de8f947ef5c94fac0d330dac68a89"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"af5b4a010786eae4a1a96cf53f6c1e90df2e6c0c","unresolved":false,"context_lines":[{"line_number":99,"context_line":"            # Step 8 (should fail gracefully)"},{"line_number":100,"context_line":"            LOG.debug(\u0027Step 8 - try update size, shrink and wait\u0027)"},{"line_number":101,"context_line":"            # CHECK MIGHT BE IN shrinking_possible_data_loss_error"},{"line_number":102,"context_line":"            self.assertRaises("},{"line_number":103,"context_line":"                exceptions.BadRequest,"},{"line_number":104,"context_line":"                self.shares_admin_v2_client.shrink_share,"},{"line_number":105,"context_line":"                self.share[\u0027id\u0027], 1"},{"line_number":106,"context_line":"            )"},{"line_number":107,"context_line":"            share \u003d self.shares_admin_v2_client.get_share(self.share[\"id\"])"},{"line_number":108,"context_line":"            LOG.debug(\"Step 8 - current status is\")"},{"line_number":109,"context_line":"            LOG.debug(share)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3f79a3b5_6beae575","line":106,"range":{"start_line":102,"start_character":12,"end_line":106,"end_character":13},"updated":"2018-08-08 05:50:16.000000000","message":"the API won\u0027t fail with 400 - see the API ref for details: https://developer.openstack.org/api-ref/shared-file-system/#id115\n\nThe shrink operation will fail asynchronously at the backend, and the status will be set to \"shrinking_possible_data_loss_error\"... \n\nso make the API call, and add a waiter for that status..","commit_id":"38fd8b29882de8f947ef5c94fac0d330dac68a89"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"af5b4a010786eae4a1a96cf53f6c1e90df2e6c0c","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"            # Step 10"},{"line_number":117,"context_line":"            LOG.debug(\u0027Step 10 - try shrink again and wait\u0027)"},{"line_number":118,"context_line":"            share \u003d self.shares_admin_v2_client.get_share(self.share[\"id\"])"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"            LOG.debug(share)"},{"line_number":121,"context_line":"            self.shares_admin_v2_client.shrink_share("}],"source_content_type":"text/x-python","patch_set":21,"id":"3f79a3b5_6b9f4503","line":118,"range":{"start_line":118,"start_character":25,"end_line":118,"end_character":47},"updated":"2018-08-08 05:50:16.000000000","message":"shares_v2_client","commit_id":"38fd8b29882de8f947ef5c94fac0d330dac68a89"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"af5b4a010786eae4a1a96cf53f6c1e90df2e6c0c","unresolved":false,"context_lines":[{"line_number":118,"context_line":"            share \u003d self.shares_admin_v2_client.get_share(self.share[\"id\"])"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"            LOG.debug(share)"},{"line_number":121,"context_line":"            self.shares_admin_v2_client.shrink_share("},{"line_number":122,"context_line":"                self.share[\"id\"], 1)"},{"line_number":123,"context_line":"            self.shares_admin_v2_client.wait_for_share_status("},{"line_number":124,"context_line":"                self.share[\"id\"], constants.STATUS_AVAILABLE)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3f79a3b5_8ba2e14a","line":121,"range":{"start_line":121,"start_character":17,"end_line":121,"end_character":39},"updated":"2018-08-08 05:50:16.000000000","message":"shares_v2_client","commit_id":"38fd8b29882de8f947ef5c94fac0d330dac68a89"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"af5b4a010786eae4a1a96cf53f6c1e90df2e6c0c","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"            LOG.debug(share)"},{"line_number":121,"context_line":"            self.shares_admin_v2_client.shrink_share("},{"line_number":122,"context_line":"                self.share[\"id\"], 1)"},{"line_number":123,"context_line":"            self.shares_admin_v2_client.wait_for_share_status("},{"line_number":124,"context_line":"                self.share[\"id\"], constants.STATUS_AVAILABLE)"},{"line_number":125,"context_line":"            share \u003d self.shares_admin_v2_client.get_share(self.share[\"id\"])"}],"source_content_type":"text/x-python","patch_set":21,"id":"3f79a3b5_cbc1b9e6","line":122,"range":{"start_line":122,"start_character":34,"end_line":122,"end_character":35},"updated":"2018-08-08 05:50:16.000000000","message":"share size from config","commit_id":"38fd8b29882de8f947ef5c94fac0d330dac68a89"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"af5b4a010786eae4a1a96cf53f6c1e90df2e6c0c","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            LOG.debug(share)"},{"line_number":121,"context_line":"            self.shares_admin_v2_client.shrink_share("},{"line_number":122,"context_line":"                self.share[\"id\"], 1)"},{"line_number":123,"context_line":"            self.shares_admin_v2_client.wait_for_share_status("},{"line_number":124,"context_line":"                self.share[\"id\"], constants.STATUS_AVAILABLE)"},{"line_number":125,"context_line":"            share \u003d self.shares_admin_v2_client.get_share(self.share[\"id\"])"},{"line_number":126,"context_line":"            self.assertEqual(1, int(share[\"size\"]))"}],"source_content_type":"text/x-python","patch_set":21,"id":"3f79a3b5_2b894dc9","line":123,"range":{"start_line":123,"start_character":17,"end_line":123,"end_character":39},"updated":"2018-08-08 05:50:16.000000000","message":"shares_v2_client","commit_id":"38fd8b29882de8f947ef5c94fac0d330dac68a89"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"af5b4a010786eae4a1a96cf53f6c1e90df2e6c0c","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                self.share[\"id\"], 1)"},{"line_number":123,"context_line":"            self.shares_admin_v2_client.wait_for_share_status("},{"line_number":124,"context_line":"                self.share[\"id\"], constants.STATUS_AVAILABLE)"},{"line_number":125,"context_line":"            share \u003d self.shares_admin_v2_client.get_share(self.share[\"id\"])"},{"line_number":126,"context_line":"            self.assertEqual(1, int(share[\"size\"]))"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"            # Step 11 (should fail gracefully)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3f79a3b5_0b8ed1cf","line":125,"range":{"start_line":125,"start_character":25,"end_line":125,"end_character":47},"updated":"2018-08-08 05:50:16.000000000","message":"shares_v2_client","commit_id":"38fd8b29882de8f947ef5c94fac0d330dac68a89"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"11a0fcd6e4bbf644de2d9f4710f3121c351a1419","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 Tatyana Inc. :)"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f79a3b5_0bce235a","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"updated":"2018-10-16 17:51:32.000000000","message":"2018? \u003d)","commit_id":"2a2e6f7f25dd61d41594f54157aa9f222432fb06"},{"author":{"_account_id":26535,"name":"Nir Gilboa","email":"gilboa.nir@gmail.com","username":"nirgilbo"},"change_message_id":"f87ebb97ef080ab93ceb4e999ac5ce9665c86ef2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2017 Tatyana Inc. :)"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":23,"id":"9fdfeff1_80d59be7","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"in_reply_to":"3f79a3b5_0bce235a","updated":"2019-02-10 16:15:33.000000000","message":"Done","commit_id":"2a2e6f7f25dd61d41594f54157aa9f222432fb06"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"11a0fcd6e4bbf644de2d9f4710f3121c351a1419","unresolved":false,"context_lines":[{"line_number":37,"context_line":"     * Configure RW access to the share"},{"line_number":38,"context_line":"     * Perform ssh to instance"},{"line_number":39,"context_line":"     * Mount share"},{"line_number":40,"context_line":"     * Write data in share"},{"line_number":41,"context_line":"     * Shrink share to 1GB (fail expected)"},{"line_number":42,"context_line":"     * Delete data from share"},{"line_number":43,"context_line":"     * Shrink share to 1GB"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f79a3b5_8b031376","line":40,"range":{"start_line":40,"start_character":7,"end_line":40,"end_character":26},"updated":"2018-10-16 17:51:32.000000000","message":"I\u0027d suggest \"Write more than 1GB of data in share\". Maybe if there is less than 1GB it could succeed.","commit_id":"2a2e6f7f25dd61d41594f54157aa9f222432fb06"},{"author":{"_account_id":26535,"name":"Nir Gilboa","email":"gilboa.nir@gmail.com","username":"nirgilbo"},"change_message_id":"f87ebb97ef080ab93ceb4e999ac5ce9665c86ef2","unresolved":false,"context_lines":[{"line_number":37,"context_line":"     * Configure RW access to the share"},{"line_number":38,"context_line":"     * Perform ssh to instance"},{"line_number":39,"context_line":"     * Mount share"},{"line_number":40,"context_line":"     * Write data in share"},{"line_number":41,"context_line":"     * Shrink share to 1GB (fail expected)"},{"line_number":42,"context_line":"     * Delete data from share"},{"line_number":43,"context_line":"     * Shrink share to 1GB"}],"source_content_type":"text/x-python","patch_set":23,"id":"9fdfeff1_a0d0dff8","line":40,"range":{"start_line":40,"start_character":7,"end_line":40,"end_character":26},"in_reply_to":"3f79a3b5_8b031376","updated":"2019-02-10 16:15:33.000000000","message":"thanks, makes sense","commit_id":"2a2e6f7f25dd61d41594f54157aa9f222432fb06"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"11a0fcd6e4bbf644de2d9f4710f3121c351a1419","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        LOG.debug(\u0027Step 5 - mount\u0027)"},{"line_number":77,"context_line":"        self.mount_share(locations[0], remote_client)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        # CHECK maybe use write with nothing?"},{"line_number":80,"context_line":"        LOG.debug(\u0027Step 6 - touch\u0027)"},{"line_number":81,"context_line":"        remote_client.exec_command(\"sudo touch /mnt/t1\")"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        LOG.debug(\u0027Step 7 - writing 1200mb\u0027)"},{"line_number":84,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f79a3b5_d6ce8e56","line":81,"range":{"start_line":79,"start_character":9,"end_line":81,"end_character":56},"updated":"2018-10-16 17:51:32.000000000","message":"is this step to ensure the share is writable? could the step below return immediately if the share is not writable?","commit_id":"2a2e6f7f25dd61d41594f54157aa9f222432fb06"},{"author":{"_account_id":26535,"name":"Nir Gilboa","email":"gilboa.nir@gmail.com","username":"nirgilbo"},"change_message_id":"f87ebb97ef080ab93ceb4e999ac5ce9665c86ef2","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        LOG.debug(\u0027Step 5 - mount\u0027)"},{"line_number":77,"context_line":"        self.mount_share(locations[0], remote_client)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        # CHECK maybe use write with nothing?"},{"line_number":80,"context_line":"        LOG.debug(\u0027Step 6 - touch\u0027)"},{"line_number":81,"context_line":"        remote_client.exec_command(\"sudo touch /mnt/t1\")"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        LOG.debug(\u0027Step 7 - writing 1200mb\u0027)"},{"line_number":84,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"}],"source_content_type":"text/x-python","patch_set":23,"id":"9fdfeff1_c0cba347","line":81,"range":{"start_line":79,"start_character":9,"end_line":81,"end_character":56},"in_reply_to":"3f79a3b5_d6ce8e56","updated":"2019-02-10 16:15:33.000000000","message":"removing","commit_id":"2a2e6f7f25dd61d41594f54157aa9f222432fb06"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f66e887a3c5424c05442e3d06ab552727cc9fa78","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        LOG.debug(\u0027Step 6 - writing 1200mb\u0027)"},{"line_number":77,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":78,"context_line":"                                                  \u0027/mnt/t1\u0027, 1024,"},{"line_number":79,"context_line":"                                                  1280000, \u0027/dev/zero\u0027)"},{"line_number":80,"context_line":"        ls_result \u003d remote_client.exec_command(\"sudo ls -lA /mnt/\")"},{"line_number":81,"context_line":"        LOG.debug(ls_result)"}],"source_content_type":"text/x-python","patch_set":24,"id":"9fdfeff1_a20bf0d2","line":78,"range":{"start_line":78,"start_character":61,"end_line":78,"end_character":65},"updated":"2019-02-11 23:26:47.000000000","message":"Set this as 1MB or even 10MB - 1024b is too small a block size to write over a gibibyte of data.","commit_id":"4814097c77d40e75efaf223a7c80b9d262cf6888"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"f1584ddd955e2fb15affe0026429b2df5101203e","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        LOG.debug(\u0027Step 6 - writing 1200mb\u0027)"},{"line_number":77,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":78,"context_line":"                                                  \u0027/mnt/t1\u0027, 1024,"},{"line_number":79,"context_line":"                                                  1280000, \u0027/dev/zero\u0027)"},{"line_number":80,"context_line":"        ls_result \u003d remote_client.exec_command(\"sudo ls -lA /mnt/\")"},{"line_number":81,"context_line":"        LOG.debug(ls_result)"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":24,"id":"9fdfeff1_4b69ebf6","line":79,"range":{"start_line":79,"start_character":59,"end_line":79,"end_character":70},"updated":"2019-02-12 19:35:02.000000000","message":"Another thing to remember is that some backends (such as ZFSOnLinux) have deduplication turned on by default, so writing zeroes will cause the backend to deduplicate and compress the whole mass of zeros to way less than what you\u0027re writing.. \n\nYou can use /dev/urandom instead","commit_id":"4814097c77d40e75efaf223a7c80b9d262cf6888"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"500086f0db9f6a96351900fc0b8e93ceffa70e53","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        LOG.debug(\u0027Step 5 - mount\u0027)"},{"line_number":68,"context_line":"        self.mount_share(locations[0], remote_client)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        LOG.debug(\u0027Step 6 - writing 1200mb\u0027)"},{"line_number":71,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":72,"context_line":"                                                  \u0027/mnt/t1\u0027, 1024 * 1024,"},{"line_number":73,"context_line":"                                                  1280, \u0027/dev/urandom\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"9fdfeff1_6976c90f","line":70,"range":{"start_line":70,"start_character":36,"end_line":70,"end_character":42},"updated":"2019-02-18 20:52:47.000000000","message":"\u003e1GiB","commit_id":"c495dd0c8531ddc23f89607b4bc8df6ec788fbf1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"500086f0db9f6a96351900fc0b8e93ceffa70e53","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        LOG.debug(\u0027Step 6 - writing 1200mb\u0027)"},{"line_number":71,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":72,"context_line":"                                                  \u0027/mnt/t1\u0027, 1024 * 1024,"},{"line_number":73,"context_line":"                                                  1280, \u0027/dev/urandom\u0027)"},{"line_number":74,"context_line":"        ls_result \u003d remote_client.exec_command(\"sudo ls -lA /mnt/\")"},{"line_number":75,"context_line":"        LOG.debug(ls_result)"}],"source_content_type":"text/x-python","patch_set":27,"id":"9fdfeff1_e91e390c","line":72,"range":{"start_line":72,"start_character":61,"end_line":72,"end_character":72},"updated":"2019-02-18 20:52:47.000000000","message":"Use \u002764M\u0027 perhaps, certainly faster...","commit_id":"c495dd0c8531ddc23f89607b4bc8df6ec788fbf1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"500086f0db9f6a96351900fc0b8e93ceffa70e53","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        LOG.debug(\u0027Step 6 - writing 1200mb\u0027)"},{"line_number":71,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":72,"context_line":"                                                  \u0027/mnt/t1\u0027, 1024 * 1024,"},{"line_number":73,"context_line":"                                                  1280, \u0027/dev/urandom\u0027)"},{"line_number":74,"context_line":"        ls_result \u003d remote_client.exec_command(\"sudo ls -lA /mnt/\")"},{"line_number":75,"context_line":"        LOG.debug(ls_result)"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"9fdfeff1_89be8dd2","line":73,"range":{"start_line":73,"start_character":50,"end_line":73,"end_character":54},"updated":"2019-02-18 20:52:47.000000000","message":"With \u002764M\u0027, you can set this to 20, and you\u0027ll have written \u003e1.34 GiB","commit_id":"c495dd0c8531ddc23f89607b4bc8df6ec788fbf1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"500086f0db9f6a96351900fc0b8e93ceffa70e53","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":72,"context_line":"                                                  \u0027/mnt/t1\u0027, 1024 * 1024,"},{"line_number":73,"context_line":"                                                  1280, \u0027/dev/urandom\u0027)"},{"line_number":74,"context_line":"        ls_result \u003d remote_client.exec_command(\"sudo ls -lA /mnt/\")"},{"line_number":75,"context_line":"        LOG.debug(ls_result)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        LOG.debug(\u0027Step 8 - try update size, shrink and wait\u0027)"}],"source_content_type":"text/x-python","patch_set":27,"id":"9fdfeff1_29fd216e","line":74,"range":{"start_line":74,"start_character":57,"end_line":74,"end_character":59},"updated":"2019-02-18 20:52:47.000000000","message":"since this is just for debugging, please use \u0027ls -lAh\u0027","commit_id":"c495dd0c8531ddc23f89607b4bc8df6ec788fbf1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"500086f0db9f6a96351900fc0b8e93ceffa70e53","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        # CHECK how it returns"},{"line_number":83,"context_line":"        LOG.debug(\u0027Step 9 - delete data\u0027)"},{"line_number":84,"context_line":"        remote_client.exec_command(\"sudo rm /mnt/t1\")"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        LOG.debug(\u0027Step 10 - try shrink again and wait\u0027)"},{"line_number":87,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\"id\"])"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"9fdfeff1_a9e1119e","line":85,"range":{"start_line":85,"start_character":0,"end_line":85,"end_character":0},"updated":"2019-02-18 20:52:47.000000000","message":"can you execute and log `ls -lAh` here again?","commit_id":"c495dd0c8531ddc23f89607b4bc8df6ec788fbf1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"500086f0db9f6a96351900fc0b8e93ceffa70e53","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        self.assertRaises("},{"line_number":99,"context_line":"            exceptions.SSHExecCommandFailed,"},{"line_number":100,"context_line":"            self.write_data_to_mounted_share_using_dd,"},{"line_number":101,"context_line":"            remote_client, 1024, 1280000, \"/dev/zero\")"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        LOG.debug(\u0027Step 12 - unmount\u0027)"},{"line_number":104,"context_line":"        self.unmount_share(remote_client)"}],"source_content_type":"text/x-python","patch_set":27,"id":"9fdfeff1_89a3edb1","line":101,"range":{"start_line":101,"start_character":27,"end_line":101,"end_character":40},"updated":"2019-02-18 20:52:47.000000000","message":"This will be real slow, try 64M blocks written 20 times","commit_id":"c495dd0c8531ddc23f89607b4bc8df6ec788fbf1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bac5eefdff4458b30b2339a4b4bf0c696a4f746e","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        LOG.debug(\u0027Step 6 - writing \u003e1GiB\u0027)"},{"line_number":71,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":72,"context_line":"                                                  \u0027/mnt/t1\u0027, 64 * 1024 * 1024,"},{"line_number":73,"context_line":"                                                  20, \u0027/dev/urandom\u0027)"},{"line_number":74,"context_line":"        ls_result \u003d remote_client.exec_command(\"sudo ls -lAh /mnt/\")"},{"line_number":75,"context_line":"        LOG.debug(ls_result)"}],"source_content_type":"text/x-python","patch_set":28,"id":"9fdfeff1_8d7e4bad","line":72,"range":{"start_line":72,"start_character":61,"end_line":72,"end_character":77},"updated":"2019-02-21 21:09:10.000000000","message":"simply \u002764M\u0027,\ndd accepts units for block size and defaults to bytes if unit is unspecified, see [1]\n\n  BLOCKS and BYTES may be followed by the following multiplicative suffixes: c \u003d1, w \u003d2, b \u003d512, kB \u003d1000, K \u003d1024, MB \u003d1000*1000, M \u003d1024*1024, xM \u003dM GB \u003d1000*1000*1000, G \u003d1024*1024*1024, and so on for T, P, E, Z, Y.\n\n[1] https://linux.die.net/man/1/dd","commit_id":"4c4086540460a31bf2b7fad39641ced244dd1b7b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d0a01a0b614811cb30a3217d3229aefa98e186b9","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        LOG.debug(\u0027Step 6 - writing \u003e1GiB\u0027)"},{"line_number":71,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":72,"context_line":"                                                  \u0027/mnt/t1\u0027, 64 * 1024 * 1024,"},{"line_number":73,"context_line":"                                                  20, \u0027/dev/urandom\u0027)"},{"line_number":74,"context_line":"        ls_result \u003d remote_client.exec_command(\"sudo ls -lAh /mnt/\")"},{"line_number":75,"context_line":"        LOG.debug(ls_result)"}],"source_content_type":"text/x-python","patch_set":28,"id":"9fdfeff1_6800b501","line":72,"range":{"start_line":72,"start_character":61,"end_line":72,"end_character":77},"in_reply_to":"9fdfeff1_8d7e4bad","updated":"2019-02-21 21:25:14.000000000","message":"Currently, this only writes 641M onto the disk.... So I tried this locally, and I got a warning:\n\n dd bs\u003d64M count\u003d20 of\u003d./t1 if\u003d/dev/urandom conv\u003dfsync\n dd: warning: partial read (33554431 bytes); suggest iflag\u003dfullblock\n\n 0+20 records in\n 0+20 records out\n 671088620 bytes (671 MB, 640 MiB) copied, 51.3355 s, 13.1 MB/s\n\n \n\nSo, if partial reads are done, for whatever reason, blocks may not be full 64 MB in size, so I tried adding a iflag\u003dfullblock, and it worked:\n\n dd bs\u003d64M count\u003d20 of\u003d./t1 if\u003d/dev/urandom conv\u003dfsync iflag\u003dfullblock\n 20+0 records in\n 20+0 records out\n 1342177280 bytes (1.3 GB, 1.2 GiB) copied, 102.646 s, 13.1 MB/s","commit_id":"4c4086540460a31bf2b7fad39641ced244dd1b7b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bac5eefdff4458b30b2339a4b4bf0c696a4f746e","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        self.assertRaises("},{"line_number":102,"context_line":"            exceptions.SSHExecCommandFailed,"},{"line_number":103,"context_line":"            self.write_data_to_mounted_share_using_dd,"},{"line_number":104,"context_line":"            remote_client, 64 * 1024 * 1024, 20, \"/dev/urandom\")"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"        LOG.debug(\u0027Step 12 - unmount\u0027)"},{"line_number":107,"context_line":"        self.unmount_share(remote_client)"}],"source_content_type":"text/x-python","patch_set":28,"id":"9fdfeff1_0d449b73","line":104,"range":{"start_line":104,"start_character":27,"end_line":104,"end_character":43},"updated":"2019-02-21 21:09:10.000000000","message":"\u002764M\u0027","commit_id":"4c4086540460a31bf2b7fad39641ced244dd1b7b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"02f0441266c0f7034bc7a10dc9d925461bb6f1f2","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\"id\"])"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        LOG.debug(share)"},{"line_number":93,"context_line":"        self.shares_v2_client.shrink_share(share[\"id\"], new_size\u003d1)"},{"line_number":94,"context_line":"        self.shares_v2_client.wait_for_share_status("},{"line_number":95,"context_line":"            share[\"id\"], constants.STATUS_AVAILABLE)"},{"line_number":96,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\"id\"])"}],"source_content_type":"text/x-python","patch_set":29,"id":"5fc1f717_19ae6e2e","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":67},"updated":"2019-03-06 01:29:30.000000000","message":"Before you do this, try to reset the state of the share.. We don\u0027t want the status to stay in \u0027share_shrinking_possible_data_loss_error\u0027 when we attempt shrinking the share... to be clear, shrinking a share with that error status is possible, however, the tests will bail out because there is \"error\" in the status... \n\n \n\nAlso, for debugging purposes, try adding a waiter here for 60 seconds before we attempt to shrink..\n\nZFS does asynchronous cleanups, and we want to be sure to give the cleanup some time... I think this test shouldn\u0027t have a long waiter though, and 60 seconds may not be enough for all storage systems.. so lets try a 60 second waiter with ZFS and possibly introduce a configuration option to control the reclaim wait time.","commit_id":"99e75980056a074602793974febf75345122d488"}],"manila_tempest_tests/tests/scenario/test_share_manage_unmanage.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"78cd316f8b93ba8717e67d53c4c407bba045c088","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"3f79a3b5_ebab551a","updated":"2018-08-08 05:51:00.000000000","message":"Did you mean to make these changes on the other patch?\n\nhttps://review.openstack.org/#/c/545695/","commit_id":"38fd8b29882de8f947ef5c94fac0d330dac68a89"}],"manila_tempest_tests/tests/scenario/test_share_shrink.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6966a9b93fb1d615499d3198629aa123478fa22d","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        ls_result \u003d remote_client.exec_command(\"sudo ls -lAh /mnt/\")"},{"line_number":87,"context_line":"        LOG.debug(ls_result)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        self.shares_admin_v2_client.reset_state(share[\"id\"])"},{"line_number":90,"context_line":"        self.shares_v2_client.wait_for_share_status("},{"line_number":91,"context_line":"            share[\"id\"], constants.STATUS_AVAILABLE)"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"5fc1f717_b1e63ce8","line":89,"range":{"start_line":89,"start_character":59,"end_line":89,"end_character":60},"updated":"2019-03-06 19:37:41.000000000","message":"status\u003dconstants.STATUS_AVAILABLE","commit_id":"bfe71bfad74648be1950a283e962ceee639f0e2b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"6d3974df612f306e36933c41f94354367b45bcc2","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        LOG.debug(\u0027Step 10 - try shrink again and wait\u0027)"},{"line_number":94,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\"id\"])"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        LOG.debug(share)"},{"line_number":97,"context_line":"        self.shares_v2_client.shrink_share(share[\"id\"], new_size\u003d1)"},{"line_number":98,"context_line":"        self.shares_v2_client.wait_for_share_status("}],"source_content_type":"text/x-python","patch_set":30,"id":"5fc1f717_71f9b47e","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":0},"updated":"2019-03-06 19:38:45.000000000","message":"Also, please add the waiter for 60s so we can see if the delayed cleanup with the zfsdriver is complete..","commit_id":"bfe71bfad74648be1950a283e962ceee639f0e2b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"98b4193ab626260f1369687580f6b44aa07783c7","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        LOG.debug(\u0027Step 5 - mount\u0027)"},{"line_number":70,"context_line":"        self.mount_share(locations[0], remote_client)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        LOG.debug(\u0027Step 6 - writing \u003e1GiB\u0027)"},{"line_number":73,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":74,"context_line":"                                                  \u0027/mnt/t1\u0027, \u002764M\u0027,"},{"line_number":75,"context_line":"                                                  20, \u0027/dev/urandom\u0027)"},{"line_number":76,"context_line":"        ls_result \u003d remote_client.exec_command(\"sudo ls -lAh /mnt/\")"},{"line_number":77,"context_line":"        LOG.debug(ls_result)"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"5fc1f717_9a70f574","line":75,"range":{"start_line":72,"start_character":0,"end_line":75,"end_character":69},"updated":"2019-03-06 21:35:27.000000000","message":"While looking at your extend test it occurred to me that we\u0027ve to write upto share_size and not 1 GB... so, 20*share_size would be more appropriate as the block count.. \n\nset the count in a variable, and add a comment above the variable so folks can understand why you\u0027re writing so many blocks...","commit_id":"e8cccc6460627837ad262064f83f8b0092dc0021"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bb9ace148cb5efe7455d936431c05d408bf57755","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        LOG.debug(\u0027Step 5 - mount\u0027)"},{"line_number":70,"context_line":"        self.mount_share(locations[0], remote_client)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        LOG.debug(\u0027Step 6 - writing \u003e1GiB\u0027)"},{"line_number":73,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":74,"context_line":"                                                  \u0027/mnt/t1\u0027, \u002764M\u0027,"},{"line_number":75,"context_line":"                                                  20, \u0027/dev/urandom\u0027)"},{"line_number":76,"context_line":"        ls_result \u003d remote_client.exec_command(\"sudo ls -lAh /mnt/\")"},{"line_number":77,"context_line":"        LOG.debug(ls_result)"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"5fc1f717_3c27c1cc","line":75,"range":{"start_line":72,"start_character":0,"end_line":75,"end_character":69},"in_reply_to":"5fc1f717_793f9b86","updated":"2019-03-16 22:02:57.000000000","message":"Yes, however, the share that\u0027s created isn\u0027t really 2GiB in size. See line 52. The share size is determined by the configuration variable \"CONF.share_size\"\n\nThe reason the configuration option was created was to facilitate testing with some backend drivers in manila that don\u0027t support 1GiB shares. \n\nFor example, I think the Hitachi HSP driver supports shares with a minimum size of 128 GiB. [1]\n\nWith such backends, writing just 1GiB data on them will not suffice, since the share will probably support shrinking down to \"CONF.share_size\" without erring out like you expect on lines 80 and 81. \n\n\n[1] https://opendev.org/openstack/manila/src/commit/856f6a09e1cc6c4698ec41bfc670405b471f0bbb/manila/share/drivers/hitachi/hsp/driver.py#L366","commit_id":"e8cccc6460627837ad262064f83f8b0092dc0021"},{"author":{"_account_id":26535,"name":"Nir Gilboa","email":"gilboa.nir@gmail.com","username":"nirgilbo"},"change_message_id":"cb647c2bf4c9dee0b99bc22f584342da7b920c05","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        LOG.debug(\u0027Step 5 - mount\u0027)"},{"line_number":70,"context_line":"        self.mount_share(locations[0], remote_client)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        LOG.debug(\u0027Step 6 - writing \u003e1GiB\u0027)"},{"line_number":73,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":74,"context_line":"                                                  \u0027/mnt/t1\u0027, \u002764M\u0027,"},{"line_number":75,"context_line":"                                                  20, \u0027/dev/urandom\u0027)"},{"line_number":76,"context_line":"        ls_result \u003d remote_client.exec_command(\"sudo ls -lAh /mnt/\")"},{"line_number":77,"context_line":"        LOG.debug(ls_result)"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"5fc1f717_793f9b86","line":75,"range":{"start_line":72,"start_character":0,"end_line":75,"end_character":69},"in_reply_to":"5fc1f717_9a70f574","updated":"2019-03-16 13:14:37.000000000","message":"Test spec. calls for writing \u003e1Gb but less than 2Gb. So I don\u0027t understand your comment here..","commit_id":"e8cccc6460627837ad262064f83f8b0092dc0021"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"98b4193ab626260f1369687580f6b44aa07783c7","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        LOG.debug(ls_result)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        self.shares_admin_v2_client.reset_state("},{"line_number":91,"context_line":"            share[\"id\"],status\u003dconstants.STATUS_AVAILABLE)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        LOG.debug(\u0027Step 10 - try shrink again and wait\u0027)"},{"line_number":94,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\"id\"])"}],"source_content_type":"text/x-python","patch_set":31,"id":"5fc1f717_7af8a9c3","line":91,"range":{"start_line":91,"start_character":23,"end_line":91,"end_character":24},"updated":"2019-03-06 21:35:27.000000000","message":"not right now, but once Zuul finishes processing your current patchset, fix this missing space..","commit_id":"e8cccc6460627837ad262064f83f8b0092dc0021"},{"author":{"_account_id":26535,"name":"Nir Gilboa","email":"gilboa.nir@gmail.com","username":"nirgilbo"},"change_message_id":"cb647c2bf4c9dee0b99bc22f584342da7b920c05","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        LOG.debug(ls_result)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        self.shares_admin_v2_client.reset_state("},{"line_number":91,"context_line":"            share[\"id\"],status\u003dconstants.STATUS_AVAILABLE)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        LOG.debug(\u0027Step 10 - try shrink again and wait\u0027)"},{"line_number":94,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\"id\"])"}],"source_content_type":"text/x-python","patch_set":31,"id":"5fc1f717_9942870e","line":91,"range":{"start_line":91,"start_character":23,"end_line":91,"end_character":24},"in_reply_to":"5fc1f717_7af8a9c3","updated":"2019-03-16 13:14:37.000000000","message":"Done","commit_id":"e8cccc6460627837ad262064f83f8b0092dc0021"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"419c0e1214bef725c2fccbaede20f94a57254006","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        LOG.debug(\u0027Step 10 - try shrink again and wait\u0027)"},{"line_number":94,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\"id\"])"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        # For debugging purposes, will be removed"},{"line_number":97,"context_line":"        time.sleep(60)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        LOG.debug(share)"},{"line_number":100,"context_line":"        self.shares_v2_client.shrink_share(share[\"id\"], new_size\u003d1)"}],"source_content_type":"text/x-python","patch_set":31,"id":"5fc1f717_257be28c","line":97,"range":{"start_line":96,"start_character":0,"end_line":97,"end_character":22},"updated":"2019-03-06 22:12:19.000000000","message":"See irc discussion here [1]\n\nThis sleep/wait actually worked and the ZFSOnLinux driver reported the correct size and the shrink on L100 went through [2]. \n\nCan you add logic here to retry on failure the following steps, until build_timeout?\n\n  1) Reset state of the share\n  2) Try shrinking\n  3) Goto (1) on failure\n\nDo this in a loop with exponential backoff until CONF.build_timeout.. \n\n\n[1] http://eavesdrop.openstack.org/irclogs/%23openstack-manila/%23openstack-manila.2019-03-06.log.html#t2019-03-06T21:57:48\n[2] http://logs.openstack.org/15/531615/31/check/manila-tempest-dsvm-postgres-zfsonlinux/eb88c51/logs/screen-m-shr.txt.gz#_Mar_06_21_35_05_063167","commit_id":"e8cccc6460627837ad262064f83f8b0092dc0021"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"419c0e1214bef725c2fccbaede20f94a57254006","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        self.assertRaises("},{"line_number":108,"context_line":"            exceptions.SSHExecCommandFailed,"},{"line_number":109,"context_line":"            self.write_data_to_mounted_share_using_dd,"},{"line_number":110,"context_line":"            remote_client, \u002764M\u0027, \"/dev/urandom\")"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        LOG.debug(\u0027Step 12 - unmount\u0027)"},{"line_number":113,"context_line":"        self.unmount_share(remote_client)"}],"source_content_type":"text/x-python","patch_set":31,"id":"5fc1f717_daa3dd4e","line":110,"range":{"start_line":110,"start_character":26,"end_line":110,"end_character":27},"updated":"2019-03-06 22:12:19.000000000","message":"You\u0027re missing the name of the file.. \n\nand block count...","commit_id":"e8cccc6460627837ad262064f83f8b0092dc0021"},{"author":{"_account_id":26535,"name":"Nir Gilboa","email":"gilboa.nir@gmail.com","username":"nirgilbo"},"change_message_id":"cb647c2bf4c9dee0b99bc22f584342da7b920c05","unresolved":false,"context_lines":[{"line_number":107,"context_line":"        self.assertRaises("},{"line_number":108,"context_line":"            exceptions.SSHExecCommandFailed,"},{"line_number":109,"context_line":"            self.write_data_to_mounted_share_using_dd,"},{"line_number":110,"context_line":"            remote_client, \u002764M\u0027, \"/dev/urandom\")"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        LOG.debug(\u0027Step 12 - unmount\u0027)"},{"line_number":113,"context_line":"        self.unmount_share(remote_client)"}],"source_content_type":"text/x-python","patch_set":31,"id":"5fc1f717_59489f2b","line":110,"range":{"start_line":110,"start_character":26,"end_line":110,"end_character":27},"in_reply_to":"5fc1f717_daa3dd4e","updated":"2019-03-16 13:14:37.000000000","message":"Done","commit_id":"e8cccc6460627837ad262064f83f8b0092dc0021"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"39f0cdd2b99bc02fa07c440735e204451f676c8c","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        start \u003d int(time.time())"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        while share_status !\u003d constants.STATUS_AVAILABLE:"},{"line_number":112,"context_line":"            time.sleep(self.build_interval)"},{"line_number":113,"context_line":"            self.shares_admin_v2_client.reset_state("},{"line_number":114,"context_line":"                share_id, status\u003dconstants.STATUS_AVAILABLE)"},{"line_number":115,"context_line":"            self.shares_v2_client.shrink_share(share_id, new_size\u003d1)"}],"source_content_type":"text/x-python","patch_set":32,"id":"5fc1f717_bc1c1178","line":112,"range":{"start_line":112,"start_character":23,"end_line":112,"end_character":42},"updated":"2019-03-16 22:10:35.000000000","message":"this isn\u0027t a member of this class, you mean CONF.share.build_interval? [1]\n\n[1] https://opendev.org/openstack/manila-tempest-plugin/src/commit/370569423eea5fad86efd646e7c5ea83e1337420/manila_tempest_tests/config.py#L149","commit_id":"bbabbaaf212d241fba272db80456de5ef2f56bcd"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"39f0cdd2b99bc02fa07c440735e204451f676c8c","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            if share_status \u003d\u003d constants.STATUS_AVAILABLE:"},{"line_number":121,"context_line":"                return"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"            if int(time.time()) - start \u003e\u003d self.build_timeout:"},{"line_number":124,"context_line":"                message \u003d (\"Share\u0027s %(status_attr)s failed to transition to \""},{"line_number":125,"context_line":"                           \"%(status)s within the required time %(seconds)s.\" %"},{"line_number":126,"context_line":"                           {\"status_attr\": status_attr, \"status\":"}],"source_content_type":"text/x-python","patch_set":32,"id":"5fc1f717_7c122964","line":123,"range":{"start_line":123,"start_character":48,"end_line":123,"end_character":61},"updated":"2019-03-16 22:10:35.000000000","message":"This has to be CONF.share.build_timeout\n\n[1] https://opendev.org/openstack/manila-tempest-plugin/src/commit/370569423eea5fad86efd646e7c5ea83e1337420/manila_tempest_tests/config.py#L152","commit_id":"bbabbaaf212d241fba272db80456de5ef2f56bcd"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4a6136465d703eb350bdc205c231dde19d65f300","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        CONF.share.run_shrink_tests, \u0027Shrink share tests are disabled.\u0027)"},{"line_number":51,"context_line":"    def test_create_shrink_and_write(self):"},{"line_number":52,"context_line":"        default_share_size \u003d CONF.share.share_size"},{"line_number":53,"context_line":"        share_size \u003d CONF.share.share_size * 2"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        LOG.debug(\u0027Step 1 - create instance\u0027)"},{"line_number":56,"context_line":"        instance \u003d self.boot_instance(wait_until\u003d\"BUILD\")"}],"source_content_type":"text/x-python","patch_set":33,"id":"5fc1f717_74d3bed6","line":53,"range":{"start_line":53,"start_character":21,"end_line":53,"end_character":46},"updated":"2019-03-22 03:24:57.000000000","message":"This could potentially be too big.. i.e, if \"share_size\" is set to 128 GB, you\u0027ll create and attempt to write 256 GB in 64MB blocks, that can take a long time. \n\nAll drivers do support extending and shrinking shares in 1GB units, so... \n\n CONF.share.share_size + 1 \n\nshould still suffice as the starting size.","commit_id":"0e261b93b9ec38e221f05db172d5c3014e09cb8c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4a6136465d703eb350bdc205c231dde19d65f300","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        LOG.debug(\u0027Step 5 - mount\u0027)"},{"line_number":71,"context_line":"        self.mount_share(locations[0], remote_client)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        LOG.debug(\u0027Step 6 - writing 3/4 of share size\u0027)"},{"line_number":74,"context_line":"        total_blocks \u003d (1024 * share_size) / 64"},{"line_number":75,"context_line":"        blocks \u003d (total_blocks / 4) * 3"},{"line_number":76,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"}],"source_content_type":"text/x-python","patch_set":33,"id":"5fc1f717_c2d982f4","line":73,"range":{"start_line":73,"start_character":8,"end_line":73,"end_character":55},"updated":"2019-03-22 03:24:57.000000000","message":":( This would work with twice the original share size, but not with share_size+1. I suggest just adding 256MB or so beyond share size...","commit_id":"0e261b93b9ec38e221f05db172d5c3014e09cb8c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4a6136465d703eb350bdc205c231dde19d65f300","unresolved":false,"context_lines":[{"line_number":115,"context_line":"        start \u003d int(time.time())"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        while share_status !\u003d constants.STATUS_AVAILABLE:"},{"line_number":118,"context_line":"            time.sleep(CONF.share.build_interval)"},{"line_number":119,"context_line":"            self.shares_admin_v2_client.reset_state("},{"line_number":120,"context_line":"                share_id, status\u003dconstants.STATUS_AVAILABLE)"},{"line_number":121,"context_line":"            self.shares_v2_client.shrink_share(share_id, new_size\u003dshare_size)"}],"source_content_type":"text/x-python","patch_set":33,"id":"5fc1f717_62c0cee1","line":118,"range":{"start_line":118,"start_character":12,"end_line":118,"end_character":49},"updated":"2019-03-22 03:24:57.000000000","message":"it\u0027s possible that the share status changes to available somewhere in this sleep... so trying to shrink again will raise an error.","commit_id":"0e261b93b9ec38e221f05db172d5c3014e09cb8c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c9fa7542b0cb21b00e7af3860bfc053027de7f60","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        LOG.debug(\u0027Step 5 - mount\u0027)"},{"line_number":71,"context_line":"        self.mount_share(locations[0], remote_client)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        LOG.debug(\u0027Step 6 - writing an additional 256MB in 64MB blocks\u0027)"},{"line_number":74,"context_line":"        total_blocks \u003d (1024 * share_size) / 64"},{"line_number":75,"context_line":"        blocks \u003d total_blocks + 4"},{"line_number":76,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"}],"source_content_type":"text/x-python","patch_set":34,"id":"5fc1f717_e779e2c4","line":73,"range":{"start_line":73,"start_character":36,"end_line":73,"end_character":49},"updated":"2019-03-25 18:22:17.000000000","message":"CONF.share_size +","commit_id":"1bde97bb225ef2439466cfd02a0bd506ecc12320"},{"author":{"_account_id":26535,"name":"Nir Gilboa","email":"gilboa.nir@gmail.com","username":"nirgilbo"},"change_message_id":"d965d1dff31dc8209b31350039877cac3a04f672","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        LOG.debug(\u0027Step 5 - mount\u0027)"},{"line_number":71,"context_line":"        self.mount_share(locations[0], remote_client)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        LOG.debug(\u0027Step 6 - writing an additional 256MB in 64MB blocks\u0027)"},{"line_number":74,"context_line":"        total_blocks \u003d (1024 * share_size) / 64"},{"line_number":75,"context_line":"        blocks \u003d total_blocks + 4"},{"line_number":76,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"}],"source_content_type":"text/x-python","patch_set":34,"id":"5fc1f717_ce7b24f2","line":73,"range":{"start_line":73,"start_character":36,"end_line":73,"end_character":49},"in_reply_to":"5fc1f717_e779e2c4","updated":"2019-04-03 06:33:46.000000000","message":"Done","commit_id":"1bde97bb225ef2439466cfd02a0bd506ecc12320"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c9fa7542b0cb21b00e7af3860bfc053027de7f60","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        self.mount_share(locations[0], remote_client)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        LOG.debug(\u0027Step 6 - writing an additional 256MB in 64MB blocks\u0027)"},{"line_number":74,"context_line":"        total_blocks \u003d (1024 * share_size) / 64"},{"line_number":75,"context_line":"        blocks \u003d total_blocks + 4"},{"line_number":76,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":77,"context_line":"                                                  \u0027/mnt/t1\u0027, \u002764M\u0027,"}],"source_content_type":"text/x-python","patch_set":34,"id":"5fc1f717_07774ed6","line":74,"range":{"start_line":74,"start_character":31,"end_line":74,"end_character":41},"updated":"2019-03-25 18:22:17.000000000","message":"this should be default_share_size...","commit_id":"1bde97bb225ef2439466cfd02a0bd506ecc12320"},{"author":{"_account_id":26535,"name":"Nir Gilboa","email":"gilboa.nir@gmail.com","username":"nirgilbo"},"change_message_id":"d965d1dff31dc8209b31350039877cac3a04f672","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        self.mount_share(locations[0], remote_client)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        LOG.debug(\u0027Step 6 - writing an additional 256MB in 64MB blocks\u0027)"},{"line_number":74,"context_line":"        total_blocks \u003d (1024 * share_size) / 64"},{"line_number":75,"context_line":"        blocks \u003d total_blocks + 4"},{"line_number":76,"context_line":"        self.write_data_to_mounted_share_using_dd(remote_client,"},{"line_number":77,"context_line":"                                                  \u0027/mnt/t1\u0027, \u002764M\u0027,"}],"source_content_type":"text/x-python","patch_set":34,"id":"5fc1f717_6e80f0c0","line":74,"range":{"start_line":74,"start_character":31,"end_line":74,"end_character":41},"in_reply_to":"5fc1f717_07774ed6","updated":"2019-04-03 06:33:46.000000000","message":"Done","commit_id":"1bde97bb225ef2439466cfd02a0bd506ecc12320"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c9fa7542b0cb21b00e7af3860bfc053027de7f60","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        while share_status !\u003d constants.STATUS_AVAILABLE:"},{"line_number":118,"context_line":"            self.shares_admin_v2_client.reset_state("},{"line_number":119,"context_line":"                share_id, status\u003dconstants.STATUS_AVAILABLE)"},{"line_number":120,"context_line":"            self.shares_v2_client.shrink_share(share_id, new_size\u003dshare_size)"},{"line_number":121,"context_line":"            time.sleep(CONF.share.build_interval)"},{"line_number":122,"context_line":"            body \u003d self.shares_v2_client.get_share(share_id)"},{"line_number":123,"context_line":"            # For debugging, to be removed"}],"source_content_type":"text/x-python","patch_set":34,"id":"5fc1f717_070e6e3a","line":120,"range":{"start_line":120,"start_character":12,"end_line":120,"end_character":77},"updated":"2019-03-25 18:22:17.000000000","message":"It makes sense to try... except here, and catch this error, and break out of the loop:\n\n https://github.com/openstack/manila/blob/d877b61c5e37ff012341194b8349af6f38155e5d/manila/share/api.py#L1953","commit_id":"1bde97bb225ef2439466cfd02a0bd506ecc12320"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"224be9147bf0a8a41b362bace8c865961a7b9d90","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        while share_status !\u003d constants.STATUS_AVAILABLE:"},{"line_number":118,"context_line":"            self.shares_admin_v2_client.reset_state("},{"line_number":119,"context_line":"                share_id, status\u003dconstants.STATUS_AVAILABLE)"},{"line_number":120,"context_line":"            self.shares_v2_client.shrink_share(share_id, new_size\u003dshare_size)"},{"line_number":121,"context_line":"            time.sleep(CONF.share.build_interval)"},{"line_number":122,"context_line":"            body \u003d self.shares_v2_client.get_share(share_id)"},{"line_number":123,"context_line":"            # For debugging, to be removed"}],"source_content_type":"text/x-python","patch_set":34,"id":"5fc1f717_853e56b7","line":120,"range":{"start_line":120,"start_character":12,"end_line":120,"end_character":77},"in_reply_to":"5fc1f717_070e6e3a","updated":"2019-04-01 18:35:41.000000000","message":"This exception is equivalent to Tempest\u0027s https://github.com/openstack/tempest/blob/49e9de/tempest/lib/exceptions.py#L77\n\nYou might need to parse the error message to match that error, or, check that the size of the share has indeed been updated.. \n\n\nWe need this try...except to harden this \"share_shrink_retry_until_success\" logic against a possibility where your previous attempt actually succeeds and the share has really been shrunk.","commit_id":"1bde97bb225ef2439466cfd02a0bd506ecc12320"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"224be9147bf0a8a41b362bace8c865961a7b9d90","unresolved":false,"context_lines":[{"line_number":95,"context_line":"                                              share_size\u003ddefault_share_size)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        share \u003d self.shares_v2_client.get_share(share[\"id\"])"},{"line_number":98,"context_line":"        self.assertEqual(1, int(share[\"size\"]))"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        LOG.debug(\u0027Step 11 - write more data than allocated, should fail\u0027)"},{"line_number":101,"context_line":"        self.assertRaises("}],"source_content_type":"text/x-python","patch_set":35,"id":"5fc1f717_da167d56","line":98,"range":{"start_line":98,"start_character":25,"end_line":98,"end_character":26},"updated":"2019-04-01 18:35:41.000000000","message":"default_share_size","commit_id":"a1632f1a7cd47bacba338877c136d682fae6c950"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"956032306dba80255016c1369af18db4c3be69b6","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        ls_result \u003d remote_client.exec_command(\"sudo ls -lAh /mnt/\")"},{"line_number":93,"context_line":"        LOG.debug(ls_result)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        self.share_shrink_retry_until_success(share[\"id\"],"},{"line_number":96,"context_line":"                                              share_size\u003ddefault_share_size)"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"5fc1f717_bf2c8cac","line":94,"range":{"start_line":94,"start_character":0,"end_line":94,"end_character":0},"updated":"2019-04-03 23:24:38.000000000","message":"Missing log for Step 10","commit_id":"66fc6d067da951480a65a6310a4dba5f77daeee6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"956032306dba80255016c1369af18db4c3be69b6","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        start \u003d int(time.time())"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        while share_status !\u003d constants.STATUS_AVAILABLE:"},{"line_number":119,"context_line":"            self.shares_admin_v2_client.reset_state("},{"line_number":120,"context_line":"                share_id, status\u003dconstants.STATUS_AVAILABLE)"},{"line_number":121,"context_line":"            try:"},{"line_number":122,"context_line":"                self.shares_v2_client.shrink_share(share_id,"},{"line_number":123,"context_line":"                                                   new_size\u003dshare_size)"},{"line_number":124,"context_line":"            except exceptions.BadRequest as e:"},{"line_number":125,"context_line":"                if (\u0027New size for shrink must be less \u0027"},{"line_number":126,"context_line":"                   \u0027than current size\u0027) in six.text_type(e):"},{"line_number":127,"context_line":"                    break"},{"line_number":128,"context_line":"            time.sleep(CONF.share.build_interval)"},{"line_number":129,"context_line":"            body \u003d self.shares_v2_client.get_share(share_id)"}],"source_content_type":"text/x-python","patch_set":36,"id":"5fc1f717_9f643023","line":126,"range":{"start_line":119,"start_character":12,"end_line":126,"end_character":27},"updated":"2019-04-03 23:24:38.000000000","message":"do this only if share status isn\u0027t \"shrinking\", i.e:\n\n \n\n  if share_status !\u003d constants.STATUS_SHRINKING:\n      # Reset state\n      # Retry shrinking within try...except\n\n \n\nIf share status on the previous iteration of the loop is \"shrinking\", there\u0027s really no need to force another \"shrink\" operation, we can just wait some more and retry... \n\n\nSTATUS_SHRINKING isn\u0027t there in our constants file, please add it.","commit_id":"66fc6d067da951480a65a6310a4dba5f77daeee6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"956032306dba80255016c1369af18db4c3be69b6","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                if (\u0027New size for shrink must be less \u0027"},{"line_number":126,"context_line":"                   \u0027than current size\u0027) in six.text_type(e):"},{"line_number":127,"context_line":"                    break"},{"line_number":128,"context_line":"            time.sleep(CONF.share.build_interval)"},{"line_number":129,"context_line":"            body \u003d self.shares_v2_client.get_share(share_id)"},{"line_number":130,"context_line":"            # For debugging, to be removed"},{"line_number":131,"context_line":"            LOG.debug(body)"}],"source_content_type":"text/x-python","patch_set":36,"id":"5fc1f717_5fa00843","line":128,"range":{"start_line":128,"start_character":34,"end_line":128,"end_character":48},"updated":"2019-04-03 23:24:38.000000000","message":"This interval seems to be configured as 3 seconds [1]. It\u0027s possible that a backend may take more time :(\n\n[1] http://logs.openstack.org/15/531615/36/check/manila-tempest-dsvm-scenario/b571d99/logs/tempest.txt.gz#_2019-04-02_20_33_38_494","commit_id":"66fc6d067da951480a65a6310a4dba5f77daeee6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9c28e8a231cf3e236ec3fa7206dc4343d1263ad","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def share_shrink_retry_until_success(self, share_id, share_size,"},{"line_number":112,"context_line":"                                         status_attr\u003d\u0027status\u0027):"},{"line_number":113,"context_line":"        \"\"\"Try share reset, followed by shrink, util timeout\"\"\""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        check_interval \u003d CONF.share.build_interval * 2"},{"line_number":116,"context_line":"        body \u003d self.shares_v2_client.get_share(share_id)"}],"source_content_type":"text/x-python","patch_set":37,"id":"5fc1f717_261aba16","line":113,"range":{"start_line":113,"start_character":48,"end_line":113,"end_character":52},"updated":"2019-04-04 22:12:07.000000000","message":"until","commit_id":"a15d4ae781215de07e96f958ea4f03209f3f9be1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9c28e8a231cf3e236ec3fa7206dc4343d1263ad","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                        break"},{"line_number":131,"context_line":"            time.sleep(check_interval)"},{"line_number":132,"context_line":"            body \u003d self.shares_v2_client.get_share(share_id)"},{"line_number":133,"context_line":"            # For debugging, to be removed"},{"line_number":134,"context_line":"            LOG.debug(body)"},{"line_number":135,"context_line":"            share_status \u003d body[status_attr]"},{"line_number":136,"context_line":"            if share_status \u003d\u003d constants.STATUS_AVAILABLE:"},{"line_number":137,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":37,"id":"5fc1f717_861b6e1a","line":134,"range":{"start_line":133,"start_character":12,"end_line":134,"end_character":27},"updated":"2019-04-04 22:12:07.000000000","message":"remove?","commit_id":"a15d4ae781215de07e96f958ea4f03209f3f9be1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9c28e8a231cf3e236ec3fa7206dc4343d1263ad","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            if int(time.time()) - start \u003e\u003d CONF.share.build_timeout:"},{"line_number":140,"context_line":"                message \u003d (\"Share\u0027s %(status_attr)s failed to transition to \""},{"line_number":141,"context_line":"                           \"%(status)s within the required time %(seconds)s.\" %"},{"line_number":142,"context_line":"                           {\"status_attr\": status_attr, \"status\":"},{"line_number":143,"context_line":"                               constants.STATUS_AVAILABLE,"},{"line_number":144,"context_line":"                            \"seconds\": CONF.share.build_timeout})"},{"line_number":145,"context_line":"                raise exceptions.TimeoutException(message)"}],"source_content_type":"text/x-python","patch_set":37,"id":"5fc1f717_26ef1aea","line":142,"range":{"start_line":142,"start_character":55,"end_line":142,"end_character":56},"updated":"2019-04-04 22:12:07.000000000","message":"wrapping nit: push to next line","commit_id":"a15d4ae781215de07e96f958ea4f03209f3f9be1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d9c28e8a231cf3e236ec3fa7206dc4343d1263ad","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        )"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"# NOTE(u_glide): this function is required to exclude ShareBasicOpsBase from"},{"line_number":170,"context_line":"# executed test cases."},{"line_number":171,"context_line":"# See: https://docs.python.org/2/library/unittest.html#load-tests-protocol"},{"line_number":172,"context_line":"# for details."}],"source_content_type":"text/x-python","patch_set":37,"id":"5fc1f717_a6db0a4d","line":169,"range":{"start_line":169,"start_character":54,"end_line":169,"end_character":71},"updated":"2019-04-04 22:12:07.000000000","message":"ShareShrinkBase","commit_id":"a15d4ae781215de07e96f958ea4f03209f3f9be1"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"71b28cd0bdbd0b745dfafdcd1f4d771ea2245a87","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        )"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"# NOTE(u_glide): this function is required to exclude ShareBasicOpsBase from"},{"line_number":168,"context_line":"# executed test cases."},{"line_number":169,"context_line":"# See: https://docs.python.org/2/library/unittest.html#load-tests-protocol"},{"line_number":170,"context_line":"# for details."}],"source_content_type":"text/x-python","patch_set":38,"id":"5fc1f717_00cc3833","line":167,"range":{"start_line":167,"start_character":54,"end_line":167,"end_character":71},"updated":"2019-04-06 02:47:25.000000000","message":"ShareShrinkBase","commit_id":"5fa7c1ca339a92c32b0e7ba11a16c21019d8a277"},{"author":{"_account_id":26535,"name":"Nir Gilboa","email":"gilboa.nir@gmail.com","username":"nirgilbo"},"change_message_id":"7120b04e6eed7473f9edbbfb8191d21712920955","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        )"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"# NOTE(u_glide): this function is required to exclude ShareBasicOpsBase from"},{"line_number":168,"context_line":"# executed test cases."},{"line_number":169,"context_line":"# See: https://docs.python.org/2/library/unittest.html#load-tests-protocol"},{"line_number":170,"context_line":"# for details."}],"source_content_type":"text/x-python","patch_set":38,"id":"5fc1f717_ebcc5f35","line":167,"range":{"start_line":167,"start_character":54,"end_line":167,"end_character":71},"in_reply_to":"5fc1f717_00cc3833","updated":"2019-04-06 19:44:50.000000000","message":"Fixed. amito noted on the manage/unmanage test that we could change this to use a class property to separate classes containing tests for those that don\u0027t (such as base classes here). If that sounds good to you, I can give it a try in a separate change.","commit_id":"5fa7c1ca339a92c32b0e7ba11a16c21019d8a277"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"8760b81c93b865a87f1c5699aff0188e0ef60107","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        )"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"# NOTE(u_glide): this function is required to exclude ShareBasicOpsBase from"},{"line_number":168,"context_line":"# executed test cases."},{"line_number":169,"context_line":"# See: https://docs.python.org/2/library/unittest.html#load-tests-protocol"},{"line_number":170,"context_line":"# for details."}],"source_content_type":"text/x-python","patch_set":38,"id":"5fc1f717_7f8b49bf","line":167,"range":{"start_line":167,"start_character":54,"end_line":167,"end_character":71},"in_reply_to":"5fc1f717_ebcc5f35","updated":"2019-04-07 17:26:46.000000000","message":"instead of a type check? sounds like a good cleanup if it can be done... thanks Nir!","commit_id":"5fa7c1ca339a92c32b0e7ba11a16c21019d8a277"}]}
