
HI Daniel, Thank you for reply and comments.
Okay, so let's look first at how it would integrate in virsh ... So the command take the domain reference and a comma separated list of device. I assume it expect those device to be already available (for example if using LVM they were already created) and already initialized.
Yes. The user is preparing those destination devices beforehand.
I'm surprized the name for the new clone is not an argument.
There is the clone which I think about for the purpose of reprinting an as possible state as is. So this first revision is primmitive. Also It is thought that information that must not overlap as a virtual machine should change automatically. But I am thinking this enhaunce it below. 1)--name new clone vm name 2)--mac new clone mac address 3)--format destination devies initialized befor cloning 4)--wait wait cloning porcess I want to dettach the cloning process and to show the state with the "cloning" by virsh.
The problem of adding a Clone operation at the libvirt level is that it would be very hard to make it solid, I mean just modifying an XML file is not hard, it's the checking of the state, the provisionning and making sure that no disaster will happen if we try to start the domain which are the hard part. I'm not sure we can do that in a relatively generic fashion, it probably depends a lot on the scenario. To get down to something concrete, suppose I have a domain with an Apache server running a RHEL4 paravirt. The new API may sound like it could create a new domain with a similar Apache server, but: - how do we provision it ? - how do we avoid name clashes, i.e. IP, machine name, ... in practice it would mean changing settings in the server - are we using resource which may not be shared (or shareable)
It is surely so. Cloning I defined aims at creating a just duplication as it except informations that must not overlap as a virtual machine. So, by my just now cloning, it is necessary for a user to edit peculiar information of the OS and Middlewares. I thought about service such as load dispersion than by 1 installed the OS and Middlewares in each node when I set each node a clone did the machine at the stage that came by one setup, and to edit peculiarity information.
We would need to be very precise about what the API call does, and warn about what it does not do, before I would start feeling comfortable about adding it in libvirt,
I see. So I put down to virsh used libvirt library instead of libvirt. # but I also unterstand that put ing down to virsh cannot remote support ..... Thanks, Kazuki Mizushima