Red Hat Bugzilla – Bug 221485
Changes to python-virtinst have caused virt-install to reject a VM name that contains a hyphen
Last modified: 2007-11-30 17:11:52 EST
Description of problem: Changes to
/usr/lib/python2.4/site-packages/virtinst/XenGuest.py have changed the behavior
of virt-install in a way that I find irritating. Our Xen guests have a hyphen
in their names, but virt-install rejects any name that has a hyphen in it now.
It was not this way in python-virtinst-0.95.0-1.fc6 , but it is so in
python-virtinst-0.98.0-1.fc6 . I traced the error back to this chunk of
def set_name(self, val):
# FIXME: need some validation here
if re.match("^[a-zA-Z0-9_]*$", val) == None:
raise ValueError, "Domain name must be alphanumeric or _"
This is unfortunate, because this new code restricts virtual machine names to
alphanumeric characters and the underscore. Now, a hyphen is a valid character
in a DNS A record (while an underscore character is not). I like my Xen guest
OS domain names to match their DNS names for obvious reasons. XenGuest.py
should allow any characters allowed in DNS names as a minimum.
Version-Release number of selected component (if applicable):
How reproducible: Try supplying a hyphenated name to virt-install, either on the
command line with the -n argument, or manually when virt-install prompts for a
name. It will reject any name with a hyphen in it.
Steps to Reproduce:
1. virt-install -n host-name
Actual results: ERROR: Domain name must be alphanumeric or _
Expected results: Completed virt-install with no errors
Additional info: There is a workaround: I created the virtual machine with an
underscore in the name instead of a hyphen. After the virt-install process and
Kickstart were finished, I renamed the /etc/xen/host_name file to
/etc/xen/host-name. Then I started the virtual machine and it is fine.
The regex is just a bit too restrictive. You should be able to add - to it
without problems and I've done so in hg, will be in the next build.
Thanks, Jeremy, for the quick response.
One last note on the workaround I supplied above: you should also edit the
/etc/xen/host-name file and change the line that reads
name = host_name
name = host-name
for the delay. Will close this when we release next.