)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"5f72d5ab03901ea3bb99e1c0f576cbc95491b801","unresolved":false,"context_lines":[{"line_number":10,"context_line":"requirements since glance does not require signature verification. This"},{"line_number":11,"context_line":"therefore shifts castellan and cryptography from requirements.txt to"},{"line_number":12,"context_line":"setup.cfg extras."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I0a757c210326d5d1397a9ca1c6fe67243d03f4b9"},{"line_number":15,"context_line":"Closes-Bug: #1549428"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"bacf61ea_44f466f1","line":13,"updated":"2016-07-28 15:20:58.000000000","message":"Niall, you can add yourself as a co-author","commit_id":"2db7f3835a54c5ddaa415799895b3fc4581b33bb"}],"glance/common/signature_utils.py":[{"author":{"_account_id":7764,"name":"Peter Hamilton","email":"peter.hamilton@jhuapl.edu","username":"Peter"},"change_message_id":"82ad6b3fca70ce74a7d8791e0f0b147b296da68d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) The Johns Hopkins University/Applied Physics Laboratory"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#    Copyright 2016 IBM Corp."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":2,"id":"9aed3d3a_7647911d","line":3,"range":{"start_line":3,"start_character":14,"end_line":3,"end_character":15},"updated":"2016-02-26 20:40:46.000000000","message":"Why are you adding the IBM copyright here?","commit_id":"733c9fcce0ccc8b32457e02a5b277643d27ce4b6"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"2e7abf4a49d955a3e8b801f79c82262d6b82e5a1","unresolved":false,"context_lines":[{"line_number":180,"context_line":"    \"\"\""},{"line_number":181,"context_line":"    if not should_verify_signature(image_properties):"},{"line_number":182,"context_line":"        raise exception.SignatureVerificationError("},{"line_number":183,"context_line":"            _LE(\u0027Required image properties for signature verification do not\u0027"},{"line_number":184,"context_line":"                \u0027 exist. Cannot verify signature.\u0027))"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    if cryptography is None:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9aed3d3a_d201dcb0","line":183,"updated":"2016-02-29 20:56:25.000000000","message":"Unrelated change. Should be moved to a separate patch.","commit_id":"a8de5ca3a3326ab1a21c6e8eda26700b6755779e"},{"author":{"_account_id":22448,"name":"Alexander Bashmakov","email":"abashmak@yahoo.com","username":"abashmak"},"change_message_id":"aec2f0d3fb5448a50a8e8f4ca4895e1c83610c01","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"try:"},{"line_number":22,"context_line":"    from castellan import key_manager"},{"line_number":23,"context_line":"except Exception:"},{"line_number":24,"context_line":"    key_manager \u003d None"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"try:"}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_94dc9474","line":23,"range":{"start_line":23,"start_character":7,"end_line":23,"end_character":16},"updated":"2016-08-16 22:56:38.000000000","message":"nit: probably should use ImportError instead of Exception here","commit_id":"24fc1a8c10a158d6852a71b8e479ec4570264541"},{"author":{"_account_id":22448,"name":"Alexander Bashmakov","email":"abashmak@yahoo.com","username":"abashmak"},"change_message_id":"aec2f0d3fb5448a50a8e8f4ca4895e1c83610c01","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"try:"},{"line_number":27,"context_line":"    import cryptography"},{"line_number":28,"context_line":"except Exception:"},{"line_number":29,"context_line":"    cryptography \u003d None"},{"line_number":30,"context_line":"else:"},{"line_number":31,"context_line":"    from cryptography import exceptions as crypto_exception"}],"source_content_type":"text/x-python","patch_set":14,"id":"3ac371cc_d4e28c2e","line":28,"range":{"start_line":28,"start_character":7,"end_line":28,"end_character":16},"updated":"2016-08-16 22:56:38.000000000","message":"ditto nit on line 23 above","commit_id":"24fc1a8c10a158d6852a71b8e479ec4570264541"}],"glance/tests/unit/common/test_signature_utils.py":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"b4e417a1c06c8c1212e2e00ff6298650ec9bbae4","unresolved":false,"context_lines":[{"line_number":152,"context_line":"                self.assertRaises(exception.SignatureVerificationError,"},{"line_number":153,"context_line":"                                  signature_utils.get_certificate,"},{"line_number":154,"context_line":"                                  mock.ANY, mock.ANY)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    @unittest.skipIf(not default_backend().hash_supported(hashes.SHA256()),"},{"line_number":157,"context_line":"                     \"SHA-2 hash algorithms not supported by backend\")"},{"line_number":158,"context_line":"    @mock.patch(\u0027glance.common.signature_utils.get_public_key\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_9dcaac19","line":155,"range":{"start_line":155,"start_character":0,"end_line":155,"end_character":0},"updated":"2016-08-01 14:00:00.000000000","message":"Couldn\u0027t we use @mock.patch in order to avoid the nested \"with\" statements? That would look cleaner, imho.","commit_id":"42c8e171a5471fb47d7ce860b708b065cc607c9f"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"f5210d9a1bb67747a82cd2b162b0fdb69440b0f8","unresolved":false,"context_lines":[{"line_number":143,"context_line":"                return_value\u003dTrue)"},{"line_number":144,"context_line":"    @mock.patch(\u0027glance.common.signature_utils.cryptography\u0027)"},{"line_number":145,"context_line":"    @mock.patch(\u0027glance.common.signature_utils.key_manager\u0027)"},{"line_number":146,"context_line":"    def test_old_verify_signature_missing_deps(self):"},{"line_number":147,"context_line":"        self.assertRaises(exception.SignatureVerificationError,"},{"line_number":148,"context_line":"                          signature_utils.get_verifier,"},{"line_number":149,"context_line":"                          mock.ANY, mock.ANY)"}],"source_content_type":"text/x-python","patch_set":16,"id":"3ac371cc_7f77f39f","line":146,"updated":"2016-08-17 21:44:16.000000000","message":"This needs to have args. tests are failing because of this.","commit_id":"a98f91611e47e4b3b0b4ddc46b4ba6cd374cb256"}],"setup.cfg":[{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"777ca67adfd2102a2f0b7e3c2b617008758472b1","unresolved":false,"context_lines":[{"line_number":88,"context_line":"warnerrors \u003d True"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"[extras]"},{"line_number":91,"context_line":"signatures \u003d"},{"line_number":92,"context_line":"  castellan\u003e\u003d0.3.1 # Apache-2.0"},{"line_number":93,"context_line":"  cryptography\u003e\u003d1.0 # BSD/Apache-2.0"}],"source_content_type":"text/x-ttcn-cfg","patch_set":6,"id":"dada55a8_b2062b83","line":91,"updated":"2016-07-25 13:52:25.000000000","message":"I think it may need barbicanclient too observed in this patch https://review.openstack.org/#/c/341674/","commit_id":"a8de5ca3a3326ab1a21c6e8eda26700b6755779e"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"2d66a2a3a589dacfbe06da1b6bfe5a57d5e5c295","unresolved":false,"context_lines":[{"line_number":93,"context_line":"signatures \u003d"},{"line_number":94,"context_line":"  castellan\u003e\u003d0.4.0 # Apache-2.0"},{"line_number":95,"context_line":"  cryptography\u003e\u003d1.0,!\u003d1.3.0 # BSD/Apache-2.0"},{"line_number":96,"context_line":"  python-barbicanclient\u003e\u003d4.0.0 # Apache-2.0 "}],"source_content_type":"text/x-ttcn-cfg","patch_set":7,"id":"dada55a8_63adb483","line":96,"range":{"start_line":96,"start_character":43,"end_line":96,"end_character":44},"updated":"2016-07-26 18:54:07.000000000","message":"redundant ws","commit_id":"57b04e7c48e8d270eb9275adf00e95bf6460da0e"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"3810f2a75fad77ab563a83d51628170e43c180b1","unresolved":false,"context_lines":[{"line_number":87,"context_line":"output_file \u003d glance/locale/glance.pot"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"[pbr]"},{"line_number":90,"context_line":"autodoc_tree_index_modules \u003d True"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"[extras]"},{"line_number":93,"context_line":"signatures \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":11,"id":"bacf61ea_cd2839e5","line":90,"updated":"2016-07-29 17:48:53.000000000","message":"interestingly this line is shown to be changed. was there no newline before this patch?","commit_id":"5a8b9d2371c2f9a923f76c7231c33367ed4aeb0f"},{"author":{"_account_id":2537,"name":"Nikhil Komawar","email":"nik.komawar@gmail.com","username":"nikhil-komawar"},"change_message_id":"2c067ac1f99520c400ace95c85167d1e149b1fe0","unresolved":false,"context_lines":[{"line_number":93,"context_line":"signatures \u003d"},{"line_number":94,"context_line":"  castellan\u003e\u003d0.4.0 # Apache-2.0"},{"line_number":95,"context_line":"  cryptography\u003e\u003d1.0,!\u003d1.3.0 # BSD/Apache-2.0"},{"line_number":96,"context_line":"  cursive\u003e\u003d0.1.1 # Apache-2.0"},{"line_number":97,"context_line":"  python-barbicanclient\u003e\u003d4.0.0 # Apache-2.0"}],"source_content_type":"text/x-ttcn-cfg","patch_set":13,"id":"9ad45d7e_3c43c0b3","line":96,"updated":"2016-08-11 13:27:49.000000000","message":"The patch to add cursive is here https://review.openstack.org/#/c/352391/ . I think let\u0027s avoid adding the library in this patch as the other one does much more.","commit_id":"c6acc516ef41a73839dec3f43263122c0760e2c3"}]}
