[Pulp-list] "Plugin "pulp-profile-update" can't be imported" at 2.21.4
Grant Gainey
ggainey at redhat.com
Thu Nov 5 14:52:55 UTC 2020
On Tue, Nov 3, 2020 at 2:14 PM Konstantin M. Khankin <
khankin.konstantin at gmail.com> wrote:
> Hi!
>
> This report is very similar to the one in https://pulp.plan.io/issues/5126
> or mail thread
> https://www.redhat.com/archives/pulp-list/2019-July/msg00021.html, the
> only difference is I get this error with the latest Pulp update 2.21.4:
>
Uuugh, that would appear to be my fault as part
of e067d28a00bdec989dd03170d599e58cde4fba13
These two changes from that commit:
===
diff --git a/common/pulp/common/bundle.py b/common/pulp/common/bundle.py
index 6ad95d498..be178b006 100644
--- a/common/pulp/common/bundle.py
+++ b/common/pulp/common/bundle.py
@@ -1,6 +1,7 @@
import os
import re
from logging import getLogger
+from pulp.plugins.util import misc
from M2Crypto import X509
@@ -199,8 +200,7 @@ class Bundle:
Ensure I{root} directory exists.
"""
path = os.path.dirname(self.path)
- if not os.path.exists(path):
- os.makedirs(path)
+ misc.mkdir(path)
def cn(self):
"""
diff --git a/common/pulp/common/lock.py b/common/pulp/common/lock.py
index 7fdf7e9b8..9caf9b1c7 100644
--- a/common/pulp/common/lock.py
+++ b/common/pulp/common/lock.py
@@ -7,6 +7,8 @@ import fcntl
from threading import RLock
+from pulp.plugins.util import misc
+
class LockFailed(Exception):
pass
@@ -92,8 +94,7 @@ class LockFile:
def __mkdir(self, path):
dir = os.path.dirname(path)
- if not os.path.exists(dir):
- os.makedirs(dir)
+ misc.mkdir(dir)
class Lock:
===
are the problem, I believe. I'll work on figuring out how best to address
the problem.
Konstantin, could you open an issue at pulp.plan.io please? That way
you'll see progress as we/I make it.
Thanks for the catch, and the great problem report!
G
>
>
# rpm -qa | grep pulp
> python-pulp-client-lib-2.21.4-1.el7.noarch
> python-pulp-common-2.21.4-1.el7.noarch
> pulp-rpm-handlers-2.21.4-1.el7.noarch
> python-pulp-rpm-common-2.21.4-1.el7.noarch
> python-pulp-agent-lib-2.21.4-1.el7.noarch
> pulp-agent-2.21.4-1.el7.noarch
> pulp-puppet-consumer-extensions-2.21.4-1.el7.noarch
> pulp-consumer-client-2.21.4-1.el7.noarch
> pulp-rpm-yumplugins-2.21.4-1.el7.noarch
> python-pulp-bindings-2.21.4-1.el7.noarch
> pulp-rpm-consumer-extensions-2.21.4-1.el7.noarch
> python-pulp-puppet-common-2.21.4-1.el7.noarch
> pulp-puppet-handlers-2.21.4-1.el7.noarch
>
> >>> import os
> >>> d, m = os.path.split('/usr/lib/yum-plugins/pulp-profile-update.py')
> >>> m = m.split('.py')[0]
> >>> m
> 'pulp-profile-update'
> >>> d
> '/usr/lib/yum-plugins'
> >>> import imp
> >>> imp.find_module(m, [d])
> (<open file '/usr/lib/yum-plugins/pulp-profile-update.py', mode 'U' at
> 0x7fbb0b54f5d0>, '/usr/lib/yum-plugins/pulp-profile-update.py', ('.py',
> 'U', 1))
> >>> f, p, d = imp.find_module(m, [d])
> >>> imp.load_module(m, f, p, d)
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "/usr/lib/yum-plugins/pulp-profile-update.py", line 7, in <module>
> from pulp.common.bundle import Bundle as BundleImpl
> File "/usr/lib/python2.7/site-packages/pulp/common/bundle.py", line 4,
> in <module>
> from pulp.plugins.util import misc
> ImportError: No module named plugins.util
>
> # ls /usr/lib/python2.7/site-packages/pulp/
> agent bindings client common __init__.py __init__.pyc __init__.pyo
>
> ===
> At host where I don't have this error, ls gives:
> # ls /usr/lib/python2.7/site-packages/pulp
> agent bindings client common __init__.py __init__.pyc __init__.pyo
> oid_validation plugins repoauth server
>
> # ls /usr/lib/python2.7/site-packages/pulp/plugins/
> cataloger.py conduits config.pyo distributor.pyo importer.pyc
> __init__.pyc migration model.pyo profiler.pyo util
> cataloger.pyc config.py distributor.py file importer.pyo
> __init__.pyo model.py profiler.py rsync
> cataloger.pyo config.pyc distributor.pyc importer.py __init__.py
> loader model.pyc profiler.pyc types
>
> # rpm -qf /usr/lib/python2.7/site-packages/pulp/plugins/util/misc.py
> pulp-server-2.21.4-1.el7.noarch
>
> ===
> Obviously if plugins/util/misc is included into the pulp-server package,
> it can only be found on a server. So same as in
> https://pulp.plan.io/issues/5126, 2.21.4 introduced server dependency on
> a client.
>
> Could you move the plugins package into the pulp-common package please?
>
> Thanks!
>
> --
> Konstantin Khankin
> _______________________________________________
> Pulp-list mailing list
> Pulp-list at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-list
--
Grant Gainey
Principal Software Engineer, Red Hat System Management Engineering
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-list/attachments/20201105/e290f3c3/attachment.htm>
More information about the Pulp-list
mailing list