On Fri, Sep 3, 2021 at 4:45 PM Gianluca Cecchi <gianluca.cecchi(a)gmail.com>
wrote:
Hello,
I was trying incremental backup with the provided
/usr/share/doc/python3-ovirt-engine-sdk4/examples/backup_vm.py and began
using the "full" option.
But I specified an incorrect dir and during backup I got error due to
filesystem full
[ 156.7 ] Creating image transfer for disk
'33b0f6fb-a855-465d-a628-5fce9b64496a'
[ 157.8 ] Image transfer 'ccc386d3-9f9d-4727-832a-56d355d60a95' is ready
--- Logging error ---, 105.02 seconds, 147.48 MiB/s
Traceback (most recent call last):
File "/usr/lib64/python3.6/site-packages/ovirt_imageio/_internal/io.py",
line 242, in _run
handler.copy(req)
File "/usr/lib64/python3.6/site-packages/ovirt_imageio/_internal/io.py",
line 286, in copy
self._src.write_to(self._dst, req.length, self._buf)
File
"/usr/lib64/python3.6/site-packages/ovirt_imageio/_internal/backends/http.py",
line 216, in write_to
writer.write(view[:n])
File
"/usr/lib64/python3.6/site-packages/ovirt_imageio/_internal/backends/nbd.py",
line 118, in write
self._client.write(self._position, buf)
File
"/usr/lib64/python3.6/site-packages/ovirt_imageio/_internal/nbd.py", line
445, in write
self._recv_reply(cmd)
File
"/usr/lib64/python3.6/site-packages/ovirt_imageio/_internal/nbd.py", line
980, in _recv_reply
if self._recv_reply_chunk(cmd):
File
"/usr/lib64/python3.6/site-packages/ovirt_imageio/_internal/nbd.py", line
1031, in _recv_reply_chunk
self._handle_error_chunk(length, flags)
File
"/usr/lib64/python3.6/site-packages/ovirt_imageio/_internal/nbd.py", line
1144, in _handle_error_chunk
raise ReplyError(code, message)
ovirt_imageio._internal.nbd.ReplyError: Writing to file failed: [Error 28]
No space left on device
This error is expected if you don't have space to write the data.
Now if I try the same backup command (so with "full" option) and I get
ovirtsdk4.Error: Fault reason is "Operation Failed". Fault detail is
"[Cannot backup VM. The VM is during a backup operation.]". HTTP response
code is 409.
This looks like a bug in the backup script - the backup should be finalized
even if the image transfer failed, but the error you get say the vm is still
in backup mode.
How can I clean the situation?
1. Stop the current backup
If you still have the output from the command, we log the backup UUID.
If you lost the backup id, you can get it using the API - visit this
address in your browser:
https://myengine/ovirt-engine/api/vms/{vm-id}/backups/
Then stop the current backup using:
/usr/share/doc/python3-ovirt-engine-sdk4/examples/backup_vm.py stop
vm-id backup-id
If stopping the backup failed, stopping the VM will stop the backup.
I hope you are running recent enough version, since in early versions there
was a bug when you cannot stop the vm during a backup.
2. File a bug about this
BTW: the parameter to put into ovirt.conf is backup-dir or backup_dir or
what?
ovirt.conf do not include the backup dir, only details about engine. Adding
backup-dir
to ovirt.conf or to backup specific configuration sounds like a good idea.
Nir