Qubes upgrade to 4.3 fails: cannot read metadata for qubes-dom0-cached (no file repomd.xml)

Hi, I am trying to upgrade from 4.2 to 4.3.
First, I have run all
sudo qubes-dist-upgrade --releasever=4.3 --all-pre-reboot
I have rebooted by system and tried to run “all-post-reboot” stages, but I received an error saying
“Cannot continue to STAGE 4 dom0 is not 4.3 yet”.
This had happened to me also while upgrading from 4.1 to 4.2 and at the time I had simply repeated “–all-pre-reboot” to fix any missing step; I did this time to, but whenever I get to stage 3 I receive the same error:


sudo qubes-dist-upgrade --releasever=4.3 -r
[...]
Errors during downloading metadata for repository 'qubes-dom-0-cached':
    - Curl error (37): Could not read a file:// file for file:///var/lib/qubes/updates/repodata/repomd.xml [Couldn't open file /var/lib/qubes/updates/repodata/repomd.xml]
Error: Failed to download metadata for repo 'qubes-dom-0-cached': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

I have tried with dnf clean all and qubes-dom-0-update --clean but nothing has changed, so I am still stuck here.

And what happens if you simply run:

sudo qubes-dist-upgrade --all-pre-reboot

it won’t run without specifying --releasever=4.3

If I specify the release version, it upgrades the templates in stage 1, then it runs stage 2 but ends with the same error as above

I don’t know if it helps, but the problem is that /var/lib/qubes/update/repodata is empty

i’m sorry to bump this up, but I really do not understand how to get out of this

I’m also bumping this.

I’m in the middle of upgrade process.
I had to install qubes-dist-upgrade tool with --enable-repo=qubes-dom0-current-testing because it didn’t install it otherwise.

Then I used the command:

qubes-dist-upgrade --releasever=4.3 --all-pre-reboot

and it finished the STAGE 1, but then silently exited.

I try to force going to the STAGE 2 running:

qubes-dist-upgrade --releasever=4.3 -r

but receive the similar error:

Errors during downloading metadata for repository 'qubes-dom0-cached':
- Curl error (37): Couldn't read a file:// file for file:///var/lib/qubes/updates/repodata/repomd.xml [Couldn't open file /var/lib/qubes/updates/repodata/repomd.xml]
...
All mirrors are tried
...
Nothing do do.
Complete!

…and what to do now? What’s the state of my Qubes OS? Can I at least return to the initial state of 4.2 or my system is broken now?

What’s your dom0 update proxy?
Maybe you can try to add --keep-running for the dom0 update proxy and all its upstream net qubes.

Thanks for the idea, but the process itself says: “Found sys-net providing input devices. It will be kept running.”

Hi,
it happens to me too.
Other ideas?
Thanks.

I’m also bumping this thread.
Output from STAGE 2:

[root@dom0 ~]# qubes-dist-upgrade -r --releasever=4.3                                                                                                           
INFO: Please wait while running pre-checks...
WARNING: /!\ MAKE SURE YOU HAVE MADE A BACKUP OF ALL YOUR VMs AND dom0 DATA /!\
-> Launch upgrade process? [y/N] y
---> (STAGE 2) Upgrading 'qubes-release'...
Using sys-firewall as UpdateVM for Dom0
Performing update. This may take a while...
0 files removed
Fedora 37 - x86_64                              4.4 MB/s |  70 MB     00:15
Fedora 37 - x86_64 - Updates                    5.0 MB/s |  43 MB     00:08
Qubes Host Repository (updates)                  17 kB/s |  26 kB     00:01
Last metadata expiration check: 0:00:01 ago on Fri Nov 14 10:10:08 2025.
Dependencies resolved.
Nothing to do.
Complete!
No packages downloaded
Qubes OS Repository for Dom0                                                                                                                                                       0.0  B/s |   0  B     00:00
Errors during downloading metadata for repository 'qubes-dom0-cached':
  - Curl error (37): Couldn't read a file:// file for file:///var/lib/qubes/updates/repodata/repomd.xml [Couldn't open file /var/lib/qubes/updates/repodata/repomd.xml]
Error: Failed to download metadata for repo 'qubes-dom0-cached': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
Ignoring repositories: qubes-dom0-cached
Dependencies resolved.
Nothing to do.
Complete!
error: /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-41-primary: import read failed(2).

While this AppVM process is running, sys-net and sys-firewall are still running and have network access, as seen when repository metadata is downloaded.

In sys-firewall i see cached repomd.xml:

user@sys-firewall:~$ ls -al /var/lib/qubes/dom0-updates/var/cache/dnf/
total 145340
drwxr-xr-x 6 user qubes     4096 Nov 16 21:15 .
drwxr-xr-x 3 user qubes     4096 Nov 16 13:22 ..
-rw-r--r-- 1 user qubes        2 Nov 16 21:15 expired_repos.json
drwxr-xr-x 3 user qubes     4096 Nov 16 13:22 fedora-a3256cee7c7d69ad
-rw-r--r-- 1 user qubes 55801422 Nov 16 13:23 fedora-filenames.solvx
-rw-r--r-- 1 user qubes 26547208 Nov 16 20:50 fedora.solv
-rw-r--r-- 1 user qubes        0 Nov 16 13:22 .gpgkeyschecked.yum
drwxr-xr-x 3 user qubes     4096 Nov 16 13:23 qubes-dom0-current-477e601bd497650e
drwxr-xr-x 3 user qubes     4096 Nov 16 20:50 qubes-dom0-current-5041f47211537acb
-rw-r--r-- 1 user qubes      102 Nov 16 20:57 qubes-dom0-current-filenames.solvx
-rw-r--r-- 1 user qubes     6485 Nov 16 20:57 qubes-dom0-current.solv
drwxr-xr-x 3 user qubes     4096 Nov 16 13:23 updates-fd4d3d0d1c34d49a
-rw-r--r-- 1 user qubes 36144745 Nov 16 13:23 updates-filenames.solvx
-rw-r--r-- 1 user qubes     1536 Nov 16 13:23 updates-presto.solvx
-rw-r--r-- 1 user qubes 13164771 Nov 16 20:50 updates.solv
-rw-r--r-- 1 user qubes 17107091 Nov 16 13:23 updates-updateinfo.solvx
user@sys-firewall:~$ find /var/lib/qubes/dom0-updates/var/cache/dnf/ -name repomd.xml
/var/lib/qubes/dom0-updates/var/cache/dnf/updates-fd4d3d0d1c34d49a/repodata/repomd.xml
/var/lib/qubes/dom0-updates/var/cache/dnf/qubes-dom0-current-477e601bd497650e/repodata/repomd.xml
/var/lib/qubes/dom0-updates/var/cache/dnf/fedora-a3256cee7c7d69ad/repodata/repomd.xml
/var/lib/qubes/dom0-updates/var/cache/dnf/qubes-dom0-current-5041f47211537acb/repodata/repomd.xml

According to debugging qubes-dom0-update - it seems like it can’t find the qubes-dom0-receive-updates process and download the updates.

Last lines of bash -x qubes-dom0-update --action=update --releasever=4.3 qubes-release:

+ qvm-run --nogui -q -u root -- sys-firewall 'mkdir -m 775 -p -- '\''/var/lib/qubes/dom0-updates'\'''
+ qvm-run --nogui -q -u root -- sys-firewall 'user=$(qubesdb-read /default-user) && chown -R -- "$user:qubes" '\''/var/lib/qubes/dom0-updates'\'''
+ qvm-run --nogui -q -- sys-firewall 'rm -rf -- '\''/var/lib/qubes/dom0-updates/etc'\'' '\''/var/lib/qubes/dom0-updates/usr/lib/sysimage/rpm'\'''
+ cd /
+ exec tar -c -- usr/lib/sysimage/rpm etc/yum/vars etc/yum.repos.d etc/yum.conf etc/dnf/dnf.conf etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-37-primary etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-41-primary etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-4.2-primary etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-4.2-templates-community etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-4.2-unstable etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-4.3-primary
+ qvm-run --nogui -q --pass-io -- sys-firewall 'LC_MESSAGES=C tar -C '\''/var/lib/qubes/dom0-updates'\'' -x &&
   sed -Ei '\''s,^([[:space:]]*gpgkey[[:space:]]*=[[:space:]]*file://)(/etc/pki/rpm-gpg/RPM-GPG-KEY-),\1/var/lib/qubes/dom0-updates\2,'\'' '\''/var/lib/qubes/dom0-updates/etc/yum.repos.d'\''/*.repo'
+ CMD='/usr/lib/qubes/qubes-download-dom0-updates.sh --doit --nogui'
+ for i in "${UPDATEVM_OPTS[@]}"
+ CMD+=' '\''--exclude=qubes-template-*'\'''
+ for i in "${UPDATEVM_OPTS[@]}"
+ CMD+=' '\''--action=update'\'''
+ for i in "${UPDATEVM_OPTS[@]}"
+ CMD+=' '\''--releasever=4.3'\'''
+ for i in "${UPDATEVM_OPTS[@]}"
+ CMD+=' '\''qubes-release'\'''
+ QVMRUN_OPTS=(--quiet --filter-escape-chars --nogui --pass-io)
+ [[ -t 1 ]]
+ [[ -t 2 ]]
+ CMD='script --quiet --return --command '\''/usr/lib/qubes/qubes-download-dom0-updates.sh --doit --nogui '\''\'\'''\''--exclude=qubes-template-*'\''\'\'''\'' '\''\'\'''\''--action=update'\''\'\'''\'' '\''\'\'''\''--releasever=4.3'\''\'\'''\'' '\''\'\'''\''qubes-release'\''\'\'''\'''\'' /dev/null'
+ qvm-run --quiet --filter-escape-chars --nogui --pass-io -- sys-firewall 'script --quiet --return --command '\''/usr/lib/qubes/qubes-download-dom0-updates.sh --doit --nogui '\''\'\'''\''--exclude=qubes-template-*'\''\'\'''\'' '\''\'\'''\''--action=update'\''\'\'''\'' '\''\'\'''\''--releasever=4.3'\''\'\'''\'' '\''\'\'''\''qubes-release'\''\'\'''\'''\'' /dev/null'
Fedora 37 - x86_64                              7.1 kB/s | 5.1 kB     00:00
Fedora 37 - x86_64 - Updates                    6.5 kB/s | 5.0 kB     00:00
Qubes Host Repository (updates)                  13 kB/s | 2.7 kB     00:00
Dependencies resolved.
Nothing to do.
Complete!
No packages downloaded
+ RETCODE=0
+ [[ '' = \1 ]]
+ '[' 0 -ne 0 ']'
+ pidof -x qubes-receive-updates
+ '[' -r /var/lib/qubes/updates/errors ']'
+ '[' -f /var/lib/qubes/updates/repodata/repomd.xml ']'
+ '[' 1 -gt 0 ']'
+ dnf update '--exclude=qubes-template-*' --releasever=4.3 qubes-release
Qubes OS Repository for Dom0                                           0.0  B/s |   0  B     00:00
Errors during downloading metadata for repository 'qubes-dom0-cached':
  - Curl error (37): Couldn't read a file:// file for file:///var/lib/qubes/updates/repodata/repomd.xml [Couldn't open file /var/lib/qubes/updates/repodata/repomd.xml]
Error: Failed to download metadata for repo 'qubes-dom0-cached': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
Ignoring repositories: qubes-dom0-cached
Dependencies resolved.
Nothing to do.
Complete!
+ RETCODE=0
+ '[' '' = pipewire ']'
+ '[' '' = pulseaudio ']'
+ '[' '' = 1 ']'
+ exit 0

I deleted /var/lib/qubes/dom0-updates/var/cache/dnf/* manually on sys-firewall and re-run qubes-dom0-update command. I have the same error.

Maybe at this stage it should already be downloading the repositories from fedora 41?

I have the same issue reported by others when I try to upgrade from 4.2 to 4.3

The upgrade process quietly fails after successfully completing Stage 1 when I run:

sudo qubes-dist-upgrade --releasever=4.3 --all-pre-reboot

I can also confirm that I’m missing the repond.xml file.

When I try to run Stage 2 by itself, I get the same error:

Errors during downloading metadata for repository 'qubes-dom0-cached':
- Curl error (37): Couldn't read a file:// file for file:///var/lib/qubes/updates/repodata/repomd.xml [Couldn't open file /var/lib/qubes/updates/repodata/repomd.xml]

I know that the system has access to the internet because it downloads the following three:

Fedora 37 - x86_64
Fedora 37 - x86_64 - Updates
Qubes Host Repository (updates)

Then it states:

Dependencies resolved.
Nothing to do.
Complete!

I am surprised that this has not been resolved since it is affecting a number of users and was first raised back in September.

Is there anyone who can help us resolve this matter?

I encountered the same issue trying to in-place upgrade from 4.2 to 4.3.0-rc4.

You need to enable the qubes-dom0-current-testing repo permanently first.

I’m trying to update the docs’ instructions, if anyone is willing to try them and comment, it would be very appreciated.

PR: Rewrite how to do in-place upgrade to Qubes 4.3 by parulin · Pull Request #1585 · QubesOS/qubes-doc · GitHub
Preview: How to upgrade to Qubes 4.3 — Qubes OS Documentation

Edit: the word “permanently” has been added for clarity

2 Likes

Hi.
Also explicitly enabling, doesn’t work.
Attached log.
Cheers.
failed_report.log (5.4 KB)

… you’re not permanently enabling it, right? (I should have make it clear in my post, it’s in the preview of the PR).

Hi.
Thanks for your reply.
Permanently enabled, but same output.
Attached log.
Cheers.
failed_report_by_perm_repo_enable.log (8.9 KB)

1 Like