Ask Your Question

stbven's profile - activity

2015-05-28 04:08:30 -0500 received badge  Popular Question (source)
2015-05-28 04:08:30 -0500 received badge  Notable Question (source)
2015-05-28 04:08:30 -0500 received badge  Famous Question (source)
2014-11-12 19:43:50 -0500 asked a question Grizzly Keystone v3 API routed as v2

So when I try to use the v3 API to obtain users, I get a response back as the v2 API.

$ curl -s -X GET https://xxxxx.com:35357/v3/users -H "X-Auth-Token: f1c1b40a58db4b59a3f89e0d6a8db93e" -H "User-Agent: python-keystoneclient"  | python -mjson.tool
{
    "users": [
        {
            "email": "test@test.com,
            "enabled": true,
            "id": "0085bc0a079b49cbb4abb7b1966536e9",
            "name": "test",
            "tenantId": "074689781434494dae271bb537c39bae"
        },

However, when I try to get projects, it returns with v3 info as expected

$ curl -s -X GET https://xxxxx.com:35357/v3/projects -H "X-Auth-Token: f1c1b40a58db4b59a3f89e0d6a8db93e" -H "User-Agent: python-keystoneclient"  | python -mjson.tool
{
    "links": {
        "next": null,
        "previous": null,
        "self": "http://localhost:5000/v3/projects"
    },
    "projects": [
        {
            "description": "",
            "domain_id": "default",
            "enabled": true,
            "id": "033146ea264e4e2f8a9a4be404bb5954",
            "links": {
                "self": "http://localhost:5000/v3/projects/033146ea264e4e2f8a9a4be404bb5954"
            },
            "name": "test_tenant"
        },

What could cause center calls to return as v2 even though I've explicitly called for v3?

I'm using Keystone 1:2013.1.2. Below is my keystone.conf


[DEFAULT]
bind_host = xxxx
public_port = 5000
admin_port = 35357
admin_token = ADMIN
compute_port = 8774
verbose = true
debug = true
log_file = /var/log/keystone/keystone.log

# ================= Syslog Options ============================
# Send logs to syslog (/dev/log) instead of to file specified
# by `log-file`
use_syslog = false


# Facility to use. If unset defaults to LOG_USER.
# syslog_log_facility = LOG_LOCAL0

[sql]
connection = mysql://keystone:xxxx@127.0.0.1/keystone?charset=utf8
idle_timeout = 200
min_pool_size = 5
max_pool_size = 10
pool_timeout = 2000

[ldap]
#url = ldap://localhost
#tree_dn = dc=example,dc=com
#user_tree_dn = ou=Users,dc=example,dc=com
#role_tree_dn = ou=Roles,dc=example,dc=com
#tenant_tree_dn = ou=Groups,dc=example,dc=com
#user = dc=Manager,dc=example,dc=com
#password = freeipa4all
#suffix = cn=example,cn=com

[identity]
driver = keystone.identity.backends.sql.Identity

[catalog]
driver = keystone.catalog.backends.sql.Catalog

[trust]
driver = keystone.trust.backends.sql.Trust

[auth]
methods = password,token
password = keystone.auth.plugins.password.Password
token = keystone.auth.plugins.token.Token

[signing]
token_format = UUID

[token]
driver = keystone.token.backends.sql.Token

# Amount of time a token should remain valid (in seconds)
expiration = 86400

[policy]
driver = keystone.policy.backends.rules.Policy

[ec2]
driver = keystone.contrib.ec2.backends.sql.Ec2

[filter:debug]
paste.filter_factory = keystone.common.wsgi:Debug.factory

[filter:token_auth]
paste.filter_factory = keystone.middleware:TokenAuthMiddleware.factory

[filter:admin_token_auth]
paste.filter_factory = keystone.middleware:AdminTokenAuthMiddleware.factory

[filter:xml_body]
paste.filter_factory = keystone.middleware:XmlBodyMiddleware.factory

[filter:json_body]
paste.filter_factory = keystone.middleware:JsonBodyMiddleware.factory

[filter:crud_extension]
paste.filter_factory = keystone.contrib.admin_crud:CrudExtension.factory

[filter:ec2_extension]
paste.filter_factory = keystone.contrib.ec2:Ec2Extension.factory

[filter:s3_extension]
paste.filter_factory = keystone.contrib.s3:S3Extension.factory

[app:public_service]
paste.app_factory = keystone.service:public_app_factory

[app:admin_service]
paste.app_factory = keystone.service:admin_app_factory

[pipeline:public_api]
pipeline = token_auth admin_token_auth xml_body json_body debug ec2_extension public_service

[pipeline:admin_api]
pipeline = token_auth admin_token_auth xml_body json_body debug ec2_extension s3_extension crud_extension admin_service

[app:public_version_service]
paste.app_factory = keystone.service:public_version_app_factory

[app:admin_version_service]
paste.app_factory = keystone.service:admin_version_app_factory

[pipeline:public_version_api]
pipeline = xml_body public_version_service

[pipeline:admin_version_api]
pipeline = xml_body admin_version_service

[app:service_v3]
paste.app_factory = keystone.service:v3_app_factory

[pipeline:api_v3]
pipeline = token_auth admin_token_auth xml_body json_body debug ec2_extension s3_extension crud_extension service_v3

[composite:main]
use = egg:Paste#urlmap
/v2.0 = public_api
/ = public_version_api
/v3 = api_v3
/identity/main/v2.0 = public_api
/identity/main/ = public_version_api

[composite:admin ...
(more)