i would probably just try to get a token from vm2 and see if that's even 
possible. seems unrelated to ceilometerclient.

that said, i'm going to throw in obligatory: "ceilometer api is 
deprecated and has been unmaintained for over a year. i suggest you 
switch to another storage solution whether that's gnocchi or another 
time-series service"

On 23/11/16 06:35 PM, Srikanth Vavilapalli wrote:
> Hi
>
> We are facing few issues with keystone access in our setups.
>
> We have a setup which has three VMs. VM1 and VM3 are on same compute host 
> whereas VM2 is on a different compute host.
>
> - VM1 (mysite-ceilometer-6): Running Mitaka Ceilometer service + Keystone 
> (v2) service
> - VM2 (mysite-ceilometer-7): Running Ceilometer client
> - VM3 (mysite-ceilometer-8): Running Ceilometer client
>
> I have the keystone endpoints setup on VM1 as shown below: 'keystone 
> endpoint-list'
> +----------------------------------+-----------+--------------------------------------+--------------------------------------+---------------------------------------+----------------------------------+
> |              id   |   region  |              publicurl               |      
>        internalurl              |                adminurl               |     
>        service_id            |
> +----------------------------------+-----------+--------------------------------------+--------------------------------------+---------------------------------------+----------------------------------+
> | 7c56f9e61 | RegionOne | http://mysite-ceilometer-6:5000/v2.0 | 
> http://mysite-ceilometer-6:5000/v2.0 | http://mysite-ceilometer-6:35357/v2.0 
> | 4d871 |
> | adc3ac02f | RegionOne |   http://mysite-ceilometer-6:8777    |   
> http://mysite-ceilometer-6:8777    |    http://mysite-ceilometer-6:8777    | 
> 50fb869 |
> +----------------------------------+-----------+--------------------------------------+--------------------------------------+---------------------------------------+----------------------------------+
>
> I have set the following OS variables in both VM2 and VM3:
> OS_USERNAME="admin"
> OS_PASSWORD="password"
> OS_TENANT_NAME="admin"
> OS_AUTH_URL="http://mysite-ceilometer-6:5000/v2.0";
>
> The interesting observation I have made is that I am able to run the 
> ceilometer or keystone commands successfully only from VM3 (which is on the 
> same compute host as VM1) but not from VM2. Attached some of the logs I have 
> collected during this observation. Can any of you help us with identifying 
> what is going wrong here in this setup? Or any pointers on debugging why 
> keystone/tokens REST API is not responding in some scenarios...? Thanks for 
> ur help.
>
> The output from VM3 (mysite-ceilometer-8):
> ---------------------------------
> root@69861113613c:/usr/local/share# ceilometer -d meter-list
> DEBUG (session) REQ: curl -g -i -X GET http://mysite-ceilometer-6:5000/v2.0 
> -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
> INFO (connectionpool) Starting new HTTP connection (1): mysite-ceilometer-6
> DEBUG (connectionpool) "GET /v2.0 HTTP/1.1" 200 345
> DEBUG (session) RESP: [200] Content-Length: 345 Vary: X-Auth-Token 
> Keep-Alive: timeout=5, max=100 Server: Apache/2.4.7 (Ubuntu) Connection: 
> Keep-Alive Date: Wed, 23 Nov 2016 22:49:28 GMT x-openstack-request-id: 
> req-da4329a5-0374-48de-9a07-229636042f64 Content-Type: application/json 
> X-Distribution: Ubuntu
> 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://mysite-ceilometer-6:5000/v2.0/";, "rel": "self"}, {"href": 
> "http://docs.openstack.org/";, "type": "text/html", "rel": "describedby"}]}}
>
> DEBUG (v2) Making authentication request to 
> http://mysite-ceilometer-6:5000/v2.0/tokens
> DEBUG (connectionpool) "POST /v2.0/tokens HTTP/1.1" 200 1293
> DEBUG (session) REQ: curl -g -i -X GET http://mysite-ceilometer-6:5000/v2.0 
> -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
> INFO (connectionpool) Starting new HTTP connection (1): mysite-ceilometer-6
> DEBUG (connectionpool) "GET /v2.0 HTTP/1.1" 200 345
> DEBUG (session) RESP: [200] Content-Length: 345 Vary: X-Auth-Token 
> Keep-Alive: timeout=5, max=100 Server: Apache/2.4.7 (Ubuntu) Connection: 
> Keep-Alive Date: Wed, 23 Nov 2016 22:49:28 GMT x-openstack-request-id: 
> req-491da351-24c1-4b4d-9558-b6d66a280c35 Content-Type: application/json 
> X-Distribution: Ubuntu
> 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://mysite-ceilometer-6:5000/v2.0/";, "rel": "self"}, {"href": 
> "http://docs.openstack.org/";, "type": "text/html", "rel": "describedby"}]}}
>
> DEBUG (v2) Making authentication request to 
> http://mysite-ceilometer-6:5000/v2.0/tokens
> DEBUG (connectionpool) "POST /v2.0/tokens HTTP/1.1" 200 1293
> DEBUG (client) REQ: curl -g -i -X 'GET' 
> 'http://mysite-ceilometer-6:8777/v2/meters' -H 'User-Agent: 
> ceilometerclient.openstack.common.apiclient' -H 'X-Auth-Token: {SHA1}a9....'
> INFO (connectionpool) Starting new HTTP connection (1): mysite-ceilometer-6
> DEBUG (connectionpool) "GET /v2/meters HTTP/1.1" 200 2
> DEBUG (client) RESP: [200] {'Date': 'Wed, 23 Nov 2016 22:49:29 GMT', 
> 'Content-Length': '2', 'Content-Type': 'application/json; charset=UTF-8', 
> 'x-openstack-request-id': 'req-6bd80a0c-db08-4907-8b6b-4d477a6d7514', 
> 'Server': 'Werkzeug/0.9.4 Python/2.7.6'}
>
> DEBUG (client) RESP BODY: []
>
> +------+------+------+-------------+---------+------------+
> | Name | Type | Unit | Resource ID | User ID | Project ID |
> +------+------+------+-------------+---------+------------+
> +------+------+------+-------------+---------+------------+
>
> The output from VM2 (mysite-ceilometer-7):
> ---------------------------------
>
> root@cadf877c4cdb:/usr/local/share# ceilometer -d meter-list
> DEBUG (session) REQ: curl -g -i -X GET http://mysite-ceilometer-6:5000/v2.0 
> -H "Accept: application/json" -H "User-Agent: python-keystoneclient"
> INFO (connectionpool) Starting new HTTP connection (1): mysite-ceilometer-6
> DEBUG (connectionpool) "GET /v2.0 HTTP/1.1" 200 345
> DEBUG (session) RESP: [200] Content-Length: 345 Vary: X-Auth-Token 
> Keep-Alive: timeout=5, max=100 Server: Apache/2.4.7 (Ubuntu) Connection: 
> Keep-Alive Date: Wed, 23 Nov 2016 22:50:12 GMT x-openstack-request-id: 
> req-f11122bc-bc3c-4521-81f3-d140bfce25b3 Content-Type: application/json 
> X-Distribution: Ubuntu
> 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://mysite-ceilometer-6:5000/v2.0/";, "rel": "self"}, {"href": 
> "http://docs.openstack.org/";, "type": "text/html", "rel": "describedby"}]}}
>
> DEBUG (v2) Making authentication request to 
> http://mysite-ceilometer-6:5000/v2.0/tokens
> <<<<<Hangs here until time out>>>
> Traceback (most recent call last):
>   File "/usr/local/bin/ceilometer", line 11, in <module>
>     sys.exit(main())
>   File "/usr/local/lib/python2.7/dist-packages/ceilometerclient/shell.py", 
> line 292, in main
>     CeilometerShell().main(args)
>   File "/usr/local/lib/python2.7/dist-packages/ceilometerclient/shell.py", 
> line 238, in main
>     client = ceiloclient.get_client(api_version, **client_kwargs)
>   File "/usr/local/lib/python2.7/dist-packages/ceilometerclient/client.py", 
> line 366, in get_client
>     return Client(version, endpoint, **kwargs)
>   File "/usr/local/lib/python2.7/dist-packages/ceilometerclient/client.py", 
> line 313, in Client
>     return client_class(*args, **client_kwargs)
>   File 
> "/usr/local/lib/python2.7/dist-packages/ceilometerclient/v2/client.py", line 
> 67, in __init__
>     self.alarm_client = self._get_alarm_client(**kwargs)
>   File 
> "/usr/local/lib/python2.7/dist-packages/ceilometerclient/v2/client.py", line 
> 122, in _get_alarm_client
>     c.get("/")
>   File 
> "/usr/local/lib/python2.7/dist-packages/ceilometerclient/openstack/common/apiclient/client.py",
>  line 355, in get
>     return self.client_request("GET", url, **kwargs)
>   File 
> "/usr/local/lib/python2.7/dist-packages/ceilometerclient/openstack/common/apiclient/client.py",
>  line 345, in client_request
>     self, method, url, **kwargs)
>   File 
> "/usr/local/lib/python2.7/dist-packages/ceilometerclient/openstack/common/apiclient/client.py",
>  line 244, in client_request
>     self.authenticate()
>   File 
> "/usr/local/lib/python2.7/dist-packages/ceilometerclient/openstack/common/apiclient/client.py",
>  line 315, in authenticate
>     self.auth_plugin.authenticate(self)
>   File 
> "/usr/local/lib/python2.7/dist-packages/ceilometerclient/openstack/common/apiclient/auth.py",
>  line 203, in authenticate
>     self._do_authenticate(http_client)
>   File "/usr/local/lib/python2.7/dist-packages/ceilometerclient/client.py", 
> line 192, in _do_authenticate
>     endpoint = _get_endpoint(ks_session, **ks_kwargs)
>   File "/usr/local/lib/python2.7/dist-packages/ceilometerclient/client.py", 
> line 162, in _get_endpoint
>     region_name=kwargs.get('region_name'))
>   File "/usr/local/lib/python2.7/dist-packages/keystoneclient/session.py", 
> line 664, in get_endpoint
>     return auth.get_endpoint(self, **kwargs)
>   File 
> "/usr/local/lib/python2.7/dist-packages/keystoneclient/auth/identity/base.py",
>  line 324, in get_endpoint
>     service_catalog = self.get_access(session).service_catalog
>   File 
> "/usr/local/lib/python2.7/dist-packages/keystoneclient/auth/identity/base.py",
>  line 249, in get_access
>     self.auth_ref = self.get_auth_ref(session)
>   File 
> "/usr/local/lib/python2.7/dist-packages/keystoneclient/auth/identity/v2.py", 
> line 88, in get_auth_ref
>     authenticated=False, log=False)
>   File "/usr/local/lib/python2.7/dist-packages/keystoneclient/session.py", 
> line 505, in post
>     return self.request(url, 'POST', **kwargs)
>   File "/usr/local/lib/python2.7/dist-packages/keystoneclient/utils.py", line 
> 337, in inner
>     return func(*args, **kwargs)
>   File "/usr/local/lib/python2.7/dist-packages/keystoneclient/session.py", 
> line 390, in request
>     resp = send(**kwargs)
>   File "/usr/local/lib/python2.7/dist-packages/keystoneclient/session.py", 
> line 434, in _send_request
>     raise exceptions.ConnectionRefused(msg)
> keystoneauth1.exceptions.connection.ConnectFailure: Unable to establish 
> connection to http://mysite-ceilometer-6:5000/v2.0/tokens
>
>
> The output from VM1:
> ---------------------------------
>
> /mitaka-v2$ sudo tail -f /var/log/keystone/keystone-wsgi-public.log
>
> <<<Successful case>>>>
> 2016-11-23 22:49:28.612 6830 INFO keystone.common.wsgi 
> [req-da4329a5-0374-48de-9a07-229636042f64 - - - - -] GET 
> http://mysite-ceilometer-6:5000/v2.0/
> 2016-11-23 22:49:28.713 6826 INFO keystone.common.wsgi 
> [req-96cfc836-e23e-4cd8-a579-da312803d160 - - - - -] POST 
> http://mysite-ceilometer-6:5000/v2.0/tokens
> 2016-11-23 22:49:28.831 6826 INFO keystone.token.providers.fernet.utils 
> [req-96cfc836-e23e-4cd8-a579-da312803d160 - - - - -] Loaded 2 encryption keys 
> (max_active_keys=3) from: /etc/keystone/fernet-keys/
> 2016-11-23 22:49:28.865 6827 INFO keystone.common.wsgi 
> [req-491da351-24c1-4b4d-9558-b6d66a280c35 - - - - -] GET 
> http://mysite-ceilometer-6:5000/v2.0/
> 2016-11-23 22:49:28.895 6828 INFO keystone.common.wsgi 
> [req-6a41fb86-fd13-4d92-bcef-78ffc5199336 - - - - -] POST 
> http://mysite-ceilometer-6:5000/v2.0/tokens
> 2016-11-23 22:49:29.015 6828 INFO keystone.token.providers.fernet.utils 
> [req-6a41fb86-fd13-4d92-bcef-78ffc5199336 - - - - -] Loaded 2 encryption keys 
> (max_active_keys=3) from: /etc/keystone/fernet-keys/
>
> <<<Unsuccessful case>>>>
> 2016-11-23 22:50:12.331 6829 INFO keystone.common.wsgi 
> [req-f11122bc-bc3c-4521-81f3-d140bfce25b3 - - - - -] GET 
> http://mysite-ceilometer-6:5000/v2.0/
> 2016-11-23 22:50:12.374 6830 INFO keystone.common.wsgi 
> [req-abaf2a35-6a46-4a81-93a4-cce26f49de80 - - - - -] POST 
> http://mysite-ceilometer-6:5000/v2.0/tokens
> 2016-11-23 22:50:12.481 6830 INFO keystone.token.providers.fernet.utils 
> [req-abaf2a35-6a46-4a81-93a4-cce26f49de80 - - - - -] Loaded 2 encryption keys 
> (max_active_keys=3) from: /etc/keystone/fernet-keys/
>
>
> Thanks
> Srikanth
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: [email protected]?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>

-- 
gord

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: [email protected]?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to