)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"a123f1df3a4a820a1ac4ec7ebd8c18cdf1f24877","unresolved":false,"context_lines":[{"line_number":10,"context_line":"to:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"https://review.openstack.org/#/c/37070"},{"line_number":13,"context_line":"https://review.openstack.org/#/c/37062/"},{"line_number":14,"context_line":"https://review.openstack.org/#/c/36563/"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I6d5e3448d2c0acc392d18e0b88cec25cf313da5b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAQn%2F%2Fg8k%3D","line":13,"updated":"2013-07-30 00:07:56.000000000","message":"Can you use the Change-Ids here, review.openstack.org will turn them into links and they are easy to use offline (git log).  Also  can add more context here, what projects are these in etc.","commit_id":"7572825205514019697e053e13d871ca5589217c"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"70420b85267c5ab8a051c59693ea748a595a9e85","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Jared Culp \u003cjared.culp@rackspace.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-07-30 10:43:39 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Nova glance plugin send identity headers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Send identity headers while uploading/downloading images from glance. Related"},{"line_number":10,"context_line":"to:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAQn%2F%2Fes4%3D","line":7,"updated":"2013-07-30 15:10:24.000000000","message":"may be have it more verbal like \" Send identity headers from glance plugin\", since this is nova anyways","commit_id":"1ea9729b4f572cafce4abbbed777f826eb311d18"},{"author":{"_account_id":5044,"name":"Mate Lakat","email":"mlakat@suse.com","username":"mate-lakat"},"change_message_id":"66e822608b20eeb8b57da6d7fee6d8a587ad309e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"xenapi: send identity headers from glance plugin"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Send identity headers while uploading/downloading images from glance. Related"},{"line_number":10,"context_line":"to:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"1) Add identity headers while calling glanceclient from nova"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"AAAAQn%2F%2FKLE%3D","line":9,"updated":"2013-08-06 07:59:11.000000000","message":"maybe a DocImpact - People must upgrade the dom0 plugins, and it\u0027s an incompatible change.","commit_id":"99b08864ddc1c96c977f3240fc34f53f13dc5205"}],"nova/image/glance.py":[{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"6f43da4b9a1b0a4ed311bd87d501ac7b79e82219","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    return (image_id, host, port, use_ssl)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"def generate_identity_headers(context, status\u003d\u0027Confirmed\u0027):"},{"line_number":106,"context_line":"    identity_headers \u003d {"},{"line_number":107,"context_line":"        \u0027X-Auth-Token\u0027: getattr(context, \u0027auth_token\u0027, None),"},{"line_number":108,"context_line":"        \u0027X-User-Id\u0027: getattr(context, \u0027user\u0027, None),"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FLo4%3D","line":105,"updated":"2013-08-05 20:43:21.000000000","message":"Looks like this function could be used to DRY up _create_glance_client as well.","commit_id":"7bb36a9e2b21912581dc78c648853950591fbecb"}],"nova/openstack/common/context.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"7f71ada209bb861f1ba2ad3117f0a01778c497c6","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    return None"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"def generate_identity_headers(context, status\u003d\u0027Confirmed\u0027):"},{"line_number":88,"context_line":"    identity_headers \u003d {"},{"line_number":89,"context_line":"        \u0027X-Auth-Token\u0027: getattr(context, \u0027auth_token\u0027, None),"},{"line_number":90,"context_line":"        \u0027X-User-Id\u0027: getattr(context, \u0027user\u0027, None),"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2FMSU%3D","line":87,"updated":"2013-08-05 17:53:03.000000000","message":"It\u0027s not an obvious thing, but all code under openstack/common in a project is actually copied over from oslo and not modified in a project directly.  Even if it slipped though here, it would get overwritten when someone did a copy later.\n\nBut because these identity headers are glance specific, they should be under a glance \"namespace\".  images/glance.py is probably the best place for this.","commit_id":"14da6a4c3f3826e8034baff1ad4b7308c4d0ed67"}],"nova/tests/virt/xenapi/image/test_glance.py":[{"author":{"_account_id":5044,"name":"Mate Lakat","email":"mlakat@suse.com","username":"mate-lakat"},"change_message_id":"66e822608b20eeb8b57da6d7fee6d8a587ad309e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        self.mox.UnsetStubs()"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def test_download_image(self):"},{"line_number":64,"context_line":"        identity_headers \u003d glance_utils.generate_identity_headers(self.context)"},{"line_number":65,"context_line":"        params \u003d {\u0027image_id\u0027: \u0027fake_image_uuid\u0027,"},{"line_number":66,"context_line":"                  \u0027glance_host\u0027: \u00271.1.1.1\u0027,"},{"line_number":67,"context_line":"                  \u0027glance_port\u0027: 123,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2FKNo%3D","line":64,"updated":"2013-08-06 07:59:11.000000000","message":"mock it out, it\u0027s a detail.","commit_id":"99b08864ddc1c96c977f3240fc34f53f13dc5205"},{"author":{"_account_id":5044,"name":"Mate Lakat","email":"mlakat@suse.com","username":"mate-lakat"},"change_message_id":"66e822608b20eeb8b57da6d7fee6d8a587ad309e","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                  \u0027sr_path\u0027: \u0027/fake/sr/path\u0027,"},{"line_number":70,"context_line":"                  \u0027uuid_stack\u0027: [\u0027uuid1\u0027],"},{"line_number":71,"context_line":"                  \u0027identity_headers\u0027: identity_headers}"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        self.stubs.Set(vm_utils, \u0027_make_uuid_stack\u0027,"},{"line_number":74,"context_line":"                       lambda *a, **kw: [\u0027uuid1\u0027])"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2FKKs%3D","line":72,"updated":"2013-08-06 07:59:11.000000000","message":"I would rename identity_headers to extra_headers.","commit_id":"99b08864ddc1c96c977f3240fc34f53f13dc5205"},{"author":{"_account_id":5044,"name":"Mate Lakat","email":"mlakat@suse.com","username":"mate-lakat"},"change_message_id":"66e822608b20eeb8b57da6d7fee6d8a587ad309e","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        self.mox.VerifyAll()"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_upload_image(self):"},{"line_number":86,"context_line":"        identity_headers \u003d glance_utils.generate_identity_headers(self.context)"},{"line_number":87,"context_line":"        params \u003d {\u0027vdi_uuids\u0027: [\u0027fake_vdi_uuid\u0027],"},{"line_number":88,"context_line":"                  \u0027image_id\u0027: \u0027fake_image_uuid\u0027,"},{"line_number":89,"context_line":"                  \u0027glance_host\u0027: \u00271.1.1.1\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2FKNI%3D","line":86,"updated":"2013-08-06 07:59:11.000000000","message":"mock it out, it\u0027s a detail.","commit_id":"99b08864ddc1c96c977f3240fc34f53f13dc5205"},{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"change_message_id":"e621aef4e34109dde89559c40c14587108587828","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def tearDown(self):"},{"line_number":59,"context_line":"        super(TestGlanceStore, self).tearDown()"},{"line_number":60,"context_line":"        self.mox.UnsetStubs()"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def test_download_image(self):"},{"line_number":63,"context_line":"        params \u003d {\u0027image_id\u0027: \u0027fake_image_uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAQn%2F%2FEgE%3D","line":60,"updated":"2013-08-07 16:29:31.000000000","message":"test.TestCase (which stubs.XenAPITestBase subclasses) already does this (same thing for setting self.mox in the setUp() above)","commit_id":"03f05578dca8db585e060723ecbf5ae019721fa4"},{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"a9e532043c545b7786e42db8c4b848f7a46d39ea","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def tearDown(self):"},{"line_number":59,"context_line":"        super(TestGlanceStore, self).tearDown()"},{"line_number":60,"context_line":"        self.mox.UnsetStubs()"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    def test_download_image(self):"},{"line_number":63,"context_line":"        params \u003d {\u0027image_id\u0027: \u0027fake_image_uuid\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"AAAAQn%2F%2FEcI%3D","line":60,"in_reply_to":"AAAAQn%2F%2FEgE%3D","updated":"2013-08-07 16:43:17.000000000","message":"Good point.","commit_id":"03f05578dca8db585e060723ecbf5ae019721fa4"}],"nova/tests/virt/xenapi/test_vm_utils.py":[{"author":{"_account_id":5044,"name":"Mate Lakat","email":"mlakat@suse.com","username":"mate-lakat"},"change_message_id":"66e822608b20eeb8b57da6d7fee6d8a587ad309e","unresolved":false,"context_lines":[{"line_number":254,"context_line":"    def test_fetch_vhd_image_works_with_glance(self):"},{"line_number":255,"context_line":"        vm_utils._image_uses_bittorrent("},{"line_number":256,"context_line":"            self.context, self.instance).AndReturn(False)"},{"line_number":257,"context_line":"        identity_headers \u003d glance_utils.generate_identity_headers(self.context)"},{"line_number":258,"context_line":"        self.params[\u0027identity_headers\u0027] \u003d identity_headers"},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"        self.session.call_plugin_serialized_with_retry("}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAQn%2F%2FKMs%3D","line":257,"updated":"2013-08-06 07:59:11.000000000","message":"mock it out, it\u0027s a detail.","commit_id":"99b08864ddc1c96c977f3240fc34f53f13dc5205"}],"nova/virt/xenapi/image/glance.py":[{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"1247216b16accda362983a76c9a3d1b9a699edea","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        identity_headers \u003d ctx_utils.generate_identity_headers(context)"},{"line_number":43,"context_line":"        return {\u0027image_id\u0027: image_id,"},{"line_number":44,"context_line":"                \u0027sr_path\u0027: vm_utils.get_sr_path(session),"},{"line_number":45,"context_line":"                \u0027auth_token\u0027: getattr(context, \u0027auth_token\u0027, None),"},{"line_number":46,"context_line":"                \u0027identity_headers\u0027: identity_headers}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    def download_image(self, context, session, instance, image_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2FMD0%3D","line":45,"updated":"2013-08-05 18:47:30.000000000","message":"Looks like auth_token is already contained in identity headers, so this should be able to go away now.","commit_id":"14da6a4c3f3826e8034baff1ad4b7308c4d0ed67"},{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"6f43da4b9a1b0a4ed311bd87d501ac7b79e82219","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        identity_headers \u003d glance.generate_identity_headers(context)"},{"line_number":42,"context_line":"        return {\u0027image_id\u0027: image_id,"},{"line_number":43,"context_line":"                \u0027sr_path\u0027: vm_utils.get_sr_path(session),"},{"line_number":44,"context_line":"                \u0027auth_token\u0027: getattr(context, \u0027auth_token\u0027, None),"},{"line_number":45,"context_line":"                \u0027identity_headers\u0027: identity_headers}"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def download_image(self, context, session, instance, image_id):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FLow%3D","line":44,"updated":"2013-08-05 20:43:21.000000000","message":"I don\u0027t know if you saw the earlier comment, but I think `auth_token` can go away now that we\u0027re passing in identity-headers separately.","commit_id":"7bb36a9e2b21912581dc78c648853950591fbecb"}],"nova/virt/xenapi/imageupload/glance.py":[{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"65c6847a5a2bfb622f90424d6dba9f94d900cfe0","unresolved":false,"context_lines":[{"line_number":57,"context_line":"             glance_use_ssl) \u003d glance_api_servers.next()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"            try:"},{"line_number":60,"context_line":"                # NOTE(jculp):  Glanceclient \u003c\u003d 0.9.0.49 accepts only"},{"line_number":61,"context_line":"                # keyword \u0027token\u0027, but later versions accept both the"},{"line_number":62,"context_line":"                # header \u0027X-Auth-Token\u0027 and \u0027token\u0027"},{"line_number":63,"context_line":"                identity_headers \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2Fhc0%3D","line":60,"updated":"2013-07-29 21:13:07.000000000","message":"may be you want to remove this comment here, as this plugin does not use python-glanceclient","commit_id":"7572825205514019697e053e13d871ca5589217c"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"d13dbf92e60f1366655512e18b6c6684946b83f4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"             glance_use_ssl) \u003d glance_api_servers.next()"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"            try:"},{"line_number":60,"context_line":"                identity_headers \u003d {"},{"line_number":61,"context_line":"                    \u0027X-Auth-Token\u0027: getattr(context, \u0027auth_token\u0027, None),"},{"line_number":62,"context_line":"                    \u0027X-User-Id\u0027: getattr(context, \u0027user\u0027, None),"},{"line_number":63,"context_line":"                    \u0027X-Tenant-Id\u0027: getattr(context, \u0027tenant\u0027, None),"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FRTU%3D","line":60,"updated":"2013-08-02 20:11:08.000000000","message":"Can you move this above the try block.  Only session.call_plugin_serialized should really be in it, but nothing else should be moved as part of this patch.","commit_id":"1ea9729b4f572cafce4abbbed777f826eb311d18"}],"nova/virt/xenapi/vm_utils.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"d13dbf92e60f1366655512e18b6c6684946b83f4","unresolved":false,"context_lines":[{"line_number":1207,"context_line":"    glance_api_servers \u003d glance.get_api_servers()"},{"line_number":1208,"context_line":""},{"line_number":1209,"context_line":"    def pick_glance(params):"},{"line_number":1210,"context_line":"        identity_headers \u003d {"},{"line_number":1211,"context_line":"            \u0027X-Auth-Token\u0027: getattr(context, \u0027auth_token\u0027, None),"},{"line_number":1212,"context_line":"            \u0027X-User-Id\u0027: getattr(context, \u0027user\u0027, None),"},{"line_number":1213,"context_line":"            \u0027X-Tenant-Id\u0027: getattr(context, \u0027tenant\u0027, None),"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FRSw%3D","line":1210,"updated":"2013-08-02 20:11:08.000000000","message":"identity headers will be set in three different places in the code with this patch plus another one that already merged.  Just to ensure consistency and preventing mistakes, could you move this to a utility method that each of the three spots can call.","commit_id":"1ea9729b4f572cafce4abbbed777f826eb311d18"}],"plugins/xenserver/xenapi/etc/xapi.d/plugins/glance":[{"author":{"_account_id":5347,"name":"Eddie Sheffield","email":"eddie.sheffield@rackspace.com","username":"eddie-sheffield"},"change_message_id":"1705dd27b8886f9f5a0af9a0220fb0355b26e00f","unresolved":false,"context_lines":[{"line_number":85,"context_line":"        logging.info(msg % locals())"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"def _download_tarball(sr_path, staging_path, image_id, glance_host,"},{"line_number":89,"context_line":"                      glance_port, glance_use_ssl, auth_token):"},{"line_number":90,"context_line":"    \"\"\"Download the tarball image from Glance and extract it into the staging"},{"line_number":91,"context_line":"    area. Retry if there is any failure."}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAQn%2F%2FqaE%3D","line":88,"updated":"2013-07-25 15:10:32.000000000","message":"You\u0027re passing identity_headers below (line 235) but there is no corresponding formal parameter here to receive them.","commit_id":"9cfd8654cc480ceb3edf3a0004f0048672689de4"},{"author":{"_account_id":5347,"name":"Eddie Sheffield","email":"eddie.sheffield@rackspace.com","username":"eddie-sheffield"},"change_message_id":"1705dd27b8886f9f5a0af9a0220fb0355b26e00f","unresolved":false,"context_lines":[{"line_number":232,"context_line":"        # Download tarball into staging area and extract it"},{"line_number":233,"context_line":"        _download_tarball("},{"line_number":234,"context_line":"            sr_path, staging_path, image_id, glance_host, glance_port,"},{"line_number":235,"context_line":"            glance_use_ssl, auth_token, identity_headers)"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"        # Move the VHDs from the staging area into the storage repository"},{"line_number":238,"context_line":"        return utils.import_vhds(sr_path, staging_path, uuid_stack)"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAQn%2F%2FqZw%3D","line":235,"updated":"2013-07-25 15:10:32.000000000","message":"The _download_tarball function (line 88) was not updated to accept identity_headers.","commit_id":"9cfd8654cc480ceb3edf3a0004f0048672689de4"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"70420b85267c5ab8a051c59693ea748a595a9e85","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    if auth_token:"},{"line_number":97,"context_line":"        headers[\u0027x-auth-token\u0027] \u003d auth_token"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    # Set identity headers for glance-client"},{"line_number":100,"context_line":"    headers.update(**identity_headers)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    if glance_use_ssl:"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAQn%2F%2FeuE%3D","line":99,"updated":"2013-07-30 15:10:24.000000000","message":"please see below","commit_id":"1ea9729b4f572cafce4abbbed777f826eb311d18"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"70420b85267c5ab8a051c59693ea748a595a9e85","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        if auth_token:"},{"line_number":172,"context_line":"            headers[\u0027x-auth-token\u0027] \u003d auth_token"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        # Set identity headers for glance-client"},{"line_number":175,"context_line":"        headers.update(**identity_headers)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        for key, value in properties.iteritems():"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAQn%2F%2FeuI%3D","line":174,"updated":"2013-07-30 15:10:24.000000000","message":"you mean for glance to avoid using token and have the tenant info!?","commit_id":"1ea9729b4f572cafce4abbbed777f826eb311d18"},{"author":{"_account_id":7780,"name":"Jared Culp","email":"jared.culp@rackspace.com","username":"jaredculp"},"change_message_id":"2846ee621408551adcb0ec3c0707b6ac186df2ee","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        if auth_token:"},{"line_number":172,"context_line":"            headers[\u0027x-auth-token\u0027] \u003d auth_token"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        # Set identity headers for glance-client"},{"line_number":175,"context_line":"        headers.update(**identity_headers)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        for key, value in properties.iteritems():"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAQn%2F%2FSv0%3D","line":174,"in_reply_to":"AAAAQn%2F%2FeuI%3D","updated":"2013-08-02 13:15:28.000000000","message":"I\u0027m not sure I understand what you\u0027re saying","commit_id":"1ea9729b4f572cafce4abbbed777f826eb311d18"},{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"0d3a0f58f7e61b1ce851684042073ff398213d17","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"def _download_tarball(sr_path, staging_path, image_id, glance_host,"},{"line_number":92,"context_line":"                      glance_port, glance_use_ssl, auth_token,"},{"line_number":93,"context_line":"                      identity_headers):"},{"line_number":94,"context_line":"    \"\"\"Download the tarball image from Glance and extract it into the staging"},{"line_number":95,"context_line":"    area. Retry if there is any failure."}],"source_content_type":"application/octet-stream","patch_set":7,"id":"AAAAQn%2F%2FLgM%3D","line":92,"updated":"2013-08-05 21:22:51.000000000","message":"You\u0027re also going to want to remove the auth_token here as well.","commit_id":"09147cf8c028482f4804af91f24db181752adb74"},{"author":{"_account_id":5044,"name":"Mate Lakat","email":"mlakat@suse.com","username":"mate-lakat"},"change_message_id":"66e822608b20eeb8b57da6d7fee6d8a587ad309e","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"def download_vhd(session, image_id, glance_host, glance_port, glance_use_ssl,"},{"line_number":220,"context_line":"                 uuid_stack, sr_path, identity_headers):"},{"line_number":221,"context_line":"    \"\"\"Download an image from Glance, unbundle it, and then deposit the VHDs"},{"line_number":222,"context_line":"    into the storage repository"},{"line_number":223,"context_line":"    \"\"\""}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAQn%2F%2FKMU%3D","line":220,"updated":"2013-08-06 07:59:11.000000000","message":"Maybe rename identity_headers to extra_headers? It\u0027s really just an extra headers to send.","commit_id":"99b08864ddc1c96c977f3240fc34f53f13dc5205"},{"author":{"_account_id":5044,"name":"Mate Lakat","email":"mlakat@suse.com","username":"mate-lakat"},"change_message_id":"66e822608b20eeb8b57da6d7fee6d8a587ad309e","unresolved":false,"context_lines":[{"line_number":235,"context_line":""},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"def upload_vhd(session, vdi_uuids, image_id, glance_host, glance_port,"},{"line_number":238,"context_line":"               glance_use_ssl, sr_path, identity_headers, properties):"},{"line_number":239,"context_line":"    \"\"\"Bundle the VHDs comprising an image and then stream them into Glance."},{"line_number":240,"context_line":"    \"\"\""},{"line_number":241,"context_line":"    staging_path \u003d utils.make_staging_area(sr_path)"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAQn%2F%2FKKQ%3D","line":238,"updated":"2013-08-06 07:59:11.000000000","message":"Same as with download_vhd, I would call it extra_headers, there is no need to add the dependency on the identity purpose.","commit_id":"99b08864ddc1c96c977f3240fc34f53f13dc5205"}]}
