← Back to team overview

openstack-poc team mailing list archive

[Bug 951197] [NEW] openstack namespace does not play nicely with checkedout repos

 

Public bug reported:

Both openstack.common and openstack.nose_plugin declare the 'openstack'
namespace. When one package is installed it breaks pythons search path
of ./ for modules.  This breaks update.py for example which is meant to
be run out of the os-common checkout directory. It imports cfg from
openstack.common, but since it is not installed it cannot be found:


site-packages$ ls openstack*
openstack.nose_plugin-0.5-py2.7-nspkg.pth

openstack:
nose_plugin.py  nose_plugin.pyc

openstack.nose_plugin-0.5-py2.7.egg-info:
dependency_links.txt  installed-files.txt     PKG-INFO      SOURCES.txt
entry_points.txt      namespace_packages.txt  requires.txt  top_level.txt

common$ python update.py
Traceback (most recent call last):
  File "update.py", line 64, in <module>
    from openstack.common import cfg
ImportError: No module named common

Since update.py is a "temporary" workaround for incubation we *could*
hack it to inject ./openstack/common into the openstack namespace, but
there might be a better way. Need to research.

** Affects: openstack-common
     Importance: Undecided
     Assignee: Jason Kölker (jason-koelker)
         Status: Confirmed

** Changed in: openstack-common
     Assignee: (unassigned) => Jason Kölker (jason-koelker)

** Changed in: openstack-common
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of OpenStack
Common Drivers, which is the registrant for openstack-common.
https://bugs.launchpad.net/bugs/951197

Title:
  openstack namespace does not play nicely with checkedout repos

Status in openstack-common:
  Confirmed

Bug description:
  Both openstack.common and openstack.nose_plugin declare the
  'openstack' namespace. When one package is installed it breaks pythons
  search path of ./ for modules.  This breaks update.py for example
  which is meant to be run out of the os-common checkout directory. It
  imports cfg from openstack.common, but since it is not installed it
  cannot be found:

  
  site-packages$ ls openstack*
  openstack.nose_plugin-0.5-py2.7-nspkg.pth

  openstack:
  nose_plugin.py  nose_plugin.pyc

  openstack.nose_plugin-0.5-py2.7.egg-info:
  dependency_links.txt  installed-files.txt     PKG-INFO      SOURCES.txt
  entry_points.txt      namespace_packages.txt  requires.txt  top_level.txt

  common$ python update.py
  Traceback (most recent call last):
    File "update.py", line 64, in <module>
      from openstack.common import cfg
  ImportError: No module named common

  Since update.py is a "temporary" workaround for incubation we *could*
  hack it to inject ./openstack/common into the openstack namespace, but
  there might be a better way. Need to research.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openstack-common/+bug/951197/+subscriptions


Follow ups

References