[cinder][nova] fsfreeze hooks issues with cinder snapshot/backup

Arthur Outhenin-Chalandre arthur.outhenin-chalandre at cern.ch
Tue Aug 31 14:50:57 UTC 2021


We are trying to trigger an fsfreeze via a cinder backup or snapshot. We
confirmed that the fsfreeze hooks are actually called with a nova
snapshot with `/var/log/qga-fsfreeze-hook.log` in the VM, but we can't
achieve the same thing with a cinder backup/snapshot attached to the
same instance. We are using Wallaby, libvirt, RBD for cinder volumes and
RBD as well for cinder-backup.

According to this (old) spec [0], cinder should call the `quiesce()`
method in nova during backup/snapshot. We looked in the cinder code and
couldn't find any clear evidence that this method is actually called by
cinder (but we may have missed something). We added some debug messages
on quiesce/can_quiesce/require_quiesce/... in
`nova/virt/libvirt/driver.py` and they are never called with a cinder
backup/snapshot in our setup while they are (and succeed) if we do a
nova snapshot.

We are starting to suspect that something is missing in cinder, but it
could very well be a problem with our setup as well... Does someone use
this feature or know if it should be working/implemented?



Arthur Outhenin-Chalandre

More information about the openstack-discuss mailing list