)]}'
{"doc/source/configuring.rst":[{"author":{"_account_id":1032,"name":"Justin Shepherd","email":"jshepher@rackspace.com","username":"jshepher"},"change_message_id":"2fd1252c2b3dc44bf2b48bbf5069bd5b99158daa","unresolved":false,"context_lines":[{"line_number":225,"context_line":"If true, Glance will attempt to create the container ``swift_store_container``"},{"line_number":226,"context_line":"if it does not exist."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"* ``swift_store_large_object_size\u003dSIZE_IN_MB``"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Optional. Default: ``5242880``"},{"line_number":231,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAACH%2F%2F%2FXc%3D","line":228,"updated":"2011-08-22 19:45:03.000000000","message":"This seems to be size in KB not MB.. 5120 would be size in MB","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bf75ee46c6b64b99837959f6b39fede800b1693c","unresolved":false,"context_lines":[{"line_number":225,"context_line":"If true, Glance will attempt to create the container ``swift_store_container``"},{"line_number":226,"context_line":"if it does not exist."},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"* ``swift_store_large_object_size\u003dSIZE_IN_MB``"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Optional. Default: ``5242880``"},{"line_number":231,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAACH%2F%2F%2FSI%3D","line":228,"in_reply_to":"AAAACH%2F%2F%2FXc%3D","updated":"2011-08-23 00:52:17.000000000","message":"Done","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":1032,"name":"Justin Shepherd","email":"jshepher@rackspace.com","username":"jshepher"},"change_message_id":"2fd1252c2b3dc44bf2b48bbf5069bd5b99158daa","unresolved":false,"context_lines":[{"line_number":237,"context_line":"and do a large object manifest in Swift? By default, this is"},{"line_number":238,"context_line":"the maximum object size in Swift, which is 5GB"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"* ``swift_store_large_object_chunk_size\u003dSIZE_IN_MB``"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"Optional. Default: ``204800``"},{"line_number":243,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAACH%2F%2F%2FXY%3D","line":240,"updated":"2011-08-22 19:45:03.000000000","message":"This is also KB not MB.. 200 would be size in MB","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bf75ee46c6b64b99837959f6b39fede800b1693c","unresolved":false,"context_lines":[{"line_number":237,"context_line":"and do a large object manifest in Swift? By default, this is"},{"line_number":238,"context_line":"the maximum object size in Swift, which is 5GB"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"* ``swift_store_large_object_chunk_size\u003dSIZE_IN_MB``"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"Optional. Default: ``204800``"},{"line_number":243,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAACH%2F%2F%2FSE%3D","line":240,"in_reply_to":"AAAACH%2F%2F%2FXY%3D","updated":"2011-08-23 00:52:17.000000000","message":"Done","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"}],"etc/glance-api.conf":[{"author":{"_account_id":1032,"name":"Justin Shepherd","email":"jshepher@rackspace.com","username":"jshepher"},"change_message_id":"2fd1252c2b3dc44bf2b48bbf5069bd5b99158daa","unresolved":false,"context_lines":[{"line_number":75,"context_line":"# What size, in MB, should Glance start chunking image files"},{"line_number":76,"context_line":"# and do a large object manifest in Swift? By default, this is"},{"line_number":77,"context_line":"# the maximum object size in Swift, which is 5GB"},{"line_number":78,"context_line":"swift_large_object_size \u003d 5242880"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"# When doing a large object manifest, what size, in MB, should"},{"line_number":81,"context_line":"# Glance write chunks to Swift? This amount of data is written"}],"source_content_type":"text/plain","patch_set":1,"id":"AAAACH%2F%2F%2FXU%3D","line":78,"updated":"2011-08-22 19:45:03.000000000","message":"This is KB not MB","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bf75ee46c6b64b99837959f6b39fede800b1693c","unresolved":false,"context_lines":[{"line_number":75,"context_line":"# What size, in MB, should Glance start chunking image files"},{"line_number":76,"context_line":"# and do a large object manifest in Swift? By default, this is"},{"line_number":77,"context_line":"# the maximum object size in Swift, which is 5GB"},{"line_number":78,"context_line":"swift_large_object_size \u003d 5242880"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"# When doing a large object manifest, what size, in MB, should"},{"line_number":81,"context_line":"# Glance write chunks to Swift? This amount of data is written"}],"source_content_type":"text/plain","patch_set":1,"id":"AAAACH%2F%2F%2FSA%3D","line":78,"in_reply_to":"AAAACH%2F%2F%2FXU%3D","updated":"2011-08-23 00:52:17.000000000","message":"Done","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":1032,"name":"Justin Shepherd","email":"jshepher@rackspace.com","username":"jshepher"},"change_message_id":"2fd1252c2b3dc44bf2b48bbf5069bd5b99158daa","unresolved":false,"context_lines":[{"line_number":81,"context_line":"# Glance write chunks to Swift? This amount of data is written"},{"line_number":82,"context_line":"# to a temporary disk buffer during the process of chunking"},{"line_number":83,"context_line":"# the image file, and the default is 200MB"},{"line_number":84,"context_line":"swift_large_object_chunk_size \u003d 204800"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"# Whether to use ServiceNET to communicate with the Swift storage servers."},{"line_number":87,"context_line":"# (If you aren\u0027t RACKSPACE, leave this False!)"}],"source_content_type":"text/plain","patch_set":1,"id":"AAAACH%2F%2F%2FXQ%3D","line":84,"updated":"2011-08-22 19:45:03.000000000","message":"This is KB not MB","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bf75ee46c6b64b99837959f6b39fede800b1693c","unresolved":false,"context_lines":[{"line_number":81,"context_line":"# Glance write chunks to Swift? This amount of data is written"},{"line_number":82,"context_line":"# to a temporary disk buffer during the process of chunking"},{"line_number":83,"context_line":"# the image file, and the default is 200MB"},{"line_number":84,"context_line":"swift_large_object_chunk_size \u003d 204800"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"# Whether to use ServiceNET to communicate with the Swift storage servers."},{"line_number":87,"context_line":"# (If you aren\u0027t RACKSPACE, leave this False!)"}],"source_content_type":"text/plain","patch_set":1,"id":"AAAACH%2F%2F%2FR8%3D","line":84,"in_reply_to":"AAAACH%2F%2F%2FXQ%3D","updated":"2011-08-23 00:52:17.000000000","message":"Done","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"0fbaecfb68d877a255922bb80f2aa5f6df701fc8","unresolved":false,"context_lines":[{"line_number":75,"context_line":"# What size, in MB, should Glance start chunking image files"},{"line_number":76,"context_line":"# and do a large object manifest in Swift? By default, this is"},{"line_number":77,"context_line":"# the maximum object size in Swift, which is 5GB"},{"line_number":78,"context_line":"swift_large_object_size \u003d 5120"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"# When doing a large object manifest, what size, in MB, should"},{"line_number":81,"context_line":"# Glance write chunks to Swift? This amount of data is written"}],"source_content_type":"text/plain","patch_set":5,"id":"AAAACH%2F%2F%2FJo%3D","line":78,"updated":"2011-08-24 18:36:38.000000000","message":"should be swift_store_large_object_size","commit_id":"47ec0c0e5bc208e55d3d198921990a72ffdbb2d6"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"0fbaecfb68d877a255922bb80f2aa5f6df701fc8","unresolved":false,"context_lines":[{"line_number":81,"context_line":"# Glance write chunks to Swift? This amount of data is written"},{"line_number":82,"context_line":"# to a temporary disk buffer during the process of chunking"},{"line_number":83,"context_line":"# the image file, and the default is 200MB"},{"line_number":84,"context_line":"swift_large_object_chunk_size \u003d 200"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"# Whether to use ServiceNET to communicate with the Swift storage servers."},{"line_number":87,"context_line":"# (If you aren\u0027t RACKSPACE, leave this False!)"}],"source_content_type":"text/plain","patch_set":5,"id":"AAAACH%2F%2F%2FJk%3D","line":84,"updated":"2011-08-24 18:36:38.000000000","message":"should be swift_store_large_object_chunk_size","commit_id":"47ec0c0e5bc208e55d3d198921990a72ffdbb2d6"}],"glance/api/v1/images.py":[{"author":{"_account_id":1032,"name":"Justin Shepherd","email":"jshepher@rackspace.com","username":"jshepher"},"change_message_id":"2fd1252c2b3dc44bf2b48bbf5069bd5b99158daa","unresolved":false,"context_lines":[{"line_number":341,"context_line":"        registry.update_image_metadata(self.options, req.context, image_id,"},{"line_number":342,"context_line":"                                       {\u0027status\u0027: \u0027saving\u0027})"},{"line_number":343,"context_line":"        try:"},{"line_number":344,"context_line":"            logger.debug(\"Uploading image data for image %(image_id)s \""},{"line_number":345,"context_line":"                         \"to %(store_name)s store\", locals())"},{"line_number":346,"context_line":"            if req.content_length:"},{"line_number":347,"context_line":"                image_size \u003d int(req.content_length)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FXI%3D","line":344,"updated":"2011-08-22 19:45:03.000000000","message":"Can we wrap this in _()","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bf75ee46c6b64b99837959f6b39fede800b1693c","unresolved":false,"context_lines":[{"line_number":341,"context_line":"        registry.update_image_metadata(self.options, req.context, image_id,"},{"line_number":342,"context_line":"                                       {\u0027status\u0027: \u0027saving\u0027})"},{"line_number":343,"context_line":"        try:"},{"line_number":344,"context_line":"            logger.debug(\"Uploading image data for image %(image_id)s \""},{"line_number":345,"context_line":"                         \"to %(store_name)s store\", locals())"},{"line_number":346,"context_line":"            if req.content_length:"},{"line_number":347,"context_line":"                image_size \u003d int(req.content_length)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FR4%3D","line":344,"in_reply_to":"AAAACH%2F%2F%2FXI%3D","updated":"2011-08-23 00:52:17.000000000","message":"Done","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":1032,"name":"Justin Shepherd","email":"jshepher@rackspace.com","username":"jshepher"},"change_message_id":"2fd1252c2b3dc44bf2b48bbf5069bd5b99158daa","unresolved":false,"context_lines":[{"line_number":348,"context_line":"            elif \u0027x-image-meta-size\u0027 in req.headers:"},{"line_number":349,"context_line":"                image_size \u003d int(req.headers[\u0027x-image-meta-size\u0027])"},{"line_number":350,"context_line":"            else:"},{"line_number":351,"context_line":"                logger.debug(\u0027Got request with no content-length and no \u0027"},{"line_number":352,"context_line":"                             \u0027x-image-meta-size header\u0027)"},{"line_number":353,"context_line":"                image_size \u003d 0"},{"line_number":354,"context_line":"            location, size, checksum \u003d store.add(image_meta[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FXE%3D","line":351,"updated":"2011-08-22 19:45:03.000000000","message":"Can we wrap this in _()","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bf75ee46c6b64b99837959f6b39fede800b1693c","unresolved":false,"context_lines":[{"line_number":348,"context_line":"            elif \u0027x-image-meta-size\u0027 in req.headers:"},{"line_number":349,"context_line":"                image_size \u003d int(req.headers[\u0027x-image-meta-size\u0027])"},{"line_number":350,"context_line":"            else:"},{"line_number":351,"context_line":"                logger.debug(\u0027Got request with no content-length and no \u0027"},{"line_number":352,"context_line":"                             \u0027x-image-meta-size header\u0027)"},{"line_number":353,"context_line":"                image_size \u003d 0"},{"line_number":354,"context_line":"            location, size, checksum \u003d store.add(image_meta[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FR0%3D","line":351,"in_reply_to":"AAAACH%2F%2F%2FXE%3D","updated":"2011-08-23 00:52:17.000000000","message":"Done","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"}],"glance/store/swift.py":[{"author":{"_account_id":1032,"name":"Justin Shepherd","email":"jshepher@rackspace.com","username":"jshepher"},"change_message_id":"2fd1252c2b3dc44bf2b48bbf5069bd5b99158daa","unresolved":false,"context_lines":[{"line_number":208,"context_line":"            else:"},{"line_number":209,"context_line":"                self.large_object_chunk_size \u003d DEFAULT_LARGE_OBJECT_CHUNK_SIZE"},{"line_number":210,"context_line":"        except Exception, e:"},{"line_number":211,"context_line":"            reason \u003d (\"Error in configuration options: %s\" % e)"},{"line_number":212,"context_line":"            logger.error(reason)"},{"line_number":213,"context_line":"            raise exception.BadStoreConfiguration(store_name\u003d\"swift\","},{"line_number":214,"context_line":"                                                  reason\u003dreason)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FW4%3D","line":211,"updated":"2011-08-22 19:45:03.000000000","message":"Can we wrap this in _()","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bf75ee46c6b64b99837959f6b39fede800b1693c","unresolved":false,"context_lines":[{"line_number":208,"context_line":"            else:"},{"line_number":209,"context_line":"                self.large_object_chunk_size \u003d DEFAULT_LARGE_OBJECT_CHUNK_SIZE"},{"line_number":210,"context_line":"        except Exception, e:"},{"line_number":211,"context_line":"            reason \u003d (\"Error in configuration options: %s\" % e)"},{"line_number":212,"context_line":"            logger.error(reason)"},{"line_number":213,"context_line":"            raise exception.BadStoreConfiguration(store_name\u003d\"swift\","},{"line_number":214,"context_line":"                                                  reason\u003dreason)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FRw%3D","line":211,"in_reply_to":"AAAACH%2F%2F%2FW4%3D","updated":"2011-08-23 00:52:17.000000000","message":"Done","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"b14748db952964d2d3dbf9967cd4ae5a5ec91402","unresolved":false,"context_lines":[{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        logger.debug(\"Adding image object \u0027%(obj_name)s\u0027 to Swift\" % locals())"},{"line_number":329,"context_line":"        try:"},{"line_number":330,"context_line":"            if image_size \u003c DEFAULT_LARGE_OBJECT_SIZE:"},{"line_number":331,"context_line":"                # image_size \u003d\u003d 0 is when we don\u0027t know the size"},{"line_number":332,"context_line":"                # of the image. This can occur with older clients"},{"line_number":333,"context_line":"                # that don\u0027t inspect the payload size, and we simply"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FVg%3D","line":330,"updated":"2011-08-22 20:49:09.000000000","message":"shouldn\u0027t this be using self.large_object_size, not the constant?","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bf75ee46c6b64b99837959f6b39fede800b1693c","unresolved":false,"context_lines":[{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        logger.debug(\"Adding image object \u0027%(obj_name)s\u0027 to Swift\" % locals())"},{"line_number":329,"context_line":"        try:"},{"line_number":330,"context_line":"            if image_size \u003c DEFAULT_LARGE_OBJECT_SIZE:"},{"line_number":331,"context_line":"                # image_size \u003d\u003d 0 is when we don\u0027t know the size"},{"line_number":332,"context_line":"                # of the image. This can occur with older clients"},{"line_number":333,"context_line":"                # that don\u0027t inspect the payload size, and we simply"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FRs%3D","line":330,"in_reply_to":"AAAACH%2F%2F%2FVg%3D","updated":"2011-08-23 00:52:17.000000000","message":"Done","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"36eba937b762ac7c16922fb9a3ce80eb1d568479","unresolved":false,"context_lines":[{"line_number":336,"context_line":"                obj_etag \u003d swift_conn.put_object(self.container, obj_name,"},{"line_number":337,"context_line":"                                                 image_file)"},{"line_number":338,"context_line":"            else:"},{"line_number":339,"context_line":"                # Write the image into Swift in 200M chunks. We cannot"},{"line_number":340,"context_line":"                # stream chunks of the webob.Request.body_file, unfortunately,"},{"line_number":341,"context_line":"                # so we must write chunks of the body_file into a temporary"},{"line_number":342,"context_line":"                # disk buffer, and then pass this disk buffer to Swift."}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FXg%3D","line":339,"updated":"2011-08-22 19:41:09.000000000","message":"Might want to remove the explicit comment about \"200M chunks\" here, since it is configurable.","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bf75ee46c6b64b99837959f6b39fede800b1693c","unresolved":false,"context_lines":[{"line_number":336,"context_line":"                obj_etag \u003d swift_conn.put_object(self.container, obj_name,"},{"line_number":337,"context_line":"                                                 image_file)"},{"line_number":338,"context_line":"            else:"},{"line_number":339,"context_line":"                # Write the image into Swift in 200M chunks. We cannot"},{"line_number":340,"context_line":"                # stream chunks of the webob.Request.body_file, unfortunately,"},{"line_number":341,"context_line":"                # so we must write chunks of the body_file into a temporary"},{"line_number":342,"context_line":"                # disk buffer, and then pass this disk buffer to Swift."}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FRo%3D","line":339,"in_reply_to":"AAAACH%2F%2F%2FXg%3D","updated":"2011-08-23 00:52:17.000000000","message":"Done","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":1032,"name":"Justin Shepherd","email":"jshepher@rackspace.com","username":"jshepher"},"change_message_id":"2fd1252c2b3dc44bf2b48bbf5069bd5b99158daa","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                    with tempfile.NamedTemporaryFile() as disk_buffer:"},{"line_number":349,"context_line":"                        chunk_size \u003d min(self.large_object_chunk_size,"},{"line_number":350,"context_line":"                                         bytes_left)"},{"line_number":351,"context_line":"                        logger.debug(\"Writing %(chunk_size)d bytes for \""},{"line_number":352,"context_line":"                                     \"chunk %(chunk_id)d/\""},{"line_number":353,"context_line":"                                     \"%(total_chunks)d to disk buffer \""},{"line_number":354,"context_line":"                                     \"for image %(image_id)s\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FWs%3D","line":351,"updated":"2011-08-22 19:45:03.000000000","message":"Can we wrap this in _()","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bf75ee46c6b64b99837959f6b39fede800b1693c","unresolved":false,"context_lines":[{"line_number":348,"context_line":"                    with tempfile.NamedTemporaryFile() as disk_buffer:"},{"line_number":349,"context_line":"                        chunk_size \u003d min(self.large_object_chunk_size,"},{"line_number":350,"context_line":"                                         bytes_left)"},{"line_number":351,"context_line":"                        logger.debug(\"Writing %(chunk_size)d bytes for \""},{"line_number":352,"context_line":"                                     \"chunk %(chunk_id)d/\""},{"line_number":353,"context_line":"                                     \"%(total_chunks)d to disk buffer \""},{"line_number":354,"context_line":"                                     \"for image %(image_id)s\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FRk%3D","line":351,"in_reply_to":"AAAACH%2F%2F%2FWs%3D","updated":"2011-08-23 00:52:17.000000000","message":"Done","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":1032,"name":"Justin Shepherd","email":"jshepher@rackspace.com","username":"jshepher"},"change_message_id":"2fd1252c2b3dc44bf2b48bbf5069bd5b99158daa","unresolved":false,"context_lines":[{"line_number":357,"context_line":"                        checksum.update(chunk)"},{"line_number":358,"context_line":"                        disk_buffer.write(chunk)"},{"line_number":359,"context_line":"                        disk_buffer.flush()"},{"line_number":360,"context_line":"                        logger.debug(\"Writing chunk %(chunk_id)d/\""},{"line_number":361,"context_line":"                                     \"%(total_chunks)d to Swift \""},{"line_number":362,"context_line":"                                     \"for image %(image_id)s\""},{"line_number":363,"context_line":"                                     % locals())"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FWo%3D","line":360,"updated":"2011-08-22 19:45:03.000000000","message":"Can we wrap this in _()","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bf75ee46c6b64b99837959f6b39fede800b1693c","unresolved":false,"context_lines":[{"line_number":357,"context_line":"                        checksum.update(chunk)"},{"line_number":358,"context_line":"                        disk_buffer.write(chunk)"},{"line_number":359,"context_line":"                        disk_buffer.flush()"},{"line_number":360,"context_line":"                        logger.debug(\"Writing chunk %(chunk_id)d/\""},{"line_number":361,"context_line":"                                     \"%(total_chunks)d to Swift \""},{"line_number":362,"context_line":"                                     \"for image %(image_id)s\""},{"line_number":363,"context_line":"                                     % locals())"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FRg%3D","line":360,"in_reply_to":"AAAACH%2F%2F%2FWo%3D","updated":"2011-08-23 00:52:17.000000000","message":"Done","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":1032,"name":"Justin Shepherd","email":"jshepher@rackspace.com","username":"jshepher"},"change_message_id":"51e14d05c7e084e3b75615991339594ccee5bffb","unresolved":false,"context_lines":[{"line_number":393,"context_line":"            # the location attribute from GET /images/\u003cID\u003e and"},{"line_number":394,"context_line":"            # GET /images/details"},{"line_number":395,"context_line":""},{"line_number":396,"context_line":"            return (location.get_uri(), image_size, checksum.hexdigest())"},{"line_number":397,"context_line":"        except swift_client.ClientException, e:"},{"line_number":398,"context_line":"            if e.http_status \u003d\u003d httplib.CONFLICT:"},{"line_number":399,"context_line":"                raise exception.Duplicate(_(\"Swift already has an image at \""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAACH%2F%2F%2FQ0%3D","line":396,"updated":"2011-08-23 01:37:08.000000000","message":"checksum is instantiated inside of the else block.. so if you hit the if section, this return bails with an error","commit_id":"34dfb26bc9f58472af4a72d331ac45ff4691946f"}],"glance/tests/functional/test_swift.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"36eba937b762ac7c16922fb9a3ce80eb1d568479","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        \"\"\""},{"line_number":163,"context_line":"        self.cleanup()"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        self.swift_store_large_object_size \u003d 2  # 1MB"},{"line_number":166,"context_line":"        self.swift_store_large_object_chunk_size \u003d 1  # 1MB"},{"line_number":167,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FXM%3D","line":165,"updated":"2011-08-22 19:41:09.000000000","message":"These comments (1MB) are a bit confusing.","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"bf75ee46c6b64b99837959f6b39fede800b1693c","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        \"\"\""},{"line_number":163,"context_line":"        self.cleanup()"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"        self.swift_store_large_object_size \u003d 2  # 1MB"},{"line_number":166,"context_line":"        self.swift_store_large_object_chunk_size \u003d 1  # 1MB"},{"line_number":167,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FRc%3D","line":165,"in_reply_to":"AAAACH%2F%2F%2FXM%3D","updated":"2011-08-23 00:52:17.000000000","message":"Done","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"}],"glance/tests/unit/test_swift_store.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"36eba937b762ac7c16922fb9a3ce80eb1d568479","unresolved":false,"context_lines":[{"line_number":423,"context_line":"        image_swift \u003d StringIO.StringIO(\"nevergonnamakeit\")"},{"line_number":424,"context_line":"        self.assertRaises(exception.Duplicate,"},{"line_number":425,"context_line":"                          self.store.add,"},{"line_number":426,"context_line":"                          2, image_swift, 0)"},{"line_number":427,"context_line":""},{"line_number":428,"context_line":"    def _option_required(self, key):"},{"line_number":429,"context_line":"        options \u003d SWIFT_OPTIONS.copy()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAACH%2F%2F%2FW8%3D","line":426,"updated":"2011-08-22 19:41:09.000000000","message":"Maybe we should make the new image_size param optional. It\u0027s kind of odd to have to supply a 0 like this.","commit_id":"4e44c0d8f5b4804a5809f9282fefbf1b8e76bf26"}]}
