[Fedora-xen] virt-clone/Fedora 8/Xen3.1 ... ERROR: Disk size must be an int or a float.

Petrus B. van Bork pvanbork at outerline.com
Sat Feb 9 00:05:22 UTC 2008


Dear Fellow-List Members:

                                           I am running the latest, 
fully updated, F8 Xen kernel with F8, updated DomU on top.  I need to 
clone that DomU - indeed, a need to do rather a lot of cloning to 
fulfill our project's mission.  I tried to run virt-clone but it will 
not perform as per the man's examples and despite hours of searching on 
the 'net I cannot find any reason why not.

Here is the example from the man:

-EXAMPLES
-    Clone the guest called "demo" which has a single disk to copy
-
-      # virt-clone \
-           --original demo \
-           --name newdemo \
-           --file /var/lib/xen/images/newdemo.img

What I have tried:

Where:

HanoverGuest = name of functioning DomU (shut off for cloning...)
KohaHanoverConf_Gold = name of new DomU
New File Image: KohaHanoverConf_Gold.dsk

Here is the command sequence I issue:

#virt-clone --original HanoverGuest --name KohaHanoverConf_Gold --file /var/lib/xen/images/KohaHanoverConf_Gold.dsk -d

I get:

Fri, 08 Feb 2008 14:57:31 DEBUG	start clone with HV Xen
Fri,   ditto		  DEBUG clone device list: ['/var/lib/xen/images/KohaHanoverConf_Gold.dsk']
Fri,   ditto		  DEBUG clone device size: [1048570000L]
Fri,   ditto		  DEBUG clone device type: [True]
ERROR:  Disk size must an int or a float.
What would you like to use as the disk (path)?

...I have tried many, many variants with no more luck and usually with the same error message.  I have tried to run it 
without creating a disk image myself, with one of 0 bytes size and, as can be seen, one of 10gig size.  No joy!
Furthermore, I cannot find any information on the net on what those debug messages mean so I have little to judge what is going on.

Apparently the ERROR msg. itself,likely, is generated by:

@@ -83,9 +77,13 @@ class VirtualDisk:
             if size is None and not os.path.exists(self.path):
                 raise ValueError, \
                     _("A size must be provided for non-existent disks")
-            if size is not None and size <= 0:
+            if size is not None and \
+               (__builtin__.type(size) is not __builtin__.type(1) and \
+			    __builtin__.type(size) is not __builtin__.type(1.0)):
+               raise ValueError, _("Disk size must be an int or a float.")

...which comes from a September 28, 2007 patch authored by Cole Robinson for virtinst validation fixes, found here:
http://www.spinics.net/linux/fedora/et-mgmt-tools/msg01760.html ...alas, without knowing all the code I am not sure what is going on.
It seems to suggest that somehow the diskimage file is not recognized as a built in data type or something similar - but there seem to
be no commands available in virt-clone to set the datatype, adapt for the date type or even tell a user what datatype they need.  Since I am a relative
Linux newbie I may very well be making a classic 'flat-forehead' error - but what?

I tried to run virt-clone as a basic interactive tool - the man states that it can run interactively with no command line switches.  Here is what happens:

#virt-clone

..and I get...

ERROR: A new disk image file for the clone guest is required and then it goes back to the prompt.  Not helpful!

I very badly need to clone DomU's effectively during our development process - and afterwards and I would be excruciatingly grateful for any help anyone can provide!

Regards,

Petrus

 





More information about the Fedora-xen mailing list