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