Re: [openstack-dev] live-snapshot/cloning of virtual machines

2013-08-31 Thread Alessandro Pilotti
On Aug 27, 2013, at 18:52 , Russell Bryant 
rbry...@redhat.commailto:rbry...@redhat.com wrote:

On 08/27/2013 10:53 AM, Alessandro Pilotti wrote:
That's IMO a different story: backporting a driver is usually quite
trivial as it affects only one service (nova-compute) and one
interaction point with Nova (the driver's interface). Between Havana and
Grizzly for example, the entire Hyper-V driver can be backported without
substantial issues. On the deployment side, we have to care only about
updating the code which runs con the compute nodes, using vanilla
OpenStack components on the controller and remaining nodes.

Backporting the public APIs is a whole different story, it affects way
more components that need to be deployed (nova-api as a minimum of
course), with way more interaction points that might incur into patching
hell.

Do you really know that?  This is pretty hand wavy.  I think you're
making this backport out to be _way_ more complicated than it is.  I
don't see why it's any more complicated than a virt driver feature backport.

What about publishing the API as blacklisted by default? This way it
would be available only to users that enable it explicitly, while still
supporting the scenario described above.

It still makes no sense to me to merge an API for a feature that can't
be used.


I just committed a fully working implementation of the live-snapshot blueprint 
in the Hyper-V driver.
The tests haven't been published yet (I need to clean them up a bit before).

Here's the patch: https://review.openstack.org/#/c/44595/

My plan was to write it and publish it at the beginning of the next cycle, but 
I was wondering if with this we could save the live-snapshot APIs in Havana, so 
I hurried up a bit. :-)
I know that it's awfully late to bring it up for Havana, if it's not possible 
to accept it, no problem at all of course, I'm going to bring it back at the 
beginning of the Icehouse cycle.

The results in terms of boot times are quite impressive. This feature, 
especially combined with the Hyper-V RemoteFX feature in Havana (host GPU 
access in the instances) can bring VDI snenarios to another level, just to name 
one of the use cases.
We are already at work on the cloudbase-init side to support the initialization 
on the client side. The compute node takes of course care of changing Mac 
addresses and attaching a new config drive (when needed).

Alessandro


--
Russell Bryant

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.orgmailto:OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] live-snapshot/cloning of virtual machines

2013-08-27 Thread Russell Bryant
On 08/26/2013 08:15 PM, Tim Smith wrote:
 Hi all,
 
 On Mon, Aug 19, 2013 at 11:49 PM, Bob Ball bob.b...@citrix.com
 mailto:bob.b...@citrix.com wrote:
 
 I agree with the below from a XenServer perspective.  As with
 vmware, XenServer supports live snapshotting and creating multiple
 clones from that live snapshot.
 
 I understand that there is a XenAPI equivalent in the works and
 therefore would argue the API changes need to be accepted as a minimum.
 
 
 Can nova technical leadership provide clarification on the current
 standing of this blueprint? Two hypervisor vendors have expressed plans
 for supporting this feature, and one has specifically requested that the
 API changes be merged, but it appears that both the API changeset [1]
 and novaclient support [2] have both been rejected pending libvirt
 support (which has assumedly been ruled out for the Havana release).
 
 [1] https://review.openstack.org/#/c/34036/
 [2] https://review.openstack.org/#/c/43777/ 
  
 
 In order to minimize the feature divergence between hypervisors, I'd
 also argue that we should accept the libvirt implementation even if
 it uses unsupported APIs - perhaps disabled by default with a
 suitable warning that it isn't considered safe by libvirt/QEmu.
 
 
 It's understandable that changes to the libvirt driver would be held
 back until libvirt/qemu-upstream support for live snapshotting is
 established (if ever), but given that other vendors whose release
 cadences don't necessarily align with the nova release schedule have
 expressed plans to support the interface it's unclear why lack of
 libvirt driver support would block the entire blueprint.

Two other driver maintainers have expressed interest in it, but AFAIK,
there are not implementations of this feature ready for review and
merging for these drivers.  Given that's the case, it doesn't make any
sense to me to merge the API with no ability to use it.  I'm only saying
it should wait until it can be merged with something that makes it usable.

-- 
Russell Bryant

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] live-snapshot/cloning of virtual machines

2013-08-27 Thread Russell Bryant
On 08/27/2013 10:06 AM, Alessandro Pilotti wrote:
 We are also planning to implement the live snapshot feature in the
 Hyper-V driver during the next release cycle. 
 
 I'm personally in favour of publishing the APIs in Havana, as this would
 provide a stable baseline at the beginning of the release cycle and also

The API is published already.  What matters even more than the API for
you as a driver maintainer is the driver interface, which is actually
already merged.  It went in before it became clear the libvirt patch
wouldn't go in, but I don't think there's any reason to remove it now.

 give the ability to users and third parties to backport the driver's
 feature to Havana (outside of the official repo of course).

If you're backporting stuff anyway, you can backport the API patch, as
well.  I see no sense in delivering an API to *everyone* that can't be used.

-- 
Russell Bryant

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] live-snapshot/cloning of virtual machines

2013-08-27 Thread David Scannell
On Tue, Aug 27, 2013 at 10:34 AM, Russell Bryant rbry...@redhat.com wrote:

 On 08/27/2013 10:06 AM, Alessandro Pilotti wrote:
  We are also planning to implement the live snapshot feature in the
  Hyper-V driver during the next release cycle.
 
  I'm personally in favour of publishing the APIs in Havana, as this would
  provide a stable baseline at the beginning of the release cycle and also

 The API is published already.  What matters even more than the API for
 you as a driver maintainer is the driver interface, which is actually
 already merged.  It went in before it became clear the libvirt patch
 wouldn't go in, but I don't think there's any reason to remove it now.


Since the API is published already, where is the harm in offering a backing
implementation of it? This completes the picture and leaves only the virt
driver maintainers to finish up the work and they can do that in their own
time
based on their own priorities and release schedule.

Ultimately the API implementation and the virt driver work is being done by
two distinct groups. I don't think its beneficial to block one group's
efforts
because another group has different priorities. Especially since both groups
have expressed a desire to see the work in.


  give the ability to users and third parties to backport the driver's
  feature to Havana (outside of the official repo of course).

 If you're backporting stuff anyway, you can backport the API patch, as
 well.  I see no sense in delivering an API to *everyone* that can't be
 used.

 Why require the additional hassle of backporting the API patch (which
affects a
different sets of nodes / services than backporting pure driver support)?
Especially
since the API patch simply fills in the implementation of the published API.

I understand that in the current outlook, Icehouse will be the release
where this feature
really shines because it'll be supported by most of the virt drivers.
However in the 6
months of the Havana release there is a rough patch of the functionality
available in
Vish's libvirt patch. Yes, it is not the long term solution, unsupported by
libvirt maintainers
and comes with a bunch of caveats around its use. But early adopters can
certainly use
this patch to experiment with this API and see what interesting workflows
come out of it.
That way they will be ready for when Icehouse lands with full support and
it is ready for
primetime.

Thanks,
David Scannell
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] live-snapshot/cloning of virtual machines

2013-08-27 Thread Russell Bryant
On 08/27/2013 10:53 AM, Alessandro Pilotti wrote:
 That's IMO a different story: backporting a driver is usually quite
 trivial as it affects only one service (nova-compute) and one
 interaction point with Nova (the driver's interface). Between Havana and
 Grizzly for example, the entire Hyper-V driver can be backported without
 substantial issues. On the deployment side, we have to care only about
 updating the code which runs con the compute nodes, using vanilla
 OpenStack components on the controller and remaining nodes.
 
 Backporting the public APIs is a whole different story, it affects way
 more components that need to be deployed (nova-api as a minimum of
 course), with way more interaction points that might incur into patching
 hell.

Do you really know that?  This is pretty hand wavy.  I think you're
making this backport out to be _way_ more complicated than it is.  I
don't see why it's any more complicated than a virt driver feature backport.

 What about publishing the API as blacklisted by default? This way it
 would be available only to users that enable it explicitly, while still
 supporting the scenario described above.

It still makes no sense to me to merge an API for a feature that can't
be used.

-- 
Russell Bryant

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] live-snapshot/cloning of virtual machines

2013-08-27 Thread Russell Bryant
On 08/27/2013 12:04 PM, Alessandro Pilotti wrote:
 
 
 
 On Aug 27, 2013, at 18:52 , Russell Bryant rbry...@redhat.com
 mailto:rbry...@redhat.com
  wrote:
 
 On 08/27/2013 10:53 AM, Alessandro Pilotti wrote:
 That's IMO a different story: backporting a driver is usually quite
 trivial as it affects only one service (nova-compute) and one
 interaction point with Nova (the driver's interface). Between Havana and
 Grizzly for example, the entire Hyper-V driver can be backported without
 substantial issues. On the deployment side, we have to care only about
 updating the code which runs con the compute nodes, using vanilla
 OpenStack components on the controller and remaining nodes.

 Backporting the public APIs is a whole different story, it affects way
 more components that need to be deployed (nova-api as a minimum of
 course), with way more interaction points that might incur into patching
 hell.

 Do you really know that?  This is pretty hand wavy.  I think you're
 making this backport out to be _way_ more complicated than it is.  I
 don't see why it's any more complicated than a virt driver feature
 backport.
 
 No, that's why I used might instead of will :-)
 
 More important than the coding issue, there's the deployment and support
 issue for additional components that need to be mantained outside of the
 main code repo.
 
 What about publishing the API as blacklisted by default? This way it
 would be available only to users that enable it explicitly, while still
 supporting the scenario described above.
 It still makes no sense to me to merge an API for a feature that can't
 be used.
 
 This depends on the definition of can't be used:
 
 It's a feature that can't be used in the Havana code base, but I can
 assure you that we would do good use of it by backporting the I code.

Used by code *in the tree*.  If you're backporting anything, you're on
your own.  I find it completely unreasonable to ask the upstream project
to worry about supporting that kind of thing.

-- 
Russell Bryant

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] live-snapshot/cloning of virtual machines

2013-08-27 Thread Russell Bryant
On 08/27/2013 12:04 PM, Tim Smith wrote:
 
 On Tue, Aug 27, 2013 at 8:52 AM, Russell Bryant rbry...@redhat.com
 mailto:rbry...@redhat.com wrote:
 
  What about publishing the API as blacklisted by default? This way it
  would be available only to users that enable it explicitly, while
 still
  supporting the scenario described above.
 
 It still makes no sense to me to merge an API for a feature that can't
 be used.
 
 
 While it's true that there won't be an in-tree driver that supports the
 API for this release cycle, we have a commercial driver that supports it
 (https://github.com/gridcentric/cobalt).
 
 Having the API standardized in Havana would ensure that client support
 is immediately available for our users as well as for the other
 hypervisor vendors should they release a supporting driver in the next 9
 months. I believe there is precedent for publishing a nova API for those
 purposes.

IMO, to be the healthiest project we can be, we must focus on what code
is actually a part of Nova.  If you'd like to submit your changes for
inclusion into Nova, then we can talk.

What you are seeing here is a part of the pain of maintaining a fork.  I
am not OK with shifting part of that burden on to the upstream project
when it doesn't help the upstream project *at all*.

When we have supporting code to make the feature usable, then the API
can go in.

-- 
Russell Bryant

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] live-snapshot/cloning of virtual machines

2013-08-27 Thread Daniel P. Berrange
On Tue, Aug 27, 2013 at 12:13:49PM -0400, Russell Bryant wrote:
 On 08/27/2013 12:04 PM, Tim Smith wrote:
  
  On Tue, Aug 27, 2013 at 8:52 AM, Russell Bryant rbry...@redhat.com
  mailto:rbry...@redhat.com wrote:
  
   What about publishing the API as blacklisted by default? This way it
   would be available only to users that enable it explicitly, while
  still
   supporting the scenario described above.
  
  It still makes no sense to me to merge an API for a feature that can't
  be used.
  
  
  While it's true that there won't be an in-tree driver that supports the
  API for this release cycle, we have a commercial driver that supports it
  (https://github.com/gridcentric/cobalt).
  
  Having the API standardized in Havana would ensure that client support
  is immediately available for our users as well as for the other
  hypervisor vendors should they release a supporting driver in the next 9
  months. I believe there is precedent for publishing a nova API for those
  purposes.
 
 IMO, to be the healthiest project we can be, we must focus on what code
 is actually a part of Nova.  If you'd like to submit your changes for
 inclusion into Nova, then we can talk.
 
 What you are seeing here is a part of the pain of maintaining a fork.  I
 am not OK with shifting part of that burden on to the upstream project
 when it doesn't help the upstream project *at all*.
 
 When we have supporting code to make the feature usable, then the API
 can go in.

Totally agreed with this. Supporting APIs in Nova with no in-tree users,
to satisfy the requirements of out of tree drivers should be an explicit
non-goal of the community IMHO. If a 3rd party does not wish to contribute
their code to Nova codebase, then it is expected that they take on all the
burden of doing the extra integration work their fork/branch implies.

For a code review POV, I would also not be satisfied doing review of APIs
without illustration of an in-tree driver wired up to the wire. Doing API
design is hard work, and I've been burnt too many times on other projects
adding APIs without in tree users, which then had to be thrown away or
replaced when the in-tree user finally arrived. So I would be very much
against adding any APIs without in-tree users, even ignoring the fact
that I think the live VM cloning concept as a whole is flawed.

Regards,
Daniel
-- 
|: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o- http://virt-manager.org :|
|: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] live-snapshot/cloning of virtual machines

2013-08-27 Thread Dan Smith
 While it's true that there won't be an in-tree driver that supports
 the API for this release cycle, we have a commercial driver that
 supports it ( https://github.com/gridcentric/cobalt).

IMHO, out of tree virt drivers are completely out of scope here. We
change the virt driver API at will, adding, removing, and changing
things without any concern for what it may do to anything outside of
our tree. Until we commit to a stable virt driver API, the above
argument holds no weight for me.
 
 Having the API standardized in Havana would ensure that client
 support is immediately available for our users as well as for the
 other hypervisor vendors should they release a supporting driver in
 the next 9 months. I believe there is precedent for publishing a nova
 API for those purposes.

Having an API codified (and committed-to) before we have a working
implementation that uses it in Nova is asking for trouble, IMHO.

Personally, I think the hardest bit is already in the tree, which is
the piece that allows the API to communicate with a fictional
live-snapshot-supporting virt driver. Backporting the API and writing a
virt driver to the interface that is there is cake compared to what it
would take to bolt on the plumbing part.

IIRC, the plumbing was speculatively merged ahead of the libvirt and
API pieces, but perhaps the safest (and least confusing) thing for us
to do would be to yank it out prior to Havana?

--Dan

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] live-snapshot/cloning of virtual machines

2013-08-27 Thread Adin Scannell
On Tue, Aug 27, 2013 at 12:13 PM, Russell Bryant rbry...@redhat.com wrote:

 IMO, to be the healthiest project we can be, we must focus on what code
  is actually a part of Nova.  If you'd like to submit your changes for
 inclusion into Nova, then we can talk.


That's ultimately what we're trying to accomplish here.

What you are seeing here is a part of the pain of maintaining a fork.  I
 am not OK with shifting part of that burden on to the upstream project
 when it doesn't help the upstream project *at all*.


We're not maintaining a fork, nor trying to shift burden. That's unfair. We
have a long term interest in the success of OpenStack, like everyone here.
We're not asking upstream to do anything. This isn't adversarial.

There are plenty of things that don't help nova directly, but certainly
enable a vibrant ecosystem. For example, having extensible APIs and
pluggable backends is critical to the philosophy and success of OpenStack
as a whole.

We absolutely understand that having solid, in-tree implementations is also
important. That's why as a part of the blueprint, there was a pan-community
effort made to create a libvirt implementation. Although that particular
effort has hit some speed bumps, merging the API extension would still
benefit members of the community by simplifying deployments (i.e. for us)
and Havana backports (i.e. needing to provide only an updated compute
driver w/ config change). Other hypervisor driver maintainers have also
expressed the desire to see it merged to speed and simplify development of
in-tree implementations moving forward. It's not just going to get dropped
on the floor.

In the end, I think that the need to have the reference implementation land
at the same moment should be balanced against community interests. Yes, we
really want to see the API in Havana, but it seems we're not alone. I would
understand holding off if there were substantial downsides to merging, or
if multiple hypervisor vendors had expressed a desire to see it not merged.
But that doesn't seem to be the case. Six months is a long time, and
ultimately the evolution of an open source ecosystem is just as important
as the code itself.

Thanks,
-Adin
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] live-snapshot/cloning of virtual machines

2013-08-26 Thread Tim Smith
Hi all,

On Mon, Aug 19, 2013 at 11:49 PM, Bob Ball bob.b...@citrix.com wrote:

 I agree with the below from a XenServer perspective.  As with vmware,
 XenServer supports live snapshotting and creating multiple clones from that
 live snapshot.

 I understand that there is a XenAPI equivalent in the works and therefore
 would argue the API changes need to be accepted as a minimum.


Can nova technical leadership provide clarification on the current standing
of this blueprint? Two hypervisor vendors have expressed plans for
supporting this feature, and one has specifically requested that the API
changes be merged, but it appears that both the API changeset [1] and
novaclient support [2] have both been rejected pending libvirt support
(which has assumedly been ruled out for the Havana release).

[1] https://review.openstack.org/#/c/34036/
[2] https://review.openstack.org/#/c/43777/


 In order to minimize the feature divergence between hypervisors, I'd also
 argue that we should accept the libvirt implementation even if it uses
 unsupported APIs - perhaps disabled by default with a suitable warning that
 it isn't considered safe by libvirt/QEmu.


It's understandable that changes to the libvirt driver would be held back
until libvirt/qemu-upstream support for live snapshotting is established
(if ever), but given that other vendors whose release cadences don't
necessarily align with the nova release schedule have expressed plans to
support the interface it's unclear why lack of libvirt driver support would
block the entire blueprint.

Thanks,
Tim




 Bob
 
 From: Shawn Hartsock [hartso...@vmware.com]
 Sent: 19 August 2013 20:59
 To: Daniel P. Berrange; OpenStack Development Mailing List
 Subject: Re: [openstack-dev] [nova] live-snapshot/cloning of virtual
 machines

 For what it's worth... this doesn't seem too bad to me...

 I was planning on using this part of the vSphere API:
 *
 https://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.vm.CloneSpec.html

 ...to accomplish the clone part of the BP. The API contains a spec
 section where you tell the ESX hypervisor how to handle things like network
 identity...
 *
 https://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.vm.customization.IPSettings.html

 ... I was going to use this to plumb together the live-snapshot bit ...
 *
 https://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.VirtualMachine.html#createSnapshot

 ... which includes stuff about how to handle memory.

 So, I didn't read this blueprint as especially hard to accomplish in the
 vmwareapi driver. It just would eat more time than I have right now and
 would require a deeper level of understanding of how the vSphere hypervisor
 suite works than most of the other features currently use. I'm fully
 planning on playing with this in IceHouse just to see how it would go, it's
 probably one of the more nifty new features we could add.

 Note: these are old features for the API and they are a tad complicated,
 but it's all well within the realm of supported! In fact, it's standard
 operating procedure to use the clone feature to scale-out an application in
 some vSphere shops. (albeit, in production the admins I know personally,
 use clone with power-off from a 'template' and the system comes up with a
 new MAC/etc on first boot... cloning from a running system is possible, but
 I would recommend cloning from a power-off state unless you've got a
 hot-plug feature in your guest OS)



 # Shawn Hartsock

 - Original Message -
  From: Daniel P. Berrange berra...@redhat.com
  To: OpenStack Development Mailing List 
 openstack-dev@lists.openstack.org
  Sent: Monday, August 19, 2013 5:24:59 AM
  Subject: Re: [openstack-dev] [nova] live-snapshot/cloning of virtual
 machines
 
  On Mon, Aug 19, 2013 at 08:28:58AM +1200, Robert Collins wrote:
   On 17 August 2013 07:01, Russell Bryant rbry...@redhat.com wrote:
  
Maybe we've grown up to the point where we have to be more careful
 and
not introduce
these kind of features and the maintenance cost of introducing
experimental features is
too great. If that is the community consensus, then I'm happy keep
 the
live snapshot stuff
in a branch on github for people to experiment with.
   
My feeling after following this discussion is that it's probably
 best to
keep baking in another branch (github or whatever).  The biggest
 reason
is because of the last comment quoted from Daniel Berrange above.  I
feel that like that is a pretty big deal.
  
   So, reading between the lines here, I guess you're worried that we'd
   let code paths that violate what upstream will support leak into the
   main codepaths for libvirt - and thus we'd end up with a situation
   where we aren't supported by upstream for all regular operations.
 
  Yes, if you perform a live clone of a VM, then you have effectively
  tainted

Re: [openstack-dev] live-snapshot/cloning of virtual machines

2013-08-20 Thread Bob Ball
I agree with the below from a XenServer perspective.  As with vmware, XenServer 
supports live snapshotting and creating multiple clones from that live snapshot.

I understand that there is a XenAPI equivalent in the works and therefore would 
argue the API changes need to be accepted as a minimum.

In order to minimize the feature divergence between hypervisors, I'd also argue 
that we should accept the libvirt implementation even if it uses unsupported 
APIs - perhaps disabled by default with a suitable warning that it isn't 
considered safe by libvirt/QEmu.

Bob

From: Shawn Hartsock [hartso...@vmware.com]
Sent: 19 August 2013 20:59
To: Daniel P. Berrange; OpenStack Development Mailing List
Subject: Re: [openstack-dev] [nova] live-snapshot/cloning of virtual machines

For what it's worth... this doesn't seem too bad to me...

I was planning on using this part of the vSphere API:
* 
https://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.vm.CloneSpec.html

...to accomplish the clone part of the BP. The API contains a spec section 
where you tell the ESX hypervisor how to handle things like network identity...
* 
https://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.vm.customization.IPSettings.html

... I was going to use this to plumb together the live-snapshot bit ...
* 
https://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/vim.VirtualMachine.html#createSnapshot

... which includes stuff about how to handle memory.

So, I didn't read this blueprint as especially hard to accomplish in the 
vmwareapi driver. It just would eat more time than I have right now and would 
require a deeper level of understanding of how the vSphere hypervisor suite 
works than most of the other features currently use. I'm fully planning on 
playing with this in IceHouse just to see how it would go, it's probably one of 
the more nifty new features we could add.

Note: these are old features for the API and they are a tad complicated, but 
it's all well within the realm of supported! In fact, it's standard operating 
procedure to use the clone feature to scale-out an application in some vSphere 
shops. (albeit, in production the admins I know personally, use clone with 
power-off from a 'template' and the system comes up with a new MAC/etc on first 
boot... cloning from a running system is possible, but I would recommend 
cloning from a power-off state unless you've got a hot-plug feature in your 
guest OS)



# Shawn Hartsock

- Original Message -
 From: Daniel P. Berrange berra...@redhat.com
 To: OpenStack Development Mailing List openstack-dev@lists.openstack.org
 Sent: Monday, August 19, 2013 5:24:59 AM
 Subject: Re: [openstack-dev] [nova] live-snapshot/cloning of virtual machines

 On Mon, Aug 19, 2013 at 08:28:58AM +1200, Robert Collins wrote:
  On 17 August 2013 07:01, Russell Bryant rbry...@redhat.com wrote:
 
   Maybe we've grown up to the point where we have to be more careful and
   not introduce
   these kind of features and the maintenance cost of introducing
   experimental features is
   too great. If that is the community consensus, then I'm happy keep the
   live snapshot stuff
   in a branch on github for people to experiment with.
  
   My feeling after following this discussion is that it's probably best to
   keep baking in another branch (github or whatever).  The biggest reason
   is because of the last comment quoted from Daniel Berrange above.  I
   feel that like that is a pretty big deal.
 
  So, reading between the lines here, I guess you're worried that we'd
  let code paths that violate what upstream will support leak into the
  main codepaths for libvirt - and thus we'd end up with a situation
  where we aren't supported by upstream for all regular operations.

 Yes, if you perform a live clone of a VM, then you have effectively
 tainted that VM for the rest of its lifetime. From the virt host
 vendors' POV, any unexpected or problematic behaviour you get from
 that VM thereafter will be outside scope of support. The onus would
 be on the openstack sysadmin to demonstrate that the same problem
 occurs without the use of live cloning.

 Running a production cloud using a feature that your virt host
 vendor considers unsupported would be somewhat reckless IMHO, unless
 you think your sysadmins think they have the skills to solve all
 possible problems in that area themselves, which is unlikely for most
 cloud vendors.

 Regards,
 Daniel
 --
 |: http://berrange.com  -o-http://www.flickr.com/photos/dberrange/ :|
 |: http://libvirt.org  -o- http://virt-manager.org :|
 |: http://autobuild.org   -o- http://search.cpan.org/~danberr/ :|
 |: http://entangle-photo.org   -o-   http://live.gnome.org/gtk-vnc :|

 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http