[et-mgmt-tools] libvirt and query strings in EL 5.1 behaves differently than F9

Michael DeHaan mdehaan at redhat.com
Tue Apr 22 22:46:21 UTC 2008


I was talking to Dan yesterday on OFTC about how to express query 
strings in libvirt.   Basically the new Cobbler wants to generate 
kickstarts on the fly, and also do some fun things about remote 
registration.   This already works for PXE but I am having trouble 
passing the kernel options line into libvirt still.   What I was trying was:

    For instance:
       ks=http://server.example.com/blah?op=ks&profile=blah   [OR]
       ks=http://server.example.com/blah?op=ks;profile=blah

Under F9, this works for me correctly when I use the former method and do

    extra = extra.replace("&","&")

However I have recieved reports today that the above does not work on 
EL-5.1, where it (also replicated with virsh) chokes -- giving a message 
that the end of the XML was unexpected (see pastebin below).   I am 
thinking the XML escaping built into virt-install/libvirt may not be the 
same in EL-5.1?   So I knew that query strings can also be delimited by 
colons, but that too fails.   If the form with the semicolon is easier, 
how would I express that with correct escaping so that calls to virtinst 
worked in both EL-5 and F-9?

Here is the error we are seeing from the latter query string form on 5.1

http://cobbler.pastebin.com/db0f8c7a

Help? 

The last resort is to do something funky and make cobbler tolerate URLs 
that do not contain any form of "?", "=", "&", and ";", but I would like 
to stick to the RFCs for query string formatting if possible.   I do 
know that will work however, but if I need to do OS detection and make 
calls into libvirt differently that would be doable also (and maybe 
preferred).

Thanks!

--Michael




   




More information about the et-mgmt-tools mailing list