On Fri, Sep 3, 2021 at 9:35 PM Nir Soffer <nsoffer(a)redhat.com> wrote:
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'
>
> [snip]
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.
ok.
>
> 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.
It is the latest 4.4.7. I run the backup_vm.py script from the engine:
ovirt-engine-4.4.7.7-1.el8.noarch
ovirt-engine-setup-plugin-imageio-4.4.7.7-1.el8.noarch
ovirt-imageio-common-2.2.0-1.el8.x86_64
ovirt-imageio-client-2.2.0-1.el8.x86_64
ovirt-imageio-daemon-2.2.0-1.el8.x86_64
python3-ovirt-engine-sdk4-4.4.13-1.el8.x86_64
But if I try the stop command I get the error
[g.cecchi@ovmgr1 ~]$ python3
/usr/share/doc/python3-ovirt-engine-sdk4/examples/backup_vm.py -c ovmgr1
stop dc386237-1e98-40c8-9d3d-45658163d1e2
68f83141-9d03-4cb0-84d4-e71fdd8753bb
[ 0.0 ] Finalizing backup '68f83141-9d03-4cb0-84d4-e71fdd8753bb'
Traceback (most recent call last):
File "/usr/share/doc/python3-ovirt-engine-sdk4/examples/backup_vm.py",
line 493, in <module>
main()
File "/usr/share/doc/python3-ovirt-engine-sdk4/examples/backup_vm.py",
line 176, in main
args.command(args)
File "/usr/share/doc/python3-ovirt-engine-sdk4/examples/backup_vm.py",
line 262, in cmd_stop
stop_backup(connection, args.backup_uuid, args)
File "/usr/share/doc/python3-ovirt-engine-sdk4/examples/backup_vm.py",
line 345, in stop_backup
backup_service.finalize()
File "/usr/lib64/python3.6/site-packages/ovirtsdk4/services.py", line
33869, in finalize
return self._internal_action(action, 'finalize', None, headers, query,
wait)
File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 299,
in _internal_action
return future.wait() if wait else future
File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 55,
in wait
return self._code(response)
File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 296,
in callback
self._check_fault(response)
File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 132,
in _check_fault
self._raise_error(response, body)
File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 118,
in _raise_error
raise error
ovirtsdk4.Error: Fault reason is "Operation Failed". Fault detail is
"[Cannot stop VM backup. The VM backup is not in READY phase, backup phase
is FINALIZING. Please try again when the backup is in READY phase.]". HTTP
response code is 409.
[g.cecchi@ovmgr1 ~]$
2. File a bug about this
Filed this one, hope its is correct; I chose ovirt-imageio as the product
and Client as the component:
https://bugzilla.redhat.com/show_bug.cgi?id=2001136
I put information also about the error received with the stop command
>
> 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
I agree
Gianluca