Bug 1660609 - certbot plugins should require exact same certbot version
Summary: certbot plugins should require exact same certbot version
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: certbot
Version: epel7
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Eli Young
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-12-18 19:19 UTC by Chuck Wilson
Modified: 2020-10-06 22:54 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-10-06 18:09:00 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Chuck Wilson 2018-12-18 19:19:24 UTC
Description of problem:

Because of the way releases are staged / pushed to EPEL, you can end up with an installed certbot plugin that has a different version than the installed certbot. While certbot was able to find the plugin, it was not able to use it:

2018-12-18 04:00:01,757:DEBUG:certbot.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#manual,PluginEntryPoint#nginx,PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)                                                                        
...
2018-12-18 04:00:01,808:DEBUG:certbot.plugins.selection:Requested authenticator nginx and installer nginx
2018-12-18 04:00:01,810:DEBUG:certbot.plugins.disco:No installation (PluginEntryPoint#nginx):
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/certbot/plugins/disco.py", line 132, in prepare
    self._initialized.prepare()
  File "/usr/lib/python2.7/site-packages/certbot_nginx/configurator.py", line 139, in prepare
    raise errors.NoInstallationError
NoInstallationError


Version-Release number of selected component (if applicable): This happened to me with certbot 0.27 and python2-certbot-nginx 0.26, but I imagine this happens for all mismatched versions


How reproducible: Always?


Steps to Reproduce:
1. Install different version of certbot and one of its plugins
2. Try to use certbot with the plugin


Actual results: certbot fails to use the plugin


Expected results: certbot uses the plugin


Additional info:

Is it possible to only push the main rpm to stable when the plugins have been validated also?

Comment 1 Eli Young 2019-07-08 18:05:51 UTC
I'm looking into finding a way to handle the problem as described, but the error you're seeing appears to actually be caused by certbot-nginx being unable to locate the nginx binary on your PATH. Is nginx definitely installed?

Comment 2 Chuck Wilson 2019-07-31 15:07:29 UTC
As this was 6 months ago, I can't guarantee anything other than: having mismatched versions did not work, and having matched versions did work. Like you, I imagine that seeing `NoInstallationError` made me think nginx was not installed, so that was very likely the first thing I checked. From what I remember, the main script was unable to locate the entrypoint(s) of the plugins that were not matched at the same version.

Did you try installing mismatched versions, and failed to reproduce?

Comment 3 Nick Bebout 2020-10-06 18:09:00 UTC
We've been pushing all of the packages in the same update lately.

Comment 4 Chuck Wilson 2020-10-06 22:54:16 UTC
You can still have mismatched versions. For instance, say you install certbot and then only later install a dns plugin.

But I'm no longer getting an error with mismatched versions, so all seems ok on that front.


Note You need to log in before you can comment on or make changes to this bug.