)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"0b3d6276ef9e323cfefaacc0b13e89a5e604f1be","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ramakrishnan G \u003crameshg87@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-09 22:34:20 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add support for interacing with swift"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit introduces support for interacting with"},{"line_number":10,"context_line":"swift for creating and deleting swift objects. This"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"baada198_805ef3e7","line":7,"updated":"2014-07-10 02:20:02.000000000","message":"nit: interacing -\u003e interacting ;)","commit_id":"78c7f6c75207df1b61e009a598f8cd98f2b1792a"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"b305ac41ec74cac586394197dd78855c1a203904","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ramakrishnan G \u003crameshg87@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-31 15:42:09 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add support for interacing with swift"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit introduces support for interacting with"},{"line_number":10,"context_line":"swift for creating and deleting swift objects. This"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baada198_6aa2eafb","line":7,"updated":"2014-08-12 17:24:30.000000000","message":"Nit: s/interacing/interacting/","commit_id":"52018c0974e85700fc90a249017998ac23f64da6"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4a16f0360cb1dd8ee2112d3e97feafda99ff8e77","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ramakrishnan G \u003crameshg87@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-31 15:42:09 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add support for interacing with swift"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This commit introduces support for interacting with"},{"line_number":10,"context_line":"swift for creating and deleting swift objects. This"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"baada198_fb1f8458","line":7,"in_reply_to":"baada198_6aa2eafb","updated":"2014-08-13 12:06:05.000000000","message":"Done","commit_id":"52018c0974e85700fc90a249017998ac23f64da6"}],"etc/ironic/ironic.conf.sample":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"3d13a1c1396f69843ca17c5311ed9b6fe5fa7154","unresolved":false,"context_lines":[{"line_number":1161,"context_line":"#"},{"line_number":1162,"context_line":""},{"line_number":1163,"context_line":"# Number of times to retry the request before failing for"},{"line_number":1164,"context_line":"# Swift operations (integer value)"},{"line_number":1165,"context_line":"#retries\u003d2"},{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":12,"id":"1abeadc6_aa04cec6","line":1164,"updated":"2014-08-26 02:16:01.000000000","message":"how about \u0027Maximum number of times to retry a Swift request, before failing.\u0027","commit_id":"6faa2180e4a7ac5f18c9920233cf2a99d9d216aa"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"1803acd6f92eb96c4c04a1a46460acb4f4e5d085","unresolved":false,"context_lines":[{"line_number":1161,"context_line":"#"},{"line_number":1162,"context_line":""},{"line_number":1163,"context_line":"# Number of times to retry the request before failing for"},{"line_number":1164,"context_line":"# Swift operations (integer value)"},{"line_number":1165,"context_line":"#retries\u003d2"},{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":12,"id":"1abeadc6_b75185da","line":1164,"in_reply_to":"1abeadc6_aa04cec6","updated":"2014-08-26 11:31:26.000000000","message":"Done","commit_id":"6faa2180e4a7ac5f18c9920233cf2a99d9d216aa"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"3d13a1c1396f69843ca17c5311ed9b6fe5fa7154","unresolved":false,"context_lines":[{"line_number":1163,"context_line":"# Number of times to retry the request before failing for"},{"line_number":1164,"context_line":"# Swift operations (integer value)"},{"line_number":1165,"context_line":"#retries\u003d2"},{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":12,"id":"1abeadc6_ca090adf","line":1166,"updated":"2014-08-26 02:16:01.000000000","message":"I looked through the file to see what other *retries we have. They almost all are named x_max_retries. So I suggest max_retries or swift_max_retries, just to be somewhat consistent with what we already have.","commit_id":"6faa2180e4a7ac5f18c9920233cf2a99d9d216aa"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"1803acd6f92eb96c4c04a1a46460acb4f4e5d085","unresolved":false,"context_lines":[{"line_number":1163,"context_line":"# Number of times to retry the request before failing for"},{"line_number":1164,"context_line":"# Swift operations (integer value)"},{"line_number":1165,"context_line":"#retries\u003d2"},{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":12,"id":"1abeadc6_975489cb","line":1166,"in_reply_to":"1abeadc6_ca090adf","updated":"2014-08-26 11:31:26.000000000","message":"Done","commit_id":"6faa2180e4a7ac5f18c9920233cf2a99d9d216aa"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":1161,"context_line":"#"},{"line_number":1162,"context_line":""},{"line_number":1163,"context_line":"# Number of times to retry the request before failing for"},{"line_number":1164,"context_line":"# Swift operations (integer value)"},{"line_number":1165,"context_line":"#swift_max_retries\u003d2"},{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":15,"id":"1abeadc6_303aa3cd","line":1164,"updated":"2014-08-27 15:52:16.000000000","message":"how about \u0027Maximum number of times to retry a Swift request, before failing.\u0027","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":1161,"context_line":"#"},{"line_number":1162,"context_line":""},{"line_number":1163,"context_line":"# Number of times to retry the request before failing for"},{"line_number":1164,"context_line":"# Swift operations (integer value)"},{"line_number":1165,"context_line":"#swift_max_retries\u003d2"},{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":15,"id":"1abeadc6_9fdd4017","line":1164,"in_reply_to":"1abeadc6_303aa3cd","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"}],"ironic/common/exception.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":421,"context_line":""},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"class SwiftOperationError(IronicException):"},{"line_number":424,"context_line":"    message \u003d _(\"Operation with swift failed: %(error)s\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_64903ded","line":424,"updated":"2014-08-14 11:37:57.000000000","message":"maybe it\u0027s better to\n\n message \u003d _(\"Operation \u0027%(op)s\u0027 with swift failed: %(error)s\") \n\nwhere `op` is `put`, `delete` etc?","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":421,"context_line":""},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"class SwiftOperationError(IronicException):"},{"line_number":424,"context_line":"    message \u003d _(\"Operation with swift failed: %(error)s\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_01820d4f","line":424,"in_reply_to":"7ac7a964_64903ded","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"3d13a1c1396f69843ca17c5311ed9b6fe5fa7154","unresolved":false,"context_lines":[{"line_number":440,"context_line":""},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"class SwiftOperationError(IronicException):"},{"line_number":443,"context_line":"    message \u003d _(\"Operation \u0027%(operation)s\u0027 with Swift failed: %(error)s\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"1abeadc6_0ae22203","line":443,"updated":"2014-08-26 02:16:01.000000000","message":"How about \u0027Swift operation \u0027%(operation)s\u0027 failed: %(error)s\u0027.","commit_id":"6faa2180e4a7ac5f18c9920233cf2a99d9d216aa"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"1803acd6f92eb96c4c04a1a46460acb4f4e5d085","unresolved":false,"context_lines":[{"line_number":440,"context_line":""},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"class SwiftOperationError(IronicException):"},{"line_number":443,"context_line":"    message \u003d _(\"Operation \u0027%(operation)s\u0027 with Swift failed: %(error)s\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"1abeadc6_d75d21ee","line":443,"in_reply_to":"1abeadc6_0ae22203","updated":"2014-08-26 11:31:26.000000000","message":"Done","commit_id":"6faa2180e4a7ac5f18c9920233cf2a99d9d216aa"}],"ironic/common/keystone.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"05c5e5f60d8bf31a5d5439f3cb6bdf000df66428","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    \"\"\"Inspects auth_url and auth_version and tells whether apiv3 is"},{"line_number":28,"context_line":"    being used or not."},{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    return auth_version \u003d\u003d \u0027v3.0\u0027 or \u0027v3\u0027 in parse.urlparse(auth_url).path"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def get_keystone_url(auth_url, auth_version):"}],"source_content_type":"text/x-python","patch_set":14,"id":"1abeadc6_17a68610","line":30,"updated":"2014-08-27 11:44:47.000000000","message":"nit: maybe safer to check for /v3 ?","commit_id":"1e8b5d0f6c5dc117bad40fc7f8b67d346903f36b"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"60381a6774a60a50a7cc79a562433a18616f5f02","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    \"\"\"Inspects auth_url and auth_version and tells whether apiv3 is"},{"line_number":28,"context_line":"    being used or not."},{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    return auth_version \u003d\u003d \u0027v3.0\u0027 or \u0027v3\u0027 in parse.urlparse(auth_url).path"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def get_keystone_url(auth_url, auth_version):"}],"source_content_type":"text/x-python","patch_set":14,"id":"1abeadc6_5a72e37c","line":30,"in_reply_to":"1abeadc6_17a68610","updated":"2014-08-27 12:17:45.000000000","message":"+1","commit_id":"1e8b5d0f6c5dc117bad40fc7f8b67d346903f36b"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"08d1def05a42d08229642ee27490cb9cd213899e","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    \"\"\"Inspects auth_url and auth_version and tells whether apiv3 is"},{"line_number":28,"context_line":"    being used or not."},{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    return auth_version \u003d\u003d \u0027v3.0\u0027 or \u0027v3\u0027 in parse.urlparse(auth_url).path"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def get_keystone_url(auth_url, auth_version):"}],"source_content_type":"text/x-python","patch_set":14,"id":"1abeadc6_8bb98f30","line":30,"in_reply_to":"1abeadc6_5a72e37c","updated":"2014-08-27 13:30:45.000000000","message":"Done","commit_id":"1e8b5d0f6c5dc117bad40fc7f8b67d346903f36b"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def _is_apiv3(auth_url, auth_version):"},{"line_number":27,"context_line":"    \"\"\"Inspects auth_url and auth_version and tells whether apiv3 is"},{"line_number":28,"context_line":"    being used or not."},{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    return auth_version \u003d\u003d \u0027v3.0\u0027 or \u0027/v3\u0027 in parse.urlparse(auth_url).path"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_90b9b717","line":28,"updated":"2014-08-27 15:52:16.000000000","message":"Your docstrings should probably conform to the suggested format http://docs.openstack.org/developer/hacking/#docstrings.\n\nnit: instead of \u0027tells whether...\u0027, how about \u0027returns True if V3 of the API is being used.","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def _is_apiv3(auth_url, auth_version):"},{"line_number":27,"context_line":"    \"\"\"Inspects auth_url and auth_version and tells whether apiv3 is"},{"line_number":28,"context_line":"    being used or not."},{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    return auth_version \u003d\u003d \u0027v3.0\u0027 or \u0027/v3\u0027 in parse.urlparse(auth_url).path"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_83388ea1","line":28,"in_reply_to":"1abeadc6_90b9b717","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def get_keystone_url(auth_url, auth_version):"},{"line_number":34,"context_line":"    \"\"\"Returns the keystone url after appending the version string to the"},{"line_number":35,"context_line":"    passed endpoint url."},{"line_number":36,"context_line":"    \"\"\""},{"line_number":37,"context_line":"    api_v3 \u003d _is_apiv3(auth_url, auth_version)"},{"line_number":38,"context_line":"    api_version \u003d \u0027v3\u0027 if api_v3 else \u0027v2.0\u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_d015ef9b","line":35,"updated":"2014-08-27 15:52:16.000000000","message":"ditto wrt docstring format.","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def get_keystone_url(auth_url, auth_version):"},{"line_number":34,"context_line":"    \"\"\"Returns the keystone url after appending the version string to the"},{"line_number":35,"context_line":"    passed endpoint url."},{"line_number":36,"context_line":"    \"\"\""},{"line_number":37,"context_line":"    api_v3 \u003d _is_apiv3(auth_url, auth_version)"},{"line_number":38,"context_line":"    api_version \u003d \u0027v3\u0027 if api_v3 else \u0027v2.0\u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_e37062a6","line":35,"in_reply_to":"1abeadc6_d015ef9b","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"9d3df07b858b08a302774dee8ef5f40b961aa43b","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    :param auth_url: a http or https url to be inspected(like"},{"line_number":33,"context_line":"        \u0027http://127.0.0.1:9898/\u0027)."},{"line_number":34,"context_line":"    :param auth_version: a string containing the version(like \u0027v2\u0027, \u0027v3.0\u0027)"},{"line_number":35,"context_line":"    :returns: True if V3 of the API is being used."},{"line_number":36,"context_line":"    \"\"\""},{"line_number":37,"context_line":"    return auth_version \u003d\u003d \u0027v3.0\u0027 or \u0027/v3\u0027 in parse.urlparse(auth_url).path"}],"source_content_type":"text/x-python","patch_set":16,"id":"1abeadc6_f77018a6","line":34,"updated":"2014-08-27 18:59:06.000000000","message":"nits if you do another patch. Please add a space before the opening parenthesis \u0027(\u0027 in the two lines above. And lines below.","commit_id":"2c4cb8c926b09a77a4810842104e11319b2c63c5"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"0a9e750ec6f91d423e2670bd3a66522a1b61b99f","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    :param auth_url: a http or https url to be inspected(like"},{"line_number":33,"context_line":"        \u0027http://127.0.0.1:9898/\u0027)."},{"line_number":34,"context_line":"    :param auth_version: a string containing the version(like \u0027v2\u0027, \u0027v3.0\u0027)"},{"line_number":35,"context_line":"    :returns: True if V3 of the API is being used."},{"line_number":36,"context_line":"    \"\"\""},{"line_number":37,"context_line":"    return auth_version \u003d\u003d \u0027v3.0\u0027 or \u0027/v3\u0027 in parse.urlparse(auth_url).path"}],"source_content_type":"text/x-python","patch_set":16,"id":"1abeadc6_9b48e15d","line":34,"in_reply_to":"1abeadc6_f77018a6","updated":"2014-08-28 04:20:01.000000000","message":"Sure, will fix it in the next patch set.","commit_id":"2c4cb8c926b09a77a4810842104e11319b2c63c5"}],"ironic/common/swift.py":[{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"24449c518580ca81c3313fb4505a779623f2ed29","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        \"\"\""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        try:"},{"line_number":111,"context_line":"            storage_url, token \u003d self.connection.get_auth()"},{"line_number":112,"context_line":"            parse_result \u003d parse.urlparse(storage_url)"},{"line_number":113,"context_line":"            swift_object_path \u003d \u0027/\u0027.join((parse_result.path,"},{"line_number":114,"context_line":"                                          container,"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_11ffb736","line":111,"updated":"2014-07-24 16:28:04.000000000","message":"This is merged upstream in the python-swiftclient (which will be added to requirements.txt soon): https://review.openstack.org/#/c/102632/","commit_id":"773c58b10bc3374fc755657e795d70bdbccbec10"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"b305ac41ec74cac586394197dd78855c1a203904","unresolved":false,"context_lines":[{"line_number":94,"context_line":"            raise exception.SwiftOperationError(e)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        finally:"},{"line_number":97,"context_line":"            fileobj.close()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        return object_uuid"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_8aac9eef","line":97,"updated":"2014-08-12 17:24:30.000000000","message":"Could use `with open(filename, \u0027r\u0027) as fileobj:` to avoid needing this `finally` code.","commit_id":"52018c0974e85700fc90a249017998ac23f64da6"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4a16f0360cb1dd8ee2112d3e97feafda99ff8e77","unresolved":false,"context_lines":[{"line_number":94,"context_line":"            raise exception.SwiftOperationError(e)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        finally:"},{"line_number":97,"context_line":"            fileobj.close()"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        return object_uuid"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_496c2d9f","line":97,"in_reply_to":"baada198_8aac9eef","updated":"2014-08-13 12:06:05.000000000","message":"Done","commit_id":"52018c0974e85700fc90a249017998ac23f64da6"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"b305ac41ec74cac586394197dd78855c1a203904","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                                          container,"},{"line_number":115,"context_line":"                                          object))"},{"line_number":116,"context_line":"            account_info \u003d self.connection.head_account()"},{"line_number":117,"context_line":"            tmp_url_key \u003d account_info[\u0027x-account-meta-temp-url-key\u0027]"},{"line_number":118,"context_line":"            url_path \u003d swift_utils.generate_temp_url(swift_object_path,"},{"line_number":119,"context_line":"                                                     timeout,"},{"line_number":120,"context_line":"                                                     tmp_url_key,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_aaa7a207","line":117,"updated":"2014-08-12 17:24:30.000000000","message":"Seems like this would have some capital letters in it... does this actually work?\n\nAlso, since this is already a config option, do we want to use that? Or should we phase out that config option and use this instead? (I tend to think the second option might be better, less places for things to get out of sync at the expense of another http request.)","commit_id":"52018c0974e85700fc90a249017998ac23f64da6"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4a16f0360cb1dd8ee2112d3e97feafda99ff8e77","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                                          container,"},{"line_number":115,"context_line":"                                          object))"},{"line_number":116,"context_line":"            account_info \u003d self.connection.head_account()"},{"line_number":117,"context_line":"            tmp_url_key \u003d account_info[\u0027x-account-meta-temp-url-key\u0027]"},{"line_number":118,"context_line":"            url_path \u003d swift_utils.generate_temp_url(swift_object_path,"},{"line_number":119,"context_line":"                                                     timeout,"},{"line_number":120,"context_line":"                                                     tmp_url_key,"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_1b0d1837","line":117,"in_reply_to":"baada198_aaa7a207","updated":"2014-08-13 12:06:05.000000000","message":"It works :-) , i can get the tmp url to access a swift object.\n\nWe cannot use the option in the ironic.conf file right now.  This is because tmp-url-key is different for each user/tenant.  The tmp-url-key provided in the ironic.conf file is the tmp-url-key of the user used by glance to connect to swift. This module by default uses the ironic admin user account for interacting with swift (this is configurable by passing new credentials to the api)\n\nAs you suggested we should phase out that config option and retrieve the key using this mechanism so that we don\u0027t have to write the key to the conf file.","commit_id":"52018c0974e85700fc90a249017998ac23f64da6"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"2404d9e16168fd2b16804fe294a7ec175f2d9b5e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        \"\"\"Uploads a given file to swift."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        :param container: The container for the object."},{"line_number":66,"context_line":"        :param object_name: The name of the object in swift"},{"line_number":67,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":68,"context_line":"        :param kwargs: the kwargs to pass to this method."},{"line_number":69,"context_line":"            \u0027object_headers\u0027 \u003d\u003e the headers for the object  to pass to swift"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ac7a964_6c1754a4","line":66,"updated":"2014-08-14 05:19:05.000000000","message":"object?","commit_id":"aab14d82b1b87a2686b748b8a32cbcf3c28ee136"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"511cd17e883bfebb383cdb8a33fb645d1ae69680","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        \"\"\"Uploads a given file to swift."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        :param container: The container for the object."},{"line_number":66,"context_line":"        :param object_name: The name of the object in swift"},{"line_number":67,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":68,"context_line":"        :param kwargs: the kwargs to pass to this method."},{"line_number":69,"context_line":"            \u0027object_headers\u0027 \u003d\u003e the headers for the object  to pass to swift"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ac7a964_2748155b","line":66,"in_reply_to":"7ac7a964_6c1754a4","updated":"2014-08-14 09:05:37.000000000","message":"I didn\u0027t get this comment. I meant the swift object here.","commit_id":"aab14d82b1b87a2686b748b8a32cbcf3c28ee136"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"93cf3de5fa66345b38221544ced923af68e0e941","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        \"\"\"Uploads a given file to swift."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"        :param container: The container for the object."},{"line_number":66,"context_line":"        :param object_name: The name of the object in swift"},{"line_number":67,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":68,"context_line":"        :param kwargs: the kwargs to pass to this method."},{"line_number":69,"context_line":"            \u0027object_headers\u0027 \u003d\u003e the headers for the object  to pass to swift"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ac7a964_2231e3ec","line":66,"in_reply_to":"7ac7a964_6c1754a4","updated":"2014-08-14 06:29:25.000000000","message":"object is the generic name for things stored in Swift, not the normal object like in object oriented programming.","commit_id":"aab14d82b1b87a2686b748b8a32cbcf3c28ee136"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"93cf3de5fa66345b38221544ced923af68e0e941","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":68,"context_line":"        :param kwargs: the kwargs to pass to this method."},{"line_number":69,"context_line":"            \u0027object_headers\u0027 \u003d\u003e the headers for the object  to pass to swift"},{"line_number":70,"context_line":"        :returns: The swift UUID of the object"},{"line_number":71,"context_line":"        :raises: SwiftOperationError, if operation with swift fails."},{"line_number":72,"context_line":"        \"\"\""},{"line_number":73,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ac7a964_02e78741","line":70,"updated":"2014-08-14 06:29:25.000000000","message":"nit: you should capitalize project names like Swift.","commit_id":"aab14d82b1b87a2686b748b8a32cbcf3c28ee136"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"511cd17e883bfebb383cdb8a33fb645d1ae69680","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":68,"context_line":"        :param kwargs: the kwargs to pass to this method."},{"line_number":69,"context_line":"            \u0027object_headers\u0027 \u003d\u003e the headers for the object  to pass to swift"},{"line_number":70,"context_line":"        :returns: The swift UUID of the object"},{"line_number":71,"context_line":"        :raises: SwiftOperationError, if operation with swift fails."},{"line_number":72,"context_line":"        \"\"\""},{"line_number":73,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ac7a964_3348545b","line":70,"in_reply_to":"7ac7a964_02e78741","updated":"2014-08-14 09:05:37.000000000","message":"Done","commit_id":"aab14d82b1b87a2686b748b8a32cbcf3c28ee136"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"93cf3de5fa66345b38221544ced923af68e0e941","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            except swift_exceptions.ClientException as e2:"},{"line_number":84,"context_line":"                raise exception.SwiftOperationError(e2)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        fileobj \u003d open(filename, \"r\")"},{"line_number":87,"context_line":"        object_headers \u003d kwargs.get(\u0027object_headers\u0027, {})"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ac7a964_42797ffb","line":86,"updated":"2014-08-14 06:29:25.000000000","message":"I think you missed the with() suggestion from the previous patchset.","commit_id":"aab14d82b1b87a2686b748b8a32cbcf3c28ee136"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"511cd17e883bfebb383cdb8a33fb645d1ae69680","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            except swift_exceptions.ClientException as e2:"},{"line_number":84,"context_line":"                raise exception.SwiftOperationError(e2)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        fileobj \u003d open(filename, \"r\")"},{"line_number":87,"context_line":"        object_headers \u003d kwargs.get(\u0027object_headers\u0027, {})"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7ac7a964_5374f09b","line":86,"in_reply_to":"7ac7a964_42797ffb","updated":"2014-08-14 09:05:37.000000000","message":"Done. I am sorry, I missed it.  I will add it.","commit_id":"aab14d82b1b87a2686b748b8a32cbcf3c28ee136"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":38,"context_line":"class SwiftAPI(object):"},{"line_number":39,"context_line":"    \"\"\"API for communicating to Swift API.\"\"\""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def __init__(self, **kwargs):"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        self.context \u003d kwargs.get(\u0027context\u0027, None)"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_64ef5db1","line":41,"updated":"2014-08-14 11:37:57.000000000","message":"Why use kwargs, if you can just use optional arguments:\n\n __init__(self, user\u003dCONF.keystone_authtoken.admin_user, ..., context\u003dNone)\n\nalso please add docstring","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":38,"context_line":"class SwiftAPI(object):"},{"line_number":39,"context_line":"    \"\"\"API for communicating to Swift API.\"\"\""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def __init__(self, **kwargs):"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        self.context \u003d kwargs.get(\u0027context\u0027, None)"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_41da4579","line":41,"in_reply_to":"7ac7a964_64ef5db1","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.context \u003d kwargs.get(\u0027context\u0027, None)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        params \u003d {\u0027retries\u0027: CONF.swift.retries,"},{"line_number":46,"context_line":"                  \u0027insecure\u0027: CONF.keystone_authtoken.insecure}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        params[\u0027user\u0027] \u003d kwargs.get(\u0027user\u0027, CONF.keystone_authtoken.admin_user)"},{"line_number":49,"context_line":"        params[\u0027tenant_name\u0027] \u003d kwargs.get(\u0027tenant_name\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_8404797f","line":46,"updated":"2014-08-14 11:37:57.000000000","message":"as you don\u0027t import anything keystone-related (at least directly) I think it\u0027s better to use smth like import_opt()","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.context \u003d kwargs.get(\u0027context\u0027, None)"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        params \u003d {\u0027retries\u0027: CONF.swift.retries,"},{"line_number":46,"context_line":"                  \u0027insecure\u0027: CONF.keystone_authtoken.insecure}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        params[\u0027user\u0027] \u003d kwargs.get(\u0027user\u0027, CONF.keystone_authtoken.admin_user)"},{"line_number":49,"context_line":"        params[\u0027tenant_name\u0027] \u003d kwargs.get(\u0027tenant_name\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_e1ca71a0","line":46,"in_reply_to":"7ac7a964_8404797f","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        :param object_name: The name of the object in Swift"},{"line_number":67,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":68,"context_line":"        :param kwargs: the kwargs to pass to this method."},{"line_number":69,"context_line":"            \u0027object_headers\u0027 \u003d\u003e the headers for the object  to pass to Swift"},{"line_number":70,"context_line":"        :returns: The Swift UUID of the object"},{"line_number":71,"context_line":"        :raises: SwiftOperationError, if operation with Swift fails."},{"line_number":72,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_e488cde9","line":69,"updated":"2014-08-14 11:37:57.000000000","message":"why not making it an explicit parameter to this function and getting rid of `kwargs`?","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        :param object_name: The name of the object in Swift"},{"line_number":67,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":68,"context_line":"        :param kwargs: the kwargs to pass to this method."},{"line_number":69,"context_line":"            \u0027object_headers\u0027 \u003d\u003e the headers for the object  to pass to Swift"},{"line_number":70,"context_line":"        :returns: The Swift UUID of the object"},{"line_number":71,"context_line":"        :raises: SwiftOperationError, if operation with Swift fails."},{"line_number":72,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_c163b5af","line":69,"in_reply_to":"7ac7a964_e488cde9","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            self.connection.head_container(container)"},{"line_number":75,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"            if not kwargs.get(\u0027create_container\u0027, True):"},{"line_number":78,"context_line":"                msg \u003d _(\"Error while getting info of container %s\") % container"},{"line_number":79,"context_line":"                raise exception.SwiftOperationError(msg)"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_84c71912","line":77,"updated":"2014-08-14 11:37:57.000000000","message":"ditto about explicit parameter","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            self.connection.head_container(container)"},{"line_number":75,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"            if not kwargs.get(\u0027create_container\u0027, True):"},{"line_number":78,"context_line":"                msg \u003d _(\"Error while getting info of container %s\") % container"},{"line_number":79,"context_line":"                raise exception.SwiftOperationError(msg)"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_81529ddb","line":77,"in_reply_to":"7ac7a964_84c71912","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":81,"context_line":"            try:"},{"line_number":82,"context_line":"                self.connection.put_container(container)"},{"line_number":83,"context_line":"            except swift_exceptions.ClientException as e2:"},{"line_number":84,"context_line":"                raise exception.SwiftOperationError(e2)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        with open(filename, \"r\") as fileobj:"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_e45fed70","line":84,"updated":"2014-08-14 11:37:57.000000000","message":"shouldn\u0027t it be\n\nraise exception.SwiftOperationError(error\u003de2)\n\n?","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":81,"context_line":"            try:"},{"line_number":82,"context_line":"                self.connection.put_container(container)"},{"line_number":83,"context_line":"            except swift_exceptions.ClientException as e2:"},{"line_number":84,"context_line":"                raise exception.SwiftOperationError(e2)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        with open(filename, \"r\") as fileobj:"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_615581c5","line":84,"in_reply_to":"7ac7a964_e45fed70","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                                                         headers\u003dobject_headers"},{"line_number":95,"context_line":"                                                        )"},{"line_number":96,"context_line":"            except swift_exceptions.ClientException as e:"},{"line_number":97,"context_line":"                raise exception.SwiftOperationError(e)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        return object_uuid"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_444981cf","line":97,"updated":"2014-08-14 11:37:57.000000000","message":"ditto","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                                                         headers\u003dobject_headers"},{"line_number":95,"context_line":"                                                        )"},{"line_number":96,"context_line":"            except swift_exceptions.ClientException as e:"},{"line_number":97,"context_line":"                raise exception.SwiftOperationError(e)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        return object_uuid"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_2172a97c","line":97,"in_reply_to":"7ac7a964_444981cf","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                                     None,"},{"line_number":127,"context_line":"                                     None))"},{"line_number":128,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":129,"context_line":"            raise exception.SwiftOperationError(e)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def delete_object(self, container, object):"},{"line_number":132,"context_line":"        \"\"\"Deletes the given Swift object."}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_a4f33572","line":129,"updated":"2014-08-14 11:37:57.000000000","message":"ditto","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                                     None,"},{"line_number":127,"context_line":"                                     None))"},{"line_number":128,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":129,"context_line":"            raise exception.SwiftOperationError(e)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def delete_object(self, container, object):"},{"line_number":132,"context_line":"        \"\"\"Deletes the given Swift object."}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_416fa592","line":129,"in_reply_to":"7ac7a964_a4f33572","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        try:"},{"line_number":141,"context_line":"            self.connection.delete_object(container, object)"},{"line_number":142,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":143,"context_line":"            raise exception.SwiftOperationError(e)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    def head_object(self, container, object):"},{"line_number":146,"context_line":"        \"\"\"Deletes the given Swift object."}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_a49a5512","line":143,"updated":"2014-08-14 11:37:57.000000000","message":"ditto","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        try:"},{"line_number":141,"context_line":"            self.connection.delete_object(container, object)"},{"line_number":142,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":143,"context_line":"            raise exception.SwiftOperationError(e)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    def head_object(self, container, object):"},{"line_number":146,"context_line":"        \"\"\"Deletes the given Swift object."}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_616ca19d","line":143,"in_reply_to":"7ac7a964_a49a5512","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        try:"},{"line_number":155,"context_line":"            return self.connection.head_object(container, object)"},{"line_number":156,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":157,"context_line":"            raise exception.SwiftOperationError(e)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_e4a44d59","line":157,"updated":"2014-08-14 11:37:57.000000000","message":"ditto","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        try:"},{"line_number":155,"context_line":"            return self.connection.head_object(container, object)"},{"line_number":156,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":157,"context_line":"            raise exception.SwiftOperationError(e)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_a105d9c3","line":157,"in_reply_to":"7ac7a964_e4a44d59","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"96c113474d4163f12fed45e09ec3f772191a17ec","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        \"\"\"Uploads a given file to Swift."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        :param container: The container for the object."},{"line_number":80,"context_line":"        :param object_name: The name of the object in Swift"},{"line_number":81,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":82,"context_line":"        :param object_headers: the headers for the object  to pass to Swift"},{"line_number":83,"context_line":"        :param create_container: to create the container for the object if"}],"source_content_type":"text/x-python","patch_set":6,"id":"7ac7a964_3ee1d19a","line":80,"updated":"2014-08-15 05:30:35.000000000","message":"Sorry, I didn\u0027t explain you well, I wanted to say that this comment is wrong. object_name -\u003e object Right?","commit_id":"746417f407faaf0dadbd05268a6fff983f86e480"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"ff324942d163fb3e02de959ee987057a603d75c2","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        \"\"\"Uploads a given file to Swift."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        :param container: The container for the object."},{"line_number":80,"context_line":"        :param object_name: The name of the object in Swift"},{"line_number":81,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":82,"context_line":"        :param object_headers: the headers for the object  to pass to Swift"},{"line_number":83,"context_line":"        :param create_container: to create the container for the object if"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_50822d53","line":80,"in_reply_to":"7ac7a964_3ee1d19a","updated":"2014-08-18 05:06:39.000000000","message":"Done. Oh, I too didn\u0027t get it. Thanks.","commit_id":"746417f407faaf0dadbd05268a6fff983f86e480"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"8dad10549e974a10b60d8efbf153f47488c48cb8","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        :raises: SwiftOperationError, if operation with Swift fails."},{"line_number":87,"context_line":"        \"\"\""},{"line_number":88,"context_line":"        try:"},{"line_number":89,"context_line":"            self.connection.head_container(container)"},{"line_number":90,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"            if not create_container:"}],"source_content_type":"text/x-python","patch_set":6,"id":"7ac7a964_3e82a694","line":89,"updated":"2014-08-15 11:25:26.000000000","message":"I think \"head\" method is superfluous here.\n\nif create_container:\n    try:\n        self.connection.put_container(container)\n    except:\n        ...\n        raise ...","commit_id":"746417f407faaf0dadbd05268a6fff983f86e480"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"ff324942d163fb3e02de959ee987057a603d75c2","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        :raises: SwiftOperationError, if operation with Swift fails."},{"line_number":87,"context_line":"        \"\"\""},{"line_number":88,"context_line":"        try:"},{"line_number":89,"context_line":"            self.connection.head_container(container)"},{"line_number":90,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"            if not create_container:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_9083e5cb","line":89,"in_reply_to":"7ac7a964_3e82a694","updated":"2014-08-18 05:06:39.000000000","message":"Done","commit_id":"746417f407faaf0dadbd05268a6fff983f86e480"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"604eaddc0b8e8df099ee80f63346f365aef83e1c","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        :raises: SwiftOperationError, if operation with Swift fails."},{"line_number":87,"context_line":"        \"\"\""},{"line_number":88,"context_line":"        try:"},{"line_number":89,"context_line":"            self.connection.head_container(container)"},{"line_number":90,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"            if not create_container:"}],"source_content_type":"text/x-python","patch_set":6,"id":"7ac7a964_efa956e0","line":89,"in_reply_to":"7ac7a964_3e82a694","updated":"2014-08-15 12:58:07.000000000","message":"Then create_container should be deleted, because function will always create a container.\n\nI actually agree, I don\u0027t see point in create_container argument","commit_id":"746417f407faaf0dadbd05268a6fff983f86e480"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"ff324942d163fb3e02de959ee987057a603d75c2","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        :raises: SwiftOperationError, if operation with Swift fails."},{"line_number":87,"context_line":"        \"\"\""},{"line_number":88,"context_line":"        try:"},{"line_number":89,"context_line":"            self.connection.head_container(container)"},{"line_number":90,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"            if not create_container:"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_50794dfb","line":89,"in_reply_to":"7ac7a964_efa956e0","updated":"2014-08-18 05:06:39.000000000","message":"Done","commit_id":"746417f407faaf0dadbd05268a6fff983f86e480"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"8dad10549e974a10b60d8efbf153f47488c48cb8","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            raise exception.SwiftOperationError(operation\u003doperation, error\u003de)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def head_object(self, container, object):"},{"line_number":172,"context_line":"        \"\"\"Deletes the given Swift object."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":175,"context_line":"        :param object_name: The name of the object in Swift"}],"source_content_type":"text/x-python","patch_set":6,"id":"7ac7a964_7e897e25","line":172,"updated":"2014-08-15 11:25:26.000000000","message":"Wrong info, this method does not delete.","commit_id":"746417f407faaf0dadbd05268a6fff983f86e480"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"ff324942d163fb3e02de959ee987057a603d75c2","unresolved":false,"context_lines":[{"line_number":169,"context_line":"            raise exception.SwiftOperationError(operation\u003doperation, error\u003de)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def head_object(self, container, object):"},{"line_number":172,"context_line":"        \"\"\"Deletes the given Swift object."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":175,"context_line":"        :param object_name: The name of the object in Swift"}],"source_content_type":"text/x-python","patch_set":6,"id":"1abeadc6_b088e1e8","line":172,"in_reply_to":"7ac7a964_7e897e25","updated":"2014-08-18 05:06:39.000000000","message":"Done","commit_id":"746417f407faaf0dadbd05268a6fff983f86e480"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d9bedddb780726cfbe16dc2a7f97cc51a8af78d5","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    :param tenant_name: the name of the tenant for Swift account"},{"line_number":55,"context_line":"    :param key: the \u0027password\u0027 or key to authenticate with"},{"line_number":56,"context_line":"    :param authurl: the url for authentication"},{"line_number":57,"context_line":"    :param auth_version: the version of api to use for authentication"},{"line_number":58,"context_line":"    \"\"\""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def __init__(self,"}],"source_content_type":"text/x-python","patch_set":10,"id":"1abeadc6_896964c0","line":57,"updated":"2014-08-21 12:34:38.000000000","message":"IIRC params specification should be for __init__ not for class itself.","commit_id":"1b11e439bacbb49ff743f04d1afc75de4d821526"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"a4789ac4cf3a1d7b3ce6b52fa6d2f1e6f43a5c6a","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    :param tenant_name: the name of the tenant for Swift account"},{"line_number":55,"context_line":"    :param key: the \u0027password\u0027 or key to authenticate with"},{"line_number":56,"context_line":"    :param authurl: the url for authentication"},{"line_number":57,"context_line":"    :param auth_version: the version of api to use for authentication"},{"line_number":58,"context_line":"    \"\"\""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def __init__(self,"}],"source_content_type":"text/x-python","patch_set":10,"id":"1abeadc6_f77c53ee","line":57,"in_reply_to":"1abeadc6_896964c0","updated":"2014-08-22 05:36:32.000000000","message":"Done","commit_id":"1b11e439bacbb49ff743f04d1afc75de4d821526"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d9bedddb780726cfbe16dc2a7f97cc51a8af78d5","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":85,"context_line":"        :param object_headers: the headers for the object to pass to Swift"},{"line_number":86,"context_line":"        :param create_container: to create the container for the object if"},{"line_number":87,"context_line":"            container doesn\u0027t exist"},{"line_number":88,"context_line":"        :returns: The Swift UUID of the object"},{"line_number":89,"context_line":"        :raises: SwiftOperationError, if operation with Swift fails."},{"line_number":90,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"1abeadc6_497aec77","line":87,"updated":"2014-08-21 12:34:38.000000000","message":"this parameter was deleted","commit_id":"1b11e439bacbb49ff743f04d1afc75de4d821526"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"a4789ac4cf3a1d7b3ce6b52fa6d2f1e6f43a5c6a","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":85,"context_line":"        :param object_headers: the headers for the object to pass to Swift"},{"line_number":86,"context_line":"        :param create_container: to create the container for the object if"},{"line_number":87,"context_line":"            container doesn\u0027t exist"},{"line_number":88,"context_line":"        :returns: The Swift UUID of the object"},{"line_number":89,"context_line":"        :raises: SwiftOperationError, if operation with Swift fails."},{"line_number":90,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":10,"id":"1abeadc6_d771170d","line":87,"in_reply_to":"1abeadc6_497aec77","updated":"2014-08-22 05:36:32.000000000","message":"Done","commit_id":"1b11e439bacbb49ff743f04d1afc75de4d821526"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d9bedddb780726cfbe16dc2a7f97cc51a8af78d5","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        try:"},{"line_number":92,"context_line":"            self.connection.put_container(container)"},{"line_number":93,"context_line":"        except swift_exceptions.ClientException:"},{"line_number":94,"context_line":"            LOG.debug(\"Creating container failed, assuming container exists.\")"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        with open(filename, \"r\") as fileobj:"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1abeadc6_c9e43c3e","line":94,"updated":"2014-08-21 12:34:38.000000000","message":"from the docs (http://docs.openstack.org/api/openstack-object-storage/1.0/content/PUT_createContainer__v1__account___container__storage_container_services.html):\n\n\"You do not need to check if a container already exists before issuing a PUT operation because the operation is idempotent: It creates a container or updates an existing container, as appropriate.\"\n\nso there should not be exception if container exists.","commit_id":"1b11e439bacbb49ff743f04d1afc75de4d821526"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"a4789ac4cf3a1d7b3ce6b52fa6d2f1e6f43a5c6a","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        try:"},{"line_number":92,"context_line":"            self.connection.put_container(container)"},{"line_number":93,"context_line":"        except swift_exceptions.ClientException:"},{"line_number":94,"context_line":"            LOG.debug(\"Creating container failed, assuming container exists.\")"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        with open(filename, \"r\") as fileobj:"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"1abeadc6_9724ff0d","line":94,"in_reply_to":"1abeadc6_c9e43c3e","updated":"2014-08-22 05:36:32.000000000","message":"Done. Great, thanks for this information, I will remove it.","commit_id":"1b11e439bacbb49ff743f04d1afc75de4d821526"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d9bedddb780726cfbe16dc2a7f97cc51a8af78d5","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                                                         object,"},{"line_number":104,"context_line":"                                                         fileobj,"},{"line_number":105,"context_line":"                                                         headers\u003dobject_headers"},{"line_number":106,"context_line":"                                                        )"},{"line_number":107,"context_line":"            except swift_exceptions.ClientException as e:"},{"line_number":108,"context_line":"                operation \u003d _(\"put object\")"},{"line_number":109,"context_line":"                raise exception.SwiftOperationError(operation\u003doperation,"}],"source_content_type":"text/x-python","patch_set":10,"id":"1abeadc6_c94b5caf","line":106,"updated":"2014-08-21 12:34:38.000000000","message":"nit: ) should be on previous line as to me","commit_id":"1b11e439bacbb49ff743f04d1afc75de4d821526"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"a4789ac4cf3a1d7b3ce6b52fa6d2f1e6f43a5c6a","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                                                         object,"},{"line_number":104,"context_line":"                                                         fileobj,"},{"line_number":105,"context_line":"                                                         headers\u003dobject_headers"},{"line_number":106,"context_line":"                                                        )"},{"line_number":107,"context_line":"            except swift_exceptions.ClientException as e:"},{"line_number":108,"context_line":"                operation \u003d _(\"put object\")"},{"line_number":109,"context_line":"                raise exception.SwiftOperationError(operation\u003doperation,"}],"source_content_type":"text/x-python","patch_set":10,"id":"1abeadc6_b71f3bb6","line":106,"in_reply_to":"1abeadc6_c94b5caf","updated":"2014-08-22 05:36:32.000000000","message":"Done","commit_id":"1b11e439bacbb49ff743f04d1afc75de4d821526"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d9bedddb780726cfbe16dc2a7f97cc51a8af78d5","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                                     None,"},{"line_number":139,"context_line":"                                     None,"},{"line_number":140,"context_line":"                                     None))"},{"line_number":141,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":142,"context_line":"            operation \u003d _(\"tmp url generation\")"},{"line_number":143,"context_line":"            raise exception.SwiftOperationError(operation\u003doperation,"},{"line_number":144,"context_line":"                                                error\u003de)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1abeadc6_09f0f465","line":141,"updated":"2014-08-21 12:34:38.000000000","message":"nit: please wrap only relevant part into try..except..","commit_id":"1b11e439bacbb49ff743f04d1afc75de4d821526"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"a4789ac4cf3a1d7b3ce6b52fa6d2f1e6f43a5c6a","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                                     None,"},{"line_number":139,"context_line":"                                     None,"},{"line_number":140,"context_line":"                                     None))"},{"line_number":141,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":142,"context_line":"            operation \u003d _(\"tmp url generation\")"},{"line_number":143,"context_line":"            raise exception.SwiftOperationError(operation\u003doperation,"},{"line_number":144,"context_line":"                                                error\u003de)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1abeadc6_d71af7c4","line":141,"in_reply_to":"1abeadc6_09f0f465","updated":"2014-08-22 05:36:32.000000000","message":"Done","commit_id":"1b11e439bacbb49ff743f04d1afc75de4d821526"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e380a6821aa2d106f6f1cec800c0cb68f25bcbd3","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        with open(filename, \"r\") as fileobj:"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"            if not object_headers:"},{"line_number":100,"context_line":"                object_headers \u003d {}"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"            try:"},{"line_number":103,"context_line":"                object_uuid \u003d self.connection.put_object(container,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1abeadc6_7fbe0dd6","line":100,"updated":"2014-08-25 14:10:59.000000000","message":"nit: you don\u0027t need it, None is a valid default for `headers` in put_object()","commit_id":"d12810b403ba272e02ff81e9d141fc701c1d5d60"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"73bf4140de370bcef1238b8b2f2ac4f50e938401","unresolved":false,"context_lines":[{"line_number":97,"context_line":"        with open(filename, \"r\") as fileobj:"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"            if not object_headers:"},{"line_number":100,"context_line":"                object_headers \u003d {}"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"            try:"},{"line_number":103,"context_line":"                object_uuid \u003d self.connection.put_object(container,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1abeadc6_3a6c9936","line":100,"in_reply_to":"1abeadc6_7fbe0dd6","updated":"2014-08-26 11:19:36.000000000","message":"Done","commit_id":"d12810b403ba272e02ff81e9d141fc701c1d5d60"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e380a6821aa2d106f6f1cec800c0cb68f25bcbd3","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                object_uuid \u003d self.connection.put_object(container,"},{"line_number":104,"context_line":"                                                        object,"},{"line_number":105,"context_line":"                                                        fileobj,"},{"line_number":106,"context_line":"                                                        headers\u003dobject_headers)"},{"line_number":107,"context_line":"            except swift_exceptions.ClientException as e:"},{"line_number":108,"context_line":"                operation \u003d _(\"put object\")"},{"line_number":109,"context_line":"                raise exception.SwiftOperationError(operation\u003doperation,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1abeadc6_1f0279b4","line":106,"updated":"2014-08-25 14:10:59.000000000","message":"nit: indentation needs one more space","commit_id":"d12810b403ba272e02ff81e9d141fc701c1d5d60"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"73bf4140de370bcef1238b8b2f2ac4f50e938401","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                object_uuid \u003d self.connection.put_object(container,"},{"line_number":104,"context_line":"                                                        object,"},{"line_number":105,"context_line":"                                                        fileobj,"},{"line_number":106,"context_line":"                                                        headers\u003dobject_headers)"},{"line_number":107,"context_line":"            except swift_exceptions.ClientException as e:"},{"line_number":108,"context_line":"                operation \u003d _(\"put object\")"},{"line_number":109,"context_line":"                raise exception.SwiftOperationError(operation\u003doperation,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1abeadc6_7a761108","line":106,"in_reply_to":"1abeadc6_1f0279b4","updated":"2014-08-26 11:19:36.000000000","message":"Done","commit_id":"d12810b403ba272e02ff81e9d141fc701c1d5d60"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"3d13a1c1396f69843ca17c5311ed9b6fe5fa7154","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from six.moves.urllib import parse"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslo.config import cfg"},{"line_number":20,"context_line":"from swiftclient import client as swift_client"}],"source_content_type":"text/x-python","patch_set":12,"id":"1abeadc6_aa876e11","line":17,"updated":"2014-08-26 02:16:01.000000000","message":"six is a 3rd party library, so it goes after oslo.config","commit_id":"6faa2180e4a7ac5f18c9920233cf2a99d9d216aa"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"1803acd6f92eb96c4c04a1a46460acb4f4e5d085","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from six.moves.urllib import parse"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslo.config import cfg"},{"line_number":20,"context_line":"from swiftclient import client as swift_client"}],"source_content_type":"text/x-python","patch_set":12,"id":"1abeadc6_7791ad51","line":17,"in_reply_to":"1abeadc6_aa876e11","updated":"2014-08-26 11:31:26.000000000","message":"Done","commit_id":"6faa2180e4a7ac5f18c9920233cf2a99d9d216aa"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"3d13a1c1396f69843ca17c5311ed9b6fe5fa7154","unresolved":false,"context_lines":[{"line_number":35,"context_line":"CONF \u003d cfg.CONF"},{"line_number":36,"context_line":"CONF.register_opts(swift_opts, group\u003d\u0027swift\u0027)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"CONF.import_opt(\u0027admin_user\u0027, \u0027keystoneclient.middleware.auth_token\u0027,"},{"line_number":39,"context_line":"                group\u003d\u0027keystone_authtoken\u0027)"},{"line_number":40,"context_line":"CONF.import_opt(\u0027admin_tenant_name\u0027, \u0027keystoneclient.middleware.auth_token\u0027,"},{"line_number":41,"context_line":"                group\u003d\u0027keystone_authtoken\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1abeadc6_ea34064c","line":38,"updated":"2014-08-26 02:16:01.000000000","message":"we\u0027re using keystonemiddleware package [1], instead of keystoneclient, for these configs.\n\n[1] https://review.openstack.org/#/c/107197/","commit_id":"6faa2180e4a7ac5f18c9920233cf2a99d9d216aa"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"1803acd6f92eb96c4c04a1a46460acb4f4e5d085","unresolved":false,"context_lines":[{"line_number":35,"context_line":"CONF \u003d cfg.CONF"},{"line_number":36,"context_line":"CONF.register_opts(swift_opts, group\u003d\u0027swift\u0027)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"CONF.import_opt(\u0027admin_user\u0027, \u0027keystoneclient.middleware.auth_token\u0027,"},{"line_number":39,"context_line":"                group\u003d\u0027keystone_authtoken\u0027)"},{"line_number":40,"context_line":"CONF.import_opt(\u0027admin_tenant_name\u0027, \u0027keystoneclient.middleware.auth_token\u0027,"},{"line_number":41,"context_line":"                group\u003d\u0027keystone_authtoken\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1abeadc6_b7a9857d","line":38,"in_reply_to":"1abeadc6_ea34064c","updated":"2014-08-26 11:31:26.000000000","message":"Done","commit_id":"6faa2180e4a7ac5f18c9920233cf2a99d9d216aa"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"3d13a1c1396f69843ca17c5311ed9b6fe5fa7154","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                 user\u003dCONF.keystone_authtoken.admin_user,"},{"line_number":55,"context_line":"                 tenant_name\u003dCONF.keystone_authtoken.admin_tenant_name,"},{"line_number":56,"context_line":"                 key\u003dCONF.keystone_authtoken.admin_password,"},{"line_number":57,"context_line":"                 authurl\u003dCONF.keystone_authtoken.auth_uri,"},{"line_number":58,"context_line":"                 auth_version\u003d2):"},{"line_number":59,"context_line":"        \"\"\"Constructor for creating a SwiftAPI object."},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"1abeadc6_2a6c3e36","line":57,"updated":"2014-08-26 02:16:01.000000000","message":"nit, I\u0027d prefer auth_url. (And that\u0027d be more consistent with your auth_version.)","commit_id":"6faa2180e4a7ac5f18c9920233cf2a99d9d216aa"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"1803acd6f92eb96c4c04a1a46460acb4f4e5d085","unresolved":false,"context_lines":[{"line_number":54,"context_line":"                 user\u003dCONF.keystone_authtoken.admin_user,"},{"line_number":55,"context_line":"                 tenant_name\u003dCONF.keystone_authtoken.admin_tenant_name,"},{"line_number":56,"context_line":"                 key\u003dCONF.keystone_authtoken.admin_password,"},{"line_number":57,"context_line":"                 authurl\u003dCONF.keystone_authtoken.auth_uri,"},{"line_number":58,"context_line":"                 auth_version\u003d2):"},{"line_number":59,"context_line":"        \"\"\"Constructor for creating a SwiftAPI object."},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"1abeadc6_f7e13dd1","line":57,"in_reply_to":"1abeadc6_2a6c3e36","updated":"2014-08-26 11:31:26.000000000","message":"Done","commit_id":"6faa2180e4a7ac5f18c9920233cf2a99d9d216aa"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"aec738e8d7c98eb83fbed0074e0b4a06b0e31ee0","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                 tenant_name\u003dCONF.keystone_authtoken.admin_tenant_name,"},{"line_number":56,"context_line":"                 key\u003dCONF.keystone_authtoken.admin_password,"},{"line_number":57,"context_line":"                 auth_url\u003dCONF.keystone_authtoken.auth_uri,"},{"line_number":58,"context_line":"                 auth_version\u003d2):"},{"line_number":59,"context_line":"        \"\"\"Constructor for creating a SwiftAPI object."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        :param user: the name of the user for Swift account"}],"source_content_type":"text/x-python","patch_set":13,"id":"1abeadc6_3adb901c","line":58,"updated":"2014-08-26 15:53:01.000000000","message":"This shouldn\u0027t be hardcoded, we have a config option for this.","commit_id":"f269d3367f122d8578e60462c875c3341dbb5e1e"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"2ae5a2e777d2dde7f1e6773006e6301403ae79a7","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                 tenant_name\u003dCONF.keystone_authtoken.admin_tenant_name,"},{"line_number":56,"context_line":"                 key\u003dCONF.keystone_authtoken.admin_password,"},{"line_number":57,"context_line":"                 auth_url\u003dCONF.keystone_authtoken.auth_uri,"},{"line_number":58,"context_line":"                 auth_version\u003d2):"},{"line_number":59,"context_line":"        \"\"\"Constructor for creating a SwiftAPI object."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        :param user: the name of the user for Swift account"}],"source_content_type":"text/x-python","patch_set":13,"id":"1abeadc6_0e6db632","line":58,"in_reply_to":"1abeadc6_3adb901c","updated":"2014-08-26 18:35:53.000000000","message":"Done","commit_id":"f269d3367f122d8578e60462c875c3341dbb5e1e"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"aec738e8d7c98eb83fbed0074e0b4a06b0e31ee0","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        :param auth_version: the version of api to use for authentication"},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        auth_url \u003d parse.urljoin(auth_url.rstrip(\u0027/\u0027), \u0027v2.0\u0027)"},{"line_number":69,"context_line":"        params \u003d {\u0027retries\u0027: CONF.swift.swift_max_retries,"},{"line_number":70,"context_line":"                  \u0027insecure\u0027: CONF.keystone_authtoken.insecure,"},{"line_number":71,"context_line":"                  \u0027user\u0027: user,"}],"source_content_type":"text/x-python","patch_set":13,"id":"1abeadc6_7a0508c1","line":68,"updated":"2014-08-26 15:53:01.000000000","message":"I really don\u0027t like this hardcoded keystone version... this should just use the auth_version parameter to this function","commit_id":"f269d3367f122d8578e60462c875c3341dbb5e1e"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"2ae5a2e777d2dde7f1e6773006e6301403ae79a7","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        :param auth_version: the version of api to use for authentication"},{"line_number":66,"context_line":"        \"\"\""},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        auth_url \u003d parse.urljoin(auth_url.rstrip(\u0027/\u0027), \u0027v2.0\u0027)"},{"line_number":69,"context_line":"        params \u003d {\u0027retries\u0027: CONF.swift.swift_max_retries,"},{"line_number":70,"context_line":"                  \u0027insecure\u0027: CONF.keystone_authtoken.insecure,"},{"line_number":71,"context_line":"                  \u0027user\u0027: user,"}],"source_content_type":"text/x-python","patch_set":13,"id":"1abeadc6_2d31970b","line":68,"in_reply_to":"1abeadc6_7a0508c1","updated":"2014-08-26 18:35:53.000000000","message":"Done. As discussed in the irc, just refactored the similar code in keystone.py","commit_id":"f269d3367f122d8578e60462c875c3341dbb5e1e"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"3c0ed2df0e06ef71b0e1b47c6246199a3b685d68","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        auth_url \u003d parse.urljoin(auth_url.rstrip(\u0027/\u0027), \u0027v2.0\u0027)"},{"line_number":69,"context_line":"        params \u003d {\u0027retries\u0027: CONF.swift.swift_max_retries,"},{"line_number":70,"context_line":"                  \u0027insecure\u0027: CONF.keystone_authtoken.insecure,"},{"line_number":71,"context_line":"                  \u0027user\u0027: user,"},{"line_number":72,"context_line":"                  \u0027tenant_name\u0027: tenant_name,"},{"line_number":73,"context_line":"                  \u0027key\u0027: key,"}],"source_content_type":"text/x-python","patch_set":13,"id":"1abeadc6_baab2088","line":70,"updated":"2014-08-26 16:08:07.000000000","message":"CONF.keystone_authtoken.insecure where is this value pulled in?","commit_id":"f269d3367f122d8578e60462c875c3341dbb5e1e"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"2ae5a2e777d2dde7f1e6773006e6301403ae79a7","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        auth_url \u003d parse.urljoin(auth_url.rstrip(\u0027/\u0027), \u0027v2.0\u0027)"},{"line_number":69,"context_line":"        params \u003d {\u0027retries\u0027: CONF.swift.swift_max_retries,"},{"line_number":70,"context_line":"                  \u0027insecure\u0027: CONF.keystone_authtoken.insecure,"},{"line_number":71,"context_line":"                  \u0027user\u0027: user,"},{"line_number":72,"context_line":"                  \u0027tenant_name\u0027: tenant_name,"},{"line_number":73,"context_line":"                  \u0027key\u0027: key,"}],"source_content_type":"text/x-python","patch_set":13,"id":"1abeadc6_ced1fece","line":70,"in_reply_to":"1abeadc6_baab2088","updated":"2014-08-26 18:35:53.000000000","message":"Done. Added import statement for this.","commit_id":"f269d3367f122d8578e60462c875c3341dbb5e1e"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"aec738e8d7c98eb83fbed0074e0b4a06b0e31ee0","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        return obj_uuid"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def get_tmp_url(self, container, object, timeout):"},{"line_number":112,"context_line":"        \"\"\"Returns the tmp url for the given Swift object."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        :param container: The container in which Swift object is placed."}],"source_content_type":"text/x-python","patch_set":13,"id":"1abeadc6_7a74289c","line":111,"updated":"2014-08-26 15:53:01.000000000","message":"Swift commonly refers to this as \"temp url\", could you s/tmp/temp/ throughout this method, please?","commit_id":"f269d3367f122d8578e60462c875c3341dbb5e1e"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"2ae5a2e777d2dde7f1e6773006e6301403ae79a7","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        return obj_uuid"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def get_tmp_url(self, container, object, timeout):"},{"line_number":112,"context_line":"        \"\"\"Returns the tmp url for the given Swift object."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"        :param container: The container in which Swift object is placed."}],"source_content_type":"text/x-python","patch_set":13,"id":"1abeadc6_2e4fd2bf","line":111,"in_reply_to":"1abeadc6_7a74289c","updated":"2014-08-26 18:35:53.000000000","message":"Done","commit_id":"f269d3367f122d8578e60462c875c3341dbb5e1e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"05c5e5f60d8bf31a5d5439f3cb6bdf000df66428","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            storage_url, token \u003d self.connection.get_auth()"},{"line_number":125,"context_line":"            account_info \u003d self.connection.head_account()"},{"line_number":126,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":127,"context_line":"            operation \u003d _(\"temp url generation\")"},{"line_number":128,"context_line":"            raise exception.SwiftOperationError(operation\u003doperation,"},{"line_number":129,"context_line":"                                                error\u003de)"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1abeadc6_77bfbafc","line":127,"updated":"2014-08-27 11:44:47.000000000","message":"not 100% true, it is head that failed, not generation","commit_id":"1e8b5d0f6c5dc117bad40fc7f8b67d346903f36b"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"08d1def05a42d08229642ee27490cb9cd213899e","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            storage_url, token \u003d self.connection.get_auth()"},{"line_number":125,"context_line":"            account_info \u003d self.connection.head_account()"},{"line_number":126,"context_line":"        except swift_exceptions.ClientException as e:"},{"line_number":127,"context_line":"            operation \u003d _(\"temp url generation\")"},{"line_number":128,"context_line":"            raise exception.SwiftOperationError(operation\u003doperation,"},{"line_number":129,"context_line":"                                                error\u003de)"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1abeadc6_abc3ab55","line":127,"in_reply_to":"1abeadc6_77bfbafc","updated":"2014-08-27 13:30:45.000000000","message":"Seems like get_auth will not throw exception.\nhttp://docs.openstack.org/developer/python-swiftclient/swiftclient.html#swiftclient.client.get_auth\n\nSo will correct this.","commit_id":"1e8b5d0f6c5dc117bad40fc7f8b67d346903f36b"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from six.moves.urllib import parse"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslo.config import cfg"},{"line_number":20,"context_line":"from swiftclient import client as swift_client"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_90f7f758","line":17,"updated":"2014-08-27 15:52:16.000000000","message":"six is a 3rd party library, so it goes after oslo.config","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from six.moves.urllib import parse"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from oslo.config import cfg"},{"line_number":20,"context_line":"from swiftclient import client as swift_client"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_ffeab4aa","line":17,"in_reply_to":"1abeadc6_90f7f758","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                      object_headers\u003dNone):"},{"line_number":85,"context_line":"        \"\"\"Uploads a given file to Swift."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param container: The container for the object."},{"line_number":88,"context_line":"        :param object: The name of the object in Swift"},{"line_number":89,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":90,"context_line":"        :param object_headers: the headers for the object to pass to Swift"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_33954d40","line":87,"updated":"2014-08-27 15:52:16.000000000","message":"nit: it isn\u0027t the container but the name of the container.","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                      object_headers\u003dNone):"},{"line_number":85,"context_line":"        \"\"\"Uploads a given file to Swift."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param container: The container for the object."},{"line_number":88,"context_line":"        :param object: The name of the object in Swift"},{"line_number":89,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":90,"context_line":"        :param object_headers: the headers for the object to pass to Swift"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_ff01d46a","line":87,"in_reply_to":"1abeadc6_33954d40","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param container: The container for the object."},{"line_number":88,"context_line":"        :param object: The name of the object in Swift"},{"line_number":89,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":90,"context_line":"        :param object_headers: the headers for the object to pass to Swift"},{"line_number":91,"context_line":"        :returns: The Swift UUID of the object"},{"line_number":92,"context_line":"        :raises: SwiftOperationError, if any operation with Swift fails."}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_33770dd6","line":89,"updated":"2014-08-27 15:52:16.000000000","message":"\u0027upload to\u0027 -\u003e \u0027upload, \u0027\n\n\u0027upload to\u0027 means that something is being uploaded to the file, which isn\u0027t what you want.","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        :param container: The container for the object."},{"line_number":88,"context_line":"        :param object: The name of the object in Swift"},{"line_number":89,"context_line":"        :param filename: The file to upload to as the object data"},{"line_number":90,"context_line":"        :param object_headers: the headers for the object to pass to Swift"},{"line_number":91,"context_line":"        :returns: The Swift UUID of the object"},{"line_number":92,"context_line":"        :raises: SwiftOperationError, if any operation with Swift fails."}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_ff38f43e","line":89,"in_reply_to":"1abeadc6_33770dd6","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    def get_temp_url(self, container, object, timeout):"},{"line_number":115,"context_line":"        \"\"\"Returns the temp url for the given Swift object."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":118,"context_line":"        :param object: The name of the Swift object."},{"line_number":119,"context_line":"        :param timeout: The timeout after which the generated url will expire."},{"line_number":120,"context_line":"        :returns: The temp url for the object."}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_8eb43836","line":117,"updated":"2014-08-27 15:52:16.000000000","message":"the name of the container, right?","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    def get_temp_url(self, container, object, timeout):"},{"line_number":115,"context_line":"        \"\"\"Returns the temp url for the given Swift object."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":118,"context_line":"        :param object: The name of the Swift object."},{"line_number":119,"context_line":"        :param timeout: The timeout after which the generated url will expire."},{"line_number":120,"context_line":"        :returns: The temp url for the object."}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_ff8634da","line":117,"in_reply_to":"1abeadc6_8eb43836","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":118,"context_line":"        :param object: The name of the Swift object."},{"line_number":119,"context_line":"        :param timeout: The timeout after which the generated url will expire."},{"line_number":120,"context_line":"        :returns: The temp url for the object."},{"line_number":121,"context_line":"        :raises: SwiftOperationError, if any operation with Swift fails."},{"line_number":122,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_0ea908df","line":119,"updated":"2014-08-27 15:52:16.000000000","message":"seconds, minutes?","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":118,"context_line":"        :param object: The name of the Swift object."},{"line_number":119,"context_line":"        :param timeout: The timeout after which the generated url will expire."},{"line_number":120,"context_line":"        :returns: The temp url for the object."},{"line_number":121,"context_line":"        :raises: SwiftOperationError, if any operation with Swift fails."},{"line_number":122,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_5f772802","line":119,"in_reply_to":"1abeadc6_0ea908df","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    def delete_object(self, container, object):"},{"line_number":144,"context_line":"        \"\"\"Deletes the given Swift object."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":147,"context_line":"        :param object: The name of the object in Swift to be deleted."},{"line_number":148,"context_line":"        :raises: SwiftOperationError, if operation with Swift fails."},{"line_number":149,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_2e208448","line":146,"updated":"2014-08-27 15:52:16.000000000","message":"name of the container","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    def delete_object(self, container, object):"},{"line_number":144,"context_line":"        \"\"\"Deletes the given Swift object."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":147,"context_line":"        :param object: The name of the object in Swift to be deleted."},{"line_number":148,"context_line":"        :raises: SwiftOperationError, if operation with Swift fails."},{"line_number":149,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_bf63dc3f","line":146,"in_reply_to":"1abeadc6_2e208448","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    def head_object(self, container, object):"},{"line_number":157,"context_line":"        \"\"\"Retrieves the information about the given Swift object."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":160,"context_line":"        :param object: The name of the object in Swift"},{"line_number":161,"context_line":"        :returns: The information about the object as returned by"},{"line_number":162,"context_line":"            Swift client\u0027s head call."}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_eeddac43","line":159,"updated":"2014-08-27 15:52:16.000000000","message":"name of the container","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    def head_object(self, container, object):"},{"line_number":157,"context_line":"        \"\"\"Retrieves the information about the given Swift object."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":160,"context_line":"        :param object: The name of the object in Swift"},{"line_number":161,"context_line":"        :returns: The information about the object as returned by"},{"line_number":162,"context_line":"            Swift client\u0027s head call."}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_df5a5882","line":159,"in_reply_to":"1abeadc6_eeddac43","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":160,"context_line":"        :param object: The name of the object in Swift"},{"line_number":161,"context_line":"        :returns: The information about the object as returned by"},{"line_number":162,"context_line":"            Swift client\u0027s head call."},{"line_number":163,"context_line":"        :raises: SwiftOperationError, if operation with fails."},{"line_number":164,"context_line":"        \"\"\""},{"line_number":165,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_ce8b901c","line":162,"updated":"2014-08-27 15:52:16.000000000","message":"\u0027head\u0027 -\u003e I think you mean \u0027\"head_object\"\u0027","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":160,"context_line":"        :param object: The name of the object in Swift"},{"line_number":161,"context_line":"        :returns: The information about the object as returned by"},{"line_number":162,"context_line":"            Swift client\u0027s head call."},{"line_number":163,"context_line":"        :raises: SwiftOperationError, if operation with fails."},{"line_number":164,"context_line":"        \"\"\""},{"line_number":165,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_3f4fccbf","line":162,"in_reply_to":"1abeadc6_ce8b901c","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        :param object: The name of the object in Swift"},{"line_number":161,"context_line":"        :returns: The information about the object as returned by"},{"line_number":162,"context_line":"            Swift client\u0027s head call."},{"line_number":163,"context_line":"        :raises: SwiftOperationError, if operation with fails."},{"line_number":164,"context_line":"        \"\"\""},{"line_number":165,"context_line":"        try:"},{"line_number":166,"context_line":"            return self.connection.head_object(container, object)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_cee0f0ce","line":163,"updated":"2014-08-27 15:52:16.000000000","message":"nit: \u0027with\u0027 -\u003e \u0027with Swift\u0027","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":160,"context_line":"        :param object: The name of the object in Swift"},{"line_number":161,"context_line":"        :returns: The information about the object as returned by"},{"line_number":162,"context_line":"            Swift client\u0027s head call."},{"line_number":163,"context_line":"        :raises: SwiftOperationError, if operation with fails."},{"line_number":164,"context_line":"        \"\"\""},{"line_number":165,"context_line":"        try:"},{"line_number":166,"context_line":"            return self.connection.head_object(container, object)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_9fc70012","line":163,"in_reply_to":"1abeadc6_cee0f0ce","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    def update_object_meta(self, container, object, object_headers):"},{"line_number":172,"context_line":"        \"\"\"Update the metadata of a given Swift object."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":175,"context_line":"        :param object: The name of the object in Swift"},{"line_number":176,"context_line":"        :param object_headers: the headers for the object to pass to Swift"},{"line_number":177,"context_line":"        :raises: SwiftOperationError, if operation with fails."}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_8ea8b878","line":174,"updated":"2014-08-27 15:52:16.000000000","message":"ditto","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":171,"context_line":"    def update_object_meta(self, container, object, object_headers):"},{"line_number":172,"context_line":"        \"\"\"Update the metadata of a given Swift object."},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":175,"context_line":"        :param object: The name of the object in Swift"},{"line_number":176,"context_line":"        :param object_headers: the headers for the object to pass to Swift"},{"line_number":177,"context_line":"        :raises: SwiftOperationError, if operation with fails."}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_dfd178ce","line":174,"in_reply_to":"1abeadc6_8ea8b878","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":175,"context_line":"        :param object: The name of the object in Swift"},{"line_number":176,"context_line":"        :param object_headers: the headers for the object to pass to Swift"},{"line_number":177,"context_line":"        :raises: SwiftOperationError, if operation with fails."},{"line_number":178,"context_line":"        \"\"\""},{"line_number":179,"context_line":"        try:"},{"line_number":180,"context_line":"            self.connection.post_object(container, object, object_headers)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_eee76ce2","line":177,"updated":"2014-08-27 15:52:16.000000000","message":"nit: \u0027with\u0027 -\u003e \u0027with Swift\u0027","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        :param container: The container in which Swift object is placed."},{"line_number":175,"context_line":"        :param object: The name of the object in Swift"},{"line_number":176,"context_line":"        :param object_headers: the headers for the object to pass to Swift"},{"line_number":177,"context_line":"        :raises: SwiftOperationError, if operation with fails."},{"line_number":178,"context_line":"        \"\"\""},{"line_number":179,"context_line":"        try:"},{"line_number":180,"context_line":"            self.connection.post_object(container, object, object_headers)"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_7fe06496","line":177,"in_reply_to":"1abeadc6_eee76ce2","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"}],"ironic/tests/test_swift.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        self.swift_exception \u003d swift_exception.ClientException(\u0027\u0027, \u0027\u0027)"},{"line_number":37,"context_line":"        CONF.keystone_authtoken.auth_uri \u003d \u0027http://authurl\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @mock.patch.object(os, \u0027close\u0027)"},{"line_number":40,"context_line":"    @mock.patch.object(__builtin__, \u0027open\u0027)"},{"line_number":41,"context_line":"    def test_create_object(self, open_mock, close_mock, connection_mock):"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_a46895f6","line":39,"updated":"2014-08-14 11:37:57.000000000","message":"you\u0027re not using os.close, why mock it (the same applies below)","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        self.swift_exception \u003d swift_exception.ClientException(\u0027\u0027, \u0027\u0027)"},{"line_number":37,"context_line":"        CONF.keystone_authtoken.auth_uri \u003d \u0027http://authurl\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    @mock.patch.object(os, \u0027close\u0027)"},{"line_number":40,"context_line":"    @mock.patch.object(__builtin__, \u0027open\u0027)"},{"line_number":41,"context_line":"    def test_create_object(self, open_mock, close_mock, connection_mock):"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_c131f5a3","line":39,"in_reply_to":"7ac7a964_a46895f6","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        object_uuid \u003d swiftapi.create_object(\u0027container\u0027, \u0027object\u0027,"},{"line_number":52,"context_line":"                                             \u0027some-file-location\u0027)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        connection_obj_mock.head_container.assert_called_with(\u0027container\u0027)"},{"line_number":55,"context_line":"        connection_obj_mock.put_object.assert_called_with(\u0027container\u0027,"},{"line_number":56,"context_line":"                \u0027object\u0027, \u0027file-object\u0027, headers\u003d{})"},{"line_number":57,"context_line":"        self.assertEqual(\u0027object-uuid\u0027, object_uuid)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_e4728de4","line":54,"updated":"2014-08-14 11:37:57.000000000","message":"nit: s/assert_called_with/assert_called_once_with/ here and below","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        object_uuid \u003d swiftapi.create_object(\u0027container\u0027, \u0027object\u0027,"},{"line_number":52,"context_line":"                                             \u0027some-file-location\u0027)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        connection_obj_mock.head_container.assert_called_with(\u0027container\u0027)"},{"line_number":55,"context_line":"        connection_obj_mock.put_object.assert_called_with(\u0027container\u0027,"},{"line_number":56,"context_line":"                \u0027object\u0027, \u0027file-object\u0027, headers\u003d{})"},{"line_number":57,"context_line":"        self.assertEqual(\u0027object-uuid\u0027, object_uuid)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_e10fd1df","line":54,"in_reply_to":"7ac7a964_e4728de4","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        swiftapi \u003d swift.SwiftAPI()"},{"line_number":65,"context_line":"        connection_obj_mock \u003d connection_mock.return_value"},{"line_number":66,"context_line":"        connection_obj_mock.head_container.side_effect \u003d [self.swift_exception]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        swiftapi.create_object(\u0027container\u0027,"},{"line_number":69,"context_line":"                                    \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_e449ad8c","line":66,"updated":"2014-08-14 11:37:57.000000000","message":"nit: list is redundant (here and below)","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        swiftapi \u003d swift.SwiftAPI()"},{"line_number":65,"context_line":"        connection_obj_mock \u003d connection_mock.return_value"},{"line_number":66,"context_line":"        connection_obj_mock.head_container.side_effect \u003d [self.swift_exception]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        swiftapi.create_object(\u0027container\u0027,"},{"line_number":69,"context_line":"                                    \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_41f6c5d8","line":66,"in_reply_to":"7ac7a964_e449ad8c","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e9e7b2bd47114e4a44039a7998fd4409dfcf391","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        swiftapi \u003d swift.SwiftAPI()"},{"line_number":79,"context_line":"        connection_obj_mock \u003d connection_mock.return_value"},{"line_number":80,"context_line":"        connection_obj_mock.head_account.side_effect \u003d None"},{"line_number":81,"context_line":"        connection_obj_mock.put_object.side_effect \u003d [self.swift_exception]"},{"line_number":82,"context_line":"        self.assertRaises(exception.SwiftOperationError,"},{"line_number":83,"context_line":"                          swiftapi.create_object,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_bf09822e","line":80,"updated":"2014-08-14 11:37:57.000000000","message":"nit: redundant (here and below)","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"e9e5f46b5a9abd0945a0f448e70c3677a9a4def2","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        swiftapi \u003d swift.SwiftAPI()"},{"line_number":79,"context_line":"        connection_obj_mock \u003d connection_mock.return_value"},{"line_number":80,"context_line":"        connection_obj_mock.head_account.side_effect \u003d None"},{"line_number":81,"context_line":"        connection_obj_mock.put_object.side_effect \u003d [self.swift_exception]"},{"line_number":82,"context_line":"        self.assertRaises(exception.SwiftOperationError,"},{"line_number":83,"context_line":"                          swiftapi.create_object,"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ac7a964_8100ddab","line":80,"in_reply_to":"7ac7a964_bf09822e","updated":"2014-08-14 16:02:52.000000000","message":"Done","commit_id":"9bdb08c2aee66c466dad252495f55ef3d8c5103c"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from ironic.tests import base"},{"line_number":24,"context_line":"from swiftclient import client as swift_client"},{"line_number":25,"context_line":"from swiftclient import exceptions as swift_exception"},{"line_number":26,"context_line":"from swiftclient import utils as swift_utils"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONF \u003d cfg.CONF"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_ae2bb4e9","line":26,"updated":"2014-08-27 15:52:16.000000000","message":"swiftclient is treated as 3rd party so they go after the oslo.config above.","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from ironic.tests import base"},{"line_number":24,"context_line":"from swiftclient import client as swift_client"},{"line_number":25,"context_line":"from swiftclient import exceptions as swift_exception"},{"line_number":26,"context_line":"from swiftclient import utils as swift_utils"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"CONF \u003d cfg.CONF"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_c309a685","line":26,"in_reply_to":"1abeadc6_ae2bb4e9","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        connection_obj_mock.put_container.side_effect \u003d self.swift_exception"},{"line_number":86,"context_line":"        self.assertRaises(exception.SwiftOperationError,"},{"line_number":87,"context_line":"                          swiftapi.create_object, \u0027container\u0027,"},{"line_number":88,"context_line":"                          \u0027object\u0027, \u0027some-file-location\u0027)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @mock.patch.object(__builtin__, \u0027open\u0027)"},{"line_number":91,"context_line":"    def test_create_object_put_object_fails(self, open_mock, connection_mock):"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_095bc22e","line":88,"updated":"2014-08-27 15:52:16.000000000","message":"what do you think about checking that connection_obj_mock.put_container was called? (There are 2 places where an exception could be thrown so checking ensures it is done in the place where you expected it.)","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        connection_obj_mock.put_container.side_effect \u003d self.swift_exception"},{"line_number":86,"context_line":"        self.assertRaises(exception.SwiftOperationError,"},{"line_number":87,"context_line":"                          swiftapi.create_object, \u0027container\u0027,"},{"line_number":88,"context_line":"                          \u0027object\u0027, \u0027some-file-location\u0027)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"    @mock.patch.object(__builtin__, \u0027open\u0027)"},{"line_number":91,"context_line":"    def test_create_object_put_object_fails(self, open_mock, connection_mock):"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_231eda0c","line":88,"in_reply_to":"1abeadc6_095bc22e","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"477391ab699f3877530d43a8ee294bab30d7f75f","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        connection_obj_mock.put_object.side_effect \u003d self.swift_exception"},{"line_number":96,"context_line":"        self.assertRaises(exception.SwiftOperationError,"},{"line_number":97,"context_line":"                          swiftapi.create_object, \u0027container\u0027,"},{"line_number":98,"context_line":"                          \u0027object\u0027, \u0027some-file-location\u0027)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    @mock.patch.object(swift_utils, \u0027generate_temp_url\u0027)"},{"line_number":101,"context_line":"    def test_get_temp_url(self, gen_temp_url_mock, connection_mock):"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_a982ce4f","line":98,"updated":"2014-08-27 15:52:16.000000000","message":"ditto about connection_obj_mock.put_object. you could also check that .put_container was also called.","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"dcfcc9239e889dbeb649185c8338cb9bfc9dffcf","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        connection_obj_mock.put_object.side_effect \u003d self.swift_exception"},{"line_number":96,"context_line":"        self.assertRaises(exception.SwiftOperationError,"},{"line_number":97,"context_line":"                          swiftapi.create_object, \u0027container\u0027,"},{"line_number":98,"context_line":"                          \u0027object\u0027, \u0027some-file-location\u0027)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    @mock.patch.object(swift_utils, \u0027generate_temp_url\u0027)"},{"line_number":101,"context_line":"    def test_get_temp_url(self, gen_temp_url_mock, connection_mock):"}],"source_content_type":"text/x-python","patch_set":15,"id":"1abeadc6_a3a74abc","line":98,"in_reply_to":"1abeadc6_a982ce4f","updated":"2014-08-27 17:12:34.000000000","message":"Done","commit_id":"c5baa2a2f142050d2bc34c6d356716edd63ba259"}]}
