<div dir="ltr">It looks like when you request the token you are not providing tenantName so you're not generating a token for authenticating to tenant/project you want to authenticate to. i.e. e5ec75ca491049b2b3d6758269aad07c<br><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><p style="margin-top:8px;margin-bottom:8px;font-family:helvetica,verdana,arial,sans-serif;font-size:0.85em;color:rgb(51,51,51);line-height:1.4"><span style="font-size:0.85em;line-height:1.4">___</span><br></p><p style="margin-top:8px;margin-bottom:8px;font-family:helvetica,verdana,arial,sans-serif;font-size:1.1em;color:rgb(51,51,51);line-height:1.4">John Petrini</p></div></div></div></div><a href="http:///" target="_blank"></a></div></div></div></div>
<br><div class="gmail_quote">On Sat, Dec 10, 2016 at 7:43 AM, Jun Hu <span dir="ltr"><<a href="mailto:jhu_com@outlook.com" target="_blank">jhu_com@outlook.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<div bgcolor="#FFFFFF">
<p><font size="+1">Hi Guys:</font></p>
<p><font size="+1">My openstack version is Mitaka.  I want to use curl to call openstack API , but I met a issue. Can you help me ?
<br>
</font></p>
<p><font size="+1">[root@ospp9-ctrl1 site-packages(keystone_demo)]# source ~/keystonerc_admin<br>
<br>
[root@ospp9-ctrl1 site-packages(keystone_admin)]<wbr># 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<br>
{<br>
    "access": {<br>
        "metadata": {<br>
            "is_admin": 0,<br>
            "roles": []<br>
        },<br>
        "serviceCatalog": [],<br>
        "token": {<br>
            "audit_ids": [<br>
                "RJrDyNfIShyKTmXu5IWZUw"<br>
            ],<br>
            "expires": "2016-12-10T13:12:15Z",<br>
            "id": "<wbr>80b3d146c5614c149ccf983b21d930<wbr>55",<br>
            "issued_at": "2016-12-10T12:12:15.171884Z"<br>
        },<br>
        "user": {<br>
            "id": "<wbr>ae11a07ef07e47bba4a91d1c3516ac<wbr>01",<br>
            "name": "admin",<br>
            "roles": [],<br>
            "roles_links": [],<br>
            "username": "admin"<br>
        }<br>
    }<br>
}<br>
[root@ospp9-ctrl1 site-packages(keystone_admin)]<wbr># export OS_TOKEN=<wbr>80b3d146c5614c149ccf983b21d930<wbr>55<br>
[root@ospp9-ctrl1 site-packages(keystone_admin)]<wbr># export OS_PROJECT_ID=<wbr>e5ec75ca491049b2b3d6758269aad0<wbr>7c<br>
[root@ospp9-ctrl1 site-packages(keystone_admin)]<wbr># curl -s -H "X-Auth-Token:$OS_TOKEN"
<a class="gmail-m_-263425083183485215moz-txt-link-freetext" href="http://192.168.122.64:8774/v2/e5ec75ca491049b2b3d6758269aad07c/flavors" target="_blank">
http://192.168.122.64:8774/v2/<wbr>e5ec75ca491049b2b3d6758269aad0<wbr>7c/flavors</a>  | python -m json.tool
<br>
{<br>
    "badRequest": {<br>
        "code": 400,<br>
        "message": "Malformed request URL: URL's project_id '<wbr>e5ec75ca491049b2b3d6758269aad0<wbr>7c' doesn't match Context's project_id 'None'"<br>
    }<br>
}<br>
<br>
[root@ospp9-ctrl1 site-packages(keystone_admin)]<wbr># openstack catalog show nova<br>
+-----------+-----------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
| Field     | Value                         <wbr>                              <wbr>                  |<br>
+-----------+-----------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
| endpoints | RegionOne                     <wbr>                              <wbr>                  |<br>
|           |   publicURL: <a class="gmail-m_-263425083183485215moz-txt-link-freetext" href="http://192.168.122.64:8774/v2/e5ec75ca491049b2b3d6758269aad07c" target="_blank">
http://192.168.122.64:8774/v2/<wbr>e5ec75ca491049b2b3d6758269aad0<wbr>7c</a>   |<br>
|           |   internalURL: <a class="gmail-m_-263425083183485215moz-txt-link-freetext" href="http://192.168.122.64:8774/v2/e5ec75ca491049b2b3d6758269aad07c" target="_blank">
http://192.168.122.64:8774/v2/<wbr>e5ec75ca491049b2b3d6758269aad0<wbr>7c</a> |<br>
|           |   adminURL: <a class="gmail-m_-263425083183485215moz-txt-link-freetext" href="http://192.168.122.64:8774/v2/e5ec75ca491049b2b3d6758269aad07c" target="_blank">
http://192.168.122.64:8774/v2/<wbr>e5ec75ca491049b2b3d6758269aad0<wbr>7c</a>    |<br>
|           |                             <wbr>                              <wbr>                    |<br>
| name      | nova                          <wbr>                              <wbr>                  |<br>
| type      | compute                       <wbr>                              <wbr>                  |<br>
+-----------+-----------------<wbr>------------------------------<wbr>------------------------------<wbr>--+<br>
</font></p>
<p><font size="+1">1. After I deep into the code, and have a question : How to get/set the
</font><font size="+1"><font size="+1">context.project_id? <br>
</font></font></p>
<p><br>
</p>
<p><font size="+1">[root@ospp9-ctrl1 site-packages(keystone_admin)]<wbr># vim nova/api/openstack/wsgi.py +721<br>
```python<br>
       project_id = action_args.pop("project_id", None)<br>
        context = request.environ.get('nova.<wbr>context')<br>
        if (context and project_id and (project_id != context.project_id)):<br>
            msg = _("Malformed request URL: URL's project_id '%(project_id)s'"<br>
                    " doesn't match Context's project_id"<br>
                    " '%(context_project_id)s'") % \<br>
                    {'project_id': project_id,<br>
                     'context_project_id': context.project_id}<br>
            return Fault(webob.exc.<wbr>HTTPBadRequest(explanation=<wbr>msg))<br>
```<br>
</font></p>
<p>2. Why  got empty SeviceCatalog    <font size="+1">"serviceCatalog": []" but  it is not in official docs
<br>
</font></p>
<a class="gmail-m_-263425083183485215moz-txt-link-freetext" href="http://developer.openstack.org/api-guide/quick-start/api-quick-start.html#openstack-api-quick-guide" target="_blank">http://developer.openstack.<wbr>org/api-guide/quick-start/api-<wbr>quick-start.html#openstack-<wbr>api-quick-guide</a><span class="gmail-HOEnZb"><font color="#888888"><br>
<br>
<pre class="gmail-m_-263425083183485215moz-signature" cols="72">-- 
------------------------------<wbr>----------------------
Margin Hu   
Love Open Source Software.
Mobile: (86) 186-8035-6499 
email : <a class="gmail-m_-263425083183485215moz-txt-link-abbreviated" href="mailto:jhu_com@outlook.com" target="_blank">jhu_com@outlook.com</a>
github: <a class="gmail-m_-263425083183485215moz-txt-link-freetext" href="http://github.com/todaygood" target="_blank">http://github.com/todaygood</a>
 -----------------------------<wbr>----------------------</pre>
</font></span></div>

<br>______________________________<wbr>_________________<br>
Mailing list: <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack</a><br>
Post to     : <a href="mailto:openstack@lists.openstack.org">openstack@lists.openstack.org</a><br>
Unsubscribe : <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack</a><br>
<br></blockquote></div><br></div></div>