terricain / certbot-dns-azure

AzureDNS Certbot plugin
Other
33 stars 16 forks source link

incompatibility with certbot v2.0.0 #25

Closed sknopp closed 1 year ago

sknopp commented 1 year ago

Hi,

I just tried to use certbot-dns-azure with the newly released certbot 2.0.0 and got the following stack trace:

2022-11-27 15:50:30,511:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
  File "/usr/local/bin/certbot", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/site-packages/certbot/main.py", line 19, in main
    return internal_main.main(cli_args)
  File "/usr/local/lib/python3.10/site-packages/certbot/_internal/main.py", line 1707, in main
    plugins = plugins_disco.PluginsRegistry.find_all()
  File "/usr/local/lib/python3.10/site-packages/certbot/_internal/plugins/disco.py", line 208, in find_all
    cls._load_entry_point(entry_point, plugins)
  File "/usr/local/lib/python3.10/site-packages/certbot/_internal/plugins/disco.py", line 215, in _load_entry_point
    plugin_ep = PluginEntryPoint(entry_point)
  File "/usr/local/lib/python3.10/site-packages/certbot/_internal/plugins/disco.py", line 56, in __init__
    self.plugin_cls: Type[interfaces.Plugin] = entry_point.load()
  File "/usr/local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2471, in load
    return self.resolve()
  File "/usr/local/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2477, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/local/lib/python3.10/site-packages/certbot_dns_azure/_internal/dns_azure.py", line 20, in <module>
    @zope.interface.implementer(interfaces.IAuthenticator)
AttributeError: module 'certbot.interfaces' has no attribute 'IAuthenticator'
2022-11-27 15:50:30,511:ERROR:certbot._internal.log:An unexpected error occurred:
2022-11-27 15:50:30,511:ERROR:certbot._internal.log:AttributeError: module 'certbot.interfaces' has no attribute 'IAuthenticator'

Seems like something does not properly work together with certbots zope interface implementations.

I haven't had the time to dig into it, but i got it working by going back to certbot==1.32.0 and acme==1.32.0 using pip.

mdhowle commented 1 year ago

FYI, they removed the zope interfaces in certbot v2.0.0 and introduced compatibility shims in v2.1.0 https://github.com/certbot/certbot/pull/9486

terricain commented 1 year ago

Fixed with release of 2.1.0