← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1262564] Re: testsuite misfires in 2013.2.1 release

 

This still looks to be an issue with packaging on the distro side. going
forward we require 0.5.3 of dogpile (Juno and later). I am hesitant to
increment the required version of dogpile in a stable release but if
this remains a significant issue then we can explore it. for now I'm
marking as invalid.

I apologize for the delay in responding and we have been making changes
to help address more rapid bug response/triaging.

** Changed in: keystone
       Status: Incomplete => Invalid

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Keystone.
https://bugs.launchpad.net/bugs/1262564

Title:
  testsuite misfires in 2013.2.1 release

Status in OpenStack Identity (Keystone):
  Invalid

Bug description:
  We have;

  Author: Brant Knudson <bknudson@xxxxxxxxxx>
  Date:   Sun Sep 8 13:16:42 2013 -0500

      Tests use "from keystone import tests"

      Use "from keystone import tests" rather than
      "from keystone.tests import core as test". This is
      consistent with how other packages are imported throughout
      Keystone.

  in Changelog.  I think someone forgot to tell the test/__init__/py.'

  work/keystone-2013.2.1 $ PYTHONPATH=. nosetests

  Failure: ImportError (No module named core) ... ERROR

  ======================================================================
  ERROR: Failure: ImportError (No module named core)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/usr/lib64/python2.7/site-packages/nose/loader.py", line 413, in loadTestsFromName
      addr.filename, addr.module)
    File "/usr/lib64/python2.7/site-packages/nose/importer.py", line 47, in importFromPath
      return self.importFromDir(dir_path, fqname)
    File "/usr/lib64/python2.7/site-packages/nose/importer.py", line 94, in importFromDir
      mod = load_module(part_fqname, fh, filename, desc)
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/tests/__init__.py", line 17, in <module>
      from keystone.tests.core import *  # flake8: noqa
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/tests/core.py", line 49, in <module>
      from keystone import assignment
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/assignment/__init__.py", line 18, in <module>
      from keystone.assignment.core import *
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/assignment/core.py", line 21, in <module>
      from keystone.common import cache
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/cache/__init__.py", line 17, in <module>
      from keystone.common.cache.core import *  # flake8: noqa
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/cache/core.py", line 19, in <module>
      import dogpile.cache
    File "/usr/lib64/python2.7/site-packages/dogpile/cache/__init__.py", line 3, in <module>
      from .region import CacheRegion, register_backend, make_region
    File "/usr/lib64/python2.7/site-packages/dogpile/cache/region.py", line 2, in <module>
      from dogpile.core import Lock, NeedRegenerationException
  ImportError: No module named core
  -------------------- >> begin captured logging << --------------------
  keystone.common.environment: INFO: Environment configured as: eventlet
  --------------------- >> end captured logging << ---------------------

  
  Line 17, the only line that does anything;

  from keystone.tests.core import *  # flake8: noqa.

  Well * must capture core.  I tried experimenting by extending
  PYTHONPATH on the assumption that it might be missing it and I get
  this;

  
  /work/keystone-2013.2.1 $ PYTHONPATH=.:keystone nosetests
  Traceback (most recent call last):
    File "/usr/bin/nosetests-python2.7", line 9, in <module>
      load_entry_point('nose==1.3.0', 'console_scripts', 'nosetests')()
    File "/usr/lib64/python2.7/site-packages/pkg_resources.py", line 378, in load_entry_point
      return get_distribution(dist).load_entry_point(group, name)
    File "/usr/lib64/python2.7/site-packages/pkg_resources.py", line 2566, in load_entry_point
      return ep.load()
    File "/usr/lib64/python2.7/site-packages/pkg_resources.py", line 2260, in load
      entry = __import__(self.module_name, globals(),globals(), ['__name__'])
    File "/usr/lib64/python2.7/site-packages/nose/__init__.py", line 1, in <module>
      from nose.core import collector, main, run, run_exit, runmodule
    File "/usr/lib64/python2.7/site-packages/nose/core.py", line 11, in <module>
      from nose.config import Config, all_config_files
    File "/usr/lib64/python2.7/site-packages/nose/config.py", line 8, in <module>
      from nose.util import absdir, tolist
    File "/usr/lib64/python2.7/site-packages/nose/util.py", line 3, in <module>
      import inspect
    File "/usr/lib64/python2.7/inspect.py", line 39, in <module>
      import tokenize
    File "/usr/lib64/python2.7/tokenize.py", line 30, in <module>
      from token import *
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/token/__init__.py", line 18, in <module>
      from keystone.token import controllers
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/token/__init__.py", line 18, in <module>
      from keystone.token import controllers
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/token/controllers.py", line 19, in <module>
      from keystone.common import cms
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/cms.py", line 19, in <module>
      from keystone.common import environment
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/environment/__init__.py", line 20, in <module>
      from keystone.common import config
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/common/config.py", line 19, in <module>
      from keystone.openstack.common import log as logging
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/openstack/common/log.py", line 46, in <module>
      from keystone.openstack.common import jsonutils
    File "/mnt/gen2/TmpDir/portage/sys-auth/keystone-2013.2.1/work/keystone-2013.2.1/keystone/openstack/common/jsonutils.py", line 50, in <module>
      _nasty_type_tests = [inspect.ismodule, inspect.isclass, inspect.ismethod,
  AttributeError: 'module' object has no attribute 'ismodule'

  
  Now I cannot figure what's going on here.  

  keystone-2013.2.1 $ qfile /usr/lib64/python2.7/inspect.py
  dev-lang/python (/usr/lib64/python2.7/inspect.py)

  says inspect is a file of Cpython2.7.  The code it's tripping on is;

  _nasty_type_tests = [inspect.ismodule, inspect.isclass, inspect.ismethod,
                       inspect.isfunction, inspect.isgeneratorfunction,
                       inspect.isgenerator, inspect.istraceback, inspect.isframe,
                       inspect.iscode, inspect.isbuiltin, inspect.isroutine,
                       inspect.isabstract].

  Is this a syntax thing?

  keystone-2013.2.1 $ python -c "from inspect import ismodule" && echo Success
  Success

  says the sweet taste of success.  inspect is a python module, ismodule
  is a func. or such of inspect.py.   What where is it getting de-
  railed?????  What's broken in the setup of the testsuite that it can't
  find a std. func. in a std. python installed file??????

  tilt.

To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1262564/+subscriptions


References