<div class="gmail_extra">The documentation at: <a href="http://api.openstack.org">http://api.openstack.org</a> states that you need to have your tenant id in the url:<br><br>v1.1/{tenant_id}/flavors<br><br>also, as <a href="http://api.openstack.org">http://api.openstack.org</a> still misses some content, there is a way to intercept some calls via http to the api server. Here are the steps:<br>
<br>1. run tcpdump on the interface and port that nova-api listens on and capture the stream to pcap file (-w <filename> option for tcpdump)<br>2. as the cloud user ("admin" in your case I guess), run: nova flavor-list<br>
3. stop tcpdump and transfer the capture file from tcpdump to your workstation<br>4. on your workstation install and run wireshark<br>5. load the pcap file to wireshark and go to analysis-> follow tcp stream (<a href="http://www.wireshark.org/docs/wsug_html_chunked/ChAdvFollowTCPSection.html">http://www.wireshark.org/docs/wsug_html_chunked/ChAdvFollowTCPSection.html</a>)<br>
<br>you should now see in wireshark how "nova flavor-list" interacted with the API component, including valid url and post data in json form.<br><br>Hope this helps,<br>-Piotr<br><br><div class="gmail_quote">On 20 April 2012 13:23,  <span dir="ltr"><<a href="mailto:mpedersen@choopa.com" target="_blank">mpedersen@choopa.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Fri, 20 Apr 2012 13:01:59 -0700, "Daneyon Hansen (danehans)"<br>
<<a href="mailto:danehans@cisco.com">danehans@cisco.com</a>> wrote:<br>
> What are the nova logs showing?<br>
<br>
</div>I knew I'd forget something. I restarted nova-api in debug mode (via: stop<br>
nova-api; nova-api -d) Here's the logs from each request, and yes, the<br>
second request really did produce no output. It's been sanitized: ADMIN was<br>
the X-Auth-Token, and IP.ADDRESS was the server running nova-api. I also<br>
noticed a pattern "Unrecognized Content-Type" appearing, so the final run<br>
shown below is with Content-Type header sent. Still got an error<br>
400.-----------------------------------------------------------------------------------------------<br>
-----------------------------------------------------------------------------------------------<br>
COMMAND: curl -v -H "X-Auth-Token: ADMIN" <a href="http://IP.ADDRESS:8774/flavors" target="_blank">http://IP.ADDRESS:8774/flavors</a><br>
---LOG<br>
2012-04-20 16:07:39 INFO nova.api.openstack.wsgi [-] GET<br>
<a href="http://IP.ADDRESS:8774/flavors" target="_blank">http://IP.ADDRESS:8774/flavors</a><br>
2012-04-20 16:07:39 DEBUG nova.api.openstack.wsgi [-] Unrecognized<br>
Content-Type provided in request from (pid=14907) get_body<br>
/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py:697<br>
2012-04-20 16:07:39 INFO nova.api.openstack.wsgi [-]<br>
<a href="http://IP.ADDRESS:8774/flavors" target="_blank">http://IP.ADDRESS:8774/flavors</a> returned with HTTP 300<br>
<br>
---RESPONSE<br>
* About to connect() to IP.ADDRESS port 8774 (#0)<br>
*   Trying IP.ADDRESS... connected<br>
* Connected to IP.ADDRESS (IP.ADDRESS) port 8774 (#0)<br>
> GET /flavors HTTP/1.1<br>
> User-Agent: curl/7.21.6 (x86_64-pc-linux-gnu) libcurl/7.21.6<br>
OpenSSL/1.0.0e zlib/<a href="http://1.2.3.4" target="_blank">1.2.3.4</a> libidn/1.22 librtmp/2.3<br>
> Host: IP.ADDRESS:8774<br>
> Accept: */*<br>
> X-Auth-Token: ADMIN<br>
><br>
< HTTP/1.1 300 Multiple Choices<br>
< Content-Type: application/json<br>
< Content-Length: 320<br>
< Date: Fri, 20 Apr 2012 19:44:41 GMT<br>
<<br>
* Connection #0 to host IP.ADDRESS left intact<br>
* Closing connection #0<br>
{"choices": [{"status": "CURRENT", "media-types": [{"base":<br>
"application/xml", "type":<br>
"application/vnd.openstack.compute+xml;version=2"}, {"base":<br>
"application/json", "type":<br>
"application/vnd.openstack.compute+json;version=2"}], "id": "v2.0",<br>
"links": [{"href": "<a href="http://IP.ADDRESS:8774/v2/flavors" target="_blank">http://IP.ADDRESS:8774/v2/flavors</a>", "rel": "self"}]}]}<br>
<br>
<br>
-----------------------------------------------------------------------------------------------<br>
-----------------------------------------------------------------------------------------------<br>
COMMAND: curl -v -H "X-Auth-Token: ADMIN"<br>
<a href="http://IP.ADDRESS:8774/v2/flavors" target="_blank">http://IP.ADDRESS:8774/v2/flavors</a><br>
---LOG<br>
<br>
---RESPONSE<br>
* About to connect() to IP.ADDRESS port 8774 (#0)<br>
*   Trying IP.ADDRESS... connected<br>
* Connected to IP.ADDRESS (IP.ADDRESS) port 8774 (#0)<br>
> GET /v2/flavors HTTP/1.1<br>
> User-Agent: curl/7.21.6 (x86_64-pc-linux-gnu) libcurl/7.21.6<br>
OpenSSL/1.0.0e zlib/<a href="http://1.2.3.4" target="_blank">1.2.3.4</a> libidn/1.22 librtmp/2.3<br>
> Host: IP.ADDRESS:8774<br>
> Accept: */*<br>
> X-Auth-Token: ADMIN<br>
><br>
< HTTP/1.1 404 Not Found<br>
< Content-Length: 154<br>
< Content-Type: text/html; charset=UTF-8<br>
< Date: Fri, 20 Apr 2012 19:46:09 GMT<br>
<<br>
<html><br>
 <head><br>
  <title>404 Not Found</title><br>
 </head><br>
 <body><br>
  <h1>404 Not Found</h1><br>
  The resource could not be found.<br /><br /><br>
<br>
<br>
<br>
 </body><br>
* Connection #0 to host IP.ADDRESS left intact<br>
* Closing connection #0<br>
</html><br>
<br>
<br>
-----------------------------------------------------------------------------------------------<br>
-----------------------------------------------------------------------------------------------<br>
COMMAND: curl -v -H "X-Auth-Token: ADMIN"<br>
<a href="http://IP.ADDRESS:8774/openstack/flavors" target="_blank">http://IP.ADDRESS:8774/openstack/flavors</a><br>
---LOG<br>
2012-04-20 16:10:11 INFO nova.api.openstack.wsgi [-] GET<br>
<a href="http://IP.ADDRESS:8774/openstack/flavors" target="_blank">http://IP.ADDRESS:8774/openstack/flavors</a><br>
2012-04-20 16:10:11 DEBUG nova.api.openstack.wsgi [-] Unrecognized<br>
Content-Type provided in request from (pid=14907) get_body<br>
/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py:697<br>
2012-04-20 16:10:11 INFO nova.api.openstack.wsgi [-]<br>
<a href="http://IP.ADDRESS:8774/openstack/flavors" target="_blank">http://IP.ADDRESS:8774/openstack/flavors</a> returned with HTTP 300<br>
<br>
---RESPONSE<br>
* About to connect() to IP.ADDRESS port 8774 (#0)<br>
*   Trying IP.ADDRESS... connected<br>
* Connected to IP.ADDRESS (IP.ADDRESS) port 8774 (#0)<br>
> GET /openstack/flavors HTTP/1.1<br>
> User-Agent: curl/7.21.6 (x86_64-pc-linux-gnu) libcurl/7.21.6<br>
OpenSSL/1.0.0e zlib/<a href="http://1.2.3.4" target="_blank">1.2.3.4</a> libidn/1.22 librtmp/2.3<br>
> Host: IP.ADDRESS:8774<br>
> Accept: */*<br>
> X-Auth-Token: ADMIN<br>
><br>
< HTTP/1.1 300 Multiple Choices<br>
< Content-Type: application/json<br>
< Content-Length: 330<br>
< Date: Fri, 20 Apr 2012 19:47:58 GMT<br>
<<br>
* Connection #0 to host IP.ADDRESS left intact<br>
* Closing connection #0<br>
{"choices": [{"status": "CURRENT", "media-types": [{"base":<br>
"application/xml", "type":<br>
"application/vnd.openstack.compute+xml;version=2"}, {"base":<br>
"application/json", "type":<br>
"application/vnd.openstack.compute+json;version=2"}], "id": "v2.0",<br>
"links": [{"href": "<a href="http://IP.ADDRESS:8774/v2/openstack/flavors" target="_blank">http://IP.ADDRESS:8774/v2/openstack/flavors</a>", "rel":<br>
"self"}]}]}<br>
<br>
<br>
-----------------------------------------------------------------------------------------------<br>
-----------------------------------------------------------------------------------------------<br>
COMMAND: curl -v -H "X-Auth-Token: ADMIN"<br>
<a href="http://IP.ADDRESS:8774/v2/openstack/flavors" target="_blank">http://IP.ADDRESS:8774/v2/openstack/flavors</a><br>
---LOG<br>
2012-04-20 16:10:44 INFO nova.api.openstack.wsgi<br>
[req-cdd444c1-094c-4d4a-901e-5d46dd703240 419e714fcdf74bc2831ef3f5bfb24430<br>
e74f096476c8487883ee0905239dadc4] GET<br>
<a href="http://IP.ADDRESS:8774/v2/openstack/flavors" target="_blank">http://IP.ADDRESS:8774/v2/openstack/flavors</a><br>
2012-04-20 16:10:44 DEBUG nova.api.openstack.wsgi<br>
[req-cdd444c1-094c-4d4a-901e-5d46dd703240 419e714fcdf74bc2831ef3f5bfb24430<br>
e74f096476c8487883ee0905239dadc4] Unrecognized Content-Type provided in<br>
request from (pid=14907) get_body<br>
/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py:697<br>
<br>
---RESPONSE<br>
* About to connect() to IP.ADDRESS port 8774 (#0)<br>
*   Trying IP.ADDRESS... connected<br>
* Connected to IP.ADDRESS (IP.ADDRESS) port 8774 (#0)<br>
> GET /v2/openstack/flavors HTTP/1.1<br>
> User-Agent: curl/7.21.6 (x86_64-pc-linux-gnu) libcurl/7.21.6<br>
OpenSSL/1.0.0e zlib/<a href="http://1.2.3.4" target="_blank">1.2.3.4</a> libidn/1.22 librtmp/2.3<br>
> Host: IP.ADDRESS:8774<br>
> Accept: */*<br>
> X-Auth-Token: ADMIN<br>
><br>
< HTTP/1.1 400 Bad Request<br>
< Content-Length: 65<br>
< Content-Type: application/json; charset=UTF-8<br>
< X-Compute-Request-Id: req-fba3d209-945b-4748-ab8c-d02db60d9b47<br>
< Date: Fri, 20 Apr 2012 19:47:23 GMT<br>
<<br>
* Connection #0 to host IP.ADDRESS left intact<br>
* Closing connection #0<br>
{"badRequest": {"message": "Malformed request url", "code": 400}}<br>
<br>
<br>
-----------------------------------------------------------------------------------------------<br>
-----------------------------------------------------------------------------------------------<br>
COMMAND: curl -v -H "X-Auth-Token: ADMIN" -H "Content-type:<br>
application/json" <a href="http://IP.ADDRESS:8774/v2/openstack/flavors" target="_blank">http://IP.ADDRESS:8774/v2/openstack/flavors</a><br>
---LOG<br>
2012-04-20 16:18:56 INFO nova.api.openstack.wsgi<br>
[req-ab363386-6c07-4176-9b6b-4c0941f82df4 419e714fcdf74bc2831ef3f5bfb24430<br>
e74f096476c8487883ee0905239dadc4] GET<br>
<a href="http://IP.ADDRESS:8774/v2/openstack/flavors" target="_blank">http://IP.ADDRESS:8774/v2/openstack/flavors</a><br>
2012-04-20 16:18:56 DEBUG nova.api.openstack.wsgi<br>
[req-ab363386-6c07-4176-9b6b-4c0941f82df4 419e714fcdf74bc2831ef3f5bfb24430<br>
e74f096476c8487883ee0905239dadc4] Empty body provided in request from<br>
(pid=14907) get_body<br>
/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py:705<br>
<br>
---RESPONSE<br>
* About to connect() to IP.ADDRESS port 8774 (#0)<br>
*   Trying IP.ADDRESS... connected<br>
* Connected to IP.ADDRESS (IP.ADDRESS) port 8774 (#0)<br>
> GET /v2/openstack/flavors HTTP/1.1<br>
> User-Agent: curl/7.21.6 (x86_64-pc-linux-gnu) libcurl/7.21.6<br>
OpenSSL/1.0.0e zlib/<a href="http://1.2.3.4" target="_blank">1.2.3.4</a> libidn/1.22 librtmp/2.3<br>
> Host: IP.ADDRESS:8774<br>
> Accept: */*<br>
> X-Auth-Token: ADMIN<br>
> Content-type: application/json<br>
><br>
< HTTP/1.1 400 Bad Request<br>
< Content-Length: 65<br>
< Content-Type: application/json; charset=UTF-8<br>
< X-Compute-Request-Id: req-ab363386-6c07-4176-9b6b-4c0941f82df4<br>
< Date: Fri, 20 Apr 2012 20:18:56 GMT<br>
<<br>
* Connection #0 to host IP.ADDRESS left intact<br>
* Closing connection #0<br>
{"badRequest": {"message": "Malformed request url", "code": 400}}<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
Openstack-operators mailing list<br>
<a href="mailto:Openstack-operators@lists.openstack.org">Openstack-operators@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>checkout my blog on linux clusters:<br>-- <a href="http://linuxdatacenter.blogspot.com">linuxdatacenter.blogspot.com</a> --<br>
</div>