)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"daa1131409eb6ae020a30afd2db36c0d66d8c57d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Modifies override logic for key_manager"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Makes the logic for overriding config options for the key_manager"},{"line_number":10,"context_line":"more robust."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: 1621109"},{"line_number":13,"context_line":"Change-Id: Id5f83f69fd3a877459fab924c005047e55f98c7b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a89bdaa_1ff16801","line":10,"updated":"2016-09-07 18:28:35.000000000","message":"Including a sentence about the bug you are resolving would be helpful, especially since the bug is pretty terrible.","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"daa1131409eb6ae020a30afd2db36c0d66d8c57d","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Makes the logic for overriding config options for the key_manager"},{"line_number":10,"context_line":"more robust."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: 1621109"},{"line_number":13,"context_line":"Change-Id: Id5f83f69fd3a877459fab924c005047e55f98c7b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a89bdaa_3fcd4cb7","line":11,"updated":"2016-09-07 18:28:35.000000000","message":"Also, SecurityImpact tag.","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6b49a84294fb16018695343ce5e3f5d2a040631e","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Makes the logic for overriding config options for the key_manager"},{"line_number":10,"context_line":"more robust."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: 1621109"},{"line_number":13,"context_line":"Change-Id: Id5f83f69fd3a877459fab924c005047e55f98c7b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7a8ec9b2_61ba53e3","line":11,"in_reply_to":"9a89bdaa_3fcd4cb7","updated":"2016-09-14 15:34:20.000000000","message":"Yes, please include more information about what is happening with this change.","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"}],"cinder/keymgr/__init__.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"3fee490d4d3d7d6eeccb27c10646671220b85bfc","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def log_deprecated_warning(deprecated_value, castellan):"},{"line_number":36,"context_line":"    versionutils.deprecation_warning(deprecated_value,"},{"line_number":37,"context_line":"                                     versionutils.deprecated.NEWTON,"},{"line_number":38,"context_line":"                                     in_favor_of\u003dcastellan, logger\u003dLOG)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_ab3b5cea","line":37,"range":{"start_line":37,"start_character":37,"end_line":37,"end_character":67},"updated":"2016-09-14 15:21:34.000000000","message":"This isn\u0027t available until a version of oslo_log higher than the current minimum in requirements.txt. We\u0027ll either need to change this or get the requirement raised to include this.","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6278ca74fd2d766222c891b2b2f42b09a2b25807","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def log_deprecated_warning(deprecated_value, castellan):"},{"line_number":36,"context_line":"    versionutils.deprecation_warning(deprecated_value,"},{"line_number":37,"context_line":"                                     versionutils.deprecated.NEWTON,"},{"line_number":38,"context_line":"                                     in_favor_of\u003dcastellan, logger\u003dLOG)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_0d87efd7","line":37,"range":{"start_line":37,"start_character":37,"end_line":37,"end_character":67},"in_reply_to":"7a8ec9b2_4a164b56","updated":"2016-09-14 21:37:54.000000000","message":"versionutils.deprecated was, but versionutils.deprecated.NEWTON was added in releases after the minimum oslo.log release that we require.\n\nIMO we should fix that, but let\u0027s not hold up this patch to do it.  ( Bug: https://bugs.launchpad.net/cinder/+bug/1623168 )","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4b1e6cbea3c5ce9b250181ec44dfba6d87ce3089","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def log_deprecated_warning(deprecated_value, castellan):"},{"line_number":36,"context_line":"    versionutils.deprecation_warning(deprecated_value,"},{"line_number":37,"context_line":"                                     versionutils.deprecated.NEWTON,"},{"line_number":38,"context_line":"                                     in_favor_of\u003dcastellan, logger\u003dLOG)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_e672f97b","line":37,"range":{"start_line":37,"start_character":37,"end_line":37,"end_character":67},"in_reply_to":"7a8ec9b2_ab3b5cea","updated":"2016-09-14 15:25:11.000000000","message":"We can\u0027t raise the requirement at this point in Newton, we\u0027re past the freeze for that.","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"c4fbfbe1e1685e731bbd3352db82be949ca6a40d","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def log_deprecated_warning(deprecated_value, castellan):"},{"line_number":36,"context_line":"    versionutils.deprecation_warning(deprecated_value,"},{"line_number":37,"context_line":"                                     versionutils.deprecated.NEWTON,"},{"line_number":38,"context_line":"                                     in_favor_of\u003dcastellan, logger\u003dLOG)"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_4a164b56","line":37,"range":{"start_line":37,"start_character":37,"end_line":37,"end_character":67},"in_reply_to":"7a8ec9b2_e672f97b","updated":"2016-09-14 20:55:58.000000000","message":"Looks like this was already being used elsewhere in the codebase since 2015?\n\nhttps://github.com/openstack/cinder/blame/master/cinder/api/middleware/sizelimit.py#L36-L37","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"daa1131409eb6ae020a30afd2db36c0d66d8c57d","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# NOTE(kfarr): this method is for backwards compatibility, it is deprecated"},{"line_number":42,"context_line":"# for removal"},{"line_number":43,"context_line":"def set_overrides(conf):"},{"line_number":44,"context_line":"    api_class \u003d None"},{"line_number":45,"context_line":"    should_override \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_ff7a0487","line":42,"updated":"2016-09-07 18:28:35.000000000","message":"Maybe use the removals library to tag this for deprecation? I don\u0027t know if this is common in Cinder, but it seems to work well in Glance.","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"1422cf981c93474783dca3147eba49a067474cc1","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# NOTE(kfarr): this method is for backwards compatibility, it is deprecated"},{"line_number":42,"context_line":"# for removal"},{"line_number":43,"context_line":"def set_overrides(conf):"},{"line_number":44,"context_line":"    api_class \u003d None"},{"line_number":45,"context_line":"    should_override \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_67505d33","line":42,"in_reply_to":"9a89bdaa_278bb569","updated":"2016-09-12 17:58:38.000000000","message":"Here\u0027s an example of where it was used in Glance: https://github.com/openstack/glance/blob/09a0acefc7d27b85e7145611a3852bcf0765f769/glance/common/signature_utils.py#L139","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"c4fbfbe1e1685e731bbd3352db82be949ca6a40d","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# NOTE(kfarr): this method is for backwards compatibility, it is deprecated"},{"line_number":42,"context_line":"# for removal"},{"line_number":43,"context_line":"def set_overrides(conf):"},{"line_number":44,"context_line":"    api_class \u003d None"},{"line_number":45,"context_line":"    should_override \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_a59460e2","line":42,"in_reply_to":"9a89bdaa_67505d33","updated":"2016-09-14 20:55:58.000000000","message":"I would but it looks like Cinder does not already use the debtcollector library. Using it here means it\u0027s adding a new requirement, which doesn\u0027t seem like a good choice so late in the development cycle.","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"6dd901674002f85f94779b06370c556517f0ece2","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# NOTE(kfarr): this method is for backwards compatibility, it is deprecated"},{"line_number":42,"context_line":"# for removal"},{"line_number":43,"context_line":"def set_overrides(conf):"},{"line_number":44,"context_line":"    api_class \u003d None"},{"line_number":45,"context_line":"    should_override \u003d False"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_278bb569","line":42,"in_reply_to":"9a89bdaa_ff7a0487","updated":"2016-09-12 17:45:12.000000000","message":"Do you have an example of doing this?","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6b49a84294fb16018695343ce5e3f5d2a040631e","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"def API(conf\u003dCONF):"},{"line_number":84,"context_line":"    set_overrides(conf)"},{"line_number":85,"context_line":"    cls \u003d importutils.import_class(conf.key_manager.api_class)"},{"line_number":86,"context_line":"    return cls(conf)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_01f7cfd3","line":85,"updated":"2016-09-14 15:34:20.000000000","message":"I was able to hit a ValueError here due to an invalid config value.  We need to do some basic validation of config inputs.  (In my case, that it at least contains one \".\")\n\nhttp://paste.openstack.org/raw/576293/","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"c4fbfbe1e1685e731bbd3352db82be949ca6a40d","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"def API(conf\u003dCONF):"},{"line_number":84,"context_line":"    set_overrides(conf)"},{"line_number":85,"context_line":"    cls \u003d importutils.import_class(conf.key_manager.api_class)"},{"line_number":86,"context_line":"    return cls(conf)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_aa74219c","line":85,"in_reply_to":"7a8ec9b2_01f7cfd3","updated":"2016-09-14 20:55:58.000000000","message":"@Eric which exception should it throw instead?  It seems like it should be generating some sort of error here.","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"6278ca74fd2d766222c891b2b2f42b09a2b25807","unresolved":false,"context_lines":[{"line_number":82,"context_line":""},{"line_number":83,"context_line":"def API(conf\u003dCONF):"},{"line_number":84,"context_line":"    set_overrides(conf)"},{"line_number":85,"context_line":"    cls \u003d importutils.import_class(conf.key_manager.api_class)"},{"line_number":86,"context_line":"    return cls(conf)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_6d4f93bd","line":85,"in_reply_to":"7a8ec9b2_aa74219c","updated":"2016-09-14 21:37:54.000000000","message":"We should do some validation before calling import_class() with it, but that can be handled in a later patch.","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"3796caf395625b20e1f67c20455895a1f16c6cfd","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    elif api_class is None:"},{"line_number":72,"context_line":"        should_override \u003d True"},{"line_number":73,"context_line":"        # TODO(kfarr): key_manager.api_class should be set in DevStack, and"},{"line_number":74,"context_line":"        # this block can be removed"},{"line_number":75,"context_line":"        LOG.warning(_LW(\"key manager not set, using insecure default %s\"),"},{"line_number":76,"context_line":"                    castellan_mock)"},{"line_number":77,"context_line":"        api_class \u003d castellan_mock"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_ad319b0d","line":74,"updated":"2016-09-14 21:45:50.000000000","message":"I don\u0027t think this comment is correct, this is a good warning to keep for any deployment tools other than devstack.","commit_id":"7a75f49413d9ad0b4dc9696b126a96cee7023593"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"29a25c5ffbfb12f386a18849a0f452897e658417","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    elif api_class is None:"},{"line_number":72,"context_line":"        should_override \u003d True"},{"line_number":73,"context_line":"        # TODO(kfarr): key_manager.api_class should be set in DevStack, and"},{"line_number":74,"context_line":"        # this block can be removed"},{"line_number":75,"context_line":"        LOG.warning(_LW(\"key manager not set, using insecure default %s\"),"},{"line_number":76,"context_line":"                    castellan_mock)"},{"line_number":77,"context_line":"        api_class \u003d castellan_mock"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_825ba886","line":74,"in_reply_to":"7a8ec9b2_ad319b0d","updated":"2016-09-15 13:41:41.000000000","message":"I just removed it altogether, hope that\u0027s ok.","commit_id":"7a75f49413d9ad0b4dc9696b126a96cee7023593"}],"cinder/utils.py":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"ea273589f061fb3e578ce5d04e337d8f9792fd2f","unresolved":false,"context_lines":[{"line_number":513,"context_line":"    \"\"\"Wrapper to get a brick encryptor object.\"\"\""},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"    root_helper \u003d get_root_helper()"},{"line_number":516,"context_line":"    key_manager \u003d keymgr.API(CONF)"},{"line_number":517,"context_line":"    return encryptors.get_volume_encryptor(root_helper\u003droot_helper,"},{"line_number":518,"context_line":"                                           connection_info\u003dconnection_info,"},{"line_number":519,"context_line":"                                           keymgr\u003dkey_manager,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_5d05e60e","line":516,"updated":"2016-09-12 18:21:48.000000000","message":"CONF is the default option to keymgr.API -- is it necessary to specify it here?","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"9fd737a48427ebb103a7c3c5078e88206f6fc537","unresolved":false,"context_lines":[{"line_number":513,"context_line":"    \"\"\"Wrapper to get a brick encryptor object.\"\"\""},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"    root_helper \u003d get_root_helper()"},{"line_number":516,"context_line":"    key_manager \u003d keymgr.API(CONF)"},{"line_number":517,"context_line":"    return encryptors.get_volume_encryptor(root_helper\u003droot_helper,"},{"line_number":518,"context_line":"                                           connection_info\u003dconnection_info,"},{"line_number":519,"context_line":"                                           keymgr\u003dkey_manager,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_9d7e8e68","line":516,"in_reply_to":"9a89bdaa_5d05e60e","updated":"2016-09-12 18:25:29.000000000","message":"This is partially to make integration w Castellan easier in the future -- with Castellan, CONF must be passed into API explicitly","commit_id":"c7d2ceef4f9398d244be75f196d0e2ad2fa0a2a7"}]}
