2017-02-09 17:09:51.311 57467 INFO nova.console.websocketproxy [-] 192.168.170.41 - - [09/Feb/2017 17:09:51]"GET /websockify HTTP/1.1"101 -
2017-02-09 17:09:51.312 57467 INFO nova.console.websocketproxy [-] 192.168.170.41 - - [09/Feb/2017 17:09:51] 192.168.170.41: Plain non-SSL (ws://) WebSocket connection
2017-02-09 17:09:51.313 57467 INFO nova.console.websocketproxy [-] 192.168.170.41 - - [09/Feb/2017 17:09:51] 192.168.170.41: Version hybi-13, base64: 'False'
2017-02-09 17:09:51.313 57467 INFO nova.console.websocketproxy [-] 192.168.170.41 - - [09/Feb/2017 17:09:51] 192.168.170.41: Path: '/websockify'
2017-02-09 17:09:51.382 57467 INFO nova.console.websocketproxy [req-f51929d9-8c9b-4df0-abeb-247ce6ef5d65 - - - - -] handler exception: The token '1dfc9af9-8a49-44b3-a955-5196197bc8f7' is invalid or has expired
原因分析
1
2
3
4
5
6
When running a multi node environment with HA between two or more controller nodes(or controller plane service nodes), nova consoleauthservice must be configured with memcached.
If not, no more than one consoleauth service can berunning in active state, since it need to save the state of the sessions. Whenmemcached is not used, you can check that can connect to the vnc console only afew times when you refresh the page. If that occurs means that the connectionis handled by the consoleauth service that currently is issuing sessions.
To solve your issue, configure memcached as backend tonova-consoleauth service.
To solve your issue add this line to nova.conf:
memcached_servers= 192.168.100.2:11211,192.168.100.3:11211
This should work to solve your issue.
解决
M版在增加memcached_servers选项
1
2
3
4
5
6
7
8
# vim /etc/nova/nova.conf[DEFAULT]# "memcached_servers" opt is deprecated in Mitaka. In Newton release oslo.cache# config options should be used as this option will be removed. Please add a# [cache] group in your nova.conf file and add "enable" and "memcache_servers"# option in this section. (list value)memcached_servers=controller01:11211,controller02:11211,controller03:11211