Hello community,
I’ve started to update my Debian-based VMs from 11 to 12.
As part of this exercise, I also switched from ‘debian-11’ to ‘debian-12-minimal’ as the initial template to clone from.
In general I’m quite happy with the results in one working Test-VM. - However, when the system tries to update the new template, I consistently get the following error:
Updating debian-12-vrsq
Error on updating debian-12-vrsq: Command ‘[‘sudo’, ‘qubesctl’, ‘–skip-dom0’, ‘–targets=debian-12-vrsq’, ‘–show-output’, ‘state.sls’, ‘update.qubes-vm’]’ returned non-zero exit status 20.
debian-12-vrsq:
adw
September 27, 2023, 6:23am
2
It sounds like you might be hitting this bug:
opened 02:02PM - 20 Aug 23 UTC
T: bug
P: blocker
C: mgmt
C: Fedora
C: Debian/Ubuntu
diagnosed
waiting for upstream
C: updates
affects-4.1
affects-4.2
[How to file a helpful issue](https://www.qubes-os.org/doc/issue-tracking/)
#… ## Qubes OS release
4.1
### Brief summary
Updating Debian-11 based templates/qubes with salt results in a salt error about `urllib3.util.ssl_match_hostname` not being found.
### Steps to reproduce
- Open a dom0 terminal
- Update with the following command:
- `qubesctl --show-output --skip-dom0 --targets debian-11 state.apply update.qubes-vm`
### Expected behavior
Template/qubes based on debian-11 update without issues
### Actual behavior
Salt return an error:
```
Traceback (most recent call last):
File "/var/tmp/.root_dd8a91_salt/salt-call", line 27, in <module>
salt_call()
File "/var/tmp/.root_dd8a91_salt/pyall/salt/scripts.py", line 438, in salt_call
import salt.cli.call
File "/var/tmp/.root_dd8a91_salt/pyall/salt/cli/call.py", line 3, in <module>
import salt.cli.caller
File "/var/tmp/.root_dd8a91_salt/pyall/salt/cli/caller.py", line 12, in <module>
import salt.channel.client
File "/var/tmp/.root_dd8a91_salt/pyall/salt/channel/client.py", line 13, in <module>
import salt.crypt
File "/var/tmp/.root_dd8a91_salt/pyall/salt/crypt.py", line 26, in <module>
import salt.payload
File "/var/tmp/.root_dd8a91_salt/pyall/salt/payload.py", line 12, in <module>
import salt.loader.context
File "/var/tmp/.root_dd8a91_salt/pyall/salt/loader/__init__.py", line 23, in <module>
import salt.utils.event
File "/var/tmp/.root_dd8a91_salt/pyall/salt/utils/event.py", line 67, in <module>
import salt.ext.tornado.iostream
File "/var/tmp/.root_dd8a91_salt/pyall/salt/ext/tornado/iostream.py", line 42, in <module>
import urllib3.util.ssl_match_hostname
ModuleNotFoundError: No module named 'urllib3.util.ssl_match_hostname'
[ERROR ] An un-handled exception was caught by Salt's global exception handler:
ModuleNotFoundError: No module named 'urllib3.util.ssl_match_hostname'
Traceback (most recent call last):
File "/var/tmp/.root_dd8a91_salt/salt-call", line 27, in <module>
salt_call()
File "/var/tmp/.root_dd8a91_salt/pyall/salt/scripts.py", line 438, in salt_call
import salt.cli.call
File "/var/tmp/.root_dd8a91_salt/pyall/salt/cli/call.py", line 3, in <module>
import salt.cli.caller
File "/var/tmp/.root_dd8a91_salt/pyall/salt/cli/caller.py", line 12, in <module>
import salt.channel.client
File "/var/tmp/.root_dd8a91_salt/pyall/salt/channel/client.py", line 13, in <module>
import salt.crypt
File "/var/tmp/.root_dd8a91_salt/pyall/salt/crypt.py", line 26, in <module>
import salt.payload
File "/var/tmp/.root_dd8a91_salt/pyall/salt/payload.py", line 12, in <module>
import salt.loader.context
File "/var/tmp/.root_dd8a91_salt/pyall/salt/loader/__init__.py", line 23, in <module>
import salt.utils.event
File "/var/tmp/.root_dd8a91_salt/pyall/salt/utils/event.py", line 67, in <module>
import salt.ext.tornado.iostream
File "/var/tmp/.root_dd8a91_salt/pyall/salt/ext/tornado/iostream.py", line 42, in <module>
import urllib3.util.ssl_match_hostname
ModuleNotFoundError: No module named 'urllib3.util.ssl_match_hostname'
```