Dom0 salt update doesn't work - -releasever issue


[user@dom0 ~]$ sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing --action=upgrade
/usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  import distutils.sysconfig
/usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
  import distutils.sysconfig
Unable to detect release version (use '--releasever' to specify release version)
/usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  import distutils.sysconfig
/usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
  import distutils.sysconfig
Unable to detect release version (use '--releasever' to specify release version)
~3isec Qubes Dom0 Rep     [      ===           ] ---  B/s |   0  B     --:3isec Qubes Dom0 Repository (updates)            16  B/s | 262  B     00:16    
Errors during downloading metadata for repository '3isec-dom0-current':
  - Status code: 404 for https://qubes.3isec.org/rpm/r$releasever/current/dom0/fc32/repodata/repomd.xml (IP: 195.10.223.181)
Error: Failed to download metadata for repo '**3isec-dom0-current**': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
Fetching updates failed with code 1; press Enter to exit

Well the warnings are just that.
The error comes because (as you are told) “Unable to detect release
version (use ‘–releasever’ to specify release version)”
Because you cannot detect releasever, the URL you use in bogus -
rpm/r$releasever/ instead of rpm/r4.1

I don’t understand, sorry. Release version was never, ever detected, and it worked until a week or so ago, and now I’m not sure what is your suggestion.

Well, something has changed recently, obviously.
While Fedora repos work without it, Qubes repos will not work anymore without --releasever=4.1 switch, including your repo.

Work for me - what are you using for your update qube?

cacher on bookworm. But it worked until a week ago. But, I tried sys-whonix, while converting back to http(s) from http://HTTPS///, and still the same. Will not try via clearnet.

Still the same issue. All other qubes can be updated without recognizing releasever, except dom0, which makes it impossible to update it automatically, nor via salt, as far as I know.

Putting --releasever=4.1 at the end of qubes-dom0-update command works, namely things like this one works

[user@dom0 ~]$ sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing --action=upgrade --releasever=4.1
Using cacher as UpdateVM to download updates for Dom0; this may take some time...
No updates available

but this doesn’t work

Error

[ERROR ] Command failed with status 1. Additional info follows:
cmd:
- --quiet
- --console
- --show-output
- --action=list
- upgrades
retcode:
1
stderr:
Running scope as unit: run-rxxxxxxx.scope
Using cacher as UpdateVM to download updates for Dom0; this may take some time…
/usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
import distutils.sysconfig
/usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
import distutils.sysconfig
Unable to detect release version (use ‘–releasever’ to specify release version)
/usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
import distutils.sysconfig
/usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
import distutils.sysconfig
Unable to detect release version (use ‘–releasever’ to specify release version)
Error: Failed to download metadata for repo ‘3isec-dom0-current’: Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
stdout:
local:


      ID: /etc/yum.repos.d/qubes-dom0.repo
Function: file.replace
  Result: True
 Comment: No changes needed to be made
 Started: 07:24:03.435928
Duration: 27.556 ms
 Changes:   

      ID: /etc/yum.repos.d/qubes-templates.repo
Function: file.replace
  Result: True
 Comment: No changes needed to be made
 Started: 07:24:03.463751
Duration: 7.716 ms
 Changes:   

      ID: update
Function: cmd.run
    Name: if qubes-dom0-update --quiet --assumeyes --clean --action=clean expire-cache >/dev/null 2>&1; then
echo "result=True comment='Cache cleaned'"

else
echo “result=False comment=‘Could not clean cache’”
fi

  Result: True
 Comment: Cache cleaned
 Started: 07:24:03.474101
Duration: 9249.063 ms
 Changes:   

      ID: update
Function: pkg.uptodate
  Result: False
 Comment: Command failed with status 1. Additional info follows:
          
          cmd:
              - --quiet
              - --console
              - --show-output
              - --action=list
              - upgrades
          retcode:
              1
          stderr:
              Running scope as unit: run-r178bbe16678244a0a0213aa42598edfc.scope
              Using cacher as UpdateVM to download updates for Dom0; this may take some time...
              /usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
                import distutils.sysconfig
              /usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
                import distutils.sysconfig
              Unable to detect release version (use '--releasever' to specify release version)
              /usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
                import distutils.sysconfig
              /usr/lib/python3/dist-packages/dnf/const.py:22: DeprecationWarning: The distutils.sysconfig module is deprecated, use sysconfig instead
                import distutils.sysconfig
              Unable to detect release version (use '--releasever' to specify release version)
              Error: Failed to download metadata for repo '3isec-dom0-current': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
          stdout:
 Started: 07:24:16.111560
Duration: 14949.636 ms
 Changes:   

Summary for local

Succeeded: 3
Failed: 1

Total states run: 4
Total run time: 24.234 s
DOM0 configuration failed, not continuing

Is there a way to put somewhere --releasever so salt could work?

You are trying to update dom0 on a testing unreleased platform.
Just don’t do this.
I’ve told you before - bookworm is testing - things will break. Don’t
use it for security critical things - like dom0.
If you tell me that this happens on bullseye, I’d be concerned. (It
doesn’t - at least,not for me.)

Whonix? I don’t know. It’s a question for the Whonix folk.

I never presume to speak for the Qubes team.
When I comment in the Forum or in the mailing lists I speak for myself.

Thanks it looks that was it.