yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #43125
[Bug 1516469] Re: endpoints not show correctly when using "endpoint_filter.sql" as catalog's backend driver
Reviewed: https://review.openstack.org/250032
Committed: https://git.openstack.org/cgit/openstack/keystone/commit/?id=f86448a3113fc594e78d3d9410f44c1f64a9ad58
Submitter: Jenkins
Branch: master
commit f86448a3113fc594e78d3d9410f44c1f64a9ad58
Author: Dave Chen <wei.d.chen@xxxxxxxxx>
Date: Thu Nov 26 05:39:59 2015 +0800
Ensure endpoints returned is filtered correctly
This patch move some logic to manager layer, so that endpoints
filtered by endpoint_group project association will be included
in catalog when issue a project scoped token and using
`endpoint_filter.sql` as catalog's backend driver.
This make sure that call `list_endpoints_for_project` API has
the same endpoints with that in catalog returned for project
scoped token.
Change-Id: I56f4eb6fc524650677b627295dd4338d55164c39
Closes-Bug: #1516469
** Changed in: keystone
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1516469
Title:
endpoints not show correctly when using "endpoint_filter.sql" as
catalog's backend driver
Status in OpenStack Identity (keystone):
Fix Released
Bug description:
If the endpoint group project association was created, and set
"endpoint_filter.sql" as catalog's backend driver. All of the
endpoints associated with the project and match the criterion defined
in the "endpoint group" should be given after a project scoped token
was return.
But currently, those endpoints can *only* be show if using call
`list_endpoints_for_project` API explicitly by CURL but cannot get
back when the project scoped token was issued.
Steps to reproduce this issue.
-Create endpoint group.
$curl -g -i -X POST http://10.239.48.36:5000/v3/OS-EP-
FILTER/endpoint_groups -H "X-Auth-
Token:a85e07129aa54f61a46395543a3146af" -H "Content-Type:
application/json" -d '{"endpoint_group": {"description": "endpoint
group description", "filters": {"interface": "admin"}, "name":
"endpoint_group_name"}}'
- Create endpoint_group project association
$curl -g -i -X PUT http://10.239.48.36:5000/v3/OS-EP-
FILTER/endpoint_groups/ea1af6e153bf4b87a88b5962de8cdae8/projects/927e252fb44d4b5cac9d4fb24d85be41
-H "X-Auth-Token:a85e07129aa54f61a46395543a3146af" -H "Content-Type:
application/json"
- Get endpoint for the project, this will return all of the endpoints
matched the rule defined in the endpoint group.
$curl -g -i -X GET http://10.239.48.36:5000/v3/OS-EP-FILTER/projects/927e252fb44d4b5cac9d4fb24d85be41/endpoints -H "X-Auth-Token:a85e07129aa54f61a46395543a3146af" -H "Content-Type: application/json"
...
{
"endpoints": [
{
"region_id": "RegionOne",
"links": {
"self": "http://10.239.48.36:5000/v3/endpoints/3f6fb8738db8427a997dbcc791b7901d"
},
"url": "http://10.239.48.36:8773/",
"region": "RegionOne",
"enabled": true,
"interface": "admin",
"service_id": "a3338a6847e94766831ea7d9d43598cc",
"id": "3f6fb8738db8427a997dbcc791b7901d"
},
{
"region_id": "RegionOne",
"links": {
"self": "http://10.239.48.36:5000/v3/endpoints/dd69f161f8a24612a7ffe796b45b8cd2"
},
"url": "http://10.239.48.36:8774/v2.1/$(tenant_id)s",
"region": "RegionOne",
"enabled": true,
"interface": "admin",
"service_id": "a147aa8896c4429aacf0f2eefd39098e",
"id": "dd69f161f8a24612a7ffe796b45b8cd2"
},
{
"region_id": "RegionOne",
"links": {
"self": "http://10.239.48.36:5000/v3/endpoints/0d70f9fd5a85446c99fee79388adf9dc"
},
"url": "http://10.239.48.36:9292",
"region": "RegionOne",
"enabled": true,
"interface": "admin",
"service_id": "4c367805e2a147589a14310d1486ab01",
"id": "0d70f9fd5a85446c99fee79388adf9dc"
},
{
"region_id": null,
"links": {
"self": "http://10.239.48.36:5000/v3/endpoints/5be3023ddf984fcf942b2a396eb0167b"
},
"url": "http://127.0.0.0:20",
"region": null,
"enabled": true,
"interface": "internal",
"service_id": "69da5bbf65aa4565b9833655075e7a8a",
"id": "5be3023ddf984fcf942b2a396eb0167b"
},
{
"region_id": "RegionOne",
"links": {
"self": "http://10.239.48.36:5000/v3/endpoints/9393be9c7eda41d89a28f2ffb486dc7c"
},
"url": "http://10.239.48.36:35357/v2.0",
"region": "RegionOne",
"enabled": true,
"interface": "admin",
"service_id": "ef49d941aed34d39b8b49fce27c83a50",
"id": "9393be9c7eda41d89a28f2ffb486dc7c"
},
{
"region_id": "RegionOne",
"links": {
"self": "http://10.239.48.36:5000/v3/endpoints/151b9f8b132f4c26a562872e09389a69"
},
"url": "http://10.239.48.36:8774/v2/$(tenant_id)s",
"region": "RegionOne",
"enabled": true,
"interface": "admin",
"service_id": "8bb4bdc9fcac4fb5bec4f6779268f0d0",
"id": "151b9f8b132f4c26a562872e09389a69"
},
{
"region_id": "RegionOne",
"links": {
"self": "http://10.239.48.36:5000/v3/endpoints/bff53486b72c44e9b00cf69184b66ce9"
},
"url": "http://10.239.48.36:3333",
"region": "RegionOne",
"enabled": true,
"interface": "admin",
"service_id": "69da5bbf65aa4565b9833655075e7a8a",
"id": "bff53486b72c44e9b00cf69184b66ce9"
},
{
"region_id": "RegionOne",
"links": {
"self": "http://10.239.48.36:5000/v3/endpoints/d0ee548da623477eb73b60018c3e5ab8"
},
"url": "http://10.239.48.36:8776/v1/$(tenant_id)s",
"region": "RegionOne",
"enabled": true,
"interface": "admin",
"service_id": "928eb1b536464e238e573284760e656a",
"id": "d0ee548da623477eb73b60018c3e5ab8"
},
{
"region_id": "RegionOne",
"links": {
"self": "http://10.239.48.36:5000/v3/endpoints/44699ffc64274612a0c039531f66096d"
},
"url": "http://10.239.48.36:8776/v2/$(tenant_id)s",
"region": "RegionOne",
"enabled": true,
"interface": "admin",
"service_id": "ab4b7001ccaa4c3896407d4523466183",
"id": "44699ffc64274612a0c039531f66096d"
}
],
"links": {
"self": "http://10.239.48.36:5000/v3/OS-EP-FILTER/projects/927e252fb44d4b5cac9d4fb24d85be41/endpoints",
"previous": null,
"next": null
}
}
...
- Get a project scoped token, this will only return endpoints from
endpoint_project table.
$ curl -i -H "Content-Type: application/json" -d '{ "auth": { "identity": {
"methods": ["password"],
"password": {
"user": {
"name": "admin",
"domain": { "id": "default" },
"password": "12345"
}
}
},
"scope": {
"project": {
"name": "admin",
"domain": { "id": "default" }
}
}
}
}' http://10.239.48.36:5000/v3/auth/tokens; echo
...
"catalog": [
{
"endpoints": [
{
"region_id": null,
"url": "http://127.0.0.0:20",
"interface": "internal",
"id": "5be3023ddf984fcf942b2a396eb0167b"
}
],
"type": "s3",
"id": "69da5bbf65aa4565b9833655075e7a8a"
}
],
...
To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1516469/+subscriptions
References