)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34290,"name":"Alexander Malashenko","email":"alexander.malashenko@dell.com","username":"amalashenko"},"change_message_id":"768b914bd6e8209a0cd3142cacc223d57c3372f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"64584729_57880a80","updated":"2022-02-03 14:44:52.000000000","message":"It looks okay","commit_id":"6754699bdc81f8ca1e5693e83f90048e48c0d5cc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c7528144824c6444867cf5a5d5b6cb2dfae552fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"84246b42_1a28efbe","updated":"2022-02-03 17:05:28.000000000","message":"I have one question inside.","commit_id":"2b570db48046604253b8bada741e3c08f292d611"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"db681f3b13a289271444df60c8df5f65bcc2c38f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"fe254d85_a1f97163","updated":"2022-02-07 05:29:08.000000000","message":"Looks good, just one suggestion inline.","commit_id":"5d8617d0371467aa4c34837eda682fcfe6c14ba1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"b75ee654a10b66a830c2c1804fbabe9572a0b159","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"66472034_077336f7","updated":"2022-02-04 07:14:40.000000000","message":"Thanks for the review Abhishek, please find my reply inline.","commit_id":"5d8617d0371467aa4c34837eda682fcfe6c14ba1"},{"author":{"_account_id":31779,"name":"Jean Pierre Roquesalane","display_name":"happystacker","email":"jeanpierre.roquesalane@dell.com","username":"happystacker"},"change_message_id":"ed595602ef27d2ecf85da93fc18ed43a353d32f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"163456c7_ee211980","updated":"2022-02-08 09:33:45.000000000","message":"Looks good to me","commit_id":"f3433ed1a5176bff85b3fe04dba2d4c76618a299"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"90917ba44df0b816299fc9f39e8e610771a08a69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8da0fdcf_1b1d759d","updated":"2022-02-08 16:08:39.000000000","message":"Looks good.  Thanks for the details in the commit message.","commit_id":"f3433ed1a5176bff85b3fe04dba2d4c76618a299"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"68267a6e578e9da31c1516b551bb472757ea553d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c6f59d9f_7e7f1fef","updated":"2022-02-07 18:27:14.000000000","message":"Thanks Abhishek","commit_id":"f3433ed1a5176bff85b3fe04dba2d4c76618a299"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ecdf37972774c102f3899634a6c05ee242559106","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9a9eb40f_d2fa6c0d","updated":"2022-02-07 18:53:34.000000000","message":"This looks good to me, probably someone from cinder side should also review it.\nThank you Rajat!!\n","commit_id":"f3433ed1a5176bff85b3fe04dba2d4c76618a299"}],"glance_store/_drivers/cinder.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c7528144824c6444867cf5a5d5b6cb2dfae552fe","unresolved":true,"context_lines":[{"line_number":654,"context_line":"        return device_size"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"    def _wait_resize_device(self, volume, device_file):"},{"line_number":657,"context_line":"        timeout \u003d 20"},{"line_number":658,"context_line":"        max_recheck_wait \u003d 10"},{"line_number":659,"context_line":"        tries \u003d 0"},{"line_number":660,"context_line":"        elapsed \u003d 0"},{"line_number":661,"context_line":"        while self._get_device_size(device_file) \u003c volume.size:"}],"source_content_type":"text/x-python","patch_set":3,"id":"6f49ae01_9c813489","line":658,"range":{"start_line":657,"start_character":8,"end_line":658,"end_character":29},"updated":"2022-02-03 17:05:28.000000000","message":"Just curious about what are the factors considered for setting timeout to 20 and max_recheck_wait \u003d 10\n\nAlso just to confirm,\nif this operation is failed then it will raise the exception, delete the volume in finally block at line #1027 and exit from there with BackendException, right?\n\nIf I am right, Can we have a scenario/functional test to confirm this behavior?","commit_id":"2b570db48046604253b8bada741e3c08f292d611"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"b75ee654a10b66a830c2c1804fbabe9572a0b159","unresolved":true,"context_lines":[{"line_number":654,"context_line":"        return device_size"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"    def _wait_resize_device(self, volume, device_file):"},{"line_number":657,"context_line":"        timeout \u003d 20"},{"line_number":658,"context_line":"        max_recheck_wait \u003d 10"},{"line_number":659,"context_line":"        tries \u003d 0"},{"line_number":660,"context_line":"        elapsed \u003d 0"},{"line_number":661,"context_line":"        while self._get_device_size(device_file) \u003c volume.size:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ed554654_bf15f456","line":658,"range":{"start_line":657,"start_character":8,"end_line":658,"end_character":29},"in_reply_to":"6f49ae01_9c813489","updated":"2022-02-04 07:14:40.000000000","message":"I took reference from the existing wait mechanism but modified on the basis of how much time it should take in a real deployment.\nHere wait time will be in the following order,\nwait \u003d 0.5, 1, 2, 4, 8, 10(should be 16 but resize should not take more than max_recheck_wait \u003d 10)\nelapsed \u003d 0.5, 1.5, 3.5, 7.5, 15.5, 25.5(this case will raise exception as timeout is set to 20 seconds)\nIn an actual deployment with slightly slow networks, it should take 1-2 seconds for the resize to take effect in the device but just for caution if the network is really slow, we wait for a maximum time of 20 seconds spanning over 5 retries which is significantly more than how much it will take in a real scenario but just to be on the safe side (and also we won\u0027t wait unnecessarily if the device gets resized earlier)\nI didn\u0027t make these values configurable as it is not a common usecase and can happen rarely in a deployment and the operator can\u0027t assume the desired time required for this resize to occur as it is not obvious to determine it. Also the current set time is far more than what will be required in a real deployment.\n\nRegarding the second query, yes that\u0027s the right understanding and that can be addressed by a unit test as we\u0027ve tested similar cases with the help of unit test only. Any exception occurring in the image writing logic leads to deletion of volume and we already have tests related to that. I will add a unit test in next PS for this case.","commit_id":"2b570db48046604253b8bada741e3c08f292d611"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"db681f3b13a289271444df60c8df5f65bcc2c38f","unresolved":false,"context_lines":[{"line_number":654,"context_line":"        return device_size"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"    def _wait_resize_device(self, volume, device_file):"},{"line_number":657,"context_line":"        timeout \u003d 20"},{"line_number":658,"context_line":"        max_recheck_wait \u003d 10"},{"line_number":659,"context_line":"        tries \u003d 0"},{"line_number":660,"context_line":"        elapsed \u003d 0"},{"line_number":661,"context_line":"        while self._get_device_size(device_file) \u003c volume.size:"}],"source_content_type":"text/x-python","patch_set":3,"id":"777aa2a2_af97af21","line":658,"range":{"start_line":657,"start_character":8,"end_line":658,"end_character":29},"in_reply_to":"ed554654_bf15f456","updated":"2022-02-07 05:29:08.000000000","message":"Ack","commit_id":"2b570db48046604253b8bada741e3c08f292d611"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"db681f3b13a289271444df60c8df5f65bcc2c38f","unresolved":true,"context_lines":[{"line_number":641,"context_line":"            raise exceptions.BadStoreConfiguration(store_name\u003d\"cinder\","},{"line_number":642,"context_line":"                                                   reason\u003dreason)"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"    def _get_device_size(self, device_file):"},{"line_number":645,"context_line":"        # The seek position is corrected after every extend operation"},{"line_number":646,"context_line":"        # with the bytes written (which is after this wait call) so we"},{"line_number":647,"context_line":"        # don\u0027t need to worry about setting it back to original position"}],"source_content_type":"text/x-python","patch_set":4,"id":"85122eae_bad31d20","line":644,"range":{"start_line":644,"start_character":8,"end_line":644,"end_character":24},"updated":"2022-02-07 05:29:08.000000000","message":"I think you can make this and below method as static as self is not used in this method and in below method it is used to call this method only.","commit_id":"5d8617d0371467aa4c34837eda682fcfe6c14ba1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"68267a6e578e9da31c1516b551bb472757ea553d","unresolved":false,"context_lines":[{"line_number":641,"context_line":"            raise exceptions.BadStoreConfiguration(store_name\u003d\"cinder\","},{"line_number":642,"context_line":"                                                   reason\u003dreason)"},{"line_number":643,"context_line":""},{"line_number":644,"context_line":"    def _get_device_size(self, device_file):"},{"line_number":645,"context_line":"        # The seek position is corrected after every extend operation"},{"line_number":646,"context_line":"        # with the bytes written (which is after this wait call) so we"},{"line_number":647,"context_line":"        # don\u0027t need to worry about setting it back to original position"}],"source_content_type":"text/x-python","patch_set":4,"id":"c2073029_4835a54f","line":644,"range":{"start_line":644,"start_character":8,"end_line":644,"end_character":24},"in_reply_to":"85122eae_bad31d20","updated":"2022-02-07 18:27:14.000000000","message":"Done","commit_id":"5d8617d0371467aa4c34837eda682fcfe6c14ba1"}]}
