)]}'
{"id":"openstack%2Fpython-keystoneclient~64834","triplet_id":"openstack%2Fpython-keystoneclient~master~Idbae937b5a7af3324ea7f90b500da88ef670e409","project":"openstack/python-keystoneclient","branch":"master","topic":"bug/1264541","hashtags":[],"change_id":"Idbae937b5a7af3324ea7f90b500da88ef670e409","subject":"Fix identity endpoints when exposing both v2 and v3 APIs","status":"ABANDONED","created":"2014-01-03 14:40:04.000000000","updated":"2014-01-09 16:03:11.000000000","total_comment_count":2,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"1eca2a51e6eb67c7cd7f15d50472df9f1ef7ff1b","_number":64834,"virtual_id_number":64834,"owner":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},{"value":1,"date":"2014-01-06 14:08:25.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"rejected":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"all":[{"value":0,"date":"2014-01-09 09:10:07.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":-2,"date":"2014-01-08 19:22:17.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},{"value":0,"date":"2014-01-06 12:09:55.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},{"value":0,"date":"2014-01-09 00:31:07.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"date":"2014-01-08 19:22:17.000000000","_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},{"date":"2014-01-09 00:31:07.000000000","_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2014-01-06 14:08:25.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2014-01-08 19:22:17.000000000","updated_by":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"reviewer":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"state":"REVIEWER"},{"updated":"2014-01-09 00:31:07.000000000","updated_by":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"reviewer":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"state":"REVIEWER"},{"updated":"2014-01-09 09:10:07.000000000","updated_by":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"reviewer":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"state":"REVIEWER"}],"messages":[{"id":"3587562a14bac11bc26021cfce7e136ba0e26f0c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-01-03 15:23:51.000000000","message":"Patch Set 1: Works for me\n\nBuild succeeded.\n\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/34/64834/1/check/gate-python-keystoneclient-pep8/3070d62 : SUCCESS in 1m 01s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/34/64834/1/check/gate-python-keystoneclient-docs/15ed3ab/doc/build/html/ : SUCCESS in 1m 20s\n- gate-python-keystoneclient-python26 http://logs.openstack.org/34/64834/1/check/gate-python-keystoneclient-python26/fcaeefb : SUCCESS in 1m 31s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/34/64834/1/check/gate-python-keystoneclient-python27/810f4be : SUCCESS in 1m 09s\n- gate-python-keystoneclient-python33 http://logs.openstack.org/34/64834/1/check/gate-python-keystoneclient-python33/8849e51 : FAILURE in 4m 43s (non-voting)\n- check-tempest-dsvm-full http://logs.openstack.org/34/64834/1/check/check-tempest-dsvm-full/040d4cf : SUCCESS in 42m 02s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/34/64834/1/check/check-tempest-dsvm-postgres-full/7667222 : SUCCESS in 43m 41s\n- check-tempest-dsvm-neutron http://logs.openstack.org/34/64834/1/check/check-tempest-dsvm-neutron/1356923 : SUCCESS in 41m 33s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/34/64834/1/check/gate-tempest-dsvm-large-ops/f11b9f5 : SUCCESS in 15m 36s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/34/64834/1/check/gate-tempest-dsvm-neutron-large-ops/17dc8f2 : SUCCESS in 20m 59s\n- check-grenade-dsvm http://logs.openstack.org/34/64834/1/check/check-grenade-dsvm/ed076c6 : SUCCESS in 28m 36s\n","accounts_in_message":[],"_revision_number":1},{"id":"5be96553141579f1d7a892fe0d546ab7cd84ad7a","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2014-01-05 23:39:55.000000000","message":"Patch Set 1: (1 inline comment)\n\nThis is a known problem and there has been a lot of discussion recently around how to handle the situation where we have simultaneous v2 and v3 endpoints. ayoung has a patch on here that is trying to do something very similar, and i have some other ideas i\u0027m working towards. \n\nWe\u0027ve previously decided that changing the service identifier is not a good way to approach the problem, but it may be something we should allow in the short term anyway. The flow on effects of this though would mean needing to add the service_type to the CLI which i think is a bad idea. \n\nI\u0027d appreciate some others waying in. So far i\u0027m thinking that how to manage the service catalog and multiple versions of endpoint is a summit session - but that was because i was expecting that i would be the one to do it and i didn\u0027t see there being time before then. \n\nHave a look at the auth_plugin reviews, this won\u0027t work with them, but if anything it may become slightly easier. \n\nAlso ping be on irc: jamielennox and we can talk about what\u0027s been happening in this area","accounts_in_message":[],"_revision_number":1},{"id":"bd931a0eba2fd4fdb62427665e9ad2e0c887ad10","author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"date":"2014-01-06 10:17:31.000000000","message":"Patch Set 1: (1 inline comment)\n\nI understand (and agree) that there is (theoretically) no reason to have different service identifiers associated with different API versions of the same service.\n\nHowever, a mechanism allowing the user to choose the API version (and endpoints associated with) he wishes to use would be very useful (and ease the transition from one version of the API to the other). And right now, I think that the \"service type\" trick, consisting in having a service type per API version, is the easiest and quickest (and not so dirty) way to provide such feature (this has already been done with the cinder client)..\n\nIn the long run, I would be glad to help in finding a nicer solution.\nI\u0027ll try and catch you on the IRC (my nick is florentflament).","accounts_in_message":[],"_revision_number":1},{"id":"f2a4a7aac9e384f3991329a8c0d68df9c46c4407","author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"date":"2014-01-06 10:21:26.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"d2750ad67542f34d2711bbd5cf7bfe360a5ed9c1","author":{"_account_id":5494,"name":"Trivial Rebase","email":"trivial-rebase@review.openstack.org","username":"trivial-rebase"},"date":"2014-01-06 10:21:31.000000000","message":"Patch Set 2:\n\nNew patchset patch-id matches previous patchset, but commit message has changed.","accounts_in_message":[],"_revision_number":2},{"id":"11314ba08dfba9973d6755130f9c4444fcf04351","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-01-06 11:39:54.000000000","message":"Patch Set 2: Doesn\u0027t seem to work\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/34/64834/2/check/gate-python-keystoneclient-pep8/ec05638 : SUCCESS in 58s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/34/64834/2/check/gate-python-keystoneclient-docs/7d6e437/doc/build/html/ : SUCCESS in 1m 17s\n- gate-python-keystoneclient-python26 http://logs.openstack.org/34/64834/2/check/gate-python-keystoneclient-python26/429b911 : SUCCESS in 1m 47s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/34/64834/2/check/gate-python-keystoneclient-python27/2838c6a : SUCCESS in 1m 12s\n- gate-python-keystoneclient-python33 http://logs.openstack.org/34/64834/2/check/gate-python-keystoneclient-python33/c2fcf7a : FAILURE in 4m 41s (non-voting)\n- check-tempest-dsvm-full http://logs.openstack.org/34/64834/2/check/check-tempest-dsvm-full/a6ec7fd : FAILURE in 1h 07m 22s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/34/64834/2/check/check-tempest-dsvm-postgres-full/d7587ba : FAILURE in 49m 48s\n- check-tempest-dsvm-neutron http://logs.openstack.org/34/64834/2/check/check-tempest-dsvm-neutron/0b27d27 : SUCCESS in 47m 10s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/34/64834/2/check/gate-tempest-dsvm-large-ops/cdb40d9 : SUCCESS in 16m 19s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/34/64834/2/check/gate-tempest-dsvm-neutron-large-ops/721926c : SUCCESS in 15m 10s\n- check-grenade-dsvm http://logs.openstack.org/34/64834/2/check/check-grenade-dsvm/142d3e2 : SUCCESS in 37m 22s\n","accounts_in_message":[],"_revision_number":2},{"id":"fc88417544c96fa1d62c5d2da2a8bdb9c132ec06","author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"date":"2014-01-06 12:09:55.000000000","message":"Patch Set 2:\n\nrecheck bug 1265672","accounts_in_message":[],"_revision_number":2},{"id":"f6cad4715a029bcf19e12d374717eb858127e9cd","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-01-06 14:08:25.000000000","message":"Patch Set 2: Works for me\n\nBuild succeeded.\n\n- gate-python-keystoneclient-pep8 http://logs.openstack.org/34/64834/2/check/gate-python-keystoneclient-pep8/9415c0a : SUCCESS in 1m 08s\n- gate-python-keystoneclient-docs http://docs-draft.openstack.org/34/64834/2/check/gate-python-keystoneclient-docs/84126f3/doc/build/html/ : SUCCESS in 1m 04s\n- gate-python-keystoneclient-python26 http://logs.openstack.org/34/64834/2/check/gate-python-keystoneclient-python26/93b23a2 : SUCCESS in 1m 26s\n- gate-python-keystoneclient-python27 http://logs.openstack.org/34/64834/2/check/gate-python-keystoneclient-python27/22dcc76 : SUCCESS in 1m 14s\n- gate-python-keystoneclient-python33 http://logs.openstack.org/34/64834/2/check/gate-python-keystoneclient-python33/8213b65 : FAILURE in 4m 39s (non-voting)\n- check-tempest-dsvm-full http://logs.openstack.org/34/64834/2/check/check-tempest-dsvm-full/9bd1603 : SUCCESS in 1h 37m 06s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/34/64834/2/check/check-tempest-dsvm-postgres-full/4cbda6b : SUCCESS in 1h 04m 57s\n- check-tempest-dsvm-neutron http://logs.openstack.org/34/64834/2/check/check-tempest-dsvm-neutron/69a3da7 : SUCCESS in 35m 23s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/34/64834/2/check/gate-tempest-dsvm-large-ops/ed97e3a : SUCCESS in 14m 05s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/34/64834/2/check/gate-tempest-dsvm-neutron-large-ops/4e0e762 : SUCCESS in 14m 13s\n- check-grenade-dsvm http://logs.openstack.org/34/64834/2/check/check-grenade-dsvm/159f234 : SUCCESS in 26m 53s\n","accounts_in_message":[],"_revision_number":2},{"id":"39cccf94a7873f13a36676eb405fd12c0999b0d2","author":{"_account_id":4,"name":"Dolph Mathews","email":"dolph.mathews@gmail.com","username":"dolph"},"date":"2014-01-08 19:22:17.000000000","message":"Patch Set 2: Do not merge\n\nversioned service types is an anti-pattern that i *really* don\u0027t want to see keystone advocating or supporting in any manner","accounts_in_message":[],"_revision_number":2},{"id":"b680ca7fb3668b7a0292cef8d6a4057ead2b284c","author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"date":"2014-01-08 21:40:46.000000000","message":"Patch Set 2:\n\nWell, I understand your point of view.\n\nHowever, I would like to set an Openstack platform, where I would have some clients using the Identity v3 API, while others would use the v2 API. I believe that such a feature would help Openstack users in progressively adopting the Identity v3 API.\n\nHow would you do without exposing one service type per API version ?\n\nMay I suggest that we adopt such an anti-pattern in a first time to allow using both v2 and v3 APIs together, then improve the implementation to keep the feature while doing it the right way ?\n\nI would be glad to contribute to such an improvement.","accounts_in_message":[],"_revision_number":2},{"id":"ffeea3c9a81bbcea85c5164f70a18752330aef2e","author":{"_account_id":7191,"name":"Jamie Lennox","email":"jamielennox@gmail.com","username":"jamielennox"},"date":"2014-01-09 00:31:07.000000000","message":"Patch Set 2:\n\n@Florent: The situation we\u0027ve been discussing is that you should specify the root unversioned endpoint in the service catalog. So when you need to talk to a compute endpoint you query the catalog then ask that endpoint what versions it supports.\n\nThere are obviously some issues with this in terms of performance and caching, but some of the work i am doing around auth plugins and the catalog are looking to fix this.  \n\n@Dolph: I\u0027m also thinking that putting a version number in the service catalog itself is going to be necessary for the transition process and possibly as an optimisation.","accounts_in_message":[],"_revision_number":2},{"id":"9952c45427c25c1b6c32754312624bf7bfe6f58d","author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"date":"2014-01-09 08:21:24.000000000","message":"Patch Set 2:\n\nI agree that it would make sense to have root unversioned endpoints in the service catalog. Although, this would require updating the current implementation for retrieving endpoints. Still, we would probably need a way to do a smooth transition.","accounts_in_message":[],"_revision_number":2},{"id":"36c71ed758a9effa5c264e15c7f421f6cf27dc5e","author":{"_account_id":866,"name":"Chmouel Boudjnah","email":"chmouel@chmouel.com","username":"chmouel"},"date":"2014-01-09 09:10:07.000000000","message":"Patch Set 2:\n\nI agree that we should not go in the business to differentiate between v2 and v3 but the patch it itself to allow specify another service_type name than \u0027identity\u0027 may be useful if the operator want to use an another name for whatever reasons (i.e: i18n)","accounts_in_message":[],"_revision_number":2},{"id":"f00d48335d456e54b0c8cdac7ba63f2e1e0d2f78","author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"date":"2014-01-09 16:03:11.000000000","message":"Patch Set 2: Abandoned\n\nSeen on IRC with Dolph, Keystone\u0027s catalog should provide a unique, unversionned set of endpoints per service. It should not have a service type per API version. The hardcoded \u0027identity\u0027 service type will be kept.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"c85d9f5691fd51c760f0abaffc13a375016044c5","revisions":{"273fbd1283a4b8b6a71c1e88086cdffe2d236e55":{"kind":"REWORK","_number":1,"created":"2014-01-03 14:40:04.000000000","uploader":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"ref":"refs/changes/34/64834/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/34/64834/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/34/64834/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/34/64834/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/34/64834/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/34/64834/1"}}},"commit":{"parents":[{"commit":"ce6c54de91f7c129cea11a7648f8668b2f24bca9","subject":"Merge \"Make _get_utf8_value Python3 compliant\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/ce6c54de91f7c129cea11a7648f8668b2f24bca9"}]}],"author":{"name":"Florent Flament","email":"florent.flament-ext@cloudwatt.com","date":"2013-12-31 14:36:01.000000000","tz":60},"committer":{"name":"Florent Flament","email":"florent.flament-ext@cloudwatt.com","date":"2014-01-03 14:29:15.000000000","tz":60},"subject":"Fix identity endpoints when exposing both v2 and v3 APIs","message":"Fix identity endpoints when exposing both v2 and v3 APIs\n\nWhen both v2 and v3 Keysone APIs are available, Keystone client needs\na way to find the appropriate endpoints. Prior to this patch both v2\nand v3 clients looked for the ``identity`` service type, which didn\u0027t\nallow to have different endpoints for these two APIs.\n\nThis fix adds a ``service_type`` keyword argument to the\n``keystoneclient.v3.client.Client`` constructor, allowing to choose\nthe ``service_type`̀ to use for the Keystone v3 API (for instance\n``identityv3``). The default value is `identity`, so that the default\nbehavior remains unchanged.\n\nChange-Id: Idbae937b5a7af3324ea7f90b500da88ef670e409\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/273fbd1283a4b8b6a71c1e88086cdffe2d236e55"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/273fbd1283a4b8b6a71c1e88086cdffe2d236e55"}]},"branch":"refs/heads/master"},"c85d9f5691fd51c760f0abaffc13a375016044c5":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2014-01-06 10:21:26.000000000","uploader":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"ref":"refs/changes/34/64834/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-keystoneclient","ref":"refs/changes/34/64834/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/34/64834/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/34/64834/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-keystoneclient refs/changes/34/64834/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-keystoneclient refs/changes/34/64834/2"}}},"commit":{"parents":[{"commit":"ce6c54de91f7c129cea11a7648f8668b2f24bca9","subject":"Merge \"Make _get_utf8_value Python3 compliant\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/ce6c54de91f7c129cea11a7648f8668b2f24bca9"}]}],"author":{"name":"Florent Flament","email":"florent.flament-ext@cloudwatt.com","date":"2013-12-31 14:36:01.000000000","tz":60},"committer":{"name":"Florent Flament","email":"florent.flament-ext@cloudwatt.com","date":"2014-01-06 10:22:30.000000000","tz":60},"subject":"Fix identity endpoints when exposing both v2 and v3 APIs","message":"Fix identity endpoints when exposing both v2 and v3 APIs\n\nWhen both v2 and v3 Identity (Keystone) APIs are available, Keystone\nclient needs a way to find the appropriate endpoints. Prior to this\npatch both v2 and v3 clients looked for the ``identity`` service type,\nwhich didn\u0027t allow to have different endpoints for these two APIs.\n\nThis fix adds a ``service_type`` keyword argument to the\n``keystoneclient.v3.client.Client`` constructor, allowing to choose\nthe ``service_type`̀ to use for the Keystone v3 API (for instance\n``identityv3``). The default value is `identity`, so that the default\nbehavior remains unchanged.\n\nChange-Id: Idbae937b5a7af3324ea7f90b500da88ef670e409\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/c85d9f5691fd51c760f0abaffc13a375016044c5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-keystoneclient/commit/c85d9f5691fd51c760f0abaffc13a375016044c5"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
