<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=koi8-r">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Hello,</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Working me through documentation and articles I am totally lost on the matter.</p>
<p style="margin-top:0;margin-bottom:0"></p>
<div>
<p style="margin-top:0;margin-bottom:0">All I want to know is:</p>
<p style="margin-top:0;margin-bottom:0">- if issueing "openstack snapshot create ...."</p>
<p style="margin-top:0;margin-bottom:0">- if klicking "create Snaphost" in Horizon for an instance</p>
will secure a consistent snapshot (of all volumes in question).</div>
<div>With "consistent", I mean that all the data in memory are written to the disc before starting a snapshot.<br>
</div>
<br>
<p></p>
<p style="margin-top:0;margin-bottom:0">I hope someone can clear up, if using the setup described in the following is sufficient to achieve this goal or if I have to do something in addition.</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">If you have any question I am eager to answer as fast as possible.<br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Setup:<br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">We have a Stein-based OpenStack deployment with cinder backed by ceph.</p>
<p style="margin-top:0;margin-bottom:0">Instances are created with cinder volumes. Boot volumes are based on an image having the properties:<br>
</p>
<p style="margin-top:0;margin-bottom:0"></p>
<div>- hw_qemu_guest_agent='yes'<br>
- os_require_quiesce='yes'</div>
<p></p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">The image is ubuntu 16.04 or 18.04 with quemu-guest-agent package installed and service running (no additional configuration besides distro-default):</p>
<p style="margin-top:0;margin-bottom:0"></p>
<div><br>
</div>
<div>qemu-guest-agent.service - LSB: QEMU Guest Agent startup script<br>
   Loaded: loaded (/etc/init.d/qemu-guest-agent; bad; vendor preset: enabled)<br>
   Active: active (running) since Wed 2019-08-14 07:42:21 UTC; 9min ago<br>
     Docs: man:systemd-sysv-generator(8)<br>
   CGroup: /system.slice/qemu-guest-agent.service<br>
           2300 /usr/sbin/qemu-ga --daemonize -m virtio-serial -p /dev/virtio-ports/org.qemu.guest_agent.0<br>
<br>
Aug 14 07:42:21 ulthwe systemd[1]: Starting LSB: QEMU Guest Agent startup script...<br>
Aug 14 07:42:21 ulthwe systemd[1]: Started LSB: QEMU Guest Agent startup script.<br>
</div>
<div><br>
</div>
<div>I can see the socket on the compute node and send pings successfully:</div>
<div><br>
</div>
<div><span>~#</span> ls /var/lib/libvirt/qemu/*.sock<br>
/var/lib/libvirt/qemu/org.qemu.guest_agent.0.instance-0000248e.sock<br>
root@pcevh2404:~# virsh qemu-agent-command instance-0000248e '{"execute":"guest-ping"}'<br>
{"return":{}}</div>
<p></p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">I can also send freeze and thaw successfully:</p>
<p style="margin-top:0;margin-bottom:0"></p>
<div>~# virsh qemu-agent-command instance-0000248e '{"execute":"guest-fsfreeze-freeze"}'<br>
{"return":1}<br>
<br>
~# virsh qemu-agent-command instance-0000248e '{"execute":"guest-fsfreeze-thaw"}'<br>
{"return":1}<br>
</div>
<div><br>
</div>
<div>Sending a simple write (echo "bla" > blub.file) in the "frozen" state will be blocked until "thaw" as expected.<br>
</div>
<div><br>
</div>
Best regards
<p></p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Ralf T.<span style="font-size:10pt; font-family:"Arial",sans-serif,serif,"EmojiFont""><br>
</span></p>
<div id="Signature"></div>
</div>
</body>
</html>