)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7535,"name":"Nikolay Starodubtsev","email":"starodubcevna@gmail.com","username":"Kezar"},"change_message_id":"9a3ce8f5c80f1c62795d23042601cf05830e7ae3","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If auth_type is set in the keystone_authtoken section,"},{"line_number":10,"context_line":"then one can use the the keystoneauth1 library to load the"},{"line_number":11,"context_line":"authentication plugin. This makes Keystone v3 fully workable,"},{"line_number":12,"context_line":"and also removes the hardcoded \u0027Default\u0027 domain in v3"},{"line_number":13,"context_line":"environments."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Related-Bug: 1580611"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3aaa91ec_7167bc25","line":13,"range":{"start_line":11,"start_character":23,"end_line":13,"end_character":13},"updated":"2016-06-28 08:34:44.000000000","message":"This sentence looks confusing for me. Keystone v3 worked previously and I still see hardcoded \u0027Default\u0027 domain in the code. So what is this sentence about?","commit_id":"48eef8c9a5eb6e2dc7abbbc4f0eee27818aeeab8"},{"author":{"_account_id":18940,"name":"Gyorgy Szombathelyi","email":"gyurco@freemail.hu","username":"gyurco78"},"change_message_id":"6b3580b1178b93a3a38dc91cba747bd15bf762d8","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If auth_type is set in the keystone_authtoken section,"},{"line_number":10,"context_line":"then one can use the the keystoneauth1 library to load the"},{"line_number":11,"context_line":"authentication plugin. This makes Keystone v3 fully workable,"},{"line_number":12,"context_line":"and also removes the hardcoded \u0027Default\u0027 domain in v3"},{"line_number":13,"context_line":"environments."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Related-Bug: 1580611"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3aaa91ec_969de2bd","line":13,"range":{"start_line":11,"start_character":23,"end_line":13,"end_character":13},"in_reply_to":"3aaa91ec_7167bc25","updated":"2016-06-28 15:38:24.000000000","message":"- Fully worked before: yes, if the domain was called \u0027Default\u0027\n- Removes the hardcoded \u0027Default\u0027 domain: if keystone_authtoken properly configured (auth_type\u003dpassword, user_name, user_domain_name, project_name, project_domain_name and so on.)","commit_id":"48eef8c9a5eb6e2dc7abbbc4f0eee27818aeeab8"},{"author":{"_account_id":18940,"name":"Gyorgy Szombathelyi","email":"gyurco@freemail.hu","username":"gyurco78"},"change_message_id":"49239f7af1e5ec67440848b085f1b2398937e7a4","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"If auth_type is set in the keystone_authtoken section,"},{"line_number":10,"context_line":"then one can use the the keystoneauth1 library to load the"},{"line_number":11,"context_line":"authentication plugin. This makes Keystone v3 fully workable,"},{"line_number":12,"context_line":"and also removes the hardcoded \u0027Default\u0027 domain in v3"},{"line_number":13,"context_line":"environments."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Related-Bug: 1580611"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"3aaa91ec_5667fab6","line":13,"range":{"start_line":11,"start_character":23,"end_line":13,"end_character":13},"in_reply_to":"3aaa91ec_969de2bd","updated":"2016-06-28 15:40:12.000000000","message":"The fallback code must be left there because of backward compatibilty reasons. If removed, then old configs will break.","commit_id":"48eef8c9a5eb6e2dc7abbbc4f0eee27818aeeab8"}],"murano/api/middleware/ext_context.py":[{"author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"change_message_id":"fb6f5aed5ab6439e89dd3ff6193d2319a99c7b6d","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            try:"},{"line_number":65,"context_line":"                self._murano_endpoint \u003d auth.get_endpoint("},{"line_number":66,"context_line":"                    session, \u0027application-catalog\u0027)"},{"line_number":67,"context_line":"            except exceptions.EndpointNotFound:"},{"line_number":68,"context_line":"                pass"},{"line_number":69,"context_line":"        if not hasattr(self, \u0027_glare_endpoint\u0027):"},{"line_number":70,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_182db4a7","line":67,"range":{"start_line":67,"start_character":19,"end_line":67,"end_character":29},"updated":"2016-06-22 14:03:16.000000000","message":"I think this excptions should:\nfrom keystoneauth1 import exceptions","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"8ef455cb530cdc4010386eec6ded581d311ba708","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            try:"},{"line_number":65,"context_line":"                self._murano_endpoint \u003d auth.get_endpoint("},{"line_number":66,"context_line":"                    session, \u0027application-catalog\u0027)"},{"line_number":67,"context_line":"            except exceptions.EndpointNotFound:"},{"line_number":68,"context_line":"                pass"},{"line_number":69,"context_line":"        if not hasattr(self, \u0027_glare_endpoint\u0027):"},{"line_number":70,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_b36e41c7","line":67,"range":{"start_line":67,"start_character":19,"end_line":67,"end_character":29},"in_reply_to":"3aaa91ec_182db4a7","updated":"2016-06-22 14:04:20.000000000","message":"I don\u0027t get this comment \u003d) it is on line 17","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"change_message_id":"3dce8b36ca50e2718535a6aa215b56d880f9886c","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            try:"},{"line_number":65,"context_line":"                self._murano_endpoint \u003d auth.get_endpoint("},{"line_number":66,"context_line":"                    session, \u0027application-catalog\u0027)"},{"line_number":67,"context_line":"            except exceptions.EndpointNotFound:"},{"line_number":68,"context_line":"                pass"},{"line_number":69,"context_line":"        if not hasattr(self, \u0027_glare_endpoint\u0027):"},{"line_number":70,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_13bc7504","line":67,"range":{"start_line":67,"start_character":19,"end_line":67,"end_character":29},"in_reply_to":"3aaa91ec_b36e41c7","updated":"2016-06-22 14:06:31.000000000","message":"sorry, my bad","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"change_message_id":"fb6f5aed5ab6439e89dd3ff6193d2319a99c7b6d","unresolved":false,"context_lines":[{"line_number":70,"context_line":"            try:"},{"line_number":71,"context_line":"                self._glare_endpoint \u003d auth.get_endpoint("},{"line_number":72,"context_line":"                    session, \u0027artifact\u0027)"},{"line_number":73,"context_line":"            except exceptions.EndpointNotFound:"},{"line_number":74,"context_line":"                pass"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def get_endpoints(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_53043d14","line":73,"range":{"start_line":73,"start_character":19,"end_line":73,"end_character":29},"updated":"2016-06-22 14:03:16.000000000","message":"ditto","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"}],"murano/common/auth_utils.py":[{"author":{"_account_id":20259,"name":"Clenimar Filemon","email":"clenimar@lsd.ufcg.edu.br","username":"clenimar"},"change_message_id":"8c9cf6a6551f2a6799d6ab0f26eae8cf7c189fd2","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from keystoneauth1 import loading as ka_loading"},{"line_number":16,"context_line":"from keystoneclient.auth import identity"},{"line_number":17,"context_line":"from keystoneclient.v3 import client as ks_client"},{"line_number":18,"context_line":"from oslo_config import cfg"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_9cd6bac3","line":16,"range":{"start_line":16,"start_character":5,"end_line":16,"end_character":24},"updated":"2016-06-20 23:52:30.000000000","message":"should be keystoneauth1","commit_id":"8b5f076a9ca997fc57f77b0740fb378fbb3c47ca"},{"author":{"_account_id":20259,"name":"Clenimar Filemon","email":"clenimar@lsd.ufcg.edu.br","username":"clenimar"},"change_message_id":"8c9cf6a6551f2a6799d6ab0f26eae8cf7c189fd2","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"CFG_KEYSTONE_GROUP \u003d \u0027keystone_authtoken\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"cfg.CONF.import_group(CFG_KEYSTONE_GROUP, \u0027keystonemiddleware.auth_token\u0027)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"@helpers.memoize"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_9787b50e","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":74},"updated":"2016-06-20 23:52:30.000000000","message":"we should take these options from keystoneauth1 too. use `loading.get_plugin_options(\u0027password\u0027)`, for example, and you\u0027ll get the new auth options (and the old ones as well).","commit_id":"8b5f076a9ca997fc57f77b0740fb378fbb3c47ca"},{"author":{"_account_id":20259,"name":"Clenimar Filemon","email":"clenimar@lsd.ufcg.edu.br","username":"clenimar"},"change_message_id":"8c9cf6a6551f2a6799d6ab0f26eae8cf7c189fd2","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"@helpers.memoize"},{"line_number":29,"context_line":"def _create_keystone_admin_client():"},{"line_number":30,"context_line":"    password_auth \u003d ka_loading.load_auth_from_conf_options("},{"line_number":31,"context_line":"        cfg.CONF,"},{"line_number":32,"context_line":"        CFG_KEYSTONE_GROUP)"},{"line_number":33,"context_line":"    session \u003d _get_session("},{"line_number":34,"context_line":"        auth\u003dpassword_auth,"},{"line_number":35,"context_line":"        conf_section\u003dcfg.CONF[CFG_KEYSTONE_GROUP])"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_f70c3944","line":32,"range":{"start_line":30,"start_character":4,"end_line":32,"end_character":27},"updated":"2016-06-20 23:52:30.000000000","message":"does this ensure backwards compatibility?","commit_id":"8b5f076a9ca997fc57f77b0740fb378fbb3c47ca"},{"author":{"_account_id":18940,"name":"Gyorgy Szombathelyi","email":"gyurco@freemail.hu","username":"gyurco78"},"change_message_id":"fa1f5a607819e8127fda4f67045959f3d317a5c6","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"@helpers.memoize"},{"line_number":29,"context_line":"def _create_keystone_admin_client():"},{"line_number":30,"context_line":"    password_auth \u003d ka_loading.load_auth_from_conf_options("},{"line_number":31,"context_line":"        cfg.CONF,"},{"line_number":32,"context_line":"        CFG_KEYSTONE_GROUP)"},{"line_number":33,"context_line":"    session \u003d _get_session("},{"line_number":34,"context_line":"        auth\u003dpassword_auth,"},{"line_number":35,"context_line":"        conf_section\u003dcfg.CONF[CFG_KEYSTONE_GROUP])"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_8796554a","line":32,"range":{"start_line":30,"start_character":4,"end_line":32,"end_character":27},"in_reply_to":"5a9d85d2_2472ffad","updated":"2016-06-21 08:03:31.000000000","message":"Ah, I misunderstood you. So will it work with the old v2 options and a v3 keystone? No. I\u0027m going to fix it.","commit_id":"8b5f076a9ca997fc57f77b0740fb378fbb3c47ca"},{"author":{"_account_id":18940,"name":"Gyorgy Szombathelyi","email":"gyurco@freemail.hu","username":"gyurco78"},"change_message_id":"ff014884e3dcfdeed1b2983b87a444d5f6e6f189","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"@helpers.memoize"},{"line_number":29,"context_line":"def _create_keystone_admin_client():"},{"line_number":30,"context_line":"    password_auth \u003d ka_loading.load_auth_from_conf_options("},{"line_number":31,"context_line":"        cfg.CONF,"},{"line_number":32,"context_line":"        CFG_KEYSTONE_GROUP)"},{"line_number":33,"context_line":"    session \u003d _get_session("},{"line_number":34,"context_line":"        auth\u003dpassword_auth,"},{"line_number":35,"context_line":"        conf_section\u003dcfg.CONF[CFG_KEYSTONE_GROUP])"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_2472ffad","line":32,"range":{"start_line":30,"start_character":4,"end_line":32,"end_character":27},"in_reply_to":"5a9d85d2_f70c3944","updated":"2016-06-21 07:32:46.000000000","message":"I found no callers with scoped\u003dFalse, so I hope so.","commit_id":"8b5f076a9ca997fc57f77b0740fb378fbb3c47ca"},{"author":{"_account_id":20259,"name":"Clenimar Filemon","email":"clenimar@lsd.ufcg.edu.br","username":"clenimar"},"change_message_id":"8c9cf6a6551f2a6799d6ab0f26eae8cf7c189fd2","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"def _get_session(auth, conf_section):"},{"line_number":107,"context_line":"    # Fallback to keystone_authtoken section for TLS parameters"},{"line_number":108,"context_line":"    if not conf_section:"},{"line_number":109,"context_line":"        conf_section \u003d cfg.CONF[CFG_KEYSTONE_GROUP]"},{"line_number":110,"context_line":"    session \u003d ka_loading.session.Session().load_from_options("}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_7737a9b0","line":107,"range":{"start_line":107,"start_character":49,"end_line":107,"end_character":52},"updated":"2016-06-20 23:52:30.000000000","message":"?","commit_id":"8b5f076a9ca997fc57f77b0740fb378fbb3c47ca"},{"author":{"_account_id":18940,"name":"Gyorgy Szombathelyi","email":"gyurco@freemail.hu","username":"gyurco78"},"change_message_id":"ff014884e3dcfdeed1b2983b87a444d5f6e6f189","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"def _get_session(auth, conf_section):"},{"line_number":107,"context_line":"    # Fallback to keystone_authtoken section for TLS parameters"},{"line_number":108,"context_line":"    if not conf_section:"},{"line_number":109,"context_line":"        conf_section \u003d cfg.CONF[CFG_KEYSTONE_GROUP]"},{"line_number":110,"context_line":"    session \u003d ka_loading.session.Session().load_from_options("}],"source_content_type":"text/x-python","patch_set":1,"id":"5a9d85d2_c41e9b62","line":107,"range":{"start_line":107,"start_character":49,"end_line":107,"end_character":52},"in_reply_to":"5a9d85d2_7737a9b0","updated":"2016-06-21 07:32:46.000000000","message":"The callers are not passing a conf_section (which are heat, nova, etc...) always, in this case, use the tls options from keystone_authtoken.","commit_id":"8b5f076a9ca997fc57f77b0740fb378fbb3c47ca"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"496beed66cf2c5bc2a39cb9c06fc197ccec15f94","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        # The recent setting is simply \u0027password\u0027"},{"line_number":32,"context_line":"        kwargs \u003d {"},{"line_number":33,"context_line":"            \u0027auth_url\u0027:"},{"line_number":34,"context_line":"                cfg.CONF[CFG_KEYSTONE_GROUP].auth_uri.replace(\u0027v2.0\u0027, \u0027v3\u0027),"},{"line_number":35,"context_line":"            \u0027username\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_user,"},{"line_number":36,"context_line":"            \u0027password\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_password,"},{"line_number":37,"context_line":"            \u0027user_domain_name\u0027: \"Default\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_5808d52d","line":34,"updated":"2016-06-22 15:48:31.000000000","message":"Hard-coding URL parts in the code is not a good idea, I\u0027d rather remove any version information and use keystone API version discovery.","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"a8373d0548f3544ef760c90f8f9d4ad4f28280f7","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def _get_keystone_auth(trust_id\u003dNone):"},{"line_number":29,"context_line":"    if cfg.CONF[CFG_KEYSTONE_GROUP].admin_password:"},{"line_number":30,"context_line":"        # Fallback for legacy v2 options if admin_password is set"},{"line_number":31,"context_line":"        # The recent setting is simply \u0027password\u0027"},{"line_number":32,"context_line":"        kwargs \u003d {"},{"line_number":33,"context_line":"            \u0027auth_url\u0027:"},{"line_number":34,"context_line":"                cfg.CONF[CFG_KEYSTONE_GROUP].auth_uri.replace(\u0027v2.0\u0027, \u0027v3\u0027),"},{"line_number":35,"context_line":"            \u0027username\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_user,"},{"line_number":36,"context_line":"            \u0027password\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_password,"},{"line_number":37,"context_line":"            \u0027user_domain_name\u0027: \"Default\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_2d3cade1","line":34,"range":{"start_line":30,"start_character":0,"end_line":34,"end_character":76},"updated":"2016-06-22 15:42:05.000000000","message":"i don\u0027t quite get it. The comment says about falling back to v2.0, but the replace changes v2.0 to v3. Could you please explain why you do this?","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"80141826cfe6e0167c2dfc411b0c65714b6f0d67","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def _get_keystone_auth(trust_id\u003dNone):"},{"line_number":29,"context_line":"    if cfg.CONF[CFG_KEYSTONE_GROUP].admin_password:"},{"line_number":30,"context_line":"        # Fallback for legacy v2 options if admin_password is set"},{"line_number":31,"context_line":"        # The recent setting is simply \u0027password\u0027"},{"line_number":32,"context_line":"        kwargs \u003d {"},{"line_number":33,"context_line":"            \u0027auth_url\u0027:"},{"line_number":34,"context_line":"                cfg.CONF[CFG_KEYSTONE_GROUP].auth_uri.replace(\u0027v2.0\u0027, \u0027v3\u0027),"},{"line_number":35,"context_line":"            \u0027username\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_user,"},{"line_number":36,"context_line":"            \u0027password\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_password,"},{"line_number":37,"context_line":"            \u0027user_domain_name\u0027: \"Default\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_d3630640","line":34,"range":{"start_line":30,"start_character":0,"end_line":34,"end_character":76},"in_reply_to":"3aaa91ec_135c6eec","updated":"2016-06-22 15:55:18.000000000","message":"got it","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":18940,"name":"Gyorgy Szombathelyi","email":"gyurco@freemail.hu","username":"gyurco78"},"change_message_id":"4866cfc880ff059310d5a4bd5171b313dfd08ab3","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def _get_keystone_auth(trust_id\u003dNone):"},{"line_number":29,"context_line":"    if cfg.CONF[CFG_KEYSTONE_GROUP].admin_password:"},{"line_number":30,"context_line":"        # Fallback for legacy v2 options if admin_password is set"},{"line_number":31,"context_line":"        # The recent setting is simply \u0027password\u0027"},{"line_number":32,"context_line":"        kwargs \u003d {"},{"line_number":33,"context_line":"            \u0027auth_url\u0027:"},{"line_number":34,"context_line":"                cfg.CONF[CFG_KEYSTONE_GROUP].auth_uri.replace(\u0027v2.0\u0027, \u0027v3\u0027),"},{"line_number":35,"context_line":"            \u0027username\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_user,"},{"line_number":36,"context_line":"            \u0027password\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_password,"},{"line_number":37,"context_line":"            \u0027user_domain_name\u0027: \"Default\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_135c6eec","line":34,"range":{"start_line":30,"start_character":0,"end_line":34,"end_character":76},"in_reply_to":"3aaa91ec_2d3cade1","updated":"2016-06-22 15:48:16.000000000","message":"Well, it was there before. I think it is for cases, when you migrated to v3, but left v2.0 in auth_uri. This whole block is only for preseving compatability with the old setup (look at the left side), which you can found in devstack and the docs. Normally the uri is unversioned (at least in devstack it is).","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":18940,"name":"Gyorgy Szombathelyi","email":"gyurco@freemail.hu","username":"gyurco78"},"change_message_id":"8b2ad5115befa248b0509dc8ec32689181b32c75","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        # The recent setting is simply \u0027password\u0027"},{"line_number":32,"context_line":"        kwargs \u003d {"},{"line_number":33,"context_line":"            \u0027auth_url\u0027:"},{"line_number":34,"context_line":"                cfg.CONF[CFG_KEYSTONE_GROUP].auth_uri.replace(\u0027v2.0\u0027, \u0027v3\u0027),"},{"line_number":35,"context_line":"            \u0027username\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_user,"},{"line_number":36,"context_line":"            \u0027password\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_password,"},{"line_number":37,"context_line":"            \u0027user_domain_name\u0027: \"Default\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_b3211afe","line":34,"in_reply_to":"3aaa91ec_5808d52d","updated":"2016-06-22 15:57:53.000000000","message":"I think the previous developer made this because he wanted the move to keystone v3 without changing the config. This whole block is a compatibility hack.","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"496beed66cf2c5bc2a39cb9c06fc197ccec15f94","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        }"},{"line_number":39,"context_line":"        if not trust_id:"},{"line_number":40,"context_line":"            kwargs[\u0027project_name\u0027] \u003d \\"},{"line_number":41,"context_line":"                cfg.CONF[CFG_KEYSTONE_GROUP].admin_tenant_name,"},{"line_number":42,"context_line":"            kwargs[\u0027project_domain_name\u0027] \u003d \"Default\""},{"line_number":43,"context_line":"        else:"},{"line_number":44,"context_line":"            kwargs[\u0027trust_id\u0027] \u003d trust_id"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_b3baba21","line":41,"range":{"start_line":41,"start_character":62,"end_line":41,"end_character":63},"updated":"2016-06-22 15:48:31.000000000","message":"Are you sure assigning a tuple to project_name?","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":18940,"name":"Gyorgy Szombathelyi","email":"gyurco@freemail.hu","username":"gyurco78"},"change_message_id":"8b2ad5115befa248b0509dc8ec32689181b32c75","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        }"},{"line_number":39,"context_line":"        if not trust_id:"},{"line_number":40,"context_line":"            kwargs[\u0027project_name\u0027] \u003d \\"},{"line_number":41,"context_line":"                cfg.CONF[CFG_KEYSTONE_GROUP].admin_tenant_name,"},{"line_number":42,"context_line":"            kwargs[\u0027project_domain_name\u0027] \u003d \"Default\""},{"line_number":43,"context_line":"        else:"},{"line_number":44,"context_line":"            kwargs[\u0027trust_id\u0027] \u003d trust_id"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_13baae6e","line":41,"range":{"start_line":41,"start_character":62,"end_line":41,"end_character":63},"in_reply_to":"3aaa91ec_93c05e2c","updated":"2016-06-22 15:57:53.000000000","message":"Well, it is not in parenthesis, so it worked :) Of course it must be written better. Done in the next patchset.","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"dd349dba0ba4d717279371a8dd6d34618dbb6d02","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        }"},{"line_number":39,"context_line":"        if not trust_id:"},{"line_number":40,"context_line":"            kwargs[\u0027project_name\u0027] \u003d \\"},{"line_number":41,"context_line":"                cfg.CONF[CFG_KEYSTONE_GROUP].admin_tenant_name,"},{"line_number":42,"context_line":"            kwargs[\u0027project_domain_name\u0027] \u003d \"Default\""},{"line_number":43,"context_line":"        else:"},{"line_number":44,"context_line":"            kwargs[\u0027trust_id\u0027] \u003d trust_id"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_93c05e2c","line":41,"range":{"start_line":41,"start_character":62,"end_line":41,"end_character":63},"in_reply_to":"3aaa91ec_b3baba21","updated":"2016-06-22 15:50:11.000000000","message":"I\u0027m pretty sure this function should fail. Is it tested?","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"a8373d0548f3544ef760c90f8f9d4ad4f28280f7","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            \u0027password\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_password,"},{"line_number":37,"context_line":"            \u0027user_domain_name\u0027: \"Default\""},{"line_number":38,"context_line":"        }"},{"line_number":39,"context_line":"        if not trust_id:"},{"line_number":40,"context_line":"            kwargs[\u0027project_name\u0027] \u003d \\"},{"line_number":41,"context_line":"                cfg.CONF[CFG_KEYSTONE_GROUP].admin_tenant_name,"},{"line_number":42,"context_line":"            kwargs[\u0027project_domain_name\u0027] \u003d \"Default\""},{"line_number":43,"context_line":"        else:"},{"line_number":44,"context_line":"            kwargs[\u0027trust_id\u0027] \u003d trust_id"},{"line_number":45,"context_line":"        auth \u003d identity.Password(**kwargs)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_18f76df6","line":42,"range":{"start_line":39,"start_character":8,"end_line":42,"end_character":53},"updated":"2016-06-22 15:42:05.000000000","message":"this is a little weird. There are no trusts in v2.0 API. And there are no domains.","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":18940,"name":"Gyorgy Szombathelyi","email":"gyurco@freemail.hu","username":"gyurco78"},"change_message_id":"4866cfc880ff059310d5a4bd5171b313dfd08ab3","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            \u0027password\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_password,"},{"line_number":37,"context_line":"            \u0027user_domain_name\u0027: \"Default\""},{"line_number":38,"context_line":"        }"},{"line_number":39,"context_line":"        if not trust_id:"},{"line_number":40,"context_line":"            kwargs[\u0027project_name\u0027] \u003d \\"},{"line_number":41,"context_line":"                cfg.CONF[CFG_KEYSTONE_GROUP].admin_tenant_name,"},{"line_number":42,"context_line":"            kwargs[\u0027project_domain_name\u0027] \u003d \"Default\""},{"line_number":43,"context_line":"        else:"},{"line_number":44,"context_line":"            kwargs[\u0027trust_id\u0027] \u003d trust_id"},{"line_number":45,"context_line":"        auth \u003d identity.Password(**kwargs)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_f3d3a236","line":42,"range":{"start_line":39,"start_character":8,"end_line":42,"end_character":53},"in_reply_to":"3aaa91ec_18f76df6","updated":"2016-06-22 15:48:16.000000000","message":"Look at the left side, it was there before. Luckily the identity.Password object can automagically choose between the correct setup between v2.0 and v3. I would get rid of this whole block, but it can break old configs.","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"80141826cfe6e0167c2dfc411b0c65714b6f0d67","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            \u0027password\u0027: cfg.CONF[CFG_KEYSTONE_GROUP].admin_password,"},{"line_number":37,"context_line":"            \u0027user_domain_name\u0027: \"Default\""},{"line_number":38,"context_line":"        }"},{"line_number":39,"context_line":"        if not trust_id:"},{"line_number":40,"context_line":"            kwargs[\u0027project_name\u0027] \u003d \\"},{"line_number":41,"context_line":"                cfg.CONF[CFG_KEYSTONE_GROUP].admin_tenant_name,"},{"line_number":42,"context_line":"            kwargs[\u0027project_domain_name\u0027] \u003d \"Default\""},{"line_number":43,"context_line":"        else:"},{"line_number":44,"context_line":"            kwargs[\u0027trust_id\u0027] \u003d trust_id"},{"line_number":45,"context_line":"        auth \u003d identity.Password(**kwargs)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_b382ba92","line":42,"range":{"start_line":39,"start_character":8,"end_line":42,"end_character":53},"in_reply_to":"3aaa91ec_f3d3a236","updated":"2016-06-22 15:55:18.000000000","message":"got it","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":14107,"name":"zhurong","email":"aaronzhu1121@gmail.com","username":"zhurong"},"change_message_id":"951ce151cbf7b0b877ea8b46c5779f9f29ffcd19","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            kwargs[\u0027trust_id\u0027] \u003d trust_id"},{"line_number":55,"context_line":"        auth \u003d ka_loading.load_auth_from_conf_options("},{"line_number":56,"context_line":"            cfg.CONF,"},{"line_number":57,"context_line":"            CFG_KEYSTONE_GROUP,"},{"line_number":58,"context_line":"            **kwargs)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    return auth"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_58d9f582","line":57,"range":{"start_line":57,"start_character":12,"end_line":57,"end_character":30},"updated":"2016-06-22 15:32:42.000000000","message":"Here use CFG_KEYSTONE_GROUP for load_auth_from_conf_options, that just as use the admin user/password with trust_id to auth(like the above \u0027if\u0027 auth), I check that with heat, there have the TRUSTEE_CONF_GROUP for this auth.\nhttps://github.com/openstack/heat/blob/master/heat/common/context.py#L186-L187","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":18940,"name":"Gyorgy Szombathelyi","email":"gyurco@freemail.hu","username":"gyurco78"},"change_message_id":"4866cfc880ff059310d5a4bd5171b313dfd08ab3","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            kwargs[\u0027trust_id\u0027] \u003d trust_id"},{"line_number":55,"context_line":"        auth \u003d ka_loading.load_auth_from_conf_options("},{"line_number":56,"context_line":"            cfg.CONF,"},{"line_number":57,"context_line":"            CFG_KEYSTONE_GROUP,"},{"line_number":58,"context_line":"            **kwargs)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    return auth"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_b807391b","line":57,"range":{"start_line":57,"start_character":12,"end_line":57,"end_character":30},"in_reply_to":"3aaa91ec_58d9f582","updated":"2016-06-22 15:48:16.000000000","message":"Murano never had a separate config group for the trustee, it\u0027s just the same as before. To have separate credentials for creating the trust - I don\u0027t know if it is worth the effort.","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"496beed66cf2c5bc2a39cb9c06fc197ccec15f94","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"def _create_keystone_admin_client():"},{"line_number":64,"context_line":"    password_auth \u003d _get_keystone_auth()"},{"line_number":65,"context_line":"    session \u003d _get_session("},{"line_number":66,"context_line":"        auth\u003dpassword_auth,"},{"line_number":67,"context_line":"        conf_section\u003dcfg.CONF[CFG_KEYSTONE_GROUP])"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_734cd242","line":64,"updated":"2016-06-22 15:48:31.000000000","message":"You load auth plugin using config options, so you can\u0027t know if it will be password or whatever else.","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":18940,"name":"Gyorgy Szombathelyi","email":"gyurco@freemail.hu","username":"gyurco78"},"change_message_id":"8b2ad5115befa248b0509dc8ec32689181b32c75","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"def _create_keystone_admin_client():"},{"line_number":64,"context_line":"    password_auth \u003d _get_keystone_auth()"},{"line_number":65,"context_line":"    session \u003d _get_session("},{"line_number":66,"context_line":"        auth\u003dpassword_auth,"},{"line_number":67,"context_line":"        conf_section\u003dcfg.CONF[CFG_KEYSTONE_GROUP])"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_f304427f","line":64,"in_reply_to":"3aaa91ec_734cd242","updated":"2016-06-22 15:57:53.000000000","message":"Well, it can be called simply auth. Done in the next patchset.","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"496beed66cf2c5bc2a39cb9c06fc197ccec15f94","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        conf_section \u003d cfg.CONF[CFG_KEYSTONE_GROUP]"},{"line_number":140,"context_line":"    session \u003d ka_loading.session.Session().load_from_options("},{"line_number":141,"context_line":"        auth\u003dauth,"},{"line_number":142,"context_line":"        insecure\u003d_get_config_option(conf_section, \u0027insecure\u0027, False),"},{"line_number":143,"context_line":"        cacert\u003d_get_config_option("},{"line_number":144,"context_line":"            conf_section,"},{"line_number":145,"context_line":"            (\u0027ca_file\u0027, \u0027cafile\u0027, \u0027cacert\u0027)),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_73e852e3","line":142,"updated":"2016-06-22 15:48:31.000000000","message":"Do you need this?","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":13055,"name":"Alexander Makarov","email":"ajiekcahdp.makapob@gmail.com","username":"amakarov"},"change_message_id":"648a37d31389f1c4efbcb3bac9befbc7dcead4f8","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        conf_section \u003d cfg.CONF[CFG_KEYSTONE_GROUP]"},{"line_number":140,"context_line":"    session \u003d ka_loading.session.Session().load_from_options("},{"line_number":141,"context_line":"        auth\u003dauth,"},{"line_number":142,"context_line":"        insecure\u003d_get_config_option(conf_section, \u0027insecure\u0027, False),"},{"line_number":143,"context_line":"        cacert\u003d_get_config_option("},{"line_number":144,"context_line":"            conf_section,"},{"line_number":145,"context_line":"            (\u0027ca_file\u0027, \u0027cafile\u0027, \u0027cacert\u0027)),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_fe4d2973","line":142,"in_reply_to":"3aaa91ec_33e9aa81","updated":"2016-06-22 15:57:29.000000000","message":"Oh, this is a call parameter! Good.","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"},{"author":{"_account_id":13478,"name":"Boris Bobrov","email":"b.bobrov@sap.com","username":"bbobrov"},"change_message_id":"80141826cfe6e0167c2dfc411b0c65714b6f0d67","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        conf_section \u003d cfg.CONF[CFG_KEYSTONE_GROUP]"},{"line_number":140,"context_line":"    session \u003d ka_loading.session.Session().load_from_options("},{"line_number":141,"context_line":"        auth\u003dauth,"},{"line_number":142,"context_line":"        insecure\u003d_get_config_option(conf_section, \u0027insecure\u0027, False),"},{"line_number":143,"context_line":"        cacert\u003d_get_config_option("},{"line_number":144,"context_line":"            conf_section,"},{"line_number":145,"context_line":"            (\u0027ca_file\u0027, \u0027cafile\u0027, \u0027cacert\u0027)),"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_33e9aa81","line":142,"in_reply_to":"3aaa91ec_73e852e3","updated":"2016-06-22 15:55:18.000000000","message":"yes, it is needed.","commit_id":"498d27396b06a41d7e8df6db12c70bc92f808af4"}],"requirements.txt":[{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"fa705e5c9cfb8ff2ccbdbc97807d6536f9eef0ad","unresolved":false,"context_lines":[{"line_number":18,"context_line":"netaddr!\u003d0.7.16,\u003e\u003d0.7.12 # BSD"},{"line_number":19,"context_line":"PyYAML\u003e\u003d3.1.0 # MIT"},{"line_number":20,"context_line":"jsonpatch\u003e\u003d1.1 # BSD"},{"line_number":21,"context_line":"keystoneauth1\u003e\u003d2.1.0  # Apache-2.0"},{"line_number":22,"context_line":"keystonemiddleware!\u003d4.1.0,!\u003d4.5.0,\u003e\u003d4.0.0 # Apache-2.0"},{"line_number":23,"context_line":"testtools\u003e\u003d1.4.0 # MIT"},{"line_number":24,"context_line":"yaql\u003e\u003d1.1.0 # Apache 2.0 License"}],"source_content_type":"text/plain","patch_set":5,"id":"3aaa91ec_88096198","line":21,"range":{"start_line":21,"start_character":15,"end_line":21,"end_character":20},"updated":"2016-06-22 11:02:30.000000000","message":"should be 2.7.0\n\nhttps://github.com/openstack/requirements/blob/master/global-requirements.txt#L67","commit_id":"ca8a8110531df598b6b3cce8eef4e464bf6f5fac"}]}
