Thanks! Yong!<br><br><div class="gmail_quote">2012/4/12 Yong Sheng Gong <span dir="ltr"><<a href="mailto:gongysh@cn.ibm.com">gongysh@cn.ibm.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif"><div><p>Hi, please see if following text can help.<br>
</p><p>To enable vnc console access VMs started by OpenStack, we need many components to collaborate.</p>
<ul><li>
Components on control node
<ul><li>
nova-api, which is API server of OpenStack</li><li>
nova-consoleauth, which is used to authorize vnc client</li><li>
noVNC, which is a VNC proxy for browser. An alternative proxy is
nova-xvpvncproxy, which can accessed by a Java client at
<a href="https://github.com/cloudbuilders/nova-xvpvncviewer" target="_blank">https://github.com/cloudbuilders/nova-xvpvncviewer</a>.</li></ul>
</li><li>
Components on compute node
<ul><li>
nova-compute, which is nova binary to instantiate VMs</li><li>
libvirt driver, which is used by nova-compute to interact with libvirt server</li><li>
VNC server, which is part of hypervisor?</li></ul>
</li></ul>
<h1>
Steps for user to access VNC console</h1>
<p>
<br>
1. user gets the vnc console by command:</p>
<table style="width:100%" border="0" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td style="background-color:grey">
[root@robinlinux utils]# nova get-vnc-console myserver20 novnc<br>
</td>
</tr>
</tbody>
</table>
<p>
nova-api accepts this request, and then sends out "get_vnc_console" message to VM's related compute host</p>
<p>
2. nova-compute, running on that compute host accepts that message,
generate a token and call libvirt driver's get_vnc_console methods.</p>
<p>
3. Libvirt driver will connect with libvirt server to get VM's vnc
port, and look up the vnc host from FLAGS.vncserver_proxyclient_address.</p>
<p>
4. nova-api will send out "authorize_console" message to
nova-consoleauth, which then caches the connection information returned
by compute-node with token as key</p>
<p>
5. user browsers the URL returned the previous command, like below:</p>
<table style="width:100%" border="0" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td style="background-color:grey">
[root@robinlinux utils]# nova get-vnc-console myserver20 novnc<br>
+-------+----------------------------------------------------------------------------------+<br>
| Type | Url |<br>
+-------+----------------------------------------------------------------------------------+<br>
| novnc | <a href="http://controlnode:6080/vnc_auto.html?token=34ce7a44-6186-43d8-be14-2ea9e028b8fa" target="_blank">http://controlnode:6080/vnc_auto.html?token=34ce7a44-6186-43d8-be14-2ea9e028b8fa</a> |<br>
+-------+----------------------------------------------------------------------------------+<br>
</td>
</tr>
</tbody>
</table>
<p>
6. noVNC, which is listening on 6080 HTTP port, accepts the URL request, sends out "check_token" message to nova-consoleauth</p>
<p>
7. nova-consoleauth checks the cached connections and returns one according to the requested token key</p>
<p>
8. noVNC begins the proxy work, connecting the VNC server</p>
<h1>
About configuration items in nova.conf</h1>
<table style="width:100%" border="0" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td style="background-color:grey">
#read by nova-compute to compose vnc-console URL<br>
# for novnc<br>
novncproxy_base_url=<a href="http://controlnode:6080/vnc_auto.html" target="_blank">http://controlnode:6080/vnc_auto.html</a><br>
# for xvpvnc<br>
xvpvncproxy_base_url=<a href="http://controlnode:6081/console" target="_blank">http://controlnode:6081/console</a><br>
#read by nova-compute to instantiate VMs<br>
vncserver_listen=controlnode<br>
<br>
#read by libvirt driver to compute vnc-console URL<br>
vncserver_proxyclient_address=controlnode<br>
</td>
</tr>
</tbody>
</table>
</div><div><br><div><br></div><font color="#990099">-----openstack-bounces+gongysh=<a href="mailto:cn.ibm.com@lists.launchpad.net" target="_blank">cn.ibm.com@lists.launchpad.net</a> wrote: -----<br><br></font><blockquote style="padding-right:0px;padding-left:5px;margin-left:5px;border-left:2px solid #000000;margin-right:0px">
To: <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>From: Nachi Ueno <a href="mailto:ueno.nachi@nttdata-agilenet.com" target="_blank"><ueno.nachi@nttdata-agilenet.com></a><br>
Sent by: <a href="mailto:openstack-bounces+gongysh=cn.ibm.com@lists.launchpad.net" target="_blank">openstack-bounces+gongysh=cn.ibm.com@lists.launchpad.net</a><br>Date: 04/13/2012 08:33AM<br>Subject: [Openstack] How to setup vncproxy with ubuntu precise package?<br>
<br><font face="Courier New,Courier,monospace" size="3"><div><div class="h5">Hi folks<br><br>I'm trying to setup vncproxy with ubuntu package on precise.<br>But I could'nt find document how to setup them.<br>If you there are information, could you share me?<br>
<br>Thank you in advance<br>Nachi<br><br></div></div>_______________________________________________<br>Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>Post to : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>More help : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br></font>
</blockquote><br></div></font>
<br>
</blockquote></div><br>