)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2de5139afa6950bda2406f4941f70771cc0d562c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Reuse existing token from RequestContext"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When castellan trying to recreate trust-scoped token"},{"line_number":10,"context_line":"from RequestContext keystone throw exception"},{"line_number":11,"context_line":"because it\u0027s not allowed."},{"line_number":12,"context_line":"Starting from this commit castellan trying to"},{"line_number":13,"context_line":"reuse existing token constructed from RequestContext"},{"line_number":14,"context_line":"if get_auth_plugin() is available."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"5faad753_7163d6dd","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":25},"updated":"2019-09-09 16:36:18.000000000","message":"This failed because castellan was trying to create a trust for a different user or?","commit_id":"5d936763380b9d97df409de2d33b3e9b98d61a94"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"7082b93b3cb345ae6c4947f3dde93f6010da824d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Reuse existing token from RequestContext"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When castellan trying to recreate trust-scoped token"},{"line_number":10,"context_line":"from RequestContext keystone throw exception"},{"line_number":11,"context_line":"because it\u0027s not allowed."},{"line_number":12,"context_line":"Starting from this commit castellan trying to"},{"line_number":13,"context_line":"reuse existing token constructed from RequestContext"},{"line_number":14,"context_line":"if get_auth_plugin() is available."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"3fa7e38b_ee923a4b","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":25},"in_reply_to":"5faad753_7163d6dd","updated":"2019-09-23 19:23:53.000000000","message":"no, this is when the incoming token is already created from trust (like e.g. Heat ones for deferred auth when autoscaling).\nInstead of just re-using the token, Castellan tries to create a new token from existing one, and this is forbidden for trust-generated tokens in Keystone.","commit_id":"5d936763380b9d97df409de2d33b3e9b98d61a94"}],"castellan/key_manager/barbican_key_manager.py":[{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"5b8b0f953c0be2aa488fdb36365439b78d77d40b","unresolved":false,"context_lines":[{"line_number":121,"context_line":"            return self._barbican_client"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"        try:"},{"line_number":124,"context_line":"            auth \u003d self._get_keystone_auth(context)"},{"line_number":125,"context_line":"            sess \u003d self._process_barbican(auth, context)"},{"line_number":126,"context_line":"            self._base_url \u003d self._create_base_url("},{"line_number":127,"context_line":"                auth, sess, self._barbican_endpoint)"}],"source_content_type":"text/x-python","patch_set":13,"id":"9fb8cfa7_fc7e5117","line":124,"range":{"start_line":124,"start_character":12,"end_line":124,"end_character":51},"updated":"2019-06-11 10:37:48.000000000","message":"I would suggest to always try to use the auth from context is available:\n\ncheck that context has the get_auth_plugin method first - it is not part of base oslo.context Context object, and is only implemented in several services for now\n\nhttp://codesearch.openstack.org/?q\u003ddef%20get_auth_plugin\u0026i\u003dnope\u0026files\u003d.*context.*\u0026repos\u003d\n\nbut at least those main known consumers of castellan (nova and cinder) do.\n\nand if it is there - use it\u0027s auth, otherwise use the _get_keystone_auth method","commit_id":"14dbc112ba3cd740e2b4405e2a7c19af0d2c120e"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"7698fdb1bd750d0c6c5bfde308ee58f2934b57ee","unresolved":false,"context_lines":[{"line_number":224,"context_line":"            latest_version \u003d raw_data[-1]"},{"line_number":225,"context_line":"            api_version \u003d latest_version.get(\u0027id\u0027)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        if not api_version:"},{"line_number":228,"context_line":"            return endpoint"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        if endpoint[-1] !\u003d \u0027/\u0027:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9fb8cfa7_df257ac3","line":227,"updated":"2019-06-11 15:29:03.000000000","message":"I don\u0027t think you need to do that, example:\n```\nendpoint \u003d \"http://test.com\"\napi_version \u003d None\nurllib.parse.urljoin(endpoint, api_version)\n# will give \u003d\u003e \u0027http://test.com\u0027\napi_version \u003d \"2.0.0\"\nurllib.parse.urljoin(endpoint, api_version)\n# will give \u003d\u003e \u0027http://test.com/2.0.0\u0027\n```\n\nSo I think the final statement `return base_url` (line 236) is enough here even if `api_version` is `None`.","commit_id":"9f994581a23fba4aa9cf82a362d93227a0cb72e7"},{"author":{"_account_id":8478,"name":"Vladislav Kuzmin","email":"vkuzmin@mirantis.com","username":"vkuzmin"},"change_message_id":"276196ad03d088f2229500cb848edd043835f388","unresolved":false,"context_lines":[{"line_number":224,"context_line":"            latest_version \u003d raw_data[-1]"},{"line_number":225,"context_line":"            api_version \u003d latest_version.get(\u0027id\u0027)"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        if not api_version:"},{"line_number":228,"context_line":"            return endpoint"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        if endpoint[-1] !\u003d \u0027/\u0027:"}],"source_content_type":"text/x-python","patch_set":15,"id":"9fb8cfa7_65c858a5","line":227,"in_reply_to":"9fb8cfa7_df257ac3","updated":"2019-06-13 11:46:32.000000000","message":"Done","commit_id":"9f994581a23fba4aa9cf82a362d93227a0cb72e7"}]}
