[Openstack] Malformed request URL doesn't match Context's project_id
Jun Hu
jhu_com at outlook.com
Sat Dec 10 12:43:39 UTC 2016
Hi Guys:
My openstack version is Mitaka. I want to use curl to call openstack API , but I met a issue. Can you help me ?
[root at ospp9-ctrl1 site-packages(keystone_demo)]# source ~/keystonerc_admin
[root at ospp9-ctrl1 site-packages(keystone_admin)]# curl -s -X POST $OS_AUTH_URL/tokens -H "Content-Type: application/json" -d '{"auth": {"tenantName": "", "passwordCredentials": {"username": "'"$OS_USERNAME"'", "password": "'"$OS_PASSWORD"'"}}}' | python -m json.tool
{
"access": {
"metadata": {
"is_admin": 0,
"roles": []
},
"serviceCatalog": [],
"token": {
"audit_ids": [
"RJrDyNfIShyKTmXu5IWZUw"
],
"expires": "2016-12-10T13:12:15Z",
"id": "80b3d146c5614c149ccf983b21d93055",
"issued_at": "2016-12-10T12:12:15.171884Z"
},
"user": {
"id": "ae11a07ef07e47bba4a91d1c3516ac01",
"name": "admin",
"roles": [],
"roles_links": [],
"username": "admin"
}
}
}
[root at ospp9-ctrl1 site-packages(keystone_admin)]# export OS_TOKEN=80b3d146c5614c149ccf983b21d93055
[root at ospp9-ctrl1 site-packages(keystone_admin)]# export OS_PROJECT_ID=e5ec75ca491049b2b3d6758269aad07c
[root at ospp9-ctrl1 site-packages(keystone_admin)]# curl -s -H "X-Auth-Token:$OS_TOKEN" http://192.168.122.64:8774/v2/e5ec75ca491049b2b3d6758269aad07c/flavors | python -m json.tool
{
"badRequest": {
"code": 400,
"message": "Malformed request URL: URL's project_id 'e5ec75ca491049b2b3d6758269aad07c' doesn't match Context's project_id 'None'"
}
}
[root at ospp9-ctrl1 site-packages(keystone_admin)]# openstack catalog show nova
+-----------+-------------------------------------------------------------------------------+
| Field | Value |
+-----------+-------------------------------------------------------------------------------+
| endpoints | RegionOne |
| | publicURL: http://192.168.122.64:8774/v2/e5ec75ca491049b2b3d6758269aad07c |
| | internalURL: http://192.168.122.64:8774/v2/e5ec75ca491049b2b3d6758269aad07c |
| | adminURL: http://192.168.122.64:8774/v2/e5ec75ca491049b2b3d6758269aad07c |
| | |
| name | nova |
| type | compute |
+-----------+-------------------------------------------------------------------------------+
1. After I deep into the code, and have a question : How to get/set the context.project_id?
[root at ospp9-ctrl1 site-packages(keystone_admin)]# vim nova/api/openstack/wsgi.py +721
```python
project_id = action_args.pop("project_id", None)
context = request.environ.get('nova.context')
if (context and project_id and (project_id != context.project_id)):
msg = _("Malformed request URL: URL's project_id '%(project_id)s'"
" doesn't match Context's project_id"
" '%(context_project_id)s'") % \
{'project_id': project_id,
'context_project_id': context.project_id}
return Fault(webob.exc.HTTPBadRequest(explanation=msg))
```
2. Why got empty SeviceCatalog "serviceCatalog": []" but it is not in official docs
http://developer.openstack.org/api-guide/quick-start/api-quick-start.html#openstack-api-quick-guide
--
----------------------------------------------------
Margin Hu
Love Open Source Software.
Mobile: (86) 186-8035-6499
email : jhu_com at outlook.com<mailto:jhu_com at outlook.com>
github: http://github.com/todaygood
---------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20161210/3e87176f/attachment.html>
More information about the Openstack
mailing list