Comment 9 for bug 717467

Revision history for this message
Vish Ishaya (vishvananda) wrote : Re: [Bug 717467] Re: from migrate.versioning import exceptions fails with recent venv

+1 To Jay. If we have an easy way to support both we should. Otherwise, nova will suddenly break when ubuntu packages the new version
of sqlalchemy-migrate.

Vish

On Feb 14, 2011, at 11:24 AM, Jay Pipes wrote:

> "Shouldn't the fix just be to specify "sqlalchemy-migrate==0.6" and be
> done with it until a bug with that library affects us or we need a new
> feature from it?"
>
> No. pip-requires is only for developers to use when developing Nova in a
> virtualenv. It isn't related to distribution and packaging and contains
> requirements for libraries (such as sphinx) that are *not* required when
> installing Nova.
>
> Having specific versions in pip-requires is a mistake IMHO.
>
> We have similar fixes to what I proposed above in both Swift and Glance
> for such things like the python-urlparse library parsing URIs
> differently depending on the version of the library installed.
>
> In short, I think it's better to fix the software to run properly for
> multiple NON-buggy versions of a software library than to require a
> specific version of a library when another perfectly-valid version of
> the library is commonly installed on machines.
>
> Just my 2 cents,
> jay
>
> --
> You received this bug notification because you are a member of Nova Bug
> Team, which is subscribed to OpenStack Compute (nova).
> https://bugs.launchpad.net/bugs/717467
>
> Title:
> from migrate.versioning import exceptions fails with recent venv
>
> Status in OpenStack Compute (Nova):
> In Progress
>
> Bug description:
> No virtual environment found...create one? (Y/n)
> done.
>
> ....
>
> ======================================================================
> ERROR: <nose.suite.ContextSuite context=nova.tests>
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/home/bschott/source/nova/hpc-trunk/.nova-venv/lib/python2.6/site-packages/nose/suite.py", line 208, in run
> self.setUp()
> File "/home/bschott/source/nova/hpc-trunk/.nova-venv/lib/python2.6/site-packages/nose/suite.py", line 291, in setUp
> self.setupContext(ancestor)
> File "/home/bschott/source/nova/hpc-trunk/.nova-venv/lib/python2.6/site-packages/nose/suite.py", line 314, in setupContext
> try_run(context, names)
> File "/home/bschott/source/nova/hpc-trunk/.nova-venv/lib/python2.6/site-packages/nose/util.py", line 478, in try_run
> return func()
> File "/home/bschott/source/nova/hpc-trunk/nova/tests/__init__.py", line 41, in setup
> migration.db_sync()
> File "/home/bschott/source/nova/hpc-trunk/nova/db/migration.py", line 33, in db_sync
> return IMPL.db_sync(version=version)
> File "/home/bschott/source/nova/hpc-trunk/nova/utils.py", line 367, in __getattr__
> backend = self.__get_backend()
> File "/home/bschott/source/nova/hpc-trunk/nova/utils.py", line 362, in __get_backend
> self.__backend = __import__(name, None, None, fromlist)
> File "/home/bschott/source/nova/hpc-trunk/nova/db/sqlalchemy/migration.py", line 25, in <module>
> from migrate.versioning import exceptions as versioning_exceptions
> ImportError: cannot import name exceptions
>
>