Ask Your Question
4

"[Errno 113] No route to host" when VNCing into an instance

asked 2013-05-18 14:38:37 -0500

JakeWarner gravatar image

updated 2014-01-24 11:00:24 -0500

smaffulli gravatar image

After setting up my OpenStack cloud and getting everything to work, I bought another compute2 node and provisioned it using the automated script I wrote. Everything worked except for VNC which I get when trying to connect to an instance on that node:

Redirecting to /bin/systemctl status  openstack-nova-novncproxy.service
openstack-nova-novncproxy.service - OpenStack Nova NoVNC Proxy Server
   Loaded: loaded (/usr/lib/systemd/system/openstack-nova-novncproxy.service; enabled)
   Active: active (running) since Sat 2013-05-18 11:55:43 CDT; 2h 35min ago
 Main PID: 10212 (python)
   CGroup: name=systemd:/system/openstack-nova-novncproxy.service
           └─10212 python /usr/bin/nova-novncproxy --web /usr/share/novnc/
May 18 11:57:15 controller.cloud1 nova-novncproxy[10212]: 4: <home ip>: Plain non-SSL (ws://) WebSocket connection
May 18 11:57:15 controller.cloud1 nova-novncproxy[10212]: 4: <home ip>: Version hybi-13, base64: 'True'
May 18 11:57:15 controller.cloud1 nova-novncproxy[10212]: 4: <home ip>: Path: '/websockify'
May 18 11:57:15 controller.cloud1 nova-novncproxy[10212]: 4: connecting to: 192.168.1.202:5900
May 18 11:57:15 controller.cloud1 nova-novncproxy[10212]: 4: handler exception: [Errno 113] No route to host

I can ping the node just fine:

--- 192.168.1.202 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.256/0.271/0.292/0.024 ms

And my /etc/nova/nova.etc files have the following regarding VNC:

[root@controller httpd]# cat /etc/nova/nova.conf|grep vnc
novnc_enable = true
novncproxy_port = 6080
novncproxy_host = 0.0.0.0
vncserver_listen = 0.0.0.0
novncproxy_base_url = http://<controller public ip>:6080/vnc_auto.html

[root@compute2 ~]# cat /etc/nova/nova.conf|grep vnc
vnc_enabled = true
vncserver_proxyclient_address = 192.168.1.202
novncproxy_base_url = http://<controller public ip>:6080/vnc_auto.html
vncserver_listen = 0.0.0.0

Note: Compute 1 works fine and I can VNC any instance on it and both compute nodes are listening:

[root@compute1 ~]# netstat -vtan|grep 5900
tcp        0      0 192.168.1.201:5900      0.0.0.0:*               LISTEN  
[root@compute2 ~]# netstat -vtan|grep 5900
tcp        0      0 192.168.1.202:5900      0.0.0.0:*               LISTEN
edit retag flag offensive close merge delete

Comments

Did you try to put vncserver_listen to 0.0.0.0 on both nodes?

Alen Komljen gravatar imageAlen Komljen ( 2013-05-18 16:19:40 -0500 )edit

Yes and that didn't work either.

JakeWarner gravatar imageJakeWarner ( 2013-05-18 16:22:56 -0500 )edit

2 answers

Sort by » oldest newest most voted
1

answered 2013-05-31 10:44:40 -0500

JakeWarner gravatar image

updated 2013-05-31 10:44:49 -0500

The issue ended up being that I had only allowed 5900 through iptables, not 5900-5999 as the other server was trying to use 5902.

edit flag offensive delete link more
0

answered 2013-05-18 22:14:52 -0500

cfb gravatar image

On the compute nodes you want to set the vncserverlisten address to 0.0.0.0 and you want to set the vncserverproxyclientaddress to be the unique IP of each compute node. The vncserverproxyclient_address option is used to instruct the proxy what address it should connect to for the VNC service on the compute node.

edit flag offensive delete link more

Comments

My configuration already reflects the things that you suggested. :(

JakeWarner gravatar imageJakeWarner ( 2013-05-18 22:47:58 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower

Stats

Asked: 2013-05-18 14:38:37 -0500

Seen: 2,943 times

Last updated: Jan 24 '14