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>