)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"32b708d58249514f0b902d0d471ae6504d9fe42d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Return 4xx error for invalid KMIP key spec."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently when using KMIP backend, generating RSA using oders"},{"line_number":10,"context_line":"interface with passphrase returns 500 error. Changed the exception"},{"line_number":11,"context_line":"handling to return 4xx error code [Bad Request]. Also changed"},{"line_number":12,"context_line":"bad algorithm exception."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1a122d0e_d801cdb0","line":9,"range":{"start_line":9,"start_character":56,"end_line":9,"end_character":61},"updated":"2016-04-29 03:46:22.000000000","message":"orders","commit_id":"24a15b3a0ede34af53cf42cdc6f928a8d7b3cde4"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"32b708d58249514f0b902d0d471ae6504d9fe42d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"interface with passphrase returns 500 error. Changed the exception"},{"line_number":11,"context_line":"handling to return 4xx error code [Bad Request]. Also changed"},{"line_number":12,"context_line":"bad algorithm exception."},{"line_number":13,"context_line":"Updated unit test case."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I95204f8e48d2d3208515e8e8ddfbe84dc01c59f3"},{"line_number":16,"context_line":"Closes-Bug: #1568119"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1a122d0e_182ea542","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":23},"updated":"2016-04-29 03:46:22.000000000","message":"Can move this to the main paragraph.","commit_id":"24a15b3a0ede34af53cf42cdc6f928a8d7b3cde4"}],"barbican/plugin/kmip_secret_store.py":[{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"adee8771a0e60d1517f795993d7c73512150699a","unresolved":false,"context_lines":[{"line_number":282,"context_line":"                key_spec.alg)"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        if key_spec.alg.lower() not in ss.KeyAlgorithm.ASYMMETRIC_ALGORITHMS:"},{"line_number":285,"context_line":"            raise KMIPSecretStoreError("},{"line_number":286,"context_line":"                u._(\"An unsupported algorithm {algorithm} was passed to \""},{"line_number":287,"context_line":"                    \"the \u0027generate_asymmetric_key\u0027 method\").format("},{"line_number":288,"context_line":"                        algorithm\u003dkey_spec.alg))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_6aaa16d6","line":285,"updated":"2016-04-17 00:13:42.000000000","message":"This will also return a 500. I\u0027m thinking it should be a ss.SecretAlgorithmNotSupportedException(algorithm)\n\nI know this is not part of the patch, but for future reference.","commit_id":"123762f0a50d7f3648d760e05c0a3e52ffb0b0b3"},{"author":{"_account_id":17536,"name":"Max Abidi","email":"max_abidi@yahoo.com","username":"Max_a"},"change_message_id":"21df57fad4b3f294d288ff8578e6fab7ace1d281","unresolved":false,"context_lines":[{"line_number":282,"context_line":"                key_spec.alg)"},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        if key_spec.alg.lower() not in ss.KeyAlgorithm.ASYMMETRIC_ALGORITHMS:"},{"line_number":285,"context_line":"            raise KMIPSecretStoreError("},{"line_number":286,"context_line":"                u._(\"An unsupported algorithm {algorithm} was passed to \""},{"line_number":287,"context_line":"                    \"the \u0027generate_asymmetric_key\u0027 method\").format("},{"line_number":288,"context_line":"                        algorithm\u003dkey_spec.alg))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_4f538317","line":285,"in_reply_to":"1a122d0e_6aaa16d6","updated":"2016-04-26 16:56:53.000000000","message":"Done","commit_id":"123762f0a50d7f3648d760e05c0a3e52ffb0b0b3"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"adee8771a0e60d1517f795993d7c73512150699a","unresolved":false,"context_lines":[{"line_number":291,"context_line":"            LOG.exception("},{"line_number":292,"context_line":"                u._(\u0027KMIP plugin does not currently support protecting the \u0027"},{"line_number":293,"context_line":"                    \u0027private key with a passphrase\u0027))"},{"line_number":294,"context_line":"            raise ss.SecretStoreSupportedPluginNotFound()"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        algorithm \u003d self._get_kmip_algorithm(key_spec.alg.lower())"},{"line_number":297,"context_line":"        length \u003d key_spec.bit_length"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_ea48e65d","line":294,"updated":"2016-04-17 00:13:42.000000000","message":"So its not that a supported plugin is not found, but that the plugin that is being used does not support this action.\n\nIn my thoughts we should have a type of KMIPSecretStoreError, but return a 4XX Error instead of a 500. Something like KMIPSecretStoreActionNotSupported()","commit_id":"123762f0a50d7f3648d760e05c0a3e52ffb0b0b3"},{"author":{"_account_id":17536,"name":"Max Abidi","email":"max_abidi@yahoo.com","username":"Max_a"},"change_message_id":"21df57fad4b3f294d288ff8578e6fab7ace1d281","unresolved":false,"context_lines":[{"line_number":291,"context_line":"            LOG.exception("},{"line_number":292,"context_line":"                u._(\u0027KMIP plugin does not currently support protecting the \u0027"},{"line_number":293,"context_line":"                    \u0027private key with a passphrase\u0027))"},{"line_number":294,"context_line":"            raise ss.SecretStoreSupportedPluginNotFound()"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"        algorithm \u003d self._get_kmip_algorithm(key_spec.alg.lower())"},{"line_number":297,"context_line":"        length \u003d key_spec.bit_length"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a122d0e_2f49e760","line":294,"in_reply_to":"1a122d0e_ea48e65d","updated":"2016-04-26 16:56:53.000000000","message":"I have made the suggested change.","commit_id":"123762f0a50d7f3648d760e05c0a3e52ffb0b0b3"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"32b708d58249514f0b902d0d471ae6504d9fe42d","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    return convert_pem_to_der(pem_pkcs1)"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"class KMIPSecretStoreError(Exception):"},{"line_number":126,"context_line":"    def __init__(self, what):"},{"line_number":127,"context_line":"        super(KMIPSecretStoreError, self).__init__(what)"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_f83be999","line":125,"updated":"2016-04-29 03:46:22.000000000","message":"I would like this to inherit a Barbican Exception[1] instead since the KMIPSecretStore is part of Barbican: \n\n[1]https://github.com/openstack/barbican/blob/master/barbican/common/exception.py#L25","commit_id":"24a15b3a0ede34af53cf42cdc6f928a8d7b3cde4"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"32b708d58249514f0b902d0d471ae6504d9fe42d","unresolved":false,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"class KMIPSecretStoreError(Exception):"},{"line_number":126,"context_line":"    def __init__(self, what):"},{"line_number":127,"context_line":"        super(KMIPSecretStoreError, self).__init__(what)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_3842810f","line":126,"updated":"2016-04-29 03:46:22.000000000","message":"Once the above is done, then all you need to do is something similar to https://github.com/openstack/barbican/blob/master/barbican/common/exception.py#L78-L79","commit_id":"24a15b3a0ede34af53cf42cdc6f928a8d7b3cde4"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"32b708d58249514f0b902d0d471ae6504d9fe42d","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    client_message \u003d u._(\"KMIP plugin action not support.\")"},{"line_number":134,"context_line":"    status_code \u003d 400"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def __init__(self, what):"},{"line_number":137,"context_line":"        message \u003d what"},{"line_number":138,"context_line":"        super(KMIPSecretStoreActionNotSupported, self).__init__("},{"line_number":139,"context_line":"            message)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_18eb4514","line":136,"updated":"2016-04-29 03:46:22.000000000","message":"I\u0027m not liking the \"what\". Consider changing \"what\" to \"message\".","commit_id":"24a15b3a0ede34af53cf42cdc6f928a8d7b3cde4"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"32b708d58249514f0b902d0d471ae6504d9fe42d","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    status_code \u003d 400"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def __init__(self, what):"},{"line_number":137,"context_line":"        message \u003d what"},{"line_number":138,"context_line":"        super(KMIPSecretStoreActionNotSupported, self).__init__("},{"line_number":139,"context_line":"            message)"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_38f441ef","line":137,"range":{"start_line":137,"start_character":8,"end_line":137,"end_character":15},"updated":"2016-04-29 03:46:22.000000000","message":"\"self.message\" since its inherited from BarbicanHTTPException","commit_id":"24a15b3a0ede34af53cf42cdc6f928a8d7b3cde4"},{"author":{"_account_id":16046,"name":"Fernando Diaz","email":"diazjf@us.ibm.com","username":"diazjf"},"change_message_id":"32b708d58249514f0b902d0d471ae6504d9fe42d","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    def __init__(self, what):"},{"line_number":137,"context_line":"        message \u003d what"},{"line_number":138,"context_line":"        super(KMIPSecretStoreActionNotSupported, self).__init__("},{"line_number":139,"context_line":"            message)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"class KMIPSecretStore(ss.SecretStoreBase):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a122d0e_b8e05127","line":139,"range":{"start_line":139,"start_character":12,"end_line":139,"end_character":19},"updated":"2016-04-29 03:46:22.000000000","message":"won\u0027t need to pass this after the above is complete.","commit_id":"24a15b3a0ede34af53cf42cdc6f928a8d7b3cde4"}]}
