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