Hi Rogier ,<br><br>I try to put your patch in onemc_funcs.php, but when i start the vm not show the vncport.<br>I put in /etc/sudoers permission to www-data(apache user) to acces tor virsh.<br><br>Thank you very much<br><br>
Sergio<br><br><div class="gmail_quote">2010/2/25 Ignacio Martin Llorente <span dir="ltr"><<a href="mailto:llorente@dacya.ucm.es">llorente@dacya.ucm.es</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Dear friends,<br>
<br>
Please move this discussion to the ecosystem mailing list, so we could keep this list for opennebula core discussions. We have created the ecosystem mailing list to discuss integration issues of ONE with other components in the ecosystem catalog (<a href="http://www.opennebula.org/software:ecosystem" target="_blank">http://www.opennebula.org/software:ecosystem</a>).<br>

<br>
Thanks!<br>
<br>
Ignacio<br>
<font color="#888888"><br>
--<br>
Ignacio M. Llorente, Full Professor (Catedratico): <a href="http://dsa-research.org/llorente" target="_blank">http://dsa-research.org/llorente</a><br>
DSA Research Group:  web <a href="http://dsa-research.org" target="_blank">http://dsa-research.org</a> and blog <a href="http://blog.dsa-research.org" target="_blank">http://blog.dsa-research.org</a><br>
OpenNebula Open Source Toolkit for Cloud Computing: <a href="http://www.OpenNebula.org" target="_blank">http://www.OpenNebula.org</a><br>
RESERVOIR European Project in Cloud Computing: <a href="http://www.reservoir-fp7.eu" target="_blank">http://www.reservoir-fp7.eu</a><br>
</font><div><div></div><div class="h5"><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On 25/02/2010, at 11:55, Jeroen Nijhof wrote:<br>
<br>
><br>
> Hi Rogier,<br>
><br>
> It was one of my things I had to do.<br>
> I've to look into it, because onemc is now using the XMLRPC2 api to get<br>
> all the information from ONE.<br>
> Maybe I can get the current VNC port information from XMLRPC2 or I can<br>
> ask or make a patch myself in a way XMLRPC2 does.<br>
><br>
> Any ideas Ruben?<br>
><br>
> Thanks for your work so far..<br>
><br>
> Regards,<br>
> Jeroen Nijhof<br>
><br>
><br>
> Op 25/2/2010 schreef "Rogier Mars" <<a href="mailto:rogier@fortytwo.nl">rogier@fortytwo.nl</a>>:<br>
><br>
>> Hi,<br>
>><br>
>> I've made some quick changes to ONEMC to show the VNC port in the<br>
>> interface. I've updated the template that onemc creates with a<br>
>> GRAPHICS section, enabling vnc on the quest.<br>
>><br>
>> As a workaround until ONE can use the VMID in the graphics section, I<br>
>> use a virsh command to get the vncport. To get this working the<br>
>> webserver user should be allowed to execute the virsh command via<br>
>> sudo. Add the following to sudoers:<br>
>> apache     ALL=(ALL)       NOPASSWD: /usr/bin/virsh *<br>
>><br>
>> Also I encountered some problems with the model section in the KVM<br>
>> template so I commented that out as well.<br>
>><br>
>> Cheers,<br>
>><br>
>> rogier<br>
>><br>
>> ONE Management Console show VNC display<br>
>><br>
>> --- onemc/include/onemc_funcs.php    2010-02-25 02:33:04.000000000 +0100<br>
>> +++ /var/www/html/onemc/include/onemc_funcs.php      2010-02-25<br>
>> 02:30:51.000000000 +0100<br>
>> @@ -237,11 +237,12 @@<br>
>>         if (valid('nbridge')) { if ($comma) { $template .= ",\n"; };<br>
>> $comma = TRUE; $template .= "BRIDGE = \"".$_GET['nbridge']."\" "; }<br>
>>         if (valid('ntarget')) { if ($comma) { $template .= ",\n"; };<br>
>> $comma = TRUE; $template .= "TARGET = \"".$_GET['ntarget']."\" "; }<br>
>>         if (valid('nscript')) { if ($comma) { $template .= ",\n"; };<br>
>> $comma = TRUE; $template .= "SCRIPT = \"".$_GET['nscript']."\" "; }<br>
>> -        if (valid('nmodel')) { if ($comma) { $template .= ",\n"; };<br>
>> $comma = TRUE; $template .= "MODEL = \"".$_GET['nmodel']."\" "; }<br>
>> +        //if (valid('nmodel')) { if ($comma) { $template .= ",\n"; };<br>
>> $comma = TRUE; $template .= "MODEL = \"".$_GET['nmodel']."\" "; }<br>
>>         $template .= "]\n";<br>
>> +        $template .= "GRAPHICS = [ type = \"vnc\",listen  =<br>
>> \"0.0.0.0\"] ";<br>
>>         $status = rpc2_request("one.vm.allocate",<br>
>> array($_SESSION['auth'], $template));<br>
>>         if (isset($status['failed'])) {<br>
>> -            print "<tr><td>Err: ".$status['failed']."</td><td></td></<br>
>> tr>\n";<br>
>> +            print "<tr><td>Err: ".$status['failed']." $template</<br>
>> td><td></td></tr>\n";<br>
>>         }<br>
>>     }<br>
>><br>
>> @@ -344,9 +345,10 @@<br>
>>             $vmpool_info = $vmpool_info['VM_POOL'];<br>
>>         else<br>
>>             $vmpool_info = array();<br>
>> -<br>
>> -        print "<tr><td>Id</td><td>User</td><td>Name</td><td>VM State</<br>
>> td><td>LCM State</td><td>Cpu</td><td>Memory</td><td>Host</td><td>Time</<br>
>> td><td></td><td></td></tr>\n";<br>
>> +        print "<tr><td>Id</td><td>User</td><td>Name</td><td>VM State</<br>
>> td><td>LCM State</td><td>Cpu</td><td>Memory</td><td>Host</td><td>Time</<br>
>> td><td>VNC port</td><td></td><td></td></tr>\n";<br>
>>         foreach ($vmpool_info as $vm) {<br>
>> +        $vnccommand = "sudo /usr/bin/virsh -c remote:///".$vm['HISTORY']<br>
>> ['HOSTNAME'] ." vncdisplay one-" . $vm['ID'];<br>
>> +        $vncport = `$vnccommand`;<br>
>>             $_vm_state = $vm_state[$vm['STATE']];<br>
>>             $_lcm_state = $lcm_state[$vm['LCM_STATE']];<br>
>>             $time = $vm['ETIME'] - $vm['STIME'];<br>
>> @@ -357,7 +359,7 @@<br>
>>             $time = (int)$days."d ".(int)$hours.":".(int)<br>
>> $minutes.":".$seconds;<br>
>>             print "<tr><td>".$vm['ID']."</td><td>".<br>
>> $vm['USERNAME']."</td><td>".$vm['NAME']."</td><td>".$_vm_state."</<br>
>> td><td>"<br>
>>                 .$_lcm_state."</td><td>".$vm['CPU']."</td><td>".<br>
>> $vm['MEMORY']."</td><td>".$vm['HISTORY']['HOSTNAME']."</td>"<br>
>> -                ."<td>".$time."</td><td><a href=\"?details=".<br>
>> $vm['ID']."\">details</a> "<br>
>> +                ."<td>".$time."</td><td>$vncport</td><td><a href=\"?<br>
>> details=".$vm['ID']."\">details</a> "<br>
>>                 ."<a href=\"?log=".$vm['ID']."\">log</a></td>";<br>
>>             print "<td><form method=\"GET\"><select name=\"action\">";<br>
>>             if ($_vm_state == "pending") {<br>
>><br>
> _______________________________________________<br>
> Users mailing list<br>
> <a href="mailto:Users@lists.opennebula.org">Users@lists.opennebula.org</a><br>
> <a href="http://lists.opennebula.org/listinfo.cgi/users-opennebula.org" target="_blank">http://lists.opennebula.org/listinfo.cgi/users-opennebula.org</a><br>
<br>
_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opennebula.org">Users@lists.opennebula.org</a><br>
<a href="http://lists.opennebula.org/listinfo.cgi/users-opennebula.org" target="_blank">http://lists.opennebula.org/listinfo.cgi/users-opennebula.org</a><br>
</div></div></blockquote></div><br>