Public bug reported: Description ===========
We have an old script which was requesting http://<nova-ip>:8774/v3 and received a 300 multiple choices, the response body looks like this though: {"choices": [{"status": "SUPPORTED", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2"}], "id": "v2.0", "l│inks": [{"href": "http://127.0.0.1:8774/v2/v3", "rel": "self"}]}, {"status": "CURRENT", "media-types": [{"base": "application/json", "type": "application/vnd.op│enstack.compute+json;version=2.1"}], "id": "v2.1", "links": [{"href": "http://127.0.0.1:8774/v2.1/v3", "rel": "self"}]}]} This actually will work with anything after /, e.g., http://<nova- ip>:8774/asd {"choices": [{"status": "SUPPORTED", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2"}], "id": "v2.0", "l│inks": [{"href": "http://127.0.0.1:8774/v2/asd", "rel": "self"}]}, {"status": "CURRENT", "media-types": [{"base": "application/json", "type": "application/vnd.o│penstack.compute+json;version=2.1"}], "id": "v2.1", "links": [{"href": "http://127.0.0.1:8774/v2.1/asd", "rel": "self"}]}]} Steps to reproduce ================== A chronological list of steps which will bring off the issue you noticed: * I upgraded Kilo to Liberty * then I made a request to http://<nova-ip>:8774/v3 * then I saw a response body like above Example code: import requests r = requests.get('http://<nova-ip>:8774/v3') print(r.status_code) print(r.content) Alternatively, curl -i http://<nova-ip>:8774/v3 Expected result =============== I would have expected to see a response like: {"choices": [{"status": "SUPPORTED", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2"}], "id": "v2.0", "l│inks": [{"href": "http://127.0.0.1:8774/v2", "rel": "self"}]}, {"status": "CURRENT", "media-types": [{"base": "application/json", "type": "application/vnd.op│enstack.compute+json;version=2.1"}], "id": "v2.1", "links": [{"href": "http://127.0.0.1:8774/v2.1", "rel": "self"}]}]} E.g., http://127.0.0.1:8774/v2.1 instead of http://127.0.0.1:8774/v2.1/v3 Actual result ============= As described above Environment =========== 1. Version: 3f217a441af6595cb2a240ab72133aff133504b6 (stable/liberty) 2. Which hypervisor did you use? Unrelated 2. Which storage type did you use? Unrelated 3. Which networking type did you use? Unrelated ** Affects: nova Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1567620 Title: Scripts requesting v3 get multiple choices with bad URLs Status in OpenStack Compute (nova): New Bug description: Description =========== We have an old script which was requesting http://<nova-ip>:8774/v3 and received a 300 multiple choices, the response body looks like this though: {"choices": [{"status": "SUPPORTED", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2"}], "id": "v2.0", "l│inks": [{"href": "http://127.0.0.1:8774/v2/v3", "rel": "self"}]}, {"status": "CURRENT", "media-types": [{"base": "application/json", "type": "application/vnd.op│enstack.compute+json;version=2.1"}], "id": "v2.1", "links": [{"href": "http://127.0.0.1:8774/v2.1/v3", "rel": "self"}]}]} This actually will work with anything after /, e.g., http://<nova- ip>:8774/asd {"choices": [{"status": "SUPPORTED", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2"}], "id": "v2.0", "l│inks": [{"href": "http://127.0.0.1:8774/v2/asd", "rel": "self"}]}, {"status": "CURRENT", "media-types": [{"base": "application/json", "type": "application/vnd.o│penstack.compute+json;version=2.1"}], "id": "v2.1", "links": [{"href": "http://127.0.0.1:8774/v2.1/asd", "rel": "self"}]}]} Steps to reproduce ================== A chronological list of steps which will bring off the issue you noticed: * I upgraded Kilo to Liberty * then I made a request to http://<nova-ip>:8774/v3 * then I saw a response body like above Example code: import requests r = requests.get('http://<nova-ip>:8774/v3') print(r.status_code) print(r.content) Alternatively, curl -i http://<nova-ip>:8774/v3 Expected result =============== I would have expected to see a response like: {"choices": [{"status": "SUPPORTED", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2"}], "id": "v2.0", "l│inks": [{"href": "http://127.0.0.1:8774/v2", "rel": "self"}]}, {"status": "CURRENT", "media-types": [{"base": "application/json", "type": "application/vnd.op│enstack.compute+json;version=2.1"}], "id": "v2.1", "links": [{"href": "http://127.0.0.1:8774/v2.1", "rel": "self"}]}]} E.g., http://127.0.0.1:8774/v2.1 instead of http://127.0.0.1:8774/v2.1/v3 Actual result ============= As described above Environment =========== 1. Version: 3f217a441af6595cb2a240ab72133aff133504b6 (stable/liberty) 2. Which hypervisor did you use? Unrelated 2. Which storage type did you use? Unrelated 3. Which networking type did you use? Unrelated To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1567620/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp