)]}'
{"cinder/keymgr/__init__.py":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"c9c2a034946f84543466a4a5880de6349c9175d3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"except cfg.NoSuchOptError:"},{"line_number":29,"context_line":"    pass"},{"line_number":30,"context_line":"try:"},{"line_number":31,"context_line":"    api_class \u003d CONF.key_manager.api_class"},{"line_number":32,"context_line":"except cfg.NoSuchOptError:"},{"line_number":33,"context_line":"    pass"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9aed3d3a_174cd69c","line":31,"updated":"2016-02-29 20:59:02.000000000","message":"Should this be the default with a fallback to keymgr? Also, should one of these blocks be marked for removal at some point?","commit_id":"27ab40ee84e8153ed54adef6b75edf90097d85f2"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"dc92ec0e52fb831d151567d5f2a01d3d02765ac6","unresolved":false,"context_lines":[{"line_number":28,"context_line":"except cfg.NoSuchOptError:"},{"line_number":29,"context_line":"    pass"},{"line_number":30,"context_line":"try:"},{"line_number":31,"context_line":"    api_class \u003d CONF.key_manager.api_class"},{"line_number":32,"context_line":"except cfg.NoSuchOptError:"},{"line_number":33,"context_line":"    pass"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_bb6c1a36","line":31,"in_reply_to":"7af24918_6ec38238","updated":"2016-03-09 13:26:06.000000000","message":"In agreement with Joel.","commit_id":"27ab40ee84e8153ed54adef6b75edf90097d85f2"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"dfd3cdf5a37233fe90607e34618735e19e64a7a3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"except cfg.NoSuchOptError:"},{"line_number":29,"context_line":"    pass"},{"line_number":30,"context_line":"try:"},{"line_number":31,"context_line":"    api_class \u003d CONF.key_manager.api_class"},{"line_number":32,"context_line":"except cfg.NoSuchOptError:"},{"line_number":33,"context_line":"    pass"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_6ec38238","line":31,"in_reply_to":"9aed3d3a_174cd69c","updated":"2016-03-04 16:25:26.000000000","message":"That was what I was trying to go for here, but I will rework it so that it\u0027s a clearer that that\u0027s the intention.","commit_id":"27ab40ee84e8153ed54adef6b75edf90097d85f2"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"70e188b808ac8eb12b62f48f3b64a5b51b7bdaed","unresolved":false,"context_lines":[{"line_number":25,"context_line":"api_class \u003d None"},{"line_number":26,"context_line":"try:"},{"line_number":27,"context_line":"    api_class \u003d CONF.key_manager.api_class"},{"line_number":28,"context_line":"except cfg.NoSuchOptError:"},{"line_number":29,"context_line":"    # (NOTE(kfarr): this block is deprecated for removal"},{"line_number":30,"context_line":"    try:"},{"line_number":31,"context_line":"        api_class \u003d CONF.keymgr.api_class"}],"source_content_type":"text/x-python","patch_set":4,"id":"1af94dfe_24a02143","line":28,"updated":"2016-03-16 17:47:36.000000000","message":"Probably best to log a warning to use the new option.","commit_id":"d615c76e0bb041e6f4a4ffc72b68962a7216b528"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"77aad851cd477ce967ab208f8d7639e11ac2a000","unresolved":false,"context_lines":[{"line_number":25,"context_line":"api_class \u003d None"},{"line_number":26,"context_line":"try:"},{"line_number":27,"context_line":"    api_class \u003d CONF.key_manager.api_class"},{"line_number":28,"context_line":"except cfg.NoSuchOptError:"},{"line_number":29,"context_line":"    # (NOTE(kfarr): this block is deprecated for removal"},{"line_number":30,"context_line":"    try:"},{"line_number":31,"context_line":"        api_class \u003d CONF.keymgr.api_class"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_27cb3655","line":28,"in_reply_to":"1af94dfe_24a02143","updated":"2016-03-21 18:13:10.000000000","message":"Done","commit_id":"d615c76e0bb041e6f4a4ffc72b68962a7216b528"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"70e188b808ac8eb12b62f48f3b64a5b51b7bdaed","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    try:"},{"line_number":31,"context_line":"        api_class \u003d CONF.keymgr.api_class"},{"line_number":32,"context_line":"    except cfg.NoSuchOptError:"},{"line_number":33,"context_line":"        pass"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"if api_class \u003d\u003d \u0027cinder.keymgr.barbican.BarbicanKeyManager\u0027:"},{"line_number":36,"context_line":"    api_class \u003d \u0027castellan.key_manager.barbican_key_manager.BarbicanKeyManager\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"1af94dfe_44fe0d39","line":33,"updated":"2016-03-16 17:47:36.000000000","message":"Better to log the error for an operator\u0027s benefit.","commit_id":"d615c76e0bb041e6f4a4ffc72b68962a7216b528"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"77aad851cd477ce967ab208f8d7639e11ac2a000","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    try:"},{"line_number":31,"context_line":"        api_class \u003d CONF.keymgr.api_class"},{"line_number":32,"context_line":"    except cfg.NoSuchOptError:"},{"line_number":33,"context_line":"        pass"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"if api_class \u003d\u003d \u0027cinder.keymgr.barbican.BarbicanKeyManager\u0027:"},{"line_number":36,"context_line":"    api_class \u003d \u0027castellan.key_manager.barbican_key_manager.BarbicanKeyManager\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_07c8b254","line":33,"in_reply_to":"1af94dfe_44fe0d39","updated":"2016-03-21 18:13:10.000000000","message":"Done","commit_id":"d615c76e0bb041e6f4a4ffc72b68962a7216b528"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"e122697caa67e5795bd4bdbbbb9a596a56731df6","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from oslo_config import cfg"},{"line_number":17,"context_line":"from oslo_utils import importutils"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"keymgr_opts \u003d ["},{"line_number":20,"context_line":"    cfg.StrOpt(\u0027api_class\u0027,"},{"line_number":21,"context_line":"               default\u003d\u0027cinder.keymgr.conf_key_mgr.ConfKeyManager\u0027,"},{"line_number":22,"context_line":"               help\u003d\u0027The full class name of the key manager API class\u0027),"},{"line_number":23,"context_line":"]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"CONF \u003d cfg.CONF"},{"line_number":26,"context_line":"CONF.register_opts(keymgr_opts, group\u003d\u0027keymgr\u0027)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"def API():"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba0121b8_9ec832aa","side":"PARENT","line":26,"range":{"start_line":19,"start_character":0,"end_line":26,"end_character":47},"updated":"2016-03-30 19:04:02.000000000","message":"Don\u0027t we need to keep this around since we fall back to looking at it if CONF.key_manager.api_class isn\u0027t set?","commit_id":"c93ccd12e5fcecb5a97957e31626ff8fced99f99"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"c67ca1b01eb74b7b81b4460b64bf9502626cc9f4","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from oslo_config import cfg"},{"line_number":17,"context_line":"from oslo_utils import importutils"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"keymgr_opts \u003d ["},{"line_number":20,"context_line":"    cfg.StrOpt(\u0027api_class\u0027,"},{"line_number":21,"context_line":"               default\u003d\u0027cinder.keymgr.conf_key_mgr.ConfKeyManager\u0027,"},{"line_number":22,"context_line":"               help\u003d\u0027The full class name of the key manager API class\u0027),"},{"line_number":23,"context_line":"]"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"CONF \u003d cfg.CONF"},{"line_number":26,"context_line":"CONF.register_opts(keymgr_opts, group\u003d\u0027keymgr\u0027)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"def API():"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba0121b8_9e8032f9","side":"PARENT","line":26,"range":{"start_line":19,"start_character":0,"end_line":26,"end_character":47},"in_reply_to":"ba0121b8_9ec832aa","updated":"2016-03-30 19:07:35.000000000","message":"I tried to keep it around as a deprecated opt, but you can only define deprecated opts if you are defining the new opt in the same class (key_manager is registered in Castellan)","commit_id":"c93ccd12e5fcecb5a97957e31626ff8fced99f99"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f5ce9f297dd5a495e81b87b9356643dde1d818e2","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from oslo_log import log as logging"},{"line_number":18,"context_line":"from oslo_utils import importutils"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from castellan import options as castellan_opts"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from cinder.i18n import _LW"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"1aa78d24_5ce860e2","line":20,"updated":"2016-07-12 11:55:23.000000000","message":"Minor nit: This should be grouped with the oslo_* imports as a third party lib, so this should be right before oslo_config above.","commit_id":"8341c930769df14cddf53520781a11d5fed22b22"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"fe754b4905e7bc3ba4629d4647f622547ba381c5","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from oslo_log import log as logging"},{"line_number":18,"context_line":"from oslo_utils import importutils"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from castellan import options as castellan_opts"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from cinder.i18n import _LW"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"1aa78d24_3102b1b4","line":20,"in_reply_to":"1aa78d24_5ce860e2","updated":"2016-07-13 05:48:55.000000000","message":"Done.","commit_id":"8341c930769df14cddf53520781a11d5fed22b22"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"8eba3189fd643332a3abab0fca40aea2663482b7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                  \u0027MockKeyManager\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def log_deprecated_warning(deprecated, castellan):"},{"line_number":54,"context_line":"    LOG.warning(_LW(\"key manager api_class set to use deprecated option \""},{"line_number":55,"context_line":"                    \"%(deprecated)s, using %(castellan)s instead\"),"},{"line_number":56,"context_line":"                {\u0027deprecated\u0027: deprecated, \u0027castellan\u0027: castellan})"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"if api_class \u003d\u003d deprecated_barbican:"},{"line_number":59,"context_line":"    log_deprecated_warning(deprecated_barbican, barbican)"}],"source_content_type":"text/x-python","patch_set":26,"id":"1ac06dbe_e37af276","line":56,"range":{"start_line":53,"start_character":0,"end_line":56,"end_character":67},"updated":"2016-08-24 12:06:47.000000000","message":"Hey, can we use [1] for that?\n\n[1] http://docs.openstack.org/developer/oslo.log/api/versionutils.html#oslo_log.versionutils.deprecation_warning","commit_id":"aca475e7925da2fae2528e09eb4e185ad01aafaf"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"6cbe8112acbceff7c8b01747a41ff15708abc75e","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                  \u0027MockKeyManager\u0027)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def log_deprecated_warning(deprecated, castellan):"},{"line_number":54,"context_line":"    LOG.warning(_LW(\"key manager api_class set to use deprecated option \""},{"line_number":55,"context_line":"                    \"%(deprecated)s, using %(castellan)s instead\"),"},{"line_number":56,"context_line":"                {\u0027deprecated\u0027: deprecated, \u0027castellan\u0027: castellan})"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"if api_class \u003d\u003d deprecated_barbican:"},{"line_number":59,"context_line":"    log_deprecated_warning(deprecated_barbican, barbican)"}],"source_content_type":"text/x-python","patch_set":26,"id":"1ac06dbe_75293489","line":56,"range":{"start_line":53,"start_character":0,"end_line":56,"end_character":67},"in_reply_to":"1ac06dbe_e37af276","updated":"2016-08-25 15:22:54.000000000","message":"Done","commit_id":"aca475e7925da2fae2528e09eb4e185ad01aafaf"}],"cinder/keymgr/conf_key_mgr.py":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"c9c2a034946f84543466a4a5880de6349c9175d3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2016 The Johns Hopkins University/Applied Physics Laboratory"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aed3d3a_f737b2fc","line":1,"updated":"2016-02-29 20:59:02.000000000","message":"nit: Don\u0027t think this change is necessary.","commit_id":"27ab40ee84e8153ed54adef6b75edf90097d85f2"}],"cinder/tests/unit/conf_fixture.py":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"c9c2a034946f84543466a4a5880de6349c9175d3","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    conf.set_default(\u0027backup_driver\u0027, \u0027cinder.tests.unit.backup.fake_service\u0027)"},{"line_number":50,"context_line":"    conf.set_default(\u0027api_class\u0027,"},{"line_number":51,"context_line":"                     \u0027cinder.keymgr.conf_key_mgr.ConfKeyManager\u0027,"},{"line_number":52,"context_line":"                     group\u003d\u0027key_manager\u0027)"},{"line_number":53,"context_line":"    conf.set_default(\u0027fixed_key\u0027, default\u003d\u00270\u0027 * 64, group\u003d\u0027key_manager\u0027)"},{"line_number":54,"context_line":"    conf.set_default(\u0027scheduler_driver\u0027,"},{"line_number":55,"context_line":"                     \u0027cinder.scheduler.filter_scheduler.FilterScheduler\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aed3d3a_521e6c5f","line":52,"updated":"2016-02-29 20:59:02.000000000","message":"I think it would be better to use Castellan\u0027s mock key manager instead.","commit_id":"27ab40ee84e8153ed54adef6b75edf90097d85f2"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"dfd3cdf5a37233fe90607e34618735e19e64a7a3","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    conf.set_default(\u0027backup_driver\u0027, \u0027cinder.tests.unit.backup.fake_service\u0027)"},{"line_number":50,"context_line":"    conf.set_default(\u0027api_class\u0027,"},{"line_number":51,"context_line":"                     \u0027cinder.keymgr.conf_key_mgr.ConfKeyManager\u0027,"},{"line_number":52,"context_line":"                     group\u003d\u0027key_manager\u0027)"},{"line_number":53,"context_line":"    conf.set_default(\u0027fixed_key\u0027, default\u003d\u00270\u0027 * 64, group\u003d\u0027key_manager\u0027)"},{"line_number":54,"context_line":"    conf.set_default(\u0027scheduler_driver\u0027,"},{"line_number":55,"context_line":"                     \u0027cinder.scheduler.filter_scheduler.FilterScheduler\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_0e93de5b","line":52,"in_reply_to":"9aed3d3a_521e6c5f","updated":"2016-03-04 16:25:26.000000000","message":"Yes.  There was a bug in Castellan\u0027s MockKeyManager that prevented it from being used here originally.  Now that the bug is fixed, this patch (and global requirements) can be updated to use Castellan\u0027s MockKeyManager instead.","commit_id":"27ab40ee84e8153ed54adef6b75edf90097d85f2"}],"cinder/tests/unit/keymgr/mock_key_mgr.py":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"c9c2a034946f84543466a4a5880de6349c9175d3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"DEPRECATED"},{"line_number":29,"context_line":"Cinder\u0027s MockKeyManager is deprecated. Castellan\u0027s MockKeyManager should be"},{"line_number":30,"context_line":"used instead:"},{"line_number":31,"context_line":"    (castellan.tests.unit.key_manager.mock_key_manager.MockKeyManager)"},{"line_number":32,"context_line":"\"\"\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"import binascii"}],"source_content_type":"text/x-python","patch_set":3,"id":"9aed3d3a_52a30c00","line":31,"updated":"2016-02-29 20:59:02.000000000","message":"Why update this class if it is deprecated? That is, why are changes to this class required instead of replacing it with Castellan\u0027s version?","commit_id":"27ab40ee84e8153ed54adef6b75edf90097d85f2"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"dc92ec0e52fb831d151567d5f2a01d3d02765ac6","unresolved":false,"context_lines":[{"line_number":28,"context_line":"DEPRECATED"},{"line_number":29,"context_line":"Cinder\u0027s MockKeyManager is deprecated. Castellan\u0027s MockKeyManager should be"},{"line_number":30,"context_line":"used instead:"},{"line_number":31,"context_line":"    (castellan.tests.unit.key_manager.mock_key_manager.MockKeyManager)"},{"line_number":32,"context_line":"\"\"\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"import binascii"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_fb434140","line":31,"in_reply_to":"7af24918_6e754230","updated":"2016-03-09 13:26:06.000000000","message":"Agreed with Joel again. Let\u0027s go ahead and gut this if we can.","commit_id":"27ab40ee84e8153ed54adef6b75edf90097d85f2"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"dfd3cdf5a37233fe90607e34618735e19e64a7a3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"DEPRECATED"},{"line_number":29,"context_line":"Cinder\u0027s MockKeyManager is deprecated. Castellan\u0027s MockKeyManager should be"},{"line_number":30,"context_line":"used instead:"},{"line_number":31,"context_line":"    (castellan.tests.unit.key_manager.mock_key_manager.MockKeyManager)"},{"line_number":32,"context_line":"\"\"\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"import binascii"}],"source_content_type":"text/x-python","patch_set":3,"id":"7af24918_6e754230","line":31,"in_reply_to":"9aed3d3a_52a30c00","updated":"2016-03-04 16:25:26.000000000","message":"Good question, see other comment about bug in Castellan\u0027s key manager. The next update of this patch can include Castellan\u0027s key manager.","commit_id":"27ab40ee84e8153ed54adef6b75edf90097d85f2"}],"cinder/tests/unit/keymgr/test_conf_key_mgr.py":[{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"77aad851cd477ce967ab208f8d7639e11ac2a000","unresolved":false,"context_lines":[{"line_number":33,"context_line":"CONF.import_opt(\u0027fixed_key\u0027, \u0027cinder.keymgr.conf_key_mgr\u0027, group\u003d\u0027keymgr\u0027)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class ConfKeyManagerTestCase(test_key_mgr.KeyManagerTestCase):"},{"line_number":37,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":38,"context_line":"        super(ConfKeyManagerTestCase, self).__init__(*args, **kwargs)"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_e75ade82","side":"PARENT","line":36,"range":{"start_line":36,"start_character":6,"end_line":36,"end_character":28},"updated":"2016-03-21 18:13:10.000000000","message":"This shouldn\u0027t be deleted.","commit_id":"ddac89b7ae7309a07fe32a615ade2587eb568d1a"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"d34c23876f1abf7afa866effc75b85bbce61366a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"CONF.import_opt(\u0027fixed_key\u0027, \u0027cinder.keymgr.conf_key_mgr\u0027, group\u003d\u0027keymgr\u0027)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class ConfKeyManagerTestCase(test_key_mgr.KeyManagerTestCase):"},{"line_number":37,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":38,"context_line":"        super(ConfKeyManagerTestCase, self).__init__(*args, **kwargs)"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa0719c6_47910af0","side":"PARENT","line":36,"range":{"start_line":36,"start_character":6,"end_line":36,"end_character":28},"updated":"2016-03-21 18:14:15.000000000","message":"This shouldn\u0027t be deleted.","commit_id":"c93ccd12e5fcecb5a97957e31626ff8fced99f99"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"f5ce9f297dd5a495e81b87b9356643dde1d818e2","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from oslo_config import cfg"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from castellan.common.objects import symmetric_key as key"},{"line_number":25,"context_line":"from cinder import context"},{"line_number":26,"context_line":"from cinder import exception"},{"line_number":27,"context_line":"from cinder.keymgr import conf_key_mgr"}],"source_content_type":"text/x-python","patch_set":15,"id":"1aa78d24_5c7d001b","line":24,"updated":"2016-07-12 11:55:23.000000000","message":"Move above oslo_config import.","commit_id":"8341c930769df14cddf53520781a11d5fed22b22"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"fe754b4905e7bc3ba4629d4647f622547ba381c5","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from oslo_config import cfg"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from castellan.common.objects import symmetric_key as key"},{"line_number":25,"context_line":"from cinder import context"},{"line_number":26,"context_line":"from cinder import exception"},{"line_number":27,"context_line":"from cinder.keymgr import conf_key_mgr"}],"source_content_type":"text/x-python","patch_set":15,"id":"1aa78d24_11fdf5b0","line":24,"in_reply_to":"1aa78d24_5c7d001b","updated":"2016-07-13 05:48:55.000000000","message":"Done","commit_id":"8341c930769df14cddf53520781a11d5fed22b22"}],"cinder/tests/unit/keymgr/test_key_mgr.py":[{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"77aad851cd477ce967ab208f8d7639e11ac2a000","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Test cases for the key manager."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"DEPRECATED"},{"line_number":20,"context_line":"\"\"\""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from cinder import test"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_274056a5","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":10},"updated":"2016-03-21 18:13:10.000000000","message":"This can be deleted now","commit_id":"d615c76e0bb041e6f4a4ffc72b68962a7216b528"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"d34c23876f1abf7afa866effc75b85bbce61366a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from cinder import test"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class KeyManagerTestCase(test.TestCase):"},{"line_number":26,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":27,"context_line":"        super(KeyManagerTestCase, self).__init__(*args, **kwargs)"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fa0719c6_87c162e7","line":25,"range":{"start_line":25,"start_character":6,"end_line":25,"end_character":24},"updated":"2016-03-21 18:14:15.000000000","message":"This should be deleted","commit_id":"dfc8dfbc4dd9d493e796de81bac607a806141187"}],"cinder/tests/unit/test_backup_driver_base.py":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"70e188b808ac8eb12b62f48f3b64a5b51b7bdaed","unresolved":false,"context_lines":[{"line_number":238,"context_line":"        if encrypted:"},{"line_number":239,"context_line":"            key_id \u003d \u002700000000-0000-0000-0000-000000000000\u0027"},{"line_number":240,"context_line":"            vol \u003d {\u0027id\u0027: id, \u0027size\u0027: 1, \u0027status\u0027: \u0027available\u0027,"},{"line_number":241,"context_line":"                   \u0027volume_type_id\u0027: type_id, \u0027encryption_key_id\u0027: key_id}"},{"line_number":242,"context_line":"        else:"},{"line_number":243,"context_line":"            vol \u003d {\u0027id\u0027: id, \u0027size\u0027: 1, \u0027status\u0027: \u0027available\u0027,"},{"line_number":244,"context_line":"                   \u0027volume_type_id\u0027: type_id, \u0027encryption_key_id\u0027: None}"}],"source_content_type":"text/x-python","patch_set":4,"id":"1af94dfe_4421edb3","line":241,"range":{"start_line":241,"start_character":67,"end_line":241,"end_character":73},"updated":"2016-03-16 17:47:36.000000000","message":"Why can\u0027t \u0027fake-id\u0027 be used here?","commit_id":"d615c76e0bb041e6f4a4ffc72b68962a7216b528"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"77aad851cd477ce967ab208f8d7639e11ac2a000","unresolved":false,"context_lines":[{"line_number":238,"context_line":"        if encrypted:"},{"line_number":239,"context_line":"            key_id \u003d \u002700000000-0000-0000-0000-000000000000\u0027"},{"line_number":240,"context_line":"            vol \u003d {\u0027id\u0027: id, \u0027size\u0027: 1, \u0027status\u0027: \u0027available\u0027,"},{"line_number":241,"context_line":"                   \u0027volume_type_id\u0027: type_id, \u0027encryption_key_id\u0027: key_id}"},{"line_number":242,"context_line":"        else:"},{"line_number":243,"context_line":"            vol \u003d {\u0027id\u0027: id, \u0027size\u0027: 1, \u0027status\u0027: \u0027available\u0027,"},{"line_number":244,"context_line":"                   \u0027volume_type_id\u0027: type_id, \u0027encryption_key_id\u0027: None}"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa0719c6_276e962f","line":241,"range":{"start_line":241,"start_character":67,"end_line":241,"end_character":73},"in_reply_to":"1af94dfe_4421edb3","updated":"2016-03-21 18:13:10.000000000","message":"Good question, but ConfKeyManager doesn\u0027t accept arbitrary \"uuids\", it will only accept the key id used above.","commit_id":"d615c76e0bb041e6f4a4ffc72b68962a7216b528"}]}
