So I've been thinking about this a bit more and the important distinction with keystone is that with v2 there 2 separate wsgi apps and your correct in that we don't differentiate between those 2. So the more I think about the more I reluctantly come to the conclusion that we really need 3 different endpoint_type options for keystone. 1 for keystone v3 (which is an independent app that can be configured completely independently from v2) 1 for the keystone v2 public api, and 1 for the keystone v2 admin api.
to replace the single opt we have now. Then we'd need a separate client init'd for each of the 3 endpoint types. It's ugly, but the only way I can come up with so that we can properly handle the differences here.
So I've been thinking about this a bit more and the important distinction with keystone is that with v2 there 2 separate wsgi apps and your correct in that we don't differentiate between those 2. So the more I think about the more I reluctantly come to the conclusion that we really need 3 different endpoint_type options for keystone. 1 for keystone v3 (which is an independent app that can be configured completely independently from v2) 1 for the keystone v2 public api, and 1 for the keystone v2 admin api.
So we'd end up with 3 options, something like:
CONF.identity. v3_endpoint_ type v2_public_ endpoint_ type v2_admin_ endpoint_ type
CONF.identity.
CONF.identity.
to replace the single opt we have now. Then we'd need a separate client init'd for each of the 3 endpoint types. It's ugly, but the only way I can come up with so that we can properly handle the differences here.