)]}'
{"cinder/image/image_utils.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"7c56501364ccc9e7f5deacc2f3b199cd7cb7e836","unresolved":false,"context_lines":[{"line_number":450,"context_line":"    return virtual_size"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":""},{"line_number":453,"context_line":"def check_available_space(dest, image_size, image_id):"},{"line_number":454,"context_line":"    free_space \u003d psutil.disk_usage(dest).free"},{"line_number":455,"context_line":"    if free_space \u003c image_size:"},{"line_number":456,"context_line":"        raise exception.ImageUnacceptable("}],"source_content_type":"text/x-python","patch_set":9,"id":"ba5201f7_4640af34","line":453,"updated":"2017-01-05 15:58:48.000000000","message":"Should add a TODO here indicating that whenever we finally get rid of python2, we can just use shutil.disk_usage which is built into python3 and doesn\u0027t require an extra lib.","commit_id":"73fbdca70b898bf878a8cfcdfa45ce99b9f7d8b5"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"e6bcbce3b783a671d5204cfbdb7c56b2f84cf31a","unresolved":false,"context_lines":[{"line_number":452,"context_line":""},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"def check_available_space(dest, image_size, image_id):"},{"line_number":455,"context_line":"    # TODO(e0ne): replase psutil with shutil.disk_usage when we drop"},{"line_number":456,"context_line":"    # Python 2.7 support."},{"line_number":457,"context_line":"    free_space \u003d psutil.disk_usage(dest).free"},{"line_number":458,"context_line":"    if free_space \u003c image_size:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_27833ace","line":455,"updated":"2017-01-25 19:24:32.000000000","message":"replace?","commit_id":"eba3003cbd5dba26283767248fcfdd1b0f4c7004"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"362831c6e3931e5191bbc9e1c3ee339fa16a66e7","unresolved":false,"context_lines":[{"line_number":452,"context_line":""},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"def check_available_space(dest, image_size, image_id):"},{"line_number":455,"context_line":"    # TODO(e0ne): replase psutil with shutil.disk_usage when we drop"},{"line_number":456,"context_line":"    # Python 2.7 support."},{"line_number":457,"context_line":"    free_space \u003d psutil.disk_usage(dest).free"},{"line_number":458,"context_line":"    if free_space \u003c image_size:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_bccba271","line":455,"in_reply_to":"3a461143_27833ace","updated":"2017-01-26 10:05:59.000000000","message":"Done","commit_id":"eba3003cbd5dba26283767248fcfdd1b0f4c7004"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"e6bcbce3b783a671d5204cfbdb7c56b2f84cf31a","unresolved":false,"context_lines":[{"line_number":455,"context_line":"    # TODO(e0ne): replase psutil with shutil.disk_usage when we drop"},{"line_number":456,"context_line":"    # Python 2.7 support."},{"line_number":457,"context_line":"    free_space \u003d psutil.disk_usage(dest).free"},{"line_number":458,"context_line":"    if free_space \u003c image_size:"},{"line_number":459,"context_line":"        raise exception.ImageUnacceptable("},{"line_number":460,"context_line":"            image_id\u003dimage_id,"},{"line_number":461,"context_line":"            reason\u003d\u0027There is no space to convert image.\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_27e89a7c","line":458,"updated":"2017-01-25 19:24:32.000000000","message":"\u003c\u003d ? That one byte could make the difference ;)","commit_id":"eba3003cbd5dba26283767248fcfdd1b0f4c7004"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"362831c6e3931e5191bbc9e1c3ee339fa16a66e7","unresolved":false,"context_lines":[{"line_number":455,"context_line":"    # TODO(e0ne): replase psutil with shutil.disk_usage when we drop"},{"line_number":456,"context_line":"    # Python 2.7 support."},{"line_number":457,"context_line":"    free_space \u003d psutil.disk_usage(dest).free"},{"line_number":458,"context_line":"    if free_space \u003c image_size:"},{"line_number":459,"context_line":"        raise exception.ImageUnacceptable("},{"line_number":460,"context_line":"            image_id\u003dimage_id,"},{"line_number":461,"context_line":"            reason\u003d\u0027There is no space to convert image.\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_3cd89253","line":458,"in_reply_to":"3a461143_27e89a7c","updated":"2017-01-26 10:05:59.000000000","message":"good catch, thanks!","commit_id":"eba3003cbd5dba26283767248fcfdd1b0f4c7004"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"e6bcbce3b783a671d5204cfbdb7c56b2f84cf31a","unresolved":false,"context_lines":[{"line_number":458,"context_line":"    if free_space \u003c image_size:"},{"line_number":459,"context_line":"        raise exception.ImageUnacceptable("},{"line_number":460,"context_line":"            image_id\u003dimage_id,"},{"line_number":461,"context_line":"            reason\u003d\u0027There is no space to convert image.\u0027)"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"def is_xenserver_format(image_meta):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_3281b64b","line":461,"updated":"2017-01-25 19:24:32.000000000","message":"I think it\u0027d be nice for the admin if the exception mentioned the size expected and the size it found","commit_id":"eba3003cbd5dba26283767248fcfdd1b0f4c7004"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"362831c6e3931e5191bbc9e1c3ee339fa16a66e7","unresolved":false,"context_lines":[{"line_number":458,"context_line":"    if free_space \u003c image_size:"},{"line_number":459,"context_line":"        raise exception.ImageUnacceptable("},{"line_number":460,"context_line":"            image_id\u003dimage_id,"},{"line_number":461,"context_line":"            reason\u003d\u0027There is no space to convert image.\u0027)"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"def is_xenserver_format(image_meta):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a461143_1c12f6b4","line":461,"in_reply_to":"3a461143_3281b64b","updated":"2017-01-26 10:05:59.000000000","message":"Done","commit_id":"eba3003cbd5dba26283767248fcfdd1b0f4c7004"}],"cinder/tests/unit/test_image_utils.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"01d54abe9811b24c5aa6de4913fc6f48c4c58f15","unresolved":false,"context_lines":[{"line_number":326,"context_line":"            .assert_called_once_with())"},{"line_number":327,"context_line":"        (mock_fileutils.remove_path_on_error.return_value.__exit__"},{"line_number":328,"context_line":"            .assert_called_once_with(None, None, None))"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    @mock.patch(\u0027cinder.image.image_utils.check_available_space\u0027)"},{"line_number":331,"context_line":"    @mock.patch(\u0027cinder.image.image_utils.qemu_img_info\u0027)"},{"line_number":332,"context_line":"    @mock.patch(\u0027cinder.image.image_utils.fileutils\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"5a3905b3_e7ff6ba8","line":329,"updated":"2017-01-25 03:56:05.000000000","message":"Can you please add a negative test case when there\u0027s no enough available space?","commit_id":"e39b6179b967650abee31b53522de8e4889502b9"}],"cinder/volume/flows/manager/create_volume.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c09c15f63591afcbdd620872b316495ac7ca8002","unresolved":false,"context_lines":[{"line_number":707,"context_line":"        # image downloading."},{"line_number":708,"context_line":"        if (CONF.image_conversion_dir and not"},{"line_number":709,"context_line":"                os.path.exists(CONF.image_conversion_dir)):"},{"line_number":710,"context_line":"            os.makedirs(CONF.image_conversion_dir)"},{"line_number":711,"context_line":"        image_utils.check_available_space(CONF.image_conversion_dir,"},{"line_number":712,"context_line":"                                          image_meta[\u0027size\u0027], image_id)"},{"line_number":713,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba5201f7_8fca0e6d","line":710,"updated":"2017-01-03 14:47:17.000000000","message":"This is racy and will fail during concurrent check/creation calls, see the fix I was attempting to make for a similar thing here:\n\nhttps://review.openstack.org/#/c/414223/","commit_id":"6ab134f2b0e4faf80020d310a82aaf772b3ee6d6"}],"requirements.txt":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"45e3abe8fd7bfff90568dfeb84387fad62c39848","unresolved":false,"context_lines":[{"line_number":34,"context_line":"paramiko\u003e\u003d2.0 # LGPLv2.1+"},{"line_number":35,"context_line":"Paste # MIT"},{"line_number":36,"context_line":"PasteDeploy\u003e\u003d1.5.0 # MIT"},{"line_number":37,"context_line":"psutil\u003e\u003d1.1.1,\u003c2.0.0  # BSD"},{"line_number":38,"context_line":"pycrypto\u003e\u003d2.6 # Public Domain"},{"line_number":39,"context_line":"pyparsing\u003e\u003d2.0.7 # MIT"},{"line_number":40,"context_line":"python-barbicanclient\u003e\u003d4.0.0 # Apache-2.0"}],"source_content_type":"text/plain","patch_set":3,"id":"ba5201f7_0f629ead","line":37,"updated":"2017-01-03 14:45:22.000000000","message":"\u003c2.0.0?  psutil is now at version 5.0.1... I suspect we should look at bumping this in openstack/requirements if we\u0027re going to integrate it here.","commit_id":"6ab134f2b0e4faf80020d310a82aaf772b3ee6d6"}]}
