Here's how the code flows to python-keyring where the conflicting code appears to be:
openstackclient/shell.py from openstackclient.common import clientmanager
openstackclient/common/clientmanager.py # Get list of base plugin modules PLUGIN_MODULES = get_plugin_modules( 'openstack.cli.base', )
^ loops through and imports the following modules from setup.cfg
openstack.cli.base = compute = openstackclient.compute.client identity = openstackclient.identity.client image = openstackclient.image.client network = openstackclient.network.client object_store = openstackclient.object.client volume = openstackclient.volume.client
openstackclient/identity/client.py: from keystoneclient.v2_0 import client as identity_client_v2
keystoneclient/v2_0/client.py: from keystoneclient import httpclient
keystoneclient/httpclient.py import keyring
keyring/__init__.py: logger = logging.getLogger('keyring') (move this line ^ to bottom of file and issue goes away)
Here's how the code flows to python-keyring where the conflicting code appears to be:
openstackclient /shell. py .common import clientmanager
from openstackclient
openstackclient /common/ clientmanager. py
'openstack. cli.base' ,
# Get list of base plugin modules
PLUGIN_MODULES = get_plugin_modules(
)
^ loops through and imports the following modules from setup.cfg
openstack. cli.base = .compute. client .identity. client .image. client .network. client .object. client .volume. client
compute = openstackclient
identity = openstackclient
image = openstackclient
network = openstackclient
object_store = openstackclient
volume = openstackclient
openstackclient /identity/ client. py:
from keystoneclient.v2_0 import client as identity_client_v2
keystoneclient/ v2_0/client. py:
from keystoneclient import httpclient
keystoneclient/ httpclient. py
import keyring
keyring/ __init_ _.py: getLogger( 'keyring' )
logger = logging.
(move this line ^ to bottom of file and issue goes away)