Cannot update config with cmdeploy

Hi,

I’ve got a problem with my chatmail test relay. I just wanted to update some var in the config and run cmdeploy run again but it fails:

~/relay 1.9.0 ❱ scripts/cmdeploy run --verbose
[ssh] login to d9.example.com
[ssh] Collecting initial DNS settings.
.............[$ pyinfra --ssh-user root d9.example.com /Users/myuser/relay/cmdeploy/src/cmdeploy/run.py -y]
--> Loading config...
--> Loading inventory...
--> Connecting to hosts...
    [d9.example.com] Could not connect (timed out)

--> Disconnecting from hosts...
--> pyinfra error: No hosts remaining!
Deploy failed

Connection via ssh works and I can see cmdeploy connecting:

Feb 21 09:03:11 d9 sshd[8483]: Accepted publickey for root from ...
Feb 21 09:03:11 d9 sshd[8483]: pam_unix(sshd:session): session opened for user root(uid=0) by (uid=0)
Feb 21 09:03:11 d9 sshd[8483]: pam_env(sshd:session): deprecated reading of user environment enabled

Any ideas?

Try removing venv and recreating it with scripts/initenv.sh.

Same result afterwards.

Do you have anything special configured in ~/.ssh/config for this host?

It is very likely a pyinfra issue, there is a similar bug here:

Does your host have multiple addresses, e.g. IPv4 and IPv6? Could it be that only one is actually responding on port 22 and the other is filtered out?

Bingo! The IPv6 DNS entry was missing a single digit. While setting up the test server I did not have IPv6 connectivity at all, so this was no harm and did not get noticed.

Thank you!