)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"7435e1e9c2647e7c1b307860276adcc973dc7940","unresolved":true,"context_lines":[{"line_number":14,"context_line":"Generic flow doesn\u0027t require any change, only the drivers"},{"line_number":15,"context_line":"affected:"},{"line_number":16,"context_line":"- rbd"},{"line_number":17,"context_line":"- EMC ScaleIO"},{"line_number":18,"context_line":"- NetApp Ontap"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Closes-Bug: #1798589"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"719d3aeb_cd127d6c","line":17,"range":{"start_line":17,"start_character":6,"end_line":17,"end_character":13},"updated":"2022-02-18 15:22:29.000000000","message":"this is rebranded to PowerFlex","commit_id":"17729775cb94121586b70e2fc9c1eab6cabe01f6"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"af21a1e71ca6e5adc24b3dc67f5c6d44c463dee1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f9cd20ad_ddaf1703","updated":"2021-11-05 19:54:14.000000000","message":"release note","commit_id":"7d626c1a1c3405197dd9f57db51ca2cde6210a60"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"cd148ed97e954cbd5a00f2175f01c38b97a371cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7e391bf9_5719cf64","updated":"2021-11-08 16:50:44.000000000","message":"Thanks for the fix Sofia. Please find my comment inline.\n","commit_id":"13e13ad6ec1e08872470aadc38d9ca81833e74f1"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"f7c5b7c06de2511ddeccf2b495b527306473381b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"708e42d1_57eed295","updated":"2021-11-08 16:43:48.000000000","message":"recheck","commit_id":"13e13ad6ec1e08872470aadc38d9ca81833e74f1"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"3d30f0eef2e1876e6c49e586420ee0a34324b89f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8624e958_6518fe5c","updated":"2022-01-09 18:29:43.000000000","message":"\u0027run-NetApp CI","commit_id":"18ef382231816becf3e76915f7d9fa00cb4b3cac"},{"author":{"_account_id":12670,"name":"Helen Walsh","email":"helen.walsh@emc.com","username":"walshh2"},"change_message_id":"df0da41918cf2ebbf3dd8963c319a3f1c72d7874","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"19363d72_dd58d07b","updated":"2021-12-06 15:08:18.000000000","message":"LGTM","commit_id":"18ef382231816becf3e76915f7d9fa00cb4b3cac"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"165ba389def0bd80f9e26d18219878aadcc6f496","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4bd851fc_5430e243","updated":"2021-11-24 14:19:11.000000000","message":"recheck\n","commit_id":"18ef382231816becf3e76915f7d9fa00cb4b3cac"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"45c459260900e2535b7058c5cb24e5d036e5b433","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0e82cec9_9bd0e44f","updated":"2021-11-23 20:03:49.000000000","message":"recheck NetApp CI","commit_id":"18ef382231816becf3e76915f7d9fa00cb4b3cac"},{"author":{"_account_id":14624,"name":"Sam Wan","email":"sam.wan@emc.com","username":"samwan"},"change_message_id":"eec0cd6783e87294304b67b06e3f8965d3941148","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0b412650_9f607a83","updated":"2021-11-22 04:28:21.000000000","message":"run-DellEMC SC CI","commit_id":"18ef382231816becf3e76915f7d9fa00cb4b3cac"},{"author":{"_account_id":14624,"name":"Sam Wan","email":"sam.wan@emc.com","username":"samwan"},"change_message_id":"928dfcf8149893345033307e327fd40a62b61c44","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8865a66b_93512768","updated":"2021-11-22 04:50:39.000000000","message":"run-DellEMC SC CI","commit_id":"18ef382231816becf3e76915f7d9fa00cb4b3cac"},{"author":{"_account_id":14624,"name":"Sam Wan","email":"sam.wan@emc.com","username":"samwan"},"change_message_id":"e1f8645268fbc4871c63054729dd7dd913c5b9f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b3b2a8b8_d29bbb98","updated":"2021-11-22 04:46:45.000000000","message":"run-DellEMC SC CI","commit_id":"18ef382231816becf3e76915f7d9fa00cb4b3cac"},{"author":{"_account_id":14624,"name":"Sam Wan","email":"sam.wan@emc.com","username":"samwan"},"change_message_id":"4def5f6af5ec3f73f5c48e16a36bbf96d0fb09a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f1b8a4cf_914d2c81","updated":"2021-11-22 05:15:21.000000000","message":"run-DellEMC SC CI","commit_id":"18ef382231816becf3e76915f7d9fa00cb4b3cac"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"7435e1e9c2647e7c1b307860276adcc973dc7940","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"14ab98bc_0abda22d","updated":"2022-02-18 15:22:29.000000000","message":"Looks like this is only applicable for RBD driver as i couldn\u0027t see the reason for doing this in filesystem drivers and powerflex.","commit_id":"17729775cb94121586b70e2fc9c1eab6cabe01f6"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"a70528ff660c2c3db2b5752b49aacd4c01ea40ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"576cd325_4f121374","updated":"2022-02-18 15:04:16.000000000","message":"The CIs are failing.  That is concerning.","commit_id":"17729775cb94121586b70e2fc9c1eab6cabe01f6"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"812997074dbe4b5e25b2bcd4a026c5448e911e6b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"00d36fc0_68035a9b","updated":"2022-07-08 14:54:17.000000000","message":"run-NetApp CI","commit_id":"17729775cb94121586b70e2fc9c1eab6cabe01f6"},{"author":{"_account_id":33431,"name":"Fábio Oliveira","email":"fabioaurelio1269@gmail.com","username":"fabiooliveira1"},"change_message_id":"b2a822494bd459915b406be137685eeaa8197fc7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"d930b0b1_5f78b6bf","updated":"2022-02-18 14:33:12.000000000","message":"run-NetApp CI","commit_id":"17729775cb94121586b70e2fc9c1eab6cabe01f6"}],"cinder/image/image_utils.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"cd148ed97e954cbd5a00f2175f01c38b97a371cc","unresolved":true,"context_lines":[{"line_number":341,"context_line":"                                luks passphrase"},{"line_number":342,"context_line":"    \"\"\""},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    try:"},{"line_number":345,"context_line":"        image_size \u003d os.stat(source).st_size"},{"line_number":346,"context_line":"        check_available_space(dest\u003ddest,"},{"line_number":347,"context_line":"                              image_size\u003dimage_size,"},{"line_number":348,"context_line":"                              image_id\u003dsource)"},{"line_number":349,"context_line":"    except exception.ImageTooBig as err:"},{"line_number":350,"context_line":"        message \u003d _(\"Insufficient free space on %(location)s for image \""},{"line_number":351,"context_line":"                    \"conversion.\") % {\u0027location\u0027: dest}"},{"line_number":352,"context_line":"        LOG.error(message)"},{"line_number":353,"context_line":"        raise err"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    # Check whether O_DIRECT is supported and set \u0027-t none\u0027 if it is"},{"line_number":356,"context_line":"    # This is needed to ensure that all data hit the device before"}],"source_content_type":"text/x-python","patch_set":2,"id":"48f278c0_1eb75973","line":353,"range":{"start_line":344,"start_character":0,"end_line":353,"end_character":17},"updated":"2021-11-08 16:50:44.000000000","message":"The issue doesn\u0027t seem to be occurring here since it\u0027s a later stage of the operation i.e. upload volume to image.\nFor the rbd specific scenario, we are exporting the image to a temp file in image_conversion_dir[1] which seems to be the main cause of failure (can\u0027t confirm since the launchpad report is missing logs)\nI think We should also check other drivers using the image_conversion_dir for dumping the volume into it so as to handle similar failure cases.\n\n[1] https://github.com/openstack/cinder/blob/master/cinder/volume/drivers/rbd.py#L1708-L1712","commit_id":"13e13ad6ec1e08872470aadc38d9ca81833e74f1"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"2f856f9ba1c479b54066dc5c84f97f531ad330b7","unresolved":true,"context_lines":[{"line_number":341,"context_line":"                                luks passphrase"},{"line_number":342,"context_line":"    \"\"\""},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    try:"},{"line_number":345,"context_line":"        image_size \u003d os.stat(source).st_size"},{"line_number":346,"context_line":"        check_available_space(dest\u003ddest,"},{"line_number":347,"context_line":"                              image_size\u003dimage_size,"},{"line_number":348,"context_line":"                              image_id\u003dsource)"},{"line_number":349,"context_line":"    except exception.ImageTooBig as err:"},{"line_number":350,"context_line":"        message \u003d _(\"Insufficient free space on %(location)s for image \""},{"line_number":351,"context_line":"                    \"conversion.\") % {\u0027location\u0027: dest}"},{"line_number":352,"context_line":"        LOG.error(message)"},{"line_number":353,"context_line":"        raise err"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"    # Check whether O_DIRECT is supported and set \u0027-t none\u0027 if it is"},{"line_number":356,"context_line":"    # This is needed to ensure that all data hit the device before"}],"source_content_type":"text/x-python","patch_set":2,"id":"fcd60b02_0fe23611","line":353,"range":{"start_line":344,"start_character":0,"end_line":353,"end_character":17},"in_reply_to":"48f278c0_1eb75973","updated":"2021-11-08 22:20:05.000000000","message":"You\u0027re right. \nI was thinking on NetApp Ontap and EMC ScaleIO [1]. \nIn addition, guess we have a third case scenario that it\u0027s when the backend uses their own way to generate the path[2]. Should we add this check on volume/manager?\n\n[1] https://bugzilla.redhat.com/show_bug.cgi?id\u003d2012755\n[2] https://opendev.org/openstack/cinder/src/branch/master/cinder/volume/drivers/ibm/gpfs.py#L996\n\n\n\u003e https://github.com/openstack/cinder/blob/master/cinder/volume/drivers/rbd.py#L1708-L1712\n\nFinally, not related to this fix but probably we could consider using volume_utils.upload_volume() instead as suggested in line 821 to keep consistency between drivers (most of the drivers use volume_utils).","commit_id":"13e13ad6ec1e08872470aadc38d9ca81833e74f1"}],"cinder/volume/drivers/dell_emc/powerflex/driver.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"7435e1e9c2647e7c1b307860276adcc973dc7940","unresolved":true,"context_lines":[{"line_number":1243,"context_line":"                     \"service\": image_service,"},{"line_number":1244,"context_line":"                     \"meta\": image_meta,"},{"line_number":1245,"context_line":"                 })"},{"line_number":1246,"context_line":"        volume_path \u003d self._sio_attach_volume(volume)"},{"line_number":1247,"context_line":"        try:"},{"line_number":1248,"context_line":"            image_utils.check_available_space(dest\u003dvolume_path,"},{"line_number":1249,"context_line":"                                              image_size\u003dvolume.size,"},{"line_number":1250,"context_line":"                                              image_id\u003dvolume.id)"},{"line_number":1251,"context_line":"        except exception.ImageTooBig as err:"},{"line_number":1252,"context_line":"            message \u003d _(\"Insufficient free space on %(location)s for image \""},{"line_number":1253,"context_line":"                        \"conversion.\") % {\u0027location\u0027: volume_path}"},{"line_number":1254,"context_line":"            LOG.error(message)"},{"line_number":1255,"context_line":"            raise err"},{"line_number":1256,"context_line":"        try:"},{"line_number":1257,"context_line":"            volume_utils.upload_volume(context,"},{"line_number":1258,"context_line":"                                       image_service,"}],"source_content_type":"text/x-python","patch_set":8,"id":"80667d2f_88886d9b","line":1255,"range":{"start_line":1246,"start_character":0,"end_line":1255,"end_character":21},"updated":"2022-02-18 15:22:29.000000000","message":"IIUC, we are just returning the volume path here and not copying the volume file into a temporary directory (specifically image conversion dir) so we won\u0027t need this check here","commit_id":"17729775cb94121586b70e2fc9c1eab6cabe01f6"}],"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"7435e1e9c2647e7c1b307860276adcc973dc7940","unresolved":true,"context_lines":[{"line_number":1706,"context_line":"        tmp_file \u003d os.path.join(tmp_dir,"},{"line_number":1707,"context_line":"                                volume.name + \u0027-\u0027 + image_meta[\u0027id\u0027])"},{"line_number":1708,"context_line":"        try:"},{"line_number":1709,"context_line":"            image_utils.check_available_space(dest\u003dtmp_file,"},{"line_number":1710,"context_line":"                                              image_size\u003dvolume.size,"},{"line_number":1711,"context_line":"                                              image_id\u003dvolume.id)"},{"line_number":1712,"context_line":"        except exception.ImageTooBig as err:"}],"source_content_type":"text/x-python","patch_set":8,"id":"4a324b3b_eac5a236","line":1709,"range":{"start_line":1709,"start_character":51,"end_line":1709,"end_character":59},"updated":"2022-02-18 15:22:29.000000000","message":"it\u0027s better to pass tmp_dir here since in the check_available_space method, we fetch the dir from the file path\nhttps://github.com/openstack/cinder/blob/master/cinder/image/image_utils.py#L895-L896","commit_id":"17729775cb94121586b70e2fc9c1eab6cabe01f6"}],"cinder/volume/drivers/remotefs.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"7435e1e9c2647e7c1b307860276adcc973dc7940","unresolved":true,"context_lines":[{"line_number":538,"context_line":""},{"line_number":539,"context_line":"    def copy_volume_to_image(self, context, volume, image_service, image_meta):"},{"line_number":540,"context_line":"        \"\"\"Copy the volume to the specified image.\"\"\""},{"line_number":541,"context_line":"        volume_path \u003d self.local_path(volume)"},{"line_number":542,"context_line":"        try:"},{"line_number":543,"context_line":"            image_utils.check_available_space(dest\u003dvolume_path,"},{"line_number":544,"context_line":"                                              image_size\u003dvolume.size,"},{"line_number":545,"context_line":"                                              image_id\u003dvolume.id)"},{"line_number":546,"context_line":"        except exception.ImageTooBig as err:"},{"line_number":547,"context_line":"            message \u003d _(\"Insufficient free space on %(location)s for image \""},{"line_number":548,"context_line":"                        \"conversion.\") % {\u0027location\u0027: volume_path}"},{"line_number":549,"context_line":"            LOG.error(message)"},{"line_number":550,"context_line":"            raise err"},{"line_number":551,"context_line":"        volume_utils.upload_volume(context,"},{"line_number":552,"context_line":"                                   image_service,"},{"line_number":553,"context_line":"                                   image_meta,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3dbf93b6_53d8aeb9","line":550,"range":{"start_line":541,"start_character":8,"end_line":550,"end_character":21},"updated":"2022-02-18 15:22:29.000000000","message":"same, the self.local_path returns the mountpoint for the nfs share and doesn\u0027t copy the volume into image_conversion_dir so we don\u0027t need this here","commit_id":"17729775cb94121586b70e2fc9c1eab6cabe01f6"}],"releasenotes/notes/bug-1798589-check-available-space-before-convert-image-eb306a69ab329884.yaml":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"7435e1e9c2647e7c1b307860276adcc973dc7940","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a1ea9daa_349fb798","line":7,"range":{"start_line":4,"start_character":70,"end_line":7,"end_character":0},"updated":"2022-02-18 15:22:29.000000000","message":"This doesn\u0027t sound right. we are not fixing the problem but adding an additional check so if the operation was to fail while copying the volume into image_conversion_dir, it will fail before that. you can rephrase it as something similar to this:\n\nAdded a check for available space in image conversion directory before exporting the volume into it.","commit_id":"17729775cb94121586b70e2fc9c1eab6cabe01f6"}]}
