Saving debug log to /var/log/letsencrypt/letsencrypt.log
Python 3.7 support will be dropped in the next planned release of Certbot - please upgrade your Python version.
Plugins selected: Authenticator dns-godaddy, Installer None
Requesting a certificate for 6mayfair.com and *.6mayfair.com
Performing the following challenges:
dns-01 challenge for 6mayfair.com
dns-01 challenge for 6mayfair.com
Cleaning up challenges
Encountered exception during recovery: lexicon.exceptions.LexiconError: Could not find record matching type: TXT, name: _acme-challenge.6mayfair.com, content: a0zmTfeJnCYrVh-vg44_v885TCpoRPHLfA9bp3Pnsm0
Error adding TXT record: 422 Client Error: Unprocessable Entity for url: https://api.godaddy.com/v1/domains/6mayfair.com/records/TXT/_acme-challenge
Hi Mike, So we use this method a lot and it's always worked fine. I did a test server last week and installed the ambassadeurs.com cert on that, but encountered this error when performing the same task on this server. My last attempt at troubleshooting/digging was to try with a different domain, in case the other install confused the issue. It didn't work with a different domain (6mayfir.com) so here I am
I don't know, it's just the command we use and it's working on other servers, just not this one.
Looking at the debug from a successful server and comparing with this one, the good one uses python:
2023-11-08 11:59:27,535:DEBUG:filelock:Attempting to acquire lock 139725667050960 on /root/.cache/python-tldextract/3.7.16.final__certbot__45d1d6__tldextract-3.4.4/publicsuffix.or
g-tlds/de84b5ca2167d4c83e38fb162f2e8738.tldextract.json.lock
Whereas the failed one uses lexicon (whatever that is):
2023-11-08 12:06:25,088:DEBUG:filelock:Attempting to acquire lock 140630620691920 on /root/.lexicon_tld_set/publicsuffix.org-tlds/de84b5ca2167d4c83e38fb162f2e8738.tldextract.json.
lock
both setups are exactly the same though....is this relevant?
# create an isolated python environment for certbot purposes alone
python3 -m venv /opt/certbot
# Modify environment for the current shell only to make python modify
# the virtual environment and not your system libraries
source /opt/certbot/bin/activate
#needed an older version of urllib for this to work
pip install urllib3==1.26.6
# Install certbot
pip install certbot
#upgrade pip
/opt/certbot/bin/python3 -m pip install --upgrade pip
#install gd plugin
pip install certbot-dns-godaddy
Any idea why the failed server is using .lexicon_tld_set instead of python-tldextract?
Thanks for your help with this, I managed to fix this by downgrading the Certbot version from 2.7.x to 2.6.0, which is the same as on our other servers
Hmm.. If it's just Certbot, you might have found a bug.
It would be helpful if you'd file a bug report as an issue on the Certbot Github repository. Preferably with detailed logs with a working Certbot (2.6.0) and a non-working Certbot (2.7.x). Might also be useful to add the output of pip freeze from within the venv.