Replied inline.<br><br><div class="gmail_quote">On Thu, May 3, 2012 at 6:08 PM, Nick Lothian <span dir="ltr"><<a href="mailto:nick.lothian@gmail.com" target="_blank">nick.lothian@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>(Replying to list this time... Is there a reason why the reply-to isn't set to the list?!)</div><div class="im"><div><br></div><div>Is this really the case? Why does service-list require the admin port?</div></div>
</blockquote><div><br></div><div>GET /services requires admin privileges because it's really a CRUD operation on a small portion of the service catalog equation. End users can simply auth and get endpoints for the services they have access to.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><div>
<br></div><div>Running against TryStack (note that I don't supply a tenant):</div></div></blockquote><div><br></div><div>I'm assuming your user account has a default tenant defined in keystone... because you don't explicitly provide a tenant, keystone can assume you want to use your default tenant, and provide the corresponding service catalog. Alternatively, you can call GET /tenants,  select an alternative (if any), and explicitly auth for another tenant.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im"><div><br></div><div><div>$ curl -k -X 'POST' -v <a href="https://nova-api.trystack.org:5443/v2.0/tokens" style="color:rgb(17,85,204)" target="_blank">https://nova-api.trystack.org:5443/v2.0/tokens</a> -d '{"aut</div>

<div>h":{"passwordCredentials":{"username": <username>, "password":<password>}}}' -H 'Content-type: application/json'</div></div><div><br></div><div><br>
</div><div><div>{"access": {"token": {"expires": "2012-05-04T23:01:56.797115", "id": <token>, "tenant": {"id": <tenant>, "name": <username></div>

<div>}}, "serviceCatalog": [{"endpoints": [{"adminURL": "<a href="https://nova-api.trystack.or/" style="color:rgb(17,85,204)" target="_blank">https://nova-api.trystack.or</a></div><div>
g:9774/v1.1/929", "region": "RegionOne", "internalURL": "<a href="https://nova-api.trysta/" style="color:rgb(17,85,204)" target="_blank">https://nova-api.trysta</a></div>
<div><a href="http://ck.org:9774/v1.1/" style="color:rgb(17,85,204)" target="_blank">ck.org:9774/v1.1/</a><tenent>", "publicURL": "<a href="https://nova-api.trystack.org:9774/v1.1/929" style="color:rgb(17,85,204)" target="_blank">https://nova-api.trystack.org:9774/v1.1/929</a></div>

<div>"}], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL": "<a href="https://gl/" style="color:rgb(17,85,204)" target="_blank">https://GL</a></div>

<div>ANCE_API_IS_NOT_DISCLOSED/v1.1/ <tenent> ", "region": "RegionOne", "internalURL": "http</div><div>s://GLANCE_API_IS_NOT_DISCLOSED/v1.1/ <tenent> ", "publicURL": "<a href="https://glance_api_is_n/" style="color:rgb(17,85,204)" target="_blank">https://GLANCE_API_IS_N</a></div>

<div>OT_DISCLOSED/v1.1/ <tenent> "}], "type": "image", "name": "glance"}, {"endpoints": [{"a</div><div>dminURL": "<a href="https://nova-api.trystack.org:5443/v2.0" style="color:rgb(17,85,204)" target="_blank">https://nova-api.trystack.org:5443/v2.0</a>", "region": "RegionOne", "int</div>

<div>ernalURL": "<a href="https://keystone.thefreecloud.org:5000/v2.0" style="color:rgb(17,85,204)" target="_blank">https://keystone.thefreecloud.org:5000/v2.0</a>", "publicURL": "https://</div>

<div><a href="http://keystone.thefreecloud.org:5000/v2.0" style="color:rgb(17,85,204)" target="_blank">keystone.thefreecloud.org:5000/v2.0</a>"}], "type": "identity", "name": "keystone"}]</div>

<div>, "user": {"id": <userid>, "roles": [{"tenantId":  <tenent> , "id": "2", "name": "Member</div><div>"}], "name": <username>}}}</div>

</div></div><div><div style="background-color:rgb(241,241,241);border-top-width:1px;border-right-width:1px;border-bottom-width:1px;border-left-width:1px;border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-color:rgb(221,221,221);border-right-color:rgb(221,221,221);border-bottom-color:rgb(221,221,221);border-left-color:rgb(221,221,221);clear:both;line-height:6px;outline-style:none;outline-width:initial;outline-color:initial;width:20px">

<img style="background-image:url('');background-color:initial;min-height:8px;width:20px;background-repeat:no-repeat no-repeat"></div>
</div><br><div class="gmail_quote"><div class="im">On Fri, May 4, 2012 at 1:08 AM, Dolph Mathews <span dir="ltr"><<a href="mailto:dolph.mathews@gmail.com" target="_blank">dolph.mathews@gmail.com</a>></span> wrote:<br>
</div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="gmail_extra">"service-list" calls the admin API (port 35357), but the auth_url you provided was port 5000. I don't think the current keystoneclient is smart enough to try and switch to the correct endpoint. If you have an admin role, switching to port 35357 should work for you.</div>


<div class="gmail_extra"><br></div><div class="gmail_extra">Additionally, you won't get a service catalog without also providing a tenant, so that behavior is by design as well. Try --os_tenant_name or --os_tenant_id if using the client, or providing "tenantName" or "tenantId" in your "auth" object for curl.</div>

<span><font color="#888888">
<div class="gmail_extra"><br></div></font></span><div class="gmail_extra"><span><font color="#888888">-Dolph<br><br></font></span><div class="gmail_quote"><div><div>On Wed, May 2, 2012 at 11:38 PM, Nick Lothian <span dir="ltr"><<a href="mailto:nick.lothian@gmail.com" target="_blank">nick.lothian@gmail.com</a>></span> wrote:<br>


</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>I'm having some trouble using the Keystone API.<div><br></div><div>When I run </div>
<div><br></div><div><div>keystone --os_username=admin --os_password=password --os_auth_url=<a href="http://192.168.1.50:5000/v2.0/" target="_blank">http://192.168.1.50:5000/v2.0/</a> service-list</div>

</div><div><br></div><div>I get the following:</div><div><br></div><div><div>No handlers could be found for logger "keystoneclient.v2_0.client"</div><div>Unable to communicate with identity service: 404 Not Found</div>



<div><br></div><div>The resource could not be found.</div><div><br></div><div>   . (HTTP 404)</div></div><div><br></div><div><br></div><div>The keystone log shows the following:</div><div><br></div><div><div>(eventlet.wsgi.server): 2012-05-03 14:03:12,840 DEBUG wsgi write 192.168.1.50 - - [03/May/2012 14:03:12] "GET /v2.0/OS-KSADM/services HTTP/1.1" 404 176 0.008028</div>



<div><br></div></div><div><br></div><div>Additionally, if I use curl to call the keystone API directly (as documented at <a href="http://keystone.openstack.org/api_curl_examples.html#id4" target="_blank">http://keystone.openstack.org/api_curl_examples.html#id4</a>) my whole serviceCatalog section is empty ("serviceCatalog": {})</div>



<div><br></div><div>I am using a default devstack installation.</div><div><br></div><div>What am I missing?</div>
<br></div></div><div>_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br></div></blockquote></div><br></div>
</blockquote></div></div></div><br>
<br>_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br></blockquote></div><br>