On Fri, May 22, 2020 at 10:49 PM Alex Schultz aschultz@redhat.com wrote:
On Fri, May 22, 2020 at 3:42 PM Neil Jerram neil@tigera.io wrote:
Here's the traceback for why python-openstackclient can't import its
identity plugin:
Traceback (most recent call last): File
"/opt/stack/python-openstackclient/openstackclient/common/clientmanager.py", line 151, in get_plugin_modules
__import__(ep.module_name)
File
"/opt/stack/python-openstackclient/openstackclient/identity/client.py", line 18, in <module>
from keystoneclient.v2_0 import client as identity_client_v2
File
"/usr/local/lib/python3.6/dist-packages/keystoneclient/v2_0/__init__.py", line 1, in <module>
from keystoneclient.v2_0.client import Client # noqa
File
"/usr/local/lib/python3.6/dist-packages/keystoneclient/v2_0/client.py", line 21, in <module>
from keystoneclient import httpclient
File "<frozen importlib._bootstrap>", line 1020, in _handle_fromlist File
"/usr/local/lib/python3.6/dist-packages/keystoneclient/__init__.py", line 72, in __getattr__
return importlib.import_module('keystoneclient.%s' % name)
File "/usr/lib/python3.6/importlib/__init__.py", line 126, in
import_module
return _bootstrap._gcd_import(name[level:], package, level)
File
"/usr/local/lib/python3.6/dist-packages/keystoneclient/httpclient.py", line 43, in <module>
import keyring
File "/usr/lib/python3/dist-packages/keyring/__init__.py", line 3, in
<module> > from .core import (set_keyring, get_keyring, set_password, get_password, > File "/usr/lib/python3/dist-packages/keyring/core.py", line 153, in <module> > init_backend() > File "/usr/lib/python3/dist-packages/keyring/core.py", line 66, in init_backend > keyrings = filter(limit, backend.get_all_keyring()) > File "/usr/lib/python3/dist-packages/keyring/util/__init__.py", line 21, in wrapper > func.always_returns = func(*args, **kwargs) > File "/usr/lib/python3/dist-packages/keyring/backend.py", line 196, in get_all_keyring > exceptions=TypeError)) > File "/usr/lib/python3/dist-packages/keyring/util/__init__.py", line 31, in suppress_exceptions > for callable in callables: > File "/usr/lib/python3/dist-packages/keyring/backend.py", line 188, in is_class_viable > keyring_cls.priority > File "/usr/lib/python3/dist-packages/keyring/util/properties.py", line 24, in __get__ > return self.fget.__get__(None, owner)() > File "/usr/lib/python3/dist-packages/keyring/backends/SecretService.py", line 37, in priority > bus = secretstorage.dbus_init() > File "/usr/lib/python3/dist-packages/secretstorage/__init__.py", line 47, in dbus_init > return dbus.SessionBus() > File "/usr/lib/python3/dist-packages/dbus/_dbus.py", line 211, in __new__ > mainloop=mainloop) > File "/usr/lib/python3/dist-packages/dbus/_dbus.py", line 100, in __new__ > bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop) > File "/usr/lib/python3/dist-packages/dbus/bus.py", line 122, in __new__ > bus = cls._new_for_bus(address_or_type, mainloop=mainloop) > dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoServer: Failed to connect to socket /tmp/dbus-yQkwBYfBbJ: Connection refused > > Does that ring any bells? >
I haven't seen this exact issue, but there was an issue with secretstorage & jeepney a while back around it actually hanging because it wasn't properly handling dbus connection problems. I reported it against secretstorage but it ended up being an issue in jeepney. https://github.com/mitya57/secretstorage/issues/22
This bit of code should generally be silently ignored and the backend should just be ignored if not available so it might be an issue in one of the dependencies.
Hope that points you in the right direction.
Thanks, -Alex
Many thanks Alex.
I believe I've just made some progress on this, and that the problem was not correctly setting up the stack user. I was previously running just
./stack.sh
as the default user on a semaphore VM. I've now changed that to
sudo tools/create-stack-user.sh cd .. sudo mkdir -p /opt/stack sudo mv devstack /opt/stack sudo chown -R stack:stack /opt/stack ls -la /opt/stack sudo -u stack -i bash -c 'cd devstack && ./stack.sh'
and it seems to be getting a lot further.
Best wishes, Neil