<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:΢ÈíÑźÚ
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Dear David:<div><br></div><div>This problem have been solve!!!!!!!!! &nbsp; &nbsp;Using the vm ID to find the spice port!</div><div><br></div><div><br></div><div><div><i>#!/bin/bash</i></div><div><span style="font-size: 12pt;"><i>curl -k -v -u 'admin@internal:password!' -H "Content-type: application/xml" -X GET https://172.16.1.115/api/vms/ea273653-b083-4114-9ed4-bbb0bb5d38c1 &gt; ./vm.info</i></span></div><div><i>p1=$(cat ./vm.info|grep '&lt;port&gt;')</i></div><div><i>p2=$(cat ./vm.info|grep '&lt;secure_port&gt;')</i></div><div><span style="font-size: 12pt;"><i>port1=${p1:0-11:4}</i></span></div><div><i>port2=${p2:0-18:4}</i></div><div><span style="font-size: 12pt;"><i>spicy -h 172.16.1.115 -w 123456 -p $port1 -s $port2 -f --spice-ca-file=/home/cubie/ca.crt &gt;/dev/null 2&gt;&amp;1 &amp;</i></span></div><div><br></div><div><br></div></div><div><br></div><div>It is awesome! &nbsp; <b>&nbsp;But dou you know what command can start the VM if the VM stop/power off &nbsp; ?</b></div><div><br><br><div>
<br><br>Sincerely yours,<br>PaulCheung<br><br><br>&nbsp;tel: 180-8882-7173<br></div><br><br><div>&gt; Subject: Re: [ovirt-users] Bug:  Spice port changed!!!!!<br>&gt; From: djasa@redhat.com<br>&gt; To: eq2008@msn.com<br>&gt; CC: users@ovirt.org<br>&gt; Date: Mon, 22 Sep 2014 14:44:03 +0200<br>&gt; <br>&gt; Paul,<br>&gt; <br>&gt; Short answer: your approach will not work. I mentioned the custom hooks<br>&gt; and engine-config/UserDefinedVMProperties for a reason. Please follow my<br>&gt; advice first before asking further advice.<br>&gt; <br>&gt; <br>&gt; Longer answer: your changes to the libvirt domains would apply on next<br>&gt; domain cold start but that will never happen because vdsm always creates<br>&gt; libvirt domains as transient ones so the libvirt domain will disappear<br>&gt; on guest OS shutdown. On next start of the same oVirt VM, vdsm will<br>&gt; creates a new domain XML that will be used to start a new libvirt<br>&gt; transient domain.<br>&gt; <br>&gt; In order to make this new libvirt domain use your desired parameters,<br>&gt; you have to edit the XML before it is used to start the libvirt domain<br>&gt; and because we humans are too slow to do that and too annoyed to do that<br>&gt; on every VM start, vdsm hooks mechanism was devised and a script in<br>&gt; before_vm_start can do that changes for you (with input variables<br>&gt; defined in engine-config and set in VM's custom properties).<br>&gt; <br>&gt; <br>&gt; So back to my original suggestion: do you still think that it is wise to<br>&gt; try method that is more complicated and less secure than the custom<br>&gt; launcher method?<br>&gt; <br>&gt; <br>&gt; Regards,<br>&gt; <br>&gt; David<br>&gt; <br>&gt; On Po, 2014-09-22 at 11:11 +0800, PaulCheung wrote:<br>&gt; &gt; Dear David:<br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; I am trying figure it out using my way.   So I used "virsh edit vm",<br>&gt; &gt; I change the port the 5980 &amp; 5981,   but still not work!!!<br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt;   <br>&gt; &gt; <br>&gt; &gt;  <br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; I found after virsh edit,  there is a xml file here  /etc/libvirt/qemu<br>&gt; &gt; which I edit using "virsh edit vm".<br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; And I also run this command :    "virsh define vm.xml"    <br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; also not work.    Can you tell me where is the file I can fixed the<br>&gt; &gt; spice port.<br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; Sincerely yours,<br>&gt; &gt; PaulCheung<br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt;  tel: 180-8882-7173<br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; <br>&gt; &gt; &gt; Subject: Re: [ovirt-users] Bug: Spice port changed!!!!!<br>&gt; &gt; &gt; From: djasa@redhat.com<br>&gt; &gt; &gt; To: eq2008@msn.com<br>&gt; &gt; &gt; CC: users@ovirt.org<br>&gt; &gt; &gt; Date: Thu, 18 Sep 2014 15:27:50 +0200<br>&gt; &gt; &gt; <br>&gt; &gt; &gt; Hi,<br>&gt; &gt; &gt; <br>&gt; &gt; &gt; 2) is not a file, it's a key in engine-config<br>&gt; &gt; &gt; 3) is a VDSM custom hook that needs to be in all the hypervisors in<br>&gt; &gt; DC/Cluster<br>&gt; &gt; &gt; <br>&gt; &gt; &gt; Follow vdsm custom hook documentation (I don't have a link from top<br>&gt; &gt; of my head but web or ML archives will surely help).<br>&gt; &gt; &gt; <br>&gt; &gt; &gt; David<br>&gt; &gt; &gt; <br>&gt; &gt; &gt; On Thu, 2014-09-18 at 14:51 +0800, PaulCheung wrote:<br>&gt; &gt; &gt; &gt; Dear David,<br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; Thank you for your help . Your answer is very professional.<br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; I still can't not find a way to stick with static port assignments<br>&gt; &gt; &gt; &gt; For I don't understand you telling me , 2&amp;3, where I can find the<br>&gt; &gt; &gt; &gt; file to modify?<br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; However, if you _really_ want to stick with static port<br>&gt; &gt; assignments,<br>&gt; &gt; &gt; &gt; do<br>&gt; &gt; &gt; &gt; &gt; the following:<br>&gt; &gt; &gt; &gt; &gt; 1) designate the port range so that it doesn't collide with<br>&gt; &gt; other<br>&gt; &gt; &gt; &gt; ranges<br>&gt; &gt; &gt; &gt; &gt; in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe)<br>&gt; &gt; &gt; &gt; &gt; 2) add a custom VM properties to the engine for setting of port<br>&gt; &gt; and<br>&gt; &gt; &gt; &gt; &gt; tls-port<br>&gt; &gt; &gt; &gt; &gt; 3) add a vdsm hook to before_vm_start directory on each host<br>&gt; &gt; that<br>&gt; &gt; &gt; &gt; will<br>&gt; &gt; &gt; &gt; &gt; add "port" and "tlsPort" parameters to the graphics element of<br>&gt; &gt; &gt; &gt; libvirt<br>&gt; &gt; &gt; &gt; &gt; domain xml<br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; Sincerely yours,<br>&gt; &gt; &gt; &gt; PaulCheung<br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; tel: 180-8882-7173<br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; Subject: Re: [ovirt-users] Bug: Spice port changed!!!!!<br>&gt; &gt; &gt; &gt; &gt; From: djasa@redhat.com<br>&gt; &gt; &gt; &gt; &gt; To: eq2008@msn.com<br>&gt; &gt; &gt; &gt; &gt; CC: users@ovirt.org<br>&gt; &gt; &gt; &gt; &gt; Date: Wed, 17 Sep 2014 10:40:42 +0200<br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; Hi Paul,<br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; This behaviour is by design. It is a bad idea to override it. A<br>&gt; &gt; good<br>&gt; &gt; &gt; &gt; &gt; approach to your problem would be to write a launcher script<br>&gt; &gt; that<br>&gt; &gt; &gt; &gt; would:<br>&gt; &gt; &gt; &gt; &gt; 1) connect to the REST API<br>&gt; &gt; &gt; &gt; &gt; 2) get the VM connection details<br>&gt; &gt; &gt; &gt; &gt; 3) get new VM ticket<br>&gt; &gt; &gt; &gt; &gt; 4) write this info down to a temporary .vv file [3]<br>&gt; &gt; &gt; &gt; &gt; 5) launch remote-viewer<br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; Some info how to use REST API is described here [1] and .vv file<br>&gt; &gt; &gt; &gt; format<br>&gt; &gt; &gt; &gt; &gt; is documented in virt-viewer sources [2]. Please note that [1]<br>&gt; &gt; is a<br>&gt; &gt; &gt; &gt; bit<br>&gt; &gt; &gt; &gt; &gt; outdated:<br>&gt; &gt; &gt; &gt; &gt; * you can use HTTP header "filter: true" to be able to log in as<br>&gt; &gt; &gt; &gt; non-admin<br>&gt; &gt; &gt; &gt; &gt; * you only have to use password login once when you use<br>&gt; &gt; &gt; &gt; &gt; "prefer: persistent-auth" HTTP header and you send the cookie<br>&gt; &gt; you<br>&gt; &gt; &gt; &gt; got<br>&gt; &gt; &gt; &gt; &gt; in a response to first request.<br>&gt; &gt; &gt; &gt; &gt; In the future, the steps 2-4 will become a one step of getting a<br>&gt; &gt; &gt; &gt; &gt; ready-to-use .vv file from the API [3] but we aren't there yet.<br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; [1]<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; http://www.ovirt.org/How_to_Connect_to_SPICE_Console_Without_Portal<br>&gt; &gt; &gt; &gt; &gt; [2]<br>&gt; &gt; &gt; &gt;<br>&gt; &gt; https://git.fedorahosted.org/cgit/virt-viewer.git/tree/src/virt-viewer-file.c#n30<br>&gt; &gt; &gt; &gt; &gt; [3] https://bugzilla.redhat.com/show_bug.cgi?id=1128763<br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; However, if you _really_ want to stick with static port<br>&gt; &gt; assignments,<br>&gt; &gt; &gt; &gt; do<br>&gt; &gt; &gt; &gt; &gt; the following:<br>&gt; &gt; &gt; &gt; &gt; 1) designate the port range so that it doesn't collide with<br>&gt; &gt; other<br>&gt; &gt; &gt; &gt; ranges<br>&gt; &gt; &gt; &gt; &gt; in use (e.g. RHEV uses 5900-6023, so 5800-5899 could be safe)<br>&gt; &gt; &gt; &gt; &gt; 2) add a custom VM properties to the engine for setting of port<br>&gt; &gt; and<br>&gt; &gt; &gt; &gt; &gt; tls-port<br>&gt; &gt; &gt; &gt; &gt; 3) add a vdsm hook to before_vm_start directory on each host<br>&gt; &gt; that<br>&gt; &gt; &gt; &gt; will<br>&gt; &gt; &gt; &gt; &gt; add "port" and "tlsPort" parameters to the graphics element of<br>&gt; &gt; &gt; &gt; libvirt<br>&gt; &gt; &gt; &gt; &gt; domain xml<br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; Best regards,<br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; David<br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; On St, 2014-09-17 at 10:41 +0800, PaulCheung wrote:<br>&gt; &gt; &gt; &gt; &gt; &gt; Dear all,<br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; After shutdown the VM, then restart the VM the Vm's spice port<br>&gt; &gt; is<br>&gt; &gt; &gt; &gt; &gt; &gt; changed!<br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; Because I have 10 terminal ARM-Box running spice client<br>&gt; &gt; connected<br>&gt; &gt; &gt; &gt; to<br>&gt; &gt; &gt; &gt; &gt; &gt; the vm, but after the VM shutdown and start again, the vm not<br>&gt; &gt; the<br>&gt; &gt; &gt; &gt; one<br>&gt; &gt; &gt; &gt; &gt; &gt; whice the one before.<br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; I wish you can let us have a option, to let the VM with a<br>&gt; &gt; fixed<br>&gt; &gt; &gt; &gt; spice<br>&gt; &gt; &gt; &gt; &gt; &gt; port, like:<br>&gt; &gt; &gt; &gt; &gt; &gt; vm1: spice port : 5900 tls:5901<br>&gt; &gt; &gt; &gt; &gt; &gt; vm2: 5902 5903<br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; And I have another recommond: have a fuction to do that :<br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; if the vm shutdown by user, it will start the VM automatic.<br>&gt; &gt; That<br>&gt; &gt; &gt; &gt; &gt; &gt; means the VM can not be shutdown!<br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; I hope you can have this two fuction! That means a lot to<br>&gt; &gt; those<br>&gt; &gt; &gt; &gt; who<br>&gt; &gt; &gt; &gt; &gt; &gt; are using Terminal box user like me.<br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; I am sorry for my poor English. But I hope you all can<br>&gt; &gt; understand<br>&gt; &gt; &gt; &gt; &gt; &gt; what I am saying.<br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; Sincerely yours,<br>&gt; &gt; &gt; &gt; &gt; &gt; PaulCheung<br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; tel: 180-8882-7173<br>&gt; &gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; &gt; _______________________________________________<br>&gt; &gt; &gt; &gt; &gt; &gt; Users mailing list<br>&gt; &gt; &gt; &gt; &gt; &gt; Users@ovirt.org<br>&gt; &gt; &gt; &gt; &gt; &gt; http://lists.ovirt.org/mailman/listinfo/users<br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; <br>&gt; &gt; &gt; &gt; _______________________________________________<br>&gt; &gt; &gt; &gt; Users mailing list<br>&gt; &gt; &gt; &gt; Users@ovirt.org<br>&gt; &gt; &gt; &gt; http://lists.ovirt.org/mailman/listinfo/users<br>&gt; &gt; &gt; <br>&gt; &gt; &gt; <br>&gt; &gt; <br>&gt; &gt; _______________________________________________<br>&gt; &gt; Users mailing list<br>&gt; &gt; Users@ovirt.org<br>&gt; &gt; http://lists.ovirt.org/mailman/listinfo/users<br>&gt; <br>&gt; <br></div></div>                                               </div></body>
</html>