Config backups error

Error when attempting System > Config Backups after updating Leap 15.5 to 15.6 (2 days ago) and Rockstor 4.6.0.1 to 5.1.0 (yestersay).

I found that /opt/rockstor/config-backups directory was missing so I created it (I looked here per a 2023 post from someone with the same problem).

After refreshing the browser to clear the Houston message, I could load the page, create a backup, and save off a copy of it.

Previously created backups are now in /opt/rockstor/config-backups-rpmsave. I discovered this courtesy of my backup logs from last night. The backup I created today is in the “old” config-backups directory.

Bottom line: I’m in good shape but not sure if this is a bug or it was intended.

Edit: Including the rockstor log file

File “/opt/rockstor/src/rockstor/storageadmin/views/config_backup.py”, line 648, in get_queryset
with gzip.open(fp, “rb”) as f:
^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/gzip.py”, line 58, in open
binary_file = GzipFile(filename, gz_mode, compresslevel)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/gzip.py”, line 174, in init
fileobj = self.myfileobj = builtins.open(filename, mode or ‘rb’)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: ‘/opt/rockstor/static/config-backups/backup-2025-09-24-212814.json.gz’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/opt/rockstor/src/rockstor/storageadmin/views/config_backup.py”, line 659, in get_queryset
o, err, rc = run_command([“/usr/bin/gzip”, fp], log=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/src/rockstor/system/osi.py”, line 289, in run_command
raise CommandException(cmd, out, err, rc)
system.exceptions.CommandException: Error running a command. cmd = /usr/bin/gzip /opt/rockstor/static/config-backups/backup-2025-09-24-212814.json.gz. rc = 1. stdout = [‘’]. stderr = [‘gzip: /opt/rockstor/static/config-backups/backup-2025-09-24-212814.json.gz: No such file or directory’, ‘’]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/opt/rockstor/.venv/lib/python3.11/site-packages/django/core/handlers/base.py”, line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/django/views/decorators/csrf.py”, line 56, in wrapper_view
return view_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/django/views/generic/base.py”, line 104, in view
return self.dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/views.py”, line 509, in dispatch
response = self.handle_exception(exc)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/views.py”, line 469, in handle_exception
self.raise_uncaught_exception(exc)
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/views.py”, line 480, in raise_uncaught_exception
raise exc
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/views.py”, line 506, in dispatch
response = handler(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/generics.py”, line 243, in get
return self.list(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/mixins.py”, line 38, in list
queryset = self.filter_queryset(self.get_queryset())
^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/src/rockstor/storageadmin/views/config_backup.py”, line 677, in get_queryset
cbo.delete()
File “/opt/rockstor/.venv/lib/python3.11/site-packages/django/db/models/base.py”, line 1125, in delete
raise ValueError(
ValueError: ConfigBackup object can’t be deleted because its id attribute is set to None.
[13/Jan/2026 07:46:28] ERROR [storageadmin.views.config_backup:651] [Errno 2] No such file or directory: ‘/opt/rockstor/static/config-backups/backup-2025-11-10-181031.json.gz’
Traceback (most recent call last):
File “/opt/rockstor/src/rockstor/storageadmin/views/config_backup.py”, line 648, in get_queryset
with gzip.open(fp, “rb”) as f:
^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/gzip.py”, line 58, in open
binary_file = GzipFile(filename, gz_mode, compresslevel)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/gzip.py”, line 174, in init
fileobj = self.myfileobj = builtins.open(filename, mode or ‘rb’)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: ‘/opt/rockstor/static/config-backups/backup-2025-11-10-181031.json.gz’
[13/Jan/2026 07:46:28] INFO [storageadmin.views.config_backup:652] The file backup-2025-11-10-181031.json.gz is not gzipped, so compress it now.
[13/Jan/2026 07:46:28] ERROR [system.osi:287] non-zero code(1) returned by command: [‘/usr/bin/gzip’, ‘/opt/rockstor/static/config-backups/backup-2025-11-10-181031.json.gz’]. output: [‘’] error: [‘gzip: /opt/rockstor/static/config-backups/backup-2025-11-10-181031.json.gz: No such file or directory’, ‘’]
[13/Jan/2026 07:46:28] ERROR [storageadmin.middleware:33] Exception occurred while processing a request. Path: /api/config-backup method: GET
[13/Jan/2026 07:46:28] ERROR [storageadmin.middleware:34] ConfigBackup object can’t be deleted because its id attribute is set to None.
Traceback (most recent call last):
File “/opt/rockstor/src/rockstor/storageadmin/views/config_backup.py”, line 648, in get_queryset
with gzip.open(fp, “rb”) as f:
^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/gzip.py”, line 58, in open
binary_file = GzipFile(filename, gz_mode, compresslevel)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/gzip.py”, line 174, in init
fileobj = self.myfileobj = builtins.open(filename, mode or ‘rb’)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: ‘/opt/rockstor/static/config-backups/backup-2025-11-10-181031.json.gz’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/opt/rockstor/src/rockstor/storageadmin/views/config_backup.py”, line 659, in get_queryset
o, err, rc = run_command([“/usr/bin/gzip”, fp], log=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/src/rockstor/system/osi.py”, line 289, in run_command
raise CommandException(cmd, out, err, rc)
system.exceptions.CommandException: Error running a command. cmd = /usr/bin/gzip /opt/rockstor/static/config-backups/backup-2025-11-10-181031.json.gz. rc = 1. stdout = [‘’]. stderr = [‘gzip: /opt/rockstor/static/config-backups/backup-2025-11-10-181031.json.gz: No such file or directory’, ‘’]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/opt/rockstor/.venv/lib/python3.11/site-packages/django/core/handlers/base.py”, line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/django/views/decorators/csrf.py”, line 56, in wrapper_view
return view_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/django/views/generic/base.py”, line 104, in view
return self.dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/views.py”, line 509, in dispatch
response = self.handle_exception(exc)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/views.py”, line 469, in handle_exception
self.raise_uncaught_exception(exc)
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/views.py”, line 480, in raise_uncaught_exception
raise exc
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/views.py”, line 506, in dispatch
response = handler(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/generics.py”, line 243, in get
return self.list(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/mixins.py”, line 38, in list
queryset = self.filter_queryset(self.get_queryset())
^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/src/rockstor/storageadmin/views/config_backup.py”, line 677, in get_queryset
cbo.delete()
File “/opt/rockstor/.venv/lib/python3.11/site-packages/django/db/models/base.py”, line 1125, in delete
raise ValueError(
ValueError: ConfigBackup object can’t be deleted because its id attribute is set to None.
[13/Jan/2026 07:46:38] ERROR [system.pkg_mgmt:575] Consider applying updates to reduce backlog: Command ‘[‘zypper’, ‘–xmlout’, ‘list-updates’]’ timed out after 15 seconds
[13/Jan/2026 07:50:30] ERROR [storageadmin.views.config_backup:651] [Errno 2] No such file or directory: ‘/opt/rockstor/static/config-backups/backup-2025-11-12-195213.json.gz’
Traceback (most recent call last):
File “/opt/rockstor/src/rockstor/storageadmin/views/config_backup.py”, line 648, in get_queryset
with gzip.open(fp, “rb”) as f:
^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/gzip.py”, line 58, in open
binary_file = GzipFile(filename, gz_mode, compresslevel)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/gzip.py”, line 174, in init
fileobj = self.myfileobj = builtins.open(filename, mode or ‘rb’)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: ‘/opt/rockstor/static/config-backups/backup-2025-11-12-195213.json.gz’
[13/Jan/2026 07:50:30] INFO [storageadmin.views.config_backup:652] The file backup-2025-11-12-195213.json.gz is not gzipped, so compress it now.
[13/Jan/2026 07:50:30] ERROR [system.osi:287] non-zero code(1) returned by command: [‘/usr/bin/gzip’, ‘/opt/rockstor/static/config-backups/backup-2025-11-12-195213.json.gz’]. output: [‘’] error: [‘gzip: /opt/rockstor/static/config-backups/backup-2025-11-12-195213.json.gz: No such file or directory’, ‘’]
[13/Jan/2026 07:50:30] ERROR [storageadmin.middleware:33] Exception occurred while processing a request. Path: /api/config-backup method: GET
[13/Jan/2026 07:50:30] ERROR [storageadmin.middleware:34] ConfigBackup object can’t be deleted because its id attribute is set to None.
Traceback (most recent call last):
File “/opt/rockstor/src/rockstor/storageadmin/views/config_backup.py”, line 648, in get_queryset
with gzip.open(fp, “rb”) as f:
^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/gzip.py”, line 58, in open
binary_file = GzipFile(filename, gz_mode, compresslevel)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib64/python3.11/gzip.py”, line 174, in init
fileobj = self.myfileobj = builtins.open(filename, mode or ‘rb’)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: ‘/opt/rockstor/static/config-backups/backup-2025-11-12-195213.json.gz’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/opt/rockstor/src/rockstor/storageadmin/views/config_backup.py”, line 659, in get_queryset
o, err, rc = run_command([“/usr/bin/gzip”, fp], log=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/src/rockstor/system/osi.py”, line 289, in run_command
raise CommandException(cmd, out, err, rc)
system.exceptions.CommandException: Error running a command. cmd = /usr/bin/gzip /opt/rockstor/static/config-backups/backup-2025-11-12-195213.json.gz. rc = 1. stdout = [‘’]. stderr = [‘gzip: /opt/rockstor/static/config-backups/backup-2025-11-12-195213.json.gz: No such file or directory’, ‘’]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/opt/rockstor/.venv/lib/python3.11/site-packages/django/core/handlers/base.py”, line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/django/views/decorators/csrf.py”, line 56, in wrapper_view
return view_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/django/views/generic/base.py”, line 104, in view
return self.dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/views.py”, line 509, in dispatch
response = self.handle_exception(exc)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/views.py”, line 469, in handle_exception
self.raise_uncaught_exception(exc)
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/views.py”, line 480, in raise_uncaught_exception
raise exc
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/views.py”, line 506, in dispatch
response = handler(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/generics.py”, line 243, in get
return self.list(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/.venv/lib/python3.11/site-packages/rest_framework/mixins.py”, line 38, in list
queryset = self.filter_queryset(self.get_queryset())
^^^^^^^^^^^^^^^^^^^
File “/opt/rockstor/src/rockstor/storageadmin/views/config_backup.py”, line 677, in get_queryset
cbo.delete()
File “/opt/rockstor/.venv/lib/python3.11/site-packages/django/db/models/base.py”, line 1125, in delete
raise ValueError(
ValueError: ConfigBackup object can’t be deleted because its id attribute is set to None.
[13/Jan/2026 07:50:42] ERROR [system.pkg_mgmt:575] Consider applying updates to reduce backlog: Command ‘[‘zypper’, ‘–xmlout’, ‘list-updates’]’ timed out after 15 seconds
[13/Jan/2026 07:55:19] ERROR [system.pkg_mgmt:575] Consider applying updates to reduce backlog: Command ‘[‘zypper’, ‘–xmlout’, ‘list-updates’]’ timed out after 15 seconds
[13/Jan/2026 07:58:13] ERROR [system.pkg_mgmt:575] Consider applying updates to reduce backlog: Command ‘[‘zypper’, ‘–xmlout’, ‘list-updates’]’ timed out after 15 seconds

Blockquote

1 Like

@wdc glad you were able to find a solution to this issue. Interestingly, I believe there was a fix for this problem during upgrades that was introduced for the rpm build:

but it looks like that did not work in your case for some reason.

@phillxnet, @Flox any suggestions on what to look for to possibly identify why this might have happened?