)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"eee054caa7a0bfe66018b74087b115af86512d51","unresolved":false,"context_lines":[{"line_number":18,"context_line":"default rule. In addtion, a verify_deprecated_policy method is added"},{"line_number":19,"context_line":"to see if the old policy action is being configured instead of the"},{"line_number":20,"context_line":"new actions."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Iba58e785df934d1c4175c0877d266193ac0167b7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_e23961a3","line":21,"updated":"2018-06-05 00:10:54.000000000","message":"Would be helpful to link to Nova patchset from where the helper was adapted to help reviewers.","commit_id":"04b9f6a29abf08519feae6c0a7771d4daa88fe68"}],"cinder/api/contrib/volume_type_encryption.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"eee054caa7a0bfe66018b74087b115af86512d51","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        else:"},{"line_number":83,"context_line":"            return False"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _authorized_policy(self, context, new_policy):"},{"line_number":86,"context_line":"        # In future release, this _authorized_policy function can be"},{"line_number":87,"context_line":"        # removed and the call to it and be replaced by the"},{"line_number":88,"context_line":"        # context.authorize(new_policy) once the old"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_a2ce09b2","line":85,"range":{"start_line":85,"start_character":8,"end_line":85,"end_character":26},"updated":"2018-06-05 00:10:54.000000000","message":"nit: _authorize_policy to be consistent with the verb form of \"authorize\".","commit_id":"04b9f6a29abf08519feae6c0a7771d4daa88fe68"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"b773a185eec777ff98f16a7c4b171ff30a9a3d47","unresolved":false,"context_lines":[{"line_number":82,"context_line":"        else:"},{"line_number":83,"context_line":"            return False"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _authorized_policy(self, context, new_policy):"},{"line_number":86,"context_line":"        # In future release, this _authorized_policy function can be"},{"line_number":87,"context_line":"        # removed and the call to it and be replaced by the"},{"line_number":88,"context_line":"        # context.authorize(new_policy) once the old"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_0a7c9d70","line":85,"range":{"start_line":85,"start_character":8,"end_line":85,"end_character":26},"in_reply_to":"5f7c97a3_a2ce09b2","updated":"2018-06-05 19:54:51.000000000","message":"Will fix in next submission.","commit_id":"04b9f6a29abf08519feae6c0a7771d4daa88fe68"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"eee054caa7a0bfe66018b74087b115af86512d51","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            return False"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _authorized_policy(self, context, new_policy):"},{"line_number":86,"context_line":"        # In future release, this _authorized_policy function can be"},{"line_number":87,"context_line":"        # removed and the call to it and be replaced by the"},{"line_number":88,"context_line":"        # context.authorize(new_policy) once the old"},{"line_number":89,"context_line":"        # policy.ENCRYPTION_POLICY is deprecated."}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_22baf909","line":86,"updated":"2018-06-05 00:10:54.000000000","message":"nit: Better to prefix with TODO: here to make it easier to keep track of this.","commit_id":"04b9f6a29abf08519feae6c0a7771d4daa88fe68"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"b773a185eec777ff98f16a7c4b171ff30a9a3d47","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            return False"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _authorized_policy(self, context, new_policy):"},{"line_number":86,"context_line":"        # In future release, this _authorized_policy function can be"},{"line_number":87,"context_line":"        # removed and the call to it and be replaced by the"},{"line_number":88,"context_line":"        # context.authorize(new_policy) once the old"},{"line_number":89,"context_line":"        # policy.ENCRYPTION_POLICY is deprecated."}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_2a81594b","line":86,"in_reply_to":"5f7c97a3_22baf909","updated":"2018-06-05 19:54:51.000000000","message":"Will fix in next submission.","commit_id":"04b9f6a29abf08519feae6c0a7771d4daa88fe68"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"eee054caa7a0bfe66018b74087b115af86512d51","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _authorized_policy(self, context, new_policy):"},{"line_number":86,"context_line":"        # In future release, this _authorized_policy function can be"},{"line_number":87,"context_line":"        # removed and the call to it and be replaced by the"},{"line_number":88,"context_line":"        # context.authorize(new_policy) once the old"},{"line_number":89,"context_line":"        # policy.ENCRYPTION_POLICY is deprecated."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_02bd7d01","line":87,"range":{"start_line":87,"start_character":37,"end_line":87,"end_character":40},"updated":"2018-06-05 00:10:54.000000000","message":"nit: remove to make complete sentence","commit_id":"04b9f6a29abf08519feae6c0a7771d4daa88fe68"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"b773a185eec777ff98f16a7c4b171ff30a9a3d47","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _authorized_policy(self, context, new_policy):"},{"line_number":86,"context_line":"        # In future release, this _authorized_policy function can be"},{"line_number":87,"context_line":"        # removed and the call to it and be replaced by the"},{"line_number":88,"context_line":"        # context.authorize(new_policy) once the old"},{"line_number":89,"context_line":"        # policy.ENCRYPTION_POLICY is deprecated."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_ea92819f","line":87,"range":{"start_line":87,"start_character":37,"end_line":87,"end_character":40},"in_reply_to":"5f7c97a3_02bd7d01","updated":"2018-06-05 19:54:51.000000000","message":"Will fix in next submission.","commit_id":"04b9f6a29abf08519feae6c0a7771d4daa88fe68"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e4069c5ba03f4c7cb4c6e6a2f0b00c2a1cc9a509","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from cinder import rpc"},{"line_number":31,"context_line":"from cinder.volume import volume_types"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from cinder import policy as cinder_policy"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class VolumeTypeEncryptionController(wsgi.Controller):"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_a11df062","line":33,"updated":"2018-06-25 21:53:08.000000000","message":"This should be above after the base import, not in it\u0027s own new grouping.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"c67b6b9bef885b602be7abe3975ea41ed693a9e5","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from cinder import rpc"},{"line_number":31,"context_line":"from cinder.volume import volume_types"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from cinder import policy as cinder_policy"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class VolumeTypeEncryptionController(wsgi.Controller):"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_c527c6b5","line":33,"in_reply_to":"5f7c97a3_a11df062","updated":"2018-06-26 16:29:11.000000000","message":"I will put it before the rpc import and this is the only place I can add this cinder_policy import without \"imports not in alphabetical order\". Will fix in next patch.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e4069c5ba03f4c7cb4c6e6a2f0b00c2a1cc9a509","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        # context.authorize(new_policy) once the old"},{"line_number":66,"context_line":"        # policy.ENCRYPTION_POLICY is deprecated."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        using_old_action \u003d \\"},{"line_number":69,"context_line":"            cinder_policy.verify_deprecated_policy(policy.ENCRYPTION_POLICY,"},{"line_number":70,"context_line":"                                                   new_policy,"},{"line_number":71,"context_line":"                                                   base.RULE_ADMIN_API,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_613b58d0","line":68,"range":{"start_line":68,"start_character":27,"end_line":68,"end_character":28},"updated":"2018-06-25 21:53:08.000000000","message":"Do not use \\ for line continuation. It looks like you should be able to move the verify_deprecated_policy call up and use the opening ( to be able to have the parameters on subsequent lines without it.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"c67b6b9bef885b602be7abe3975ea41ed693a9e5","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        # context.authorize(new_policy) once the old"},{"line_number":66,"context_line":"        # policy.ENCRYPTION_POLICY is deprecated."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        using_old_action \u003d \\"},{"line_number":69,"context_line":"            cinder_policy.verify_deprecated_policy(policy.ENCRYPTION_POLICY,"},{"line_number":70,"context_line":"                                                   new_policy,"},{"line_number":71,"context_line":"                                                   base.RULE_ADMIN_API,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_9ae84d7b","line":68,"range":{"start_line":68,"start_character":27,"end_line":68,"end_character":28},"in_reply_to":"5f7c97a3_613b58d0","updated":"2018-06-26 16:29:11.000000000","message":"Will fix in next patch.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"}],"cinder/policies/volume_type.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"ca8a6576d506128f7e772d5ed3d5f09bb4d4cbde","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"MANAGE_POLICY \u003d \"volume_extension:types_manage\""},{"line_number":22,"context_line":"ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption\""},{"line_number":23,"context_line":"CREATE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption_create\""},{"line_number":24,"context_line":"UPDATE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption_update\""},{"line_number":25,"context_line":"DELETE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption_delete\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_69149244","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":17},"updated":"2018-05-31 20:25:16.000000000","message":"I wonder if this needs its own entry (as in before) to maintain backwards compatibility. Will wait on cores to chime in.","commit_id":"5e77f3d1fe29d7522e2cba40eac77b6843612ee8"},{"author":{"_account_id":17896,"name":"Rick Bartra","email":"rickbartra@microsoft.com","username":"rb560u"},"change_message_id":"db6e72b9f89e82dcfdf63c7b2523363ffeaf5e29","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"MANAGE_POLICY \u003d \"volume_extension:types_manage\""},{"line_number":22,"context_line":"ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption\""},{"line_number":23,"context_line":"CREATE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption_create\""},{"line_number":24,"context_line":"UPDATE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption_update\""},{"line_number":25,"context_line":"DELETE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption_delete\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_a9814afd","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":17},"in_reply_to":"5f7c97a3_69149244","updated":"2018-05-31 20:52:46.000000000","message":"Will probably want to follow a deprecation cycle similar to what was done in Nova for policy granularity. See https://review.openstack.org/#/c/449288/","commit_id":"5e77f3d1fe29d7522e2cba40eac77b6843612ee8"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"2035c561c8d39e5dbe1a343c4bad137392526564","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"MANAGE_POLICY \u003d \"volume_extension:types_manage\""},{"line_number":22,"context_line":"ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption\""},{"line_number":23,"context_line":"CREATE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption_create\""},{"line_number":24,"context_line":"UPDATE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption_update\""},{"line_number":25,"context_line":"DELETE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption_delete\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_976d8804","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":17},"in_reply_to":"5f7c97a3_a9814afd","updated":"2018-06-01 01:01:28.000000000","message":"+1","commit_id":"5e77f3d1fe29d7522e2cba40eac77b6843612ee8"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c98062c26ff824dbd401b8d8ab4cd39798bf130a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption\""},{"line_number":23,"context_line":"BASE_POLICY_RULE \u003d \u0027rule:%s\u0027 % ENCRYPTION_POLICY"},{"line_number":24,"context_line":"CREATE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption:create\""},{"line_number":25,"context_line":"GET_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption:get\""},{"line_number":26,"context_line":"GET_ENCRYPTION_SPECS_ITEM_POLICY \u003d"},{"line_number":27,"context_line":"\"volume_extension:volume_type_encryption:get_specs_item\""},{"line_number":28,"context_line":"UPDATE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption:update\""},{"line_number":29,"context_line":"DELETE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption:delete\""},{"line_number":30,"context_line":"QOS_POLICY \u003d \"volume_extension:access_types_qos_specs_id\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_9b1c81c2","line":27,"range":{"start_line":25,"start_character":0,"end_line":27,"end_character":56},"updated":"2018-06-05 21:21:15.000000000","message":"Is there value in having these split into two separate entries?\n\nI\u0027m not sure about get_specs_item -- it reveals the same information that is revealed in initialize connection, so does this actually control much?","commit_id":"9ae0fa1d939855ebe3e313c2d88d465c0f8bb621"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"1cde9ab95e3c499188c1f673e1228221ac511855","unresolved":false,"context_lines":[{"line_number":22,"context_line":"ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption\""},{"line_number":23,"context_line":"BASE_POLICY_RULE \u003d \u0027rule:%s\u0027 % ENCRYPTION_POLICY"},{"line_number":24,"context_line":"CREATE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption:create\""},{"line_number":25,"context_line":"GET_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption:get\""},{"line_number":26,"context_line":"GET_ENCRYPTION_SPECS_ITEM_POLICY \u003d"},{"line_number":27,"context_line":"\"volume_extension:volume_type_encryption:get_specs_item\""},{"line_number":28,"context_line":"UPDATE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption:update\""},{"line_number":29,"context_line":"DELETE_ENCRYPTION_POLICY \u003d \"volume_extension:volume_type_encryption:delete\""},{"line_number":30,"context_line":"QOS_POLICY \u003d \"volume_extension:access_types_qos_specs_id\""}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_b6dab476","line":27,"range":{"start_line":25,"start_character":0,"end_line":27,"end_character":56},"in_reply_to":"5f7c97a3_9b1c81c2","updated":"2018-06-05 21:57:20.000000000","message":"Not really.  So, I would combine them in next patch.","commit_id":"9ae0fa1d939855ebe3e313c2d88d465c0f8bb621"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c98062c26ff824dbd401b8d8ab4cd39798bf130a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        name\u003dENCRYPTION_POLICY,"},{"line_number":54,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":55,"context_line":"        description\u003d\"List, show, create, update and delete volume \""},{"line_number":56,"context_line":"                    \"type encryption. Will be depreacted in \""},{"line_number":57,"context_line":"                    \"future release.\","},{"line_number":58,"context_line":"        operations\u003d["},{"line_number":59,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_fb32555e","line":56,"range":{"start_line":56,"start_character":46,"end_line":56,"end_character":56},"updated":"2018-06-05 21:21:15.000000000","message":"deprecated","commit_id":"9ae0fa1d939855ebe3e313c2d88d465c0f8bb621"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"1cde9ab95e3c499188c1f673e1228221ac511855","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        name\u003dENCRYPTION_POLICY,"},{"line_number":54,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":55,"context_line":"        description\u003d\"List, show, create, update and delete volume \""},{"line_number":56,"context_line":"                    \"type encryption. Will be depreacted in \""},{"line_number":57,"context_line":"                    \"future release.\","},{"line_number":58,"context_line":"        operations\u003d["},{"line_number":59,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_964f7833","line":56,"range":{"start_line":56,"start_character":46,"end_line":56,"end_character":56},"in_reply_to":"5f7c97a3_fb32555e","updated":"2018-06-05 21:57:20.000000000","message":"Will fix in next patch.","commit_id":"9ae0fa1d939855ebe3e313c2d88d465c0f8bb621"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e4069c5ba03f4c7cb4c6e6a2f0b00c2a1cc9a509","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":53,"context_line":"        description\u003d\"List, show, create, update and delete volume \""},{"line_number":54,"context_line":"                    \"type encryption. Will be deprecated in \""},{"line_number":55,"context_line":"                    \"future release.\","},{"line_number":56,"context_line":"        operations\u003d["},{"line_number":57,"context_line":"            {"},{"line_number":58,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_e12768b5","line":55,"range":{"start_line":55,"start_character":21,"end_line":55,"end_character":35},"updated":"2018-06-25 21:53:08.000000000","message":"Isn\u0027t this deprecating it now?","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"c67b6b9bef885b602be7abe3975ea41ed693a9e5","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":53,"context_line":"        description\u003d\"List, show, create, update and delete volume \""},{"line_number":54,"context_line":"                    \"type encryption. Will be deprecated in \""},{"line_number":55,"context_line":"                    \"future release.\","},{"line_number":56,"context_line":"        operations\u003d["},{"line_number":57,"context_line":"            {"},{"line_number":58,"context_line":"                \u0027method\u0027: \u0027POST\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_a5a96a8f","line":55,"range":{"start_line":55,"start_character":21,"end_line":55,"end_character":35},"in_reply_to":"5f7c97a3_e12768b5","updated":"2018-06-26 16:29:11.000000000","message":"Yes, will change the description in next patch.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"53c3ad3d1cd361d8fa85f0cd761e8f9d2ea710b1","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        name\u003dENCRYPTION_POLICY,"},{"line_number":52,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":53,"context_line":"        description\u003d\"List, show, create, update and delete volume \""},{"line_number":54,"context_line":"                    \"type encryption. This is deprecated in the Rocky \""},{"line_number":55,"context_line":"                    \"release and will be removed in the future.\","},{"line_number":56,"context_line":"        operations\u003d["},{"line_number":57,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_d2c0fae3","line":54,"range":{"start_line":54,"start_character":64,"end_line":54,"end_character":69},"updated":"2018-08-14 22:22:31.000000000","message":"This didn\u0027t make it into Rocky. Please update for Stein.","commit_id":"cd3441076c8e99eebee6a55c9b78badec7df0f1f"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"e2b07e117e0b8dfa95ab536c962919435300817e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        name\u003dENCRYPTION_POLICY,"},{"line_number":52,"context_line":"        check_str\u003dbase.RULE_ADMIN_API,"},{"line_number":53,"context_line":"        description\u003d\"List, show, create, update and delete volume \""},{"line_number":54,"context_line":"                    \"type encryption. This is deprecated in the Rocky \""},{"line_number":55,"context_line":"                    \"release and will be removed in the future.\","},{"line_number":56,"context_line":"        operations\u003d["},{"line_number":57,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_d61f8069","line":54,"range":{"start_line":54,"start_character":64,"end_line":54,"end_character":69},"in_reply_to":"3f79a3b5_d2c0fae3","updated":"2018-08-15 14:24:22.000000000","message":"Updated to Stein in next patch.","commit_id":"cd3441076c8e99eebee6a55c9b78badec7df0f1f"}],"cinder/policy.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"eee054caa7a0bfe66018b74087b115af86512d51","unresolved":false,"context_lines":[{"line_number":180,"context_line":"    return _ENFORCER.authorize(\u0027context_is_admin\u0027, target, credentials)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"def verify_deprecated_policy(old_policy, new_policy, default_rule, context):"},{"line_number":184,"context_line":"    \"\"\"Check the rule of the deprecated policy action"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    If the current rule of the deprecated policy action is set to a non-default"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_82c98dad","line":183,"updated":"2018-06-05 00:10:54.000000000","message":"IMO there should be a unit test for this.","commit_id":"04b9f6a29abf08519feae6c0a7771d4daa88fe68"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"bd647e4e4b180f7476d24c7d53f5968b6b08e623","unresolved":false,"context_lines":[{"line_number":180,"context_line":"    return _ENFORCER.authorize(\u0027context_is_admin\u0027, target, credentials)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"def verify_deprecated_policy(old_policy, new_policy, default_rule, context):"},{"line_number":184,"context_line":"    \"\"\"Check the rule of the deprecated policy action"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    If the current rule of the deprecated policy action is set to a non-default"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_3bd1ad30","line":183,"in_reply_to":"5f7c97a3_82c98dad","updated":"2018-06-05 21:02:01.000000000","message":"Will add unit test for this next patch.","commit_id":"04b9f6a29abf08519feae6c0a7771d4daa88fe68"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e4069c5ba03f4c7cb4c6e6a2f0b00c2a1cc9a509","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    if current_rule !\u003d default_rule:"},{"line_number":203,"context_line":"        LOG.warning(\"Start using the new action \u0027{0}\u0027. The existing \""},{"line_number":204,"context_line":"                    \"action \u0027{1}\u0027 is being deprecated and will be \""},{"line_number":205,"context_line":"                    \"removed in future release.\".format(new_policy,"},{"line_number":206,"context_line":"                                                        old_policy))"},{"line_number":207,"context_line":"        context.authorize(old_policy)"},{"line_number":208,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_3efedf05","line":205,"range":{"start_line":205,"start_character":49,"end_line":205,"end_character":55},"updated":"2018-06-25 21:53:08.000000000","message":".format() should not be used. Change this whole log to use %s and pass in the values as arguments for the logger to take care of formatting when needed.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"c67b6b9bef885b602be7abe3975ea41ed693a9e5","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    if current_rule !\u003d default_rule:"},{"line_number":203,"context_line":"        LOG.warning(\"Start using the new action \u0027{0}\u0027. The existing \""},{"line_number":204,"context_line":"                    \"action \u0027{1}\u0027 is being deprecated and will be \""},{"line_number":205,"context_line":"                    \"removed in future release.\".format(new_policy,"},{"line_number":206,"context_line":"                                                        old_policy))"},{"line_number":207,"context_line":"        context.authorize(old_policy)"},{"line_number":208,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_20db08ea","line":205,"range":{"start_line":205,"start_character":49,"end_line":205,"end_character":55},"in_reply_to":"5f7c97a3_3efedf05","updated":"2018-06-26 16:29:11.000000000","message":"Will fix in next patch.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e4069c5ba03f4c7cb4c6e6a2f0b00c2a1cc9a509","unresolved":false,"context_lines":[{"line_number":206,"context_line":"                                                        old_policy))"},{"line_number":207,"context_line":"        context.authorize(old_policy)"},{"line_number":208,"context_line":"        return True"},{"line_number":209,"context_line":"    else:"},{"line_number":210,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_0102a409","line":209,"range":{"start_line":209,"start_character":4,"end_line":209,"end_character":8},"updated":"2018-06-25 21:53:08.000000000","message":"Get rid of else: and deindent the return false line.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"c67b6b9bef885b602be7abe3975ea41ed693a9e5","unresolved":false,"context_lines":[{"line_number":206,"context_line":"                                                        old_policy))"},{"line_number":207,"context_line":"        context.authorize(old_policy)"},{"line_number":208,"context_line":"        return True"},{"line_number":209,"context_line":"    else:"},{"line_number":210,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_e0f2f06e","line":209,"range":{"start_line":209,"start_character":4,"end_line":209,"end_character":8},"in_reply_to":"5f7c97a3_0102a409","updated":"2018-06-26 16:29:11.000000000","message":"Will fix in next patch.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"}],"cinder/tests/unit/test_policy.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"199cf447672bdc5e919ad5ca81736c7d6ab7acb5","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            old_policy, new_policy, default_rule, self.context)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        mock_warning.assert_called_once_with("},{"line_number":148,"context_line":"            \"Start using the new \""},{"line_number":149,"context_line":"            \"action \u0027{0}\u0027. The existing action \u0027{1}\u0027 is being deprecated and \""},{"line_number":150,"context_line":"            \"will be removed in future release.\".format(new_policy,"},{"line_number":151,"context_line":"                                                        old_policy))"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_ee4a4c59","line":148,"updated":"2018-06-20 16:06:46.000000000","message":"nit: This string can be better formatted to put more on the first line","commit_id":"668e60599ca4f2730e1ece40724dc9fc110d34b3"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"097af604efaf58344ea616d86340f037779479b0","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            old_policy, new_policy, default_rule, self.context)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        mock_warning.assert_called_once_with("},{"line_number":148,"context_line":"            \"Start using the new \""},{"line_number":149,"context_line":"            \"action \u0027{0}\u0027. The existing action \u0027{1}\u0027 is being deprecated and \""},{"line_number":150,"context_line":"            \"will be removed in future release.\".format(new_policy,"},{"line_number":151,"context_line":"                                                        old_policy))"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_4e97c046","line":148,"in_reply_to":"5f7c97a3_ee4a4c59","updated":"2018-06-20 16:21:50.000000000","message":"Will reformat in next patch.","commit_id":"668e60599ca4f2730e1ece40724dc9fc110d34b3"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e4069c5ba03f4c7cb4c6e6a2f0b00c2a1cc9a509","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        using_old_action \u003d policy.verify_deprecated_policy("},{"line_number":145,"context_line":"            old_policy, new_policy, default_rule, self.context)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        mock_warning.assert_called_once_with("},{"line_number":148,"context_line":"            \"Start using the new action \u0027{0}\u0027. The existing \""},{"line_number":149,"context_line":"            \"action \u0027{1}\u0027 is being deprecated and will be \""},{"line_number":150,"context_line":"            \"removed in future release.\".format(new_policy,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_1e03e311","line":147,"range":{"start_line":147,"start_character":21,"end_line":147,"end_character":44},"updated":"2018-06-25 21:53:08.000000000","message":"Do not unit test on log text. Fine if you want to verify that LOG.warning is called, but we should not have anything asserting on the actual full text of a log message.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"c67b6b9bef885b602be7abe3975ea41ed693a9e5","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        using_old_action \u003d policy.verify_deprecated_policy("},{"line_number":145,"context_line":"            old_policy, new_policy, default_rule, self.context)"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        mock_warning.assert_called_once_with("},{"line_number":148,"context_line":"            \"Start using the new action \u0027{0}\u0027. The existing \""},{"line_number":149,"context_line":"            \"action \u0027{1}\u0027 is being deprecated and will be \""},{"line_number":150,"context_line":"            \"removed in future release.\".format(new_policy,"}],"source_content_type":"text/x-python","patch_set":13,"id":"5f7c97a3_26db20ea","line":147,"range":{"start_line":147,"start_character":21,"end_line":147,"end_character":44},"in_reply_to":"5f7c97a3_1e03e311","updated":"2018-06-26 16:29:11.000000000","message":"Will just verify LOG.warning being called in next patch.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"}],"releasenotes/notes/volume-type-encryption-api-policy-granularity-7071e45f4c7894c5.yaml":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e4069c5ba03f4c7cb4c6e6a2f0b00c2a1cc9a509","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add granularity to the ``volume_extension:volume_type_encryption``"},{"line_number":5,"context_line":"    policy with the addition of distinct actions for create, get, update,"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5f7c97a3_9e0ff337","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":8},"updated":"2018-06-25 21:53:08.000000000","message":"I think this needs to be in the \"upgrade\" section of the release notes where those preparing to upgrade will see that there is something they need to change.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"},{"author":{"_account_id":19391,"name":"Chi Lo","email":"cl566n@att.com","username":"cl566n"},"change_message_id":"c67b6b9bef885b602be7abe3975ea41ed693a9e5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add granularity to the ``volume_extension:volume_type_encryption``"},{"line_number":5,"context_line":"    policy with the addition of distinct actions for create, get, update,"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5f7c97a3_4b12e559","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":8},"in_reply_to":"5f7c97a3_9e0ff337","updated":"2018-06-26 16:29:11.000000000","message":"Will change to upgrade in next patch.","commit_id":"9ac917260ea3487078f4d4dc55f782e9a6bb6213"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"31f76a52c9ecf92a2c2c427ee101eec1976a6e01","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add granularity to the ``volume_extension:volume_type_encryption``"},{"line_number":5,"context_line":"    policy with the addition of distinct actions for create, get, update,"},{"line_number":6,"context_line":"    and delete:"},{"line_number":7,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":15,"id":"3f79a3b5_55e9a217","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":7},"updated":"2018-08-21 18:09:34.000000000","message":"Added","commit_id":"ebc9a12a19bff61bd6101def5cc997513d329bc2"}]}
