)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"fb9bd7d38370c1b8f11b031541df2afb7570f11c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sudipta Biswas \u003csbiswas7@in.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-06-08 15:07:13 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make Xenplugin to work with glance v1 api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This code makes xenplugin version agnostic"},{"line_number":10,"context_line":"and allows to work with both apis, depending"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7aa08908_37448519","line":7,"updated":"2016-06-08 09:42:43.000000000","message":"Surely this should be v2? why the change?","commit_id":"5675ccce6f1bd685b80901f844f032385adea598"}],"nova/tests/unit/virt/xenapi/image/test_glance.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"5f6cdf8febd4472d9d8057af68144dc7abda0594","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                       lambda *a, **kw: [\u0027uuid1\u0027])"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        self.mox.StubOutWithMock(self.session, \u0027call_plugin_serialized\u0027)"},{"line_number":84,"context_line":"        self.session.call_plugin_serialized(\u0027glance\u0027, \u0027download_vhd2\u0027,"},{"line_number":85,"context_line":"                                            **params)"},{"line_number":86,"context_line":"        self.mox.ReplayAll()"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_94866511","line":84,"range":{"start_line":84,"start_character":55,"end_line":84,"end_character":68},"updated":"2016-06-07 09:45:42.000000000","message":"This is the bit I was thinking we could switch over between glance v1 and v2, but maybe thats overkill.","commit_id":"96cfebdb8d4d0b65ac604925af6d32d29901387d"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"9ca9b2563781b816f33464db3e1d29b9b1bbf301","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                       lambda *a, **kw: [\u0027uuid1\u0027])"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        self.mox.StubOutWithMock(self.session, \u0027call_plugin_serialized\u0027)"},{"line_number":84,"context_line":"        self.session.call_plugin_serialized(\u0027glance\u0027, \u0027download_vhd2\u0027,"},{"line_number":85,"context_line":"                                            **params)"},{"line_number":86,"context_line":"        self.mox.ReplayAll()"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_ed19cf7a","line":84,"range":{"start_line":84,"start_character":55,"end_line":84,"end_character":68},"in_reply_to":"7aa08908_94866511","updated":"2016-06-07 13:05:00.000000000","message":"honestly, we need a protocol bump to add v2 support anyway. Mike chose to do that with a version\u003d flag instead of separate rpc names. I think that\u0027s fine","commit_id":"96cfebdb8d4d0b65ac604925af6d32d29901387d"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"d035873283e146ab10bb6ad0d713104e800f94df","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                       lambda *a, **kw: [\u0027uuid1\u0027])"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        self.mox.StubOutWithMock(self.session, \u0027call_plugin_serialized\u0027)"},{"line_number":84,"context_line":"        self.session.call_plugin_serialized(\u0027glance\u0027, \u0027download_vhd2\u0027,"},{"line_number":85,"context_line":"                                            **params)"},{"line_number":86,"context_line":"        self.mox.ReplayAll()"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_73101d02","line":84,"range":{"start_line":84,"start_character":55,"end_line":84,"end_character":68},"in_reply_to":"7aa08908_ed19cf7a","updated":"2016-06-07 14:52:09.000000000","message":"I think it\u0027s OK the way it is; when we drop v1 support we can just pass v2 from Nova the API to Glance doesn\u0027t change.  We may want a major version bump in the plugin version numbers when glance v1 support is dropped but we can discuss that at the time.","commit_id":"96cfebdb8d4d0b65ac604925af6d32d29901387d"}],"plugins/xenserver/xenapi/etc/xapi.d/plugins/glance":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"16dd5854a26897ce48f1502277f8a94d5fd4041f","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    url \u003d (\"%(glance_endpoint)s/v1/images/%(image_id)s\" % {"},{"line_number":133,"context_line":"        \u0027glance_endpoint\u0027: glance_endpoint,"},{"line_number":134,"context_line":"        \u0027image_id\u0027: image_id})"},{"line_number":135,"context_line":"    logging.info(\"Downloading %s\" % url)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    request \u003d urllib2.Request(url, headers\u003dextra_headers)"},{"line_number":138,"context_line":"    try:"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"7aa08908_749c99c0","side":"PARENT","line":135,"range":{"start_line":135,"start_character":12,"end_line":135,"end_character":16},"updated":"2016-06-07 09:44:32.000000000","message":"I would much rather we kept that info in this patch.\n\nThese logs don\u0027t go into the nova logs, so where this log lives, its really important.","commit_id":"383a0c9cbb4ec6a354af53a3fbdcf9b09fe03881"},{"author":{"_account_id":11391,"name":"Mikhail Fedosin","email":"mfedosin@redhat.com","username":"fedosinme"},"change_message_id":"53d5fc1fa618db0282d17198791e8b829c56629e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"except ImportError:"},{"line_number":36,"context_line":"    import simplejson as json"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"import md5"},{"line_number":39,"context_line":"import socket"},{"line_number":40,"context_line":"import urllib2"},{"line_number":41,"context_line":"from urlparse import urlparse"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"7aa08908_c2277d10","line":38,"updated":"2016-06-07 13:38:16.000000000","message":"# noqa is required here","commit_id":"96cfebdb8d4d0b65ac604925af6d32d29901387d"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"d035873283e146ab10bb6ad0d713104e800f94df","unresolved":false,"context_lines":[{"line_number":203,"context_line":"    # This is here so there is no chance the timeout out has"},{"line_number":204,"context_line":"    # been adjusted by other library calls."},{"line_number":205,"context_line":"    socket.setdefaulttimeout(SOCKET_TIMEOUT_SECONDS)"},{"line_number":206,"context_line":"    logging.debug(\"Uploading imaged %s with glance v1 api\""},{"line_number":207,"context_line":"                  % image_id)"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    url \u003d \"%(glance_endpoint)s/v1/images/%(image_id)s\" % {"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"7aa08908_0e2feef6","line":206,"updated":"2016-06-07 14:52:09.000000000","message":"typo: \"image\"","commit_id":"96cfebdb8d4d0b65ac604925af6d32d29901387d"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"d035873283e146ab10bb6ad0d713104e800f94df","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    if resp.status \u003d\u003d httplib.OK:"},{"line_number":334,"context_line":"        return"},{"line_number":335,"context_line":"    logging.info(\"Image meta was not updated. Status: %s, Reason: %s\" %"},{"line_number":336,"context_line":"                 (resp.status, resp.reason))"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"def _upload_tarball_by_url_v2(staging_path, image_id, glance_endpoint,"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"7aa08908_ae6e9a2c","line":336,"updated":"2016-06-07 14:52:09.000000000","message":"Should this be more fatal than an info log?\nSounds like this should be at least an error log if not an exception being raised?\nIsn\u0027t an image uploaded without the metadata a failed image?","commit_id":"96cfebdb8d4d0b65ac604925af6d32d29901387d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"16dd5854a26897ce48f1502277f8a94d5fd4041f","unresolved":false,"context_lines":[{"line_number":630,"context_line":"        utils.cleanup_staging_area(staging_path)"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"def upload_vhd2(session, vdi_uuids, image_id, endpoint, sr_path,"},{"line_number":634,"context_line":"                extra_headers, properties, api_version\u003d1):"},{"line_number":635,"context_line":"    \"\"\"Bundle the VHDs comprising an image and then stream them into"},{"line_number":636,"context_line":"    Glance."}],"source_content_type":"application/octet-stream","patch_set":2,"id":"7aa08908_141a756e","line":633,"range":{"start_line":633,"start_character":4,"end_line":633,"end_character":15},"updated":"2016-06-07 09:44:32.000000000","message":"to make this easier to delete, could we have upload_vhd3 that only does api_version 2? The version switch can then live in the code higher up the stack.","commit_id":"96cfebdb8d4d0b65ac604925af6d32d29901387d"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"d035873283e146ab10bb6ad0d713104e800f94df","unresolved":false,"context_lines":[{"line_number":630,"context_line":"        utils.cleanup_staging_area(staging_path)"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"def upload_vhd2(session, vdi_uuids, image_id, endpoint, sr_path,"},{"line_number":634,"context_line":"                extra_headers, properties, api_version\u003d1):"},{"line_number":635,"context_line":"    \"\"\"Bundle the VHDs comprising an image and then stream them into"},{"line_number":636,"context_line":"    Glance."}],"source_content_type":"application/octet-stream","patch_set":2,"id":"7aa08908_a4cb5952","line":633,"range":{"start_line":633,"start_character":4,"end_line":633,"end_character":15},"in_reply_to":"7aa08908_141a756e","updated":"2016-06-07 14:52:09.000000000","message":"I don\u0027t think that\u0027s needed; as soon as we stop passing v1 from Nova we can bump the major version of the plugin and delete the v1 code in here, replacing it with an assert\u003dv2.","commit_id":"96cfebdb8d4d0b65ac604925af6d32d29901387d"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"ffb744a91eeaf405f6962946d17c441caa10e4ce","unresolved":false,"context_lines":[{"line_number":630,"context_line":"        utils.cleanup_staging_area(staging_path)"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":""},{"line_number":633,"context_line":"def upload_vhd2(session, vdi_uuids, image_id, endpoint, sr_path,"},{"line_number":634,"context_line":"                extra_headers, properties, api_version\u003d1):"},{"line_number":635,"context_line":"    \"\"\"Bundle the VHDs comprising an image and then stream them into"},{"line_number":636,"context_line":"    Glance."}],"source_content_type":"application/octet-stream","patch_set":2,"id":"7aa08908_ad25f909","line":633,"range":{"start_line":633,"start_character":4,"end_line":633,"end_character":15},"in_reply_to":"7aa08908_a4cb5952","updated":"2016-06-07 16:00:11.000000000","message":"Honestly, the switching here is pretty early. I\u0027m sort of fine with api_version coming over the wire in the packet here.","commit_id":"96cfebdb8d4d0b65ac604925af6d32d29901387d"},{"author":{"_account_id":9775,"name":"Sudipta Biswas","email":"sbiswas7@in.ibm.com","username":"sudswas"},"change_message_id":"43b73079e0973b2df4c98534d8a416cae1dc7ba9","unresolved":false,"context_lines":[{"line_number":397,"context_line":"        utils.cleanup_staging_area(staging_path)"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD"},{"line_number":401,"context_line":"def download_vhd(session, image_id, glance_host, glance_port, glance_use_ssl,"},{"line_number":402,"context_line":"                 uuid_stack, sr_path, extra_headers):"},{"line_number":403,"context_line":"    \"\"\"Download an image from Glance, unbundle it, and then deposit the VHDs"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"7aa08908_c94e566e","side":"PARENT","line":400,"updated":"2016-06-08 07:03:09.000000000","message":"Sorry about this. The it was a rebase mess.","commit_id":"13f813de3d41c60f0fb71985b4401b313de0f8db"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"fb9bd7d38370c1b8f11b031541df2afb7570f11c","unresolved":false,"context_lines":[{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    if resp.status \u003d\u003d httplib.OK:"},{"line_number":334,"context_line":"        return"},{"line_number":335,"context_line":"    logging.error(\"Image meta was not updated. Status: %s, Reason: %s\" %"},{"line_number":336,"context_line":"                 (resp.status, resp.reason))"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":5,"id":"7aa08908_77c3ad89","line":335,"updated":"2016-06-08 09:42:43.000000000","message":"Should it be more fatal than this?  What\u0027s the impact of having the image uploaded without the right metadata?  Seems to me that it would not be useful to have?","commit_id":"5675ccce6f1bd685b80901f844f032385adea598"}]}
