Bug 1291291 - Nova endpoint version is v2.0 instead of v2.1
Nova endpoint version is v2.0 instead of v2.1
Status: CLOSED ERRATA
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates (Show other bugs)
8.0 (Liberty)
Unspecified Unspecified
urgent Severity high
: async
: 8.0 (Liberty)
Assigned To: Jiri Stransky
Leonid Natapov
:
Depends On:
Blocks: 1185030
  Show dependency treegraph
 
Reported: 2015-12-14 09:09 EST by Sylvain Bauza
Modified: 2016-04-20 09:03 EDT (History)
11 users (show)

See Also:
Fixed In Version: openstack-tripleo-heat-templates-0.8.14-8.el7ost os-cloud-config-0.4.1-2.el7ost python-tripleoclient-0.3.4-3.el7ost
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-04-20 09:03:54 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
OpenStack gerrit 263366 None None None 2016-01-04 12:49 EST
OpenStack gerrit 293509 None None None 2016-03-16 11:33 EDT
OpenStack gerrit 299874 None None None 2016-03-31 07:49 EDT
OpenStack gerrit 299896 None None None 2016-03-31 11:38 EDT
OpenStack gerrit 300031 None None None 2016-03-31 11:37 EDT
OpenStack gerrit 300366 None None None 2016-04-01 12:50 EDT
OpenStack gerrit 300569 None None None 2016-04-01 12:51 EDT

  None (edit)
Description Sylvain Bauza 2015-12-14 09:09:22 EST
Description of problem:

When testing an OSP-8 Director feature related to Instance HA, I saw a problem when trying to ask for nova force-down a compute node.

When calling Nova, it returned a 404 NotFound while it should have return either a python-novaclient UnsupportedVersion exception or a good HTTP200 return code.

When looking at the Keystone service catalog for the overcloud, I saw that nova endpoint for the "compute" service type was using the /v2 legacy path 


[heat-admin@overcloud-controller-0 ~]$ keystone endpoint-get --service compute
+-------------------+-------------------------------------------------------------+
|      Property     | Value                            |
+-------------------+-------------------------------------------------------------+
| compute.publicURL | http://172.20.0.10:8774/v2/eaedf6e2e30840f08a96725eb602b900 |
+-------------------+-------------------------------------------------------------+



In order to get the new features, we should rather use the /v2.1 URL path so we could use Nova microversions instead.

http://developer.openstack.org/api-guide/compute/#api-versions




Version-Release number of selected component (if applicable):

openstack-nova-api-12.0.0-2.el7ost.noarch
python-novaclient-2.30.1-1.el7ost.noarch
Comment 3 Stephen Gordon 2016-03-01 13:09:42 EST
Looking at output of a director install currently we appear to create:

http://172.17.1.10:8774/v3 
http://172.17.1.10:8774/v2/$(tenant_id)s 

Per Sylvain it sounds like we should only be creating:

http://172.17.1.10:8774/v2.1/$(tenant_id)s 

API features created after the introduction of microversions will not work if this isn't done. Clients will receive:

"ERROR (UnsupportedVersion): Server doesn't support microversions". The feature was added in nova v2.10. Any idea how to enable it?"
Comment 4 Sylvain Bauza 2016-03-02 08:22:54 EST
You're right, Steve, it's okay to wipe all current references and only point to the above endpoint I mentioned (ie. 
http://172.17.1.10:8774/v2.1/$(tenant_id)s )

All of that is explained in http://developer.openstack.org/api-guide/compute/microversions.html#

tl;dr:
 - If the client is not providing a microversion header, it will serve the minimum microversion number (ie. v2.1) which is feature-compatible with the legacy /v2 endpoint. There is behavioural changes between those, you have the same acceptance parameters and the same returned JSON resources.

 - If the client is providing a microversion (that's what latest novaclients do), there will be a version negociation with the server if the server supports microversions and will either return a compatible object or an HTTP error.
Comment 5 Jiri Stransky 2016-03-16 11:33:21 EDT
Liberty backport https://review.openstack.org/#/c/293509/
Comment 7 Asaf Hirshberg 2016-03-23 06:07:07 EDT
Sylvain,

The current puddle ( 2016-03-22.1 ) ships with:
[heat-admin@overcloud-controller-0 ~]$ rpm -qa|grep python-novaclient
python-novaclient-3.1.0-2.el7ost.noarch
[stack@puma33 ~]$ rpm -qa|grep openstack-tripleo-heat-templates-
openstack-tripleo-heat-templates-kilo-0.8.12-2.el7ost.noarch
openstack-tripleo-heat-templates-0.8.12-2.el7ost.noarch

so need to replace it to python-novaclient-2.30.1-1.el7ost.noarch ?
Comment 8 Sylvain Bauza 2016-03-23 10:16:16 EDT
Hi Asaf,

I reported the problem using novaclient-2.30.1 but the problem is not due to this version, since it's rather a Keystone service endpoint problem.

To be clear, either the 2.30.1 or the 3.1 have the same problem that the above change fixes, so you can check using the 3.1 version.
Comment 9 Asaf Hirshberg 2016-03-24 01:54:26 EDT
Sylvain,

comment 7 reflect the rpm on my environment.

[heat-admin@overcloud-controller-0 ~]$ keystone endpoint-get --service compute
+-------------------+--------------------------------------------------------------+
|      Property     |                            Value                             |
+-------------------+--------------------------------------------------------------+
| compute.publicURL | http://10.35.180.10:8774/v2/8e01476971c54bdf99ca4c086a894e78 |
+-------------------+--------------------------------------------------------------+
Comment 10 Asaf Hirshberg 2016-03-30 07:18:21 EDT
Failed on openstack-tripleo-heat-templates-0.8.12-2.el7ost.noarch

[heat-admin@overcloud-controller-0 ~]$ nova --debug --os-compute-api-version 2.11 service-list --binary nova-compute
DEBUG (extension:156) found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token')
DEBUG (extension:156) found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken')
DEBUG (extension:156) found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password')
DEBUG (extension:156) found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password')
DEBUG (extension:156) found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token')
DEBUG (extension:156) found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token')
DEBUG (extension:156) found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password')
DEBUG (session:195) REQ: curl -g -i -X GET http://10.35.180.10:5000/v2.0 -H "Accept: application/json" -H "User-Agent: keystoneauth1"
INFO (connectionpool:203) Starting new HTTP connection (1): 10.35.180.10
DEBUG (connectionpool:383) "GET /v2.0 HTTP/1.1" 200 338
DEBUG (session:224) RESP: [200] date: Wed, 30 Mar 2016 11:16:02 GMT vary: X-Auth-Token content-length: 338 content-type: application/json x-openstack-request-id: req-9c6837f3-4f4e-4cf5-bdfa-99b509d16ee1 
RESP BODY: {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "http://10.35.180.10:5000/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}}

DEBUG (v2:62) Making authentication request to http://10.35.180.10:5000/v2.0/tokens
DEBUG (connectionpool:383) "POST /v2.0/tokens HTTP/1.1" 200 4056
DEBUG (session:195) REQ: curl -g -i -X GET http://10.35.180.10:8774/v2/2c79f2b72aa84ace9f89b4c8d8608d08 -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}5f473e261b380e0943cdee1751fa975153298732"
INFO (connectionpool:203) Starting new HTTP connection (1): 10.35.180.10
DEBUG (connectionpool:383) "GET /v2/2c79f2b72aa84ace9f89b4c8d8608d08 HTTP/1.1" 404 52
DEBUG (session:224) RESP: [404] date: Wed, 30 Mar 2016 11:16:12 GMT content-length: 52 content-type: text/plain; charset=UTF-8 x-compute-request-id: req-e34f233d-e003-4679-b6c1-afa00b8148b3 
RESP BODY: 404 Not Found

The resource could not be found.

   

DEBUG (session:195) REQ: curl -g -i -X GET http://10.35.180.10:8774/v2/ -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}5f473e261b380e0943cdee1751fa975153298732"
DEBUG (connectionpool:383) "GET /v2/ HTTP/1.1" 200 377
DEBUG (session:224) RESP: [200] date: Wed, 30 Mar 2016 11:16:02 GMT content-length: 377 content-type: application/json x-compute-request-id: req-f4ba3146-f69d-4797-9dfa-a32366cc6205 
RESP BODY: {"version": {"status": "SUPPORTED", "updated": "2011-01-21T11:33:21Z", "links": [{"href": "http://10.35.180.10:8774/v2/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}], "min_version": "", "version": "", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2"}], "id": "v2.0"}}

DEBUG (shell:896) Server doesn't support microversions
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 894, in main
    OpenStackComputeShell().main(argv)
  File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 728, in main
    api_version = api_versions.discover_version(self.cs, api_version)
  File "/usr/lib/python2.7/site-packages/novaclient/api_versions.py", line 274, in discover_version
    _("Server doesn't support microversions"))
UnsupportedVersion: Server doesn't support microversions
ERROR (UnsupportedVersion): Server doesn't support microversions
[heat-admin@overcloud-controller-0 ~]$ 

[heat-admin@overcloud-controller-0 ~]$ nova --debug --os-compute-api-version 2.10 service-list --binary nova-compute
DEBUG (extension:156) found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token')
DEBUG (extension:156) found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken')
DEBUG (extension:156) found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password')
DEBUG (extension:156) found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password')
DEBUG (extension:156) found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token')
DEBUG (extension:156) found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token')
DEBUG (extension:156) found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password')
DEBUG (session:195) REQ: curl -g -i -X GET http://10.35.180.10:5000/v2.0 -H "Accept: application/json" -H "User-Agent: keystoneauth1"
INFO (connectionpool:203) Starting new HTTP connection (1): 10.35.180.10
DEBUG (connectionpool:383) "GET /v2.0 HTTP/1.1" 200 338
DEBUG (session:224) RESP: [200] date: Wed, 30 Mar 2016 11:16:38 GMT vary: X-Auth-Token content-length: 338 content-type: application/json x-openstack-request-id: req-14c43ab6-e509-43e5-9d50-ff3d6d11c4de 
RESP BODY: {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "http://10.35.180.10:5000/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}}

DEBUG (v2:62) Making authentication request to http://10.35.180.10:5000/v2.0/tokens
DEBUG (connectionpool:383) "POST /v2.0/tokens HTTP/1.1" 200 4056
DEBUG (session:195) REQ: curl -g -i -X GET http://10.35.180.10:8774/v2/2c79f2b72aa84ace9f89b4c8d8608d08 -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}38e7223db726bb7c7e38093b7b30456df3dbcf77"
INFO (connectionpool:203) Starting new HTTP connection (1): 10.35.180.10
DEBUG (connectionpool:383) "GET /v2/2c79f2b72aa84ace9f89b4c8d8608d08 HTTP/1.1" 404 52
DEBUG (session:224) RESP: [404] date: Wed, 30 Mar 2016 11:16:39 GMT content-length: 52 content-type: text/plain; charset=UTF-8 x-compute-request-id: req-5c98fa89-fe80-4b42-9bda-831a3c256ad9 
RESP BODY: 404 Not Found

The resource could not be found.

   

DEBUG (session:195) REQ: curl -g -i -X GET http://10.35.180.10:8774/v2/ -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}38e7223db726bb7c7e38093b7b30456df3dbcf77"
DEBUG (connectionpool:383) "GET /v2/ HTTP/1.1" 200 377
DEBUG (session:224) RESP: [200] date: Wed, 30 Mar 2016 11:16:48 GMT content-length: 377 content-type: application/json x-compute-request-id: req-0eadba5d-b5c5-4e9e-9508-1984b59f2fc8 
RESP BODY: {"version": {"status": "SUPPORTED", "updated": "2011-01-21T11:33:21Z", "links": [{"href": "http://10.35.180.10:8774/v2/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}], "min_version": "", "version": "", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2"}], "id": "v2.0"}}

DEBUG (shell:896) Server doesn't support microversions
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 894, in main
    OpenStackComputeShell().main(argv)
  File "/usr/lib/python2.7/site-packages/novaclient/shell.py", line 728, in main
    api_version = api_versions.discover_version(self.cs, api_version)
  File "/usr/lib/python2.7/site-packages/novaclient/api_versions.py", line 274, in discover_version
    _("Server doesn't support microversions"))
UnsupportedVersion: Server doesn't support microversions
ERROR (UnsupportedVersion): Server doesn't support microversions
[heat-admin@overcloud-controller-0 ~]$ 
[heat-admin@overcloud-controller-0 ~]$ nova --version
3.1.0
[heat-admin@overcloud-controller-0 ~]$ keystone endpoint-list

+----------------------------------+-----------+------------------------------------------------+-----------------------------------------------+------------------------------------------+----------------------------------+
|                id                |   region  |                   publicurl                    |                  internalurl                  |                 adminurl                 |            service_id            |
+----------------------------------+-----------+------------------------------------------------+-----------------------------------------------+------------------------------------------+----------------------------------+
| 0bc852d1caf14c11b032a4789a5ed702 | regionOne |       http://10.35.180.10:80/dashboard/        |       http://10.35.180.10:80/dashboard/       |  http://10.35.180.10:80/dashboard/admin  | ddc9634f0a4d4942a56aab9b282d2521 |
| 190252502fea4c468439d570f3484a4a | regionOne |          http://10.35.180.10:8774/v3           |           http://172.17.0.11:8774/v3          |        http://172.17.0.11:8774/v3        | ccffdcab0c8a4272b32d39f39ac9f6ac |
| 19324fef9c8f46cc8bb984a6fe9d9a8a | regionOne |           http://10.35.180.10:8777/            |            http://172.17.0.11:8777/           |         http://172.17.0.11:8777/         | ba127ea6a57f4911b65904aaeb9ea207 |
| 1a7661a5e26b466f82355d10aa5487bc | regionOne |   http://10.35.180.10:8774/v2/$(tenant_id)s    |    http://172.17.0.11:8774/v2/$(tenant_id)s   | http://172.17.0.11:8774/v2/$(tenant_id)s | 3326fe10e85f47b99935c3804ec3403d |
| 3f5ace0da1cd4812964653cf8acbbf34 | regionOne |           http://10.35.180.10:9696/            |            http://172.17.0.11:9696/           |         http://172.17.0.11:9696/         | 72c42fb038cd4f2ea46c67b8ba636e59 |
| 55058d3d986a4f56bdc4fba857ed60f9 | regionOne |         http://10.35.180.10:5000/v2.0          |          http://172.17.0.11:5000/v2.0         |       http://192.0.2.11:35357/v2.0       | ddcb1cc7a93b4b28b8b5d1489098717f |
| 5d9492b0e3d94dfda94aaa8a461b5983 | regionOne |   http://10.35.180.10:8004/v1/%(tenant_id)s    |    http://172.17.0.11:8004/v1/%(tenant_id)s   | http://172.17.0.11:8004/v1/%(tenant_id)s | 44b0472e37e44ab69fb9b0c508e4483a |
| 65aba6c49e7d44b68b5e44e5a9b1f418 | regionOne |   http://10.35.180.10:8776/v2/%(tenant_id)s    |    http://172.17.0.11:8776/v2/%(tenant_id)s   | http://172.17.0.11:8776/v2/%(tenant_id)s | 7afac6450adf4cca91e9185aed5b11bb |
| 8c04f067093a47ba84847ebb200fecc7 | regionOne |   http://10.35.180.10:8776/v1/%(tenant_id)s    |    http://172.17.0.11:8776/v1/%(tenant_id)s   | http://172.17.0.11:8776/v1/%(tenant_id)s | e3cd72c53f354c6e879d977e3fa0ffbf |
| ce5338c131fb40d982105efed0590f4e | regionOne |           http://10.35.180.10:9292/            |            http://172.18.0.10:9292/           |         http://172.18.0.10:9292/         | 88121aacc289489595c0b6420f91fa4e |
| eff903eb85594bf3817818245beeaf13 | regionOne | http://10.35.180.10:8080/v1/AUTH_%(tenant_id)s | http://172.18.0.10:8080/v1/AUTH_%(tenant_id)s |        http://172.18.0.10:8080/v1        | 1aa4329b988845c3b253d69864e597c6 |
+----------------------------------+-----------+------------------------------------------------+-----------------------------------------------+------------------------------------------+----------------------------------+
Comment 12 Jiri Stransky 2016-03-31 07:49:13 EDT
Aside from Emilien's t-h-t patch, we also need a patch on os-cloud-config.

Submitted at https://review.openstack.org/#/c/299874 (to master branch, backport will follow after merge).
Comment 13 Jiri Stransky 2016-03-31 07:54:44 EDT
Sylvain, do we *have to* remove the nova v3 endpoint? It's registered as a separate service type. With the patch above ^^ if one asks for 'compute' service endpoint, they'll get v2.1. If they ask for 'computev3', they'll get v3. Is it ok like this?


See the outptut below (i just trimmed away client deprecation warnings to make it readable):

overcloud$ keystone endpoint-get --service compute                                                                                                                                                                 
+-------------------+--------------------------------------------------------------+
|      Property     |                            Value                             |
+-------------------+--------------------------------------------------------------+
| compute.publicURL | http://192.0.2.18:8774/v2.1/8641c3f7d42340f595ec0e9339bd8119 |
+-------------------+--------------------------------------------------------------+

overcloud$ nova --os-compute-api-version 2.11 service-list --binary nova-compute
+----+--------------+-------------------------------------+------+---------+-------+----------------------------+-----------------+
| Id | Binary       | Host                                | Zone | Status  | State | Updated_at                 | Disabled Reason |
+----+--------------+-------------------------------------+------+---------+-------+----------------------------+-----------------+
| 33 | nova-compute | overcloud-novacompute-0.localdomain | nova | enabled | up    | 2016-03-31T11:20:49.000000 | -               |
+----+--------------+-------------------------------------+------+---------+-------+----------------------------+-----------------+

overcloud$ keystone endpoint-get --service computev3                                                                                                                                                               
+---------------------+---------------------------+
|       Property      |           Value           |
+---------------------+---------------------------+
| computev3.publicURL | http://192.0.2.18:8774/v3 |
+---------------------+---------------------------+
Comment 14 Sylvain Bauza 2016-03-31 08:06:36 EDT
Jiri, as explained in #c4 , the new /v2.1 is backwards compatible with the legacy /v2 endpoint. 

What we called in the past /v3 is now something defunct in-tree. The /v2.1 API is based on the v3 work, but there are many things that differ, in particular with the backwards-compat thing I mentioned earlier.

We keep the /v2 path in api-paste.ini for making sure an upgrade doesn't trample operators and users but if you look in tree, that's redirecting to the v2.1 codepath (just not asking for microversions)

https://github.com/openstack/nova/blob/master/etc/nova/api-paste.ini#L18

In summary, we only need one endpoint, ie. /v2.1
Comment 15 Jiri Stransky 2016-03-31 08:35:26 EDT
Thanks for the clarification, i updated the patch, we won't be creating computev3 endpoint.
Comment 16 Jiri Stransky 2016-03-31 11:37:40 EDT
Two more patches submitted (tripleoclient, tripleo-heat-templates).
Comment 17 Jiri Stransky 2016-04-01 12:50:22 EDT
Backports for tripleoclient and tripleo-heat-templates submitted. Os-cloud-config doesn't have stable branches, so no backport will be done there.
Comment 19 Jiri Stransky 2016-04-08 08:22:14 EDT
All merged upstream.
Comment 21 Leonid Natapov 2016-04-18 11:06:28 EDT
[stack@puma42 ~]$ rpm -qa | grep python-tripleoclient
python-tripleoclient-0.3.4-3.el7ost.noarch
[stack@puma42 ~]$ rpm -qa | grep os-cloud
os-cloud-config-0.4.1-2.el7ost.noarch
[stack@puma42 ~]$ rpm -qa | grep heat-tem
openstack-heat-templates-0-0.1.20151019.el7ost.noarch
openstack-tripleo-heat-templates-kilo-0.8.14-9.el7ost.noarch
openstack-tripleo-heat-templates-0.8.14-9.el7ost.noarch
------------------------

[stack@puma42 ~]$  nova --debug --os-compute-api-version 2.11 service-list --binary nova-compute
DEBUG (extension:156) found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token')
DEBUG (extension:156) found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken')
DEBUG (extension:156) found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password')
DEBUG (extension:156) found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password')
DEBUG (extension:156) found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token')
DEBUG (extension:156) found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token')
DEBUG (extension:156) found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password')
DEBUG (session:195) REQ: curl -g -i -X GET http://10.35.173.10:5000/v2.0 -H "Accept: application/json" -H "User-Agent: keystoneauth1"
INFO (connectionpool:203) Starting new HTTP connection (1): 10.35.173.10
DEBUG (connectionpool:383) "GET /v2.0 HTTP/1.1" 200 338
DEBUG (session:224) RESP: [200] date: Mon, 18 Apr 2016 15:04:25 GMT vary: X-Auth-Token content-length: 338 content-type: application/json x-openstack-request-id: req-cc312791-c173-4c1b-8484-56f37936aa26 
RESP BODY: {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "http://10.35.173.10:5000/v2.0/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}]}}

DEBUG (v2:62) Making authentication request to http://10.35.173.10:5000/v2.0/tokens
DEBUG (connectionpool:383) "POST /v2.0/tokens HTTP/1.1" 200 3791
DEBUG (session:195) REQ: curl -g -i -X GET http://10.35.173.10:8774/v2.1/fb752579d9d44571a75f69168ab159ba -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}300ac5ae5e24966d3487efcc61e39160d65988d6"
INFO (connectionpool:203) Starting new HTTP connection (1): 10.35.173.10
DEBUG (connectionpool:383) "GET /v2.1/fb752579d9d44571a75f69168ab159ba HTTP/1.1" 404 52
DEBUG (session:224) RESP: [404] date: Mon, 18 Apr 2016 15:04:26 GMT content-length: 52 content-type: text/plain; charset=UTF-8 x-compute-request-id: req-a086b513-0339-457a-a90d-f5bd55660662 
RESP BODY: 404 Not Found

The resource could not be found.

   

DEBUG (session:195) REQ: curl -g -i -X GET http://10.35.173.10:8774/v2.1/ -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}300ac5ae5e24966d3487efcc61e39160d65988d6"
DEBUG (connectionpool:383) "GET /v2.1/ HTTP/1.1" 200 386
DEBUG (session:224) RESP: [200] content-length: 386 x-compute-request-id: req-4ecd57e6-377c-4141-9c78-3905480adb7e vary: X-OpenStack-Nova-API-Version x-openstack-nova-api-version: 2.1 date: Mon, 18 Apr 2016 15:04:27 GMT content-type: application/json 
RESP BODY: {"version": {"status": "CURRENT", "updated": "2013-07-23T11:33:21Z", "links": [{"href": "http://10.35.173.10:8774/v2.1/", "rel": "self"}, {"href": "http://docs.openstack.org/", "type": "text/html", "rel": "describedby"}], "min_version": "2.1", "version": "2.12", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.compute+json;version=2.1"}], "id": "v2.1"}}

DEBUG (extension:156) found extension EntryPoint.parse('v2token = keystoneauth1.loading._plugins.identity.v2:Token')
DEBUG (extension:156) found extension EntryPoint.parse('admin_token = keystoneauth1.loading._plugins.admin_token:AdminToken')
DEBUG (extension:156) found extension EntryPoint.parse('v2password = keystoneauth1.loading._plugins.identity.v2:Password')
DEBUG (extension:156) found extension EntryPoint.parse('v3password = keystoneauth1.loading._plugins.identity.v3:Password')
DEBUG (extension:156) found extension EntryPoint.parse('token = keystoneauth1.loading._plugins.identity.generic:Token')
DEBUG (extension:156) found extension EntryPoint.parse('v3token = keystoneauth1.loading._plugins.identity.v3:Token')
DEBUG (extension:156) found extension EntryPoint.parse('password = keystoneauth1.loading._plugins.identity.generic:Password')
DEBUG (session:195) REQ: curl -g -i -X GET http://10.35.173.10:8774/v2.1/fb752579d9d44571a75f69168ab159ba/os-services?binary=nova-compute -H "User-Agent: python-novaclient" -H "Accept: application/json" -H "X-OpenStack-Nova-API-Version: 2.11" -H "X-Auth-Token: {SHA1}300ac5ae5e24966d3487efcc61e39160d65988d6"
DEBUG (connectionpool:383) "GET /v2.1/fb752579d9d44571a75f69168ab159ba/os-services?binary=nova-compute HTTP/1.1" 200 239
DEBUG (session:224) RESP: [200] content-length: 239 x-compute-request-id: req-82a11951-6370-4249-8405-5798fa3cfaff vary: X-OpenStack-Nova-API-Version x-openstack-nova-api-version: 2.11 date: Mon, 18 Apr 2016 15:04:28 GMT content-type: application/json 
RESP BODY: {"services": [{"status": "enabled", "binary": "nova-compute", "host": "overcloud-compute-0.localdomain", "zone": "nova", "state": "up", "forced_down": false, "disabled_reason": null, "id": 130, "updated_at": "2016-04-18T15:04:21.000000"}]}

+-----+--------------+---------------------------------+------+---------+-------+----------------------------+-----------------+
| Id  | Binary       | Host                            | Zone | Status  | State | Updated_at                 | Disabled Reason |
+-----+--------------+---------------------------------+------+---------+-------+----------------------------+-----------------+
| 130 | nova-compute | overcloud-compute-0.localdomain | nova | enabled | up    | 2016-04-18T15:04:21.000000 | -               |
+-----+--------------+---------------------------------+------+---------+-------+----------------------------+-----------------+
[stack@puma42 ~]$
Comment 23 errata-xmlrpc 2016-04-20 09:03:54 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-0653.html

Note You need to log in before you can comment on or make changes to this bug.