Thanks for the info. Ignazio
Il giorno Mer 23 Gen 2019 19:29 melanie witt <melwittt@gmail.com> ha scritto:
On Wed, 23 Jan 2019 18:02:56 +0100, Ignazio Cassano <ignaziocassano@gmail.com> wrote:
Manu thanks. I read a blueprint for providing quiesce function to nova api but I cannot find it. Must I talk directly with libvirt api?
Quiesce was never added to the nova API as a separate function and a spec proposal to add it was last reviewed in Newton [1]. At the time of review, only one virt driver, libvirt, supported quiesce and the justification to add a new REST API that all but one driver could not support, was not compelling enough. AFAIK the libvirt driver is still the only one that supports quiesce. There were other concerns beyond that though, and they are detailed in the review.
As Matt Riedemann mentioned in his earlier reply on this thread [2], a quiesce step is integrated into the nova snapshot API, if the driver supports it (only libvirt). This is the only way you can quiesce an instance today.
On Wed, 2019-01-23 at 19:34 +0100, Ignazio Cassano wrote: the closest semi portable api call is pause, but unlike quiesce, pause will also stop the execution of the vm. i say its semi portable as drivers are not required to implement it. it does have more broad support https://docs.openstack.org/nova/latest/user/support-matrix.html#operation_pa... vmware,powervm and ironic being the main virt drivers missing support. calling pause however will be a distruptive backup and would not be suitable in many cases. it is overkill in most cases and it also wont guarentte that the io buffers are flushed just that no new data is written to the disks but the paused instnace while the backup is done.
Cheers, -melanie
[1] https://review.openstack.org/295595 [2] http://lists.openstack.org/pipermail/openstack-discuss/2019-January/001984.h...
Il giorno Mer 23 Gen 2019 17:01 Sean McGinnis <sean.mcginnis@gmx.com <mailto:sean.mcginnis@gmx.com>> ha scritto:
On Wed, Jan 23, 2019 at 04:56:24PM +0100, Ignazio Cassano wrote: > Hello, I did not understand if you mean cinder snapshot pr netapp snapshot. > Any case, why, we do not need to quiesce the instance ? > Regards > Ignazio >
If being crash consistent is good enough for your needs, then you don't. I know some do prefer the coordinated quiescing of IO in the instance to make sure any in-flight transactions are flushed out and application data is more likely to be in a good consistent state.
Depending on your application running in the instance, things like databases are pretty good at rolling back incomplete transactions, so it's just a matter of whether you can allow the possibility that something that was successful in the milliseconds before the snap was created to now be rolled back when the application restarts.