)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"af8069818a7452c29228031ec4648fb5ff63a949","unresolved":false,"context_lines":[{"line_number":7,"context_line":"encryption_api_url requires a version"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Raise an exception if the value of encryption_api_url does not include a"},{"line_number":10,"context_line":"version component."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I1a4c9b9e93d7d189a3cdf1469e8bb87817473da5"},{"line_number":13,"context_line":"Closes-Bug: #1501780"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"7a2fa921_4d8748d7","line":10,"updated":"2015-10-07 20:31:21.000000000","message":"Based on the description of the commit message, I am not quite sure how this patch fixes the problem of not being able to delete an encrypted volume if cloud admin defines an encryption_api_url without the keymanager version.","commit_id":"3197c53ba6552dde35b3c001d4ef97e484bfb952"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"0605d8801c3baf6f14517fbfca53a738146fb5e2","unresolved":false,"context_lines":[{"line_number":7,"context_line":"encryption_api_url requires a version"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If the value configured for encryption_api_url does not include the"},{"line_number":10,"context_line":"barbican API verion, then some calls from cinder will fail. This can"},{"line_number":11,"context_line":"mean that encrypted volumes cannot be deleted. To prevent this happening"},{"line_number":12,"context_line":"raise an exception if the configured value for encryption_api_url does not"},{"line_number":13,"context_line":"include the barbican version."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a2fa921_b1005c03","line":10,"updated":"2015-10-09 13:59:58.000000000","message":"verion -\u003e version","commit_id":"a8ad50282cd57a9f69f58a10954b1b157c3c0c6b"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"6dcc690269e3d8c605bb2c6a305297709903c067","unresolved":false,"context_lines":[{"line_number":7,"context_line":"encryption_api_url requires a version"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If the value configured for encryption_api_url does not include the"},{"line_number":10,"context_line":"barbican API verion, then some calls from cinder will fail. This can"},{"line_number":11,"context_line":"mean that encrypted volumes cannot be deleted. To prevent this happening"},{"line_number":12,"context_line":"raise an exception if the configured value for encryption_api_url does not"},{"line_number":13,"context_line":"include the barbican version."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"7a2fa921_35e0aecc","line":10,"in_reply_to":"7a2fa921_b1005c03","updated":"2015-10-09 16:34:09.000000000","message":"Done, thanks","commit_id":"a8ad50282cd57a9f69f58a10954b1b157c3c0c6b"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"cb3f14785e9fa32aeb7459b0b5e6bdd8bedc8f7d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"If the value configured for encryption_api_url does not include the"},{"line_number":10,"context_line":"barbican API version, then some calls from cinder will fail. This can"},{"line_number":11,"context_line":"mean that encrypted volumes cannot be deleted. To prevent this happening"},{"line_number":12,"context_line":"raise an exception if the configured value for encryption_api_url does not"},{"line_number":13,"context_line":"include the barbican version."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I1a4c9b9e93d7d189a3cdf1469e8bb87817473da5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7a2fa921_fa33c860","line":12,"updated":"2015-10-12 16:19:29.000000000","message":"Wrap lines at 72 characters.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"4177444bf9ec048d4f763ba7fa3bfe5d1b112a63"}],"cinder/keymgr/barbican.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b3050806f44f0c3bd4b5589eefbad21e6833ea0e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        m \u003d URL_PATTERN.search(self._base_url)"},{"line_number":56,"context_line":"        if m is None:"},{"line_number":57,"context_line":"            raise exception.KeyManagerError(_("},{"line_number":58,"context_line":"                \"Invalid url, must be in the form \""},{"line_number":59,"context_line":"                \"\u0027http[s]://\u003cipaddr\u003e|\u003cfqdn\u003e[:port]/\u003cversion\u003e\u0027 %s\"),"},{"line_number":60,"context_line":"                self._base_url)"},{"line_number":61,"context_line":"        url_info \u003d dict(m.groupdict())"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_92a64052","line":58,"updated":"2015-10-01 18:33:16.000000000","message":"Suggest changing this to \u0027Invalid url:  Must be ...\"","commit_id":"577a240242082b7eba459feb4020457f96eddd12"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"918237d1a9f128a704de96c08d1ee32bc592b05e","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        m \u003d URL_PATTERN.search(self._base_url)"},{"line_number":56,"context_line":"        if m is None:"},{"line_number":57,"context_line":"            raise exception.KeyManagerError(_("},{"line_number":58,"context_line":"                \"Invalid url, must be in the form \""},{"line_number":59,"context_line":"                \"\u0027http[s]://\u003cipaddr\u003e|\u003cfqdn\u003e[:port]/\u003cversion\u003e\u0027 %s\"),"},{"line_number":60,"context_line":"                self._base_url)"},{"line_number":61,"context_line":"        url_info \u003d dict(m.groupdict())"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_88fb6c47","line":58,"in_reply_to":"9a1a9d01_92a64052","updated":"2015-10-01 21:13:07.000000000","message":"Done","commit_id":"577a240242082b7eba459feb4020457f96eddd12"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b3050806f44f0c3bd4b5589eefbad21e6833ea0e","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        if m is None:"},{"line_number":57,"context_line":"            raise exception.KeyManagerError(_("},{"line_number":58,"context_line":"                \"Invalid url, must be in the form \""},{"line_number":59,"context_line":"                \"\u0027http[s]://\u003cipaddr\u003e|\u003cfqdn\u003e[:port]/\u003cversion\u003e\u0027 %s\"),"},{"line_number":60,"context_line":"                self._base_url)"},{"line_number":61,"context_line":"        url_info \u003d dict(m.groupdict())"},{"line_number":62,"context_line":"        if \u0027url_version\u0027 not in url_info or url_info[\u0027url_version\u0027] \u003d\u003d \"\":"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_7d19fd78","line":59,"updated":"2015-10-01 18:33:16.000000000","message":"This should end like the next error message.  \u0027url specified is: %s\u0027","commit_id":"577a240242082b7eba459feb4020457f96eddd12"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"918237d1a9f128a704de96c08d1ee32bc592b05e","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        if m is None:"},{"line_number":57,"context_line":"            raise exception.KeyManagerError(_("},{"line_number":58,"context_line":"                \"Invalid url, must be in the form \""},{"line_number":59,"context_line":"                \"\u0027http[s]://\u003cipaddr\u003e|\u003cfqdn\u003e[:port]/\u003cversion\u003e\u0027 %s\"),"},{"line_number":60,"context_line":"                self._base_url)"},{"line_number":61,"context_line":"        url_info \u003d dict(m.groupdict())"},{"line_number":62,"context_line":"        if \u0027url_version\u0027 not in url_info or url_info[\u0027url_version\u0027] \u003d\u003d \"\":"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_489474e7","line":59,"in_reply_to":"9a1a9d01_7d19fd78","updated":"2015-10-01 21:13:07.000000000","message":"Done","commit_id":"577a240242082b7eba459feb4020457f96eddd12"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b3050806f44f0c3bd4b5589eefbad21e6833ea0e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        url_info \u003d dict(m.groupdict())"},{"line_number":62,"context_line":"        if \u0027url_version\u0027 not in url_info or url_info[\u0027url_version\u0027] \u003d\u003d \"\":"},{"line_number":63,"context_line":"            raise exception.KeyManagerError(_("},{"line_number":64,"context_line":"                \"Invalid barbican api url, version is required, \""},{"line_number":65,"context_line":"                \"e.g. \u0027http[s]://\u003cipaddr\u003e|\u003cfqdn\u003e[:port]/\u003cversion\u003e\u0027 \""},{"line_number":66,"context_line":"                \"url specified is %s\") % self._base_url)"},{"line_number":67,"context_line":"        # the barbican endpoint can\u0027t have the \u0027/v1\u0027 on the end"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_bd36b5e5","line":64,"updated":"2015-10-01 18:33:16.000000000","message":"Suggest changing the \u0027,\u0027 to \u0027:\u0027 here.","commit_id":"577a240242082b7eba459feb4020457f96eddd12"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"918237d1a9f128a704de96c08d1ee32bc592b05e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        url_info \u003d dict(m.groupdict())"},{"line_number":62,"context_line":"        if \u0027url_version\u0027 not in url_info or url_info[\u0027url_version\u0027] \u003d\u003d \"\":"},{"line_number":63,"context_line":"            raise exception.KeyManagerError(_("},{"line_number":64,"context_line":"                \"Invalid barbican api url, version is required, \""},{"line_number":65,"context_line":"                \"e.g. \u0027http[s]://\u003cipaddr\u003e|\u003cfqdn\u003e[:port]/\u003cversion\u003e\u0027 \""},{"line_number":66,"context_line":"                \"url specified is %s\") % self._base_url)"},{"line_number":67,"context_line":"        # the barbican endpoint can\u0027t have the \u0027/v1\u0027 on the end"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_6899381f","line":64,"in_reply_to":"9a1a9d01_bd36b5e5","updated":"2015-10-01 21:13:07.000000000","message":"Done","commit_id":"577a240242082b7eba459feb4020457f96eddd12"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b3050806f44f0c3bd4b5589eefbad21e6833ea0e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            raise exception.KeyManagerError(_("},{"line_number":64,"context_line":"                \"Invalid barbican api url, version is required, \""},{"line_number":65,"context_line":"                \"e.g. \u0027http[s]://\u003cipaddr\u003e|\u003cfqdn\u003e[:port]/\u003cversion\u003e\u0027 \""},{"line_number":66,"context_line":"                \"url specified is %s\") % self._base_url)"},{"line_number":67,"context_line":"        # the barbican endpoint can\u0027t have the \u0027/v1\u0027 on the end"},{"line_number":68,"context_line":"        self._barbican_endpoint \u003d url_info[\u0027url_base\u0027]"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_dd55a9fa","line":66,"updated":"2015-10-01 18:33:16.000000000","message":"This should be \u0027url specified is:  %s\u0027","commit_id":"577a240242082b7eba459feb4020457f96eddd12"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"918237d1a9f128a704de96c08d1ee32bc592b05e","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            raise exception.KeyManagerError(_("},{"line_number":64,"context_line":"                \"Invalid barbican api url, version is required, \""},{"line_number":65,"context_line":"                \"e.g. \u0027http[s]://\u003cipaddr\u003e|\u003cfqdn\u003e[:port]/\u003cversion\u003e\u0027 \""},{"line_number":66,"context_line":"                \"url specified is %s\") % self._base_url)"},{"line_number":67,"context_line":"        # the barbican endpoint can\u0027t have the \u0027/v1\u0027 on the end"},{"line_number":68,"context_line":"        self._barbican_endpoint \u003d url_info[\u0027url_base\u0027]"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_089e7c07","line":66,"in_reply_to":"9a1a9d01_dd55a9fa","updated":"2015-10-01 21:13:07.000000000","message":"Done","commit_id":"577a240242082b7eba459feb4020457f96eddd12"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"b8182467451e72683e3224f2265d0338db08f527","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                \"Invalid barbican api url: version is required, \""},{"line_number":65,"context_line":"                \"e.g. \u0027http[s]://\u003cipaddr\u003e|\u003cfqdn\u003e[:port]/\u003cversion\u003e\u0027 \""},{"line_number":66,"context_line":"                \"url specified is: %s\") % self._base_url)"},{"line_number":67,"context_line":"        # the barbican endpoint can\u0027t have the \u0027/v1\u0027 on the end"},{"line_number":68,"context_line":"        self._barbican_endpoint \u003d url_info[\u0027url_base\u0027]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def _get_barbican_client(self, ctxt):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_292ea2fa","line":67,"updated":"2015-10-04 15:42:52.000000000","message":"This patch is all about making sure the version exists in the url, and yet you still have a comment in here that says we can\u0027t have the version in the url.....\n\nMight want to clarify this point as the url_base already doesn\u0027t have the /v1 in it?","commit_id":"1b28262f3551b2cdab430632245b86a796c95f77"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"683c06454409f9bf3b685eb8302d4e26bb79138e","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                \"Invalid barbican api url: version is required, \""},{"line_number":65,"context_line":"                \"e.g. \u0027http[s]://\u003cipaddr\u003e|\u003cfqdn\u003e[:port]/\u003cversion\u003e\u0027 \""},{"line_number":66,"context_line":"                \"url specified is: %s\") % self._base_url)"},{"line_number":67,"context_line":"        # the barbican endpoint can\u0027t have the \u0027/v1\u0027 on the end"},{"line_number":68,"context_line":"        self._barbican_endpoint \u003d url_info[\u0027url_base\u0027]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def _get_barbican_client(self, ctxt):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_6a3b2339","line":67,"in_reply_to":"9a1a9d01_292ea2fa","updated":"2015-10-05 07:54:23.000000000","message":"Done, good point, thanks, though actually the _base_url *does*  have the /v1 in it.","commit_id":"1b28262f3551b2cdab430632245b86a796c95f77"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9106afdccec3656fcdb038e66a4020ac1b5ea078","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                \"e.g. \u0027http[s]://\u003cipaddr\u003e|\u003cfqdn\u003e[:port]/\u003cversion\u003e\u0027 \""},{"line_number":66,"context_line":"                \"url specified is: %s\") % self._base_url)"},{"line_number":67,"context_line":"        # We will also use the base URL, without the \u0027/v1\u0027. So save that now."},{"line_number":68,"context_line":"        self._barbican_endpoint \u003d url_info[\u0027url_base\u0027]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def _get_barbican_client(self, ctxt):"},{"line_number":71,"context_line":"        \"\"\"Creates a client to connect to the Barbican service."}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_e40ed8e4","line":68,"updated":"2015-10-05 20:27:18.000000000","message":"Please, move it out of validate method","commit_id":"aa7d44288b705d5b50d3336726392bf77e8b22ce"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"ca18b79d62934ad7313564b9829b7030acbb9342","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                \"e.g. \u0027http[s]://\u003cipaddr\u003e|\u003cfqdn\u003e[:port]/\u003cversion\u003e\u0027 \""},{"line_number":66,"context_line":"                \"url specified is: %s\") % self._base_url)"},{"line_number":67,"context_line":"        # We will also use the base URL, without the \u0027/v1\u0027. So save that now."},{"line_number":68,"context_line":"        self._barbican_endpoint \u003d url_info[\u0027url_base\u0027]"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def _get_barbican_client(self, ctxt):"},{"line_number":71,"context_line":"        \"\"\"Creates a client to connect to the Barbican service."}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_043f3bb5","line":68,"in_reply_to":"7a2fa921_e40ed8e4","updated":"2015-10-06 10:45:31.000000000","message":"I\u0027ve renamed the method to _parse_barbican_api_url() to reflect the fact that it\u0027s doing a bit more than validating. Otherwise either the re.match() would have to be called twice.\n\nDoes that address your concern?","commit_id":"aa7d44288b705d5b50d3336726392bf77e8b22ce"}],"cinder/tests/unit/keymgr/test_barbican.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9106afdccec3656fcdb038e66a4020ac1b5ea078","unresolved":false,"context_lines":[{"line_number":278,"context_line":"    def test_barbican_endpoint_validation(self):"},{"line_number":279,"context_line":"        self.key_mgr._barbican_client \u003d None"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        self.key_mgr.__init__()"},{"line_number":282,"context_line":"        CONF.keymgr.encryption_api_url \u003d \"http://host:port/\""},{"line_number":283,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":284,"context_line":"                          self.key_mgr.__init__)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_c41ddc10","line":281,"updated":"2015-10-05 20:27:18.000000000","message":"Please, do not call __init__","commit_id":"aa7d44288b705d5b50d3336726392bf77e8b22ce"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"ca18b79d62934ad7313564b9829b7030acbb9342","unresolved":false,"context_lines":[{"line_number":278,"context_line":"    def test_barbican_endpoint_validation(self):"},{"line_number":279,"context_line":"        self.key_mgr._barbican_client \u003d None"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        self.key_mgr.__init__()"},{"line_number":282,"context_line":"        CONF.keymgr.encryption_api_url \u003d \"http://host:port/\""},{"line_number":283,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":284,"context_line":"                          self.key_mgr.__init__)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_2426f768","line":281,"in_reply_to":"7a2fa921_c41ddc10","updated":"2015-10-06 10:45:31.000000000","message":"Done.\n\nBut can you explain why, please. \nAs it stands the assignment of CONF.keymgr.encryption_api_url to self._base_url in __init__() is being tested. After the change that is no longer true.","commit_id":"aa7d44288b705d5b50d3336726392bf77e8b22ce"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9106afdccec3656fcdb038e66a4020ac1b5ea078","unresolved":false,"context_lines":[{"line_number":281,"context_line":"        self.key_mgr.__init__()"},{"line_number":282,"context_line":"        CONF.keymgr.encryption_api_url \u003d \"http://host:port/\""},{"line_number":283,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":284,"context_line":"                          self.key_mgr.__init__)"},{"line_number":285,"context_line":"        CONF.keymgr.encryption_api_url \u003d \"http://host:port/secrets\""},{"line_number":286,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":287,"context_line":"                          self.key_mgr.__init__)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_a4e78011","line":284,"updated":"2015-10-05 20:27:18.000000000","message":"self.key_mgr.__init__ \u003d\u003e _validate_barbican_url","commit_id":"aa7d44288b705d5b50d3336726392bf77e8b22ce"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"ca18b79d62934ad7313564b9829b7030acbb9342","unresolved":false,"context_lines":[{"line_number":281,"context_line":"        self.key_mgr.__init__()"},{"line_number":282,"context_line":"        CONF.keymgr.encryption_api_url \u003d \"http://host:port/\""},{"line_number":283,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":284,"context_line":"                          self.key_mgr.__init__)"},{"line_number":285,"context_line":"        CONF.keymgr.encryption_api_url \u003d \"http://host:port/secrets\""},{"line_number":286,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":287,"context_line":"                          self.key_mgr.__init__)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_e420ff4b","line":284,"in_reply_to":"7a2fa921_a4e78011","updated":"2015-10-06 10:45:31.000000000","message":"Done","commit_id":"aa7d44288b705d5b50d3336726392bf77e8b22ce"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"9106afdccec3656fcdb038e66a4020ac1b5ea078","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                          self.key_mgr.__init__)"},{"line_number":285,"context_line":"        CONF.keymgr.encryption_api_url \u003d \"http://host:port/secrets\""},{"line_number":286,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":287,"context_line":"                          self.key_mgr.__init__)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_64f168cd","line":287,"updated":"2015-10-05 20:27:18.000000000","message":"self.key_mgr.__init__ \u003d\u003e _validate_barbican_url","commit_id":"aa7d44288b705d5b50d3336726392bf77e8b22ce"},{"author":{"_account_id":1773,"name":"oliver-leahy-l","email":"oliver.leahy@hpe.com","username":"oliver-leahy-l"},"change_message_id":"ca18b79d62934ad7313564b9829b7030acbb9342","unresolved":false,"context_lines":[{"line_number":284,"context_line":"                          self.key_mgr.__init__)"},{"line_number":285,"context_line":"        CONF.keymgr.encryption_api_url \u003d \"http://host:port/secrets\""},{"line_number":286,"context_line":"        self.assertRaises(exception.KeyManagerError,"},{"line_number":287,"context_line":"                          self.key_mgr.__init__)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a2fa921_64d38f39","line":287,"in_reply_to":"7a2fa921_64f168cd","updated":"2015-10-06 10:45:31.000000000","message":"Done","commit_id":"aa7d44288b705d5b50d3336726392bf77e8b22ce"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"2048f997170a5805d137e5741a59286fe147d8dd","unresolved":false,"context_lines":[{"line_number":276,"context_line":"                                            endpoint\u003dmock_endpoint)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    def test_parse_barbican_api_url(self):"},{"line_number":279,"context_line":"        # assert that the correct format is handled correctly"},{"line_number":280,"context_line":"        CONF.keymgr.encryption_api_url \u003d \"http://host:port/v1/\""},{"line_number":281,"context_line":"        dummy \u003d barbican.BarbicanKeyManager()"},{"line_number":282,"context_line":"        self.assertEqual(dummy._barbican_endpoint, \"http://host:port\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a2fa921_3465cce0","line":279,"updated":"2015-10-12 19:53:56.000000000","message":"If you will be made to do another spin of the patch, consider adding tests with https:// protocol and version in form of v1.0.","commit_id":"4177444bf9ec048d4f763ba7fa3bfe5d1b112a63"}]}
