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